mirror of
https://github.com/super-linter/super-linter.git
synced 2024-11-22 14:10:56 -05:00
Merge pull request #372 from GaboFDC/gf_dependencies
Use dependabot for linters dependencies
This commit is contained in:
commit
a5750891d5
8 changed files with 5831 additions and 101 deletions
32
.github/dependabot.yml
vendored
32
.github/dependabot.yml
vendored
|
@ -1,3 +1,6 @@
|
||||||
|
#################################
|
||||||
|
# GitHub Dependabot Config info #
|
||||||
|
#################################
|
||||||
version: 2
|
version: 2
|
||||||
updates:
|
updates:
|
||||||
- package-ecosystem: github-actions
|
- package-ecosystem: github-actions
|
||||||
|
@ -5,3 +8,32 @@ updates:
|
||||||
schedule:
|
schedule:
|
||||||
interval: daily
|
interval: daily
|
||||||
open-pull-requests-limit: 10
|
open-pull-requests-limit: 10
|
||||||
|
|
||||||
|
# Maintain dependencies for js with npm
|
||||||
|
- package-ecosystem: "npm"
|
||||||
|
directory: "/dependencies"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
|
||||||
|
# Maintain dependencies for ruby with bundler
|
||||||
|
- package-ecosystem: "bundler"
|
||||||
|
directory: "/dependencies"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
labels:
|
||||||
|
- "Type: Maintenance"
|
||||||
|
|
||||||
|
# Maintain dependencies for docker
|
||||||
|
- package-ecosystem: "docker"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
|
||||||
|
# Maintain dependencies for python with pip
|
||||||
|
- package-ecosystem: "pip"
|
||||||
|
directory: "/dependencies"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
|
164
Dockerfile
164
Dockerfile
|
@ -26,12 +26,9 @@ ARG PWSH_VERSION='latest'
|
||||||
ARG PWSH_DIRECTORY='/opt/microsoft/powershell'
|
ARG PWSH_DIRECTORY='/opt/microsoft/powershell'
|
||||||
ARG PSSA_VERSION='latest'
|
ARG PSSA_VERSION='latest'
|
||||||
# arm-ttk
|
# arm-ttk
|
||||||
ARG ARM_TTK_URI='https://github.com/Azure/arm-ttk.git'
|
ARG ARM_TTK_NAME='master.zip'
|
||||||
ARG ARM_TTK_DIRECTORY='/opt/microsoft/arm-ttk'
|
ARG ARM_TTK_URI='https://github.com/Azure/arm-ttk/archive/master.zip'
|
||||||
# clj-kondo
|
ARG ARM_TTK_DIRECTORY='/opt/microsoft'
|
||||||
ARG CLJ_KONDO_VERSION='2020.06.21'
|
|
||||||
# Go Linter
|
|
||||||
ARG GO_VERSION='v1.27.0'
|
|
||||||
# Raku Linter
|
# Raku Linter
|
||||||
ARG RAKU_VER="2020.06"
|
ARG RAKU_VER="2020.06"
|
||||||
ARG RAKU_INSTALL_PATH=/usr
|
ARG RAKU_INSTALL_PATH=/usr
|
||||||
|
@ -41,19 +38,62 @@ ARG RAKUBREW_HOME=/tmp/rakubrew
|
||||||
# Run APK installs #
|
# Run APK installs #
|
||||||
####################
|
####################
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
bash git git-lfs musl-dev curl gcc jq file\
|
ansible-lint \
|
||||||
npm nodejs \
|
bash \
|
||||||
libxml2-utils perl \
|
curl \
|
||||||
ruby ruby-dev ruby-bundler ruby-rdoc make \
|
gcc \
|
||||||
py3-setuptools ansible-lint \
|
git \
|
||||||
go \
|
go \
|
||||||
|
icu-libs \
|
||||||
|
jq \
|
||||||
|
libxml2-utils \
|
||||||
|
make \
|
||||||
|
musl-dev \
|
||||||
|
npm \
|
||||||
|
nodejs \
|
||||||
openjdk8-jre \
|
openjdk8-jre \
|
||||||
|
perl \
|
||||||
php7 \
|
php7 \
|
||||||
ca-certificates less ncurses-terminfo-base \
|
py3-setuptools \
|
||||||
krb5-libs libgcc libintl libssl1.1 libstdc++ \
|
ruby \
|
||||||
tzdata userspace-rcu zlib icu-libs lttng-ust \
|
ruby-dev \
|
||||||
libffi-dev openssl-dev
|
ruby-bundler \
|
||||||
|
ruby-rdoc
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# Copy dependencies files to container #
|
||||||
|
########################################
|
||||||
|
COPY dependencies/* /
|
||||||
|
|
||||||
|
################################
|
||||||
|
# Installs python dependencies #
|
||||||
|
################################
|
||||||
|
RUN pip3 install --no-cache-dir pipenv
|
||||||
|
RUN pipenv install --system
|
||||||
|
|
||||||
|
####################
|
||||||
|
# Run NPM Installs #
|
||||||
|
####################
|
||||||
|
RUN npm config set package-lock false \
|
||||||
|
&& npm config set loglevel error \
|
||||||
|
&& npm --no-cache install
|
||||||
|
|
||||||
|
#############################
|
||||||
|
# Add node packages to path #
|
||||||
|
#############################
|
||||||
|
ENV PATH="/node_modules/.bin:${PATH}"
|
||||||
|
|
||||||
|
####################
|
||||||
|
# Run GEM installs #
|
||||||
|
####################
|
||||||
|
RUN gem install rubocop:0.74.0 rubocop-rails rubocop-github:0.13.0
|
||||||
|
|
||||||
|
# Need to fix the version as it installs 'rubocop:0.85.1' as a dep, and forces the default
|
||||||
|
# We then need to promote the correct version, uninstall, and fix deps
|
||||||
|
RUN sh -c 'INCORRECT_VERSION=$(gem list rhc -e rubocop | grep rubocop | awk "{print $2}" | cut -d"(" -f2 | cut -d"," -f1); \
|
||||||
|
gem install --default rubocop:0.74.0; \
|
||||||
|
yes | gem uninstall rubocop:$INCORRECT_VERSION -a -x -I; \
|
||||||
|
gem install rubocop:0.74.0'
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
# Install Powershell + PSScriptAnalyzer #
|
# Install Powershell + PSScriptAnalyzer #
|
||||||
|
@ -77,109 +117,41 @@ RUN mkdir -p ${PWSH_DIRECTORY} \
|
||||||
# Depends on PowerShell
|
# Depends on PowerShell
|
||||||
# Reference https://github.com/Azure/arm-ttk
|
# Reference https://github.com/Azure/arm-ttk
|
||||||
# Reference https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/test-toolkit
|
# Reference https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/test-toolkit
|
||||||
ENV ARM_TTK_PSD1="${ARM_TTK_DIRECTORY}/arm-ttk/arm-ttk.psd1"
|
ENV ARM_TTK_PSD1="${ARM_TTK_DIRECTORY}/arm-ttk-master/arm-ttk/arm-ttk.psd1"
|
||||||
RUN git clone "${ARM_TTK_URI}" "${ARM_TTK_DIRECTORY}" \
|
RUN curl -sLO "${ARM_TTK_URI}" \
|
||||||
|
&& unzip "${ARM_TTK_NAME}" -d "${ARM_TTK_DIRECTORY}" \
|
||||||
|
&& rm "${ARM_TTK_NAME}" \
|
||||||
&& ln -sTf "$ARM_TTK_PSD1" /usr/bin/arm-ttk
|
&& ln -sTf "$ARM_TTK_PSD1" /usr/bin/arm-ttk
|
||||||
|
|
||||||
#####################
|
|
||||||
# Run Pip3 Installs #
|
|
||||||
#####################
|
|
||||||
RUN pip3 --no-cache-dir install --upgrade --no-cache-dir \
|
|
||||||
yamllint pylint yq cfn-lint shyaml
|
|
||||||
|
|
||||||
####################
|
|
||||||
# Run NPM Installs #
|
|
||||||
####################
|
|
||||||
RUN npm config set package-lock false \
|
|
||||||
&& npm config set loglevel error \
|
|
||||||
&& npm -g --no-cache install \
|
|
||||||
markdownlint-cli \
|
|
||||||
jsonlint prettyjson \
|
|
||||||
@coffeelint/cli \
|
|
||||||
typescript eslint \
|
|
||||||
standard \
|
|
||||||
babel-eslint \
|
|
||||||
@typescript-eslint/eslint-plugin \
|
|
||||||
@typescript-eslint/parser \
|
|
||||||
eslint-plugin-jest \
|
|
||||||
stylelint \
|
|
||||||
stylelint-config-standard \
|
|
||||||
@stoplight/spectral \
|
|
||||||
htmlhint \
|
|
||||||
&& npm --no-cache install \
|
|
||||||
markdownlint-cli \
|
|
||||||
jsonlint prettyjson \
|
|
||||||
@coffeelint/cli \
|
|
||||||
typescript eslint \
|
|
||||||
standard \
|
|
||||||
babel-eslint \
|
|
||||||
prettier \
|
|
||||||
eslint-config-prettier \
|
|
||||||
@typescript-eslint/eslint-plugin \
|
|
||||||
@typescript-eslint/parser \
|
|
||||||
eslint-plugin-jest \
|
|
||||||
stylelint \
|
|
||||||
stylelint-config-standard \
|
|
||||||
htmlhint
|
|
||||||
|
|
||||||
####################################
|
|
||||||
# Install dockerfilelint from repo #
|
|
||||||
####################################
|
|
||||||
RUN git clone https://github.com/replicatedhq/dockerfilelint.git && cd /dockerfilelint && npm install
|
|
||||||
|
|
||||||
# I think we could fix this with path but not sure the language...
|
|
||||||
# https://github.com/nodejs/docker-node/blob/master/docs/BestPractices.md
|
|
||||||
|
|
||||||
####################
|
|
||||||
# Run GEM installs #
|
|
||||||
####################
|
|
||||||
RUN gem install rubocop:0.74.0 rubocop-rails rubocop-github:0.13.0
|
|
||||||
|
|
||||||
# Need to fix the version as it installs 'rubocop:0.85.1' as a dep, and forces the default
|
|
||||||
# We then need to promote the correct version, uninstall, and fix deps
|
|
||||||
RUN sh -c 'INCORRECT_VERSION=$(gem list rhc -e rubocop | grep rubocop | awk "{print $2}" | cut -d"(" -f2 | cut -d"," -f1); \
|
|
||||||
gem install --default rubocop:0.74.0; \
|
|
||||||
yes | gem uninstall rubocop:$INCORRECT_VERSION -a -x -I; \
|
|
||||||
gem install rubocop:0.74.0'
|
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Install shellcheck #
|
# Install shellcheck #
|
||||||
######################
|
######################
|
||||||
RUN wget -qO- "https://github.com/koalaman/shellcheck/releases/download/stable/shellcheck-stable.linux.x86_64.tar.xz" | tar -xJv \
|
COPY --from=koalaman/shellcheck:v0.7.1 /bin/shellcheck /usr/bin/
|
||||||
&& mv "shellcheck-stable/shellcheck" /usr/bin/
|
|
||||||
|
|
||||||
#####################
|
#####################
|
||||||
# Install Go Linter #
|
# Install Go Linter #
|
||||||
#####################
|
#####################
|
||||||
RUN wget -O- -nvq https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s "$GO_VERSION"
|
COPY --from=golangci/golangci-lint:v1.27.0 /usr/bin/golangci-lint /usr/bin/
|
||||||
|
|
||||||
##################
|
##################
|
||||||
# Install TFLint #
|
# Install TFLint #
|
||||||
##################
|
##################
|
||||||
RUN curl -Ls "$(curl -Ls https://api.github.com/repos/terraform-linters/tflint/releases/latest | grep -o -E "https://.+?_linux_amd64.zip")" -o tflint.zip && unzip tflint.zip && rm tflint.zip \
|
COPY --from=wata727/tflint:0.16.2 /usr/local/bin/tflint /usr/bin/
|
||||||
&& mv "tflint" /usr/bin/
|
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Install protolint #
|
# Install protolint #
|
||||||
######################
|
######################
|
||||||
RUN curl -LsS "$(curl -Ls https://api.github.com/repos/yoheimuta/protolint/releases/latest | grep -o -E "https://.+?_Linux_x86_64.tar.gz")" -o protolint.tar.gz \
|
COPY --from=yoheimuta/protolint:v0.25.1 /usr/local/bin/protolint /usr/bin/
|
||||||
&& tar -xzf protolint.tar.gz \
|
|
||||||
&& rm protolint.tar.gz \
|
|
||||||
&& mv "protolint" /usr/bin/
|
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
# Install dotenv-linter #
|
# Install dotenv-linter #
|
||||||
#########################
|
#########################
|
||||||
RUN wget "https://github.com/dotenv-linter/dotenv-linter/releases/latest/download/dotenv-linter-alpine-x86_64.tar.gz" -O - -q | tar -xzf - \
|
COPY --from=dotenvlinter/dotenv-linter:2.0.0 /dotenv-linter /usr/bin/
|
||||||
&& mv "dotenv-linter" /usr/bin
|
|
||||||
|
|
||||||
#####################
|
#####################
|
||||||
# Install clj-kondo #
|
# Install clj-kondo #
|
||||||
#####################
|
#####################
|
||||||
RUN curl -sLO https://github.com/borkdude/clj-kondo/releases/download/v${CLJ_KONDO_VERSION}/clj-kondo-${CLJ_KONDO_VERSION}-linux-static-amd64.zip \
|
COPY --from=borkdude/clj-kondo:2020.06.21 /usr/local/bin/clj-kondo /usr/bin/
|
||||||
&& unzip clj-kondo-${CLJ_KONDO_VERSION}-linux-static-amd64.zip \
|
|
||||||
&& rm clj-kondo-${CLJ_KONDO_VERSION}-linux-static-amd64.zip \
|
|
||||||
&& mv clj-kondo /usr/bin/
|
|
||||||
|
|
||||||
##################
|
##################
|
||||||
# Install ktlint #
|
# Install ktlint #
|
||||||
|
@ -190,11 +162,8 @@ RUN curl -sSLO https://github.com/pinterest/ktlint/releases/latest/download/ktli
|
||||||
################
|
################
|
||||||
# Install Raku #
|
# Install Raku #
|
||||||
################
|
################
|
||||||
|
|
||||||
# Environment
|
# Environment
|
||||||
ENV PATH="$RAKU_INSTALL_PATH/share/perl6/site/bin:${PATH}"
|
ENV PATH="$RAKU_INSTALL_PATH/share/perl6/site/bin:${PATH}"
|
||||||
|
|
||||||
|
|
||||||
# Basic setup, programs and init
|
# Basic setup, programs and init
|
||||||
RUN mkdir -p $RAKUBREW_HOME/bin \
|
RUN mkdir -p $RAKUBREW_HOME/bin \
|
||||||
&& curl -sSLo $RAKUBREW_HOME/bin/rakubrew https://rakubrew.org/perl/rakubrew \
|
&& curl -sSLo $RAKUBREW_HOME/bin/rakubrew https://rakubrew.org/perl/rakubrew \
|
||||||
|
@ -208,8 +177,7 @@ RUN mkdir -p $RAKUBREW_HOME/bin \
|
||||||
################################
|
################################
|
||||||
# Install editorconfig-checker #
|
# Install editorconfig-checker #
|
||||||
################################
|
################################
|
||||||
RUN wget -qO- "https://github.com/editorconfig-checker/editorconfig-checker/releases/latest/download/ec-linux-amd64.tar.gz" | tar -xzf - \
|
COPY --from=mstruebing/editorconfig-checker:2.1.0 /usr/bin/ec /usr/bin/editorconfig-checker
|
||||||
&& mv "bin/ec-linux-amd64" /usr/bin/editorconfig-checker
|
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
# Load GitHub Env Vars for GitHub Actions #
|
# Load GitHub Env Vars for GitHub Actions #
|
||||||
|
|
16
dependencies/Pipfile
vendored
Normal file
16
dependencies/Pipfile
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
[[source]]
|
||||||
|
name = "pypi"
|
||||||
|
url = "https://pypi.org/simple"
|
||||||
|
verify_ssl = true
|
||||||
|
|
||||||
|
[dev-packages]
|
||||||
|
|
||||||
|
[packages]
|
||||||
|
yamllint = "*"
|
||||||
|
pylint = "*"
|
||||||
|
yq = "*"
|
||||||
|
cfn-lint = "*"
|
||||||
|
shyaml = "*"
|
||||||
|
|
||||||
|
[requires]
|
||||||
|
python_version = "3.8"
|
290
dependencies/Pipfile.lock
generated
vendored
Normal file
290
dependencies/Pipfile.lock
generated
vendored
Normal file
|
@ -0,0 +1,290 @@
|
||||||
|
{
|
||||||
|
"_meta": {
|
||||||
|
"hash": {
|
||||||
|
"sha256": "f8d7f08c1efbacea7c92868babd54bc040413f865e3cd7ea8d4bebab310b3da3"
|
||||||
|
},
|
||||||
|
"pipfile-spec": 6,
|
||||||
|
"requires": {
|
||||||
|
"python_version": "3.8"
|
||||||
|
},
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"name": "pypi",
|
||||||
|
"url": "https://pypi.org/simple",
|
||||||
|
"verify_ssl": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
"argcomplete": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:5ae7b601be17bf38a749ec06aa07fb04e7b6b5fc17906948dc1866e7facf3740",
|
||||||
|
"sha256:890bdd1fcbb973ed73db241763e78b6d958580e588c2910b508c770a59ef37d7"
|
||||||
|
],
|
||||||
|
"version": "==1.11.1"
|
||||||
|
},
|
||||||
|
"astroid": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:2f4078c2a41bf377eea06d71c9d2ba4eb8f6b1af2135bec27bbbb7d8f12bb703",
|
||||||
|
"sha256:bc58d83eb610252fd8de6363e39d4f1d0619c894b0ed24603b881c02e64c7386"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '3.5'",
|
||||||
|
"version": "==2.4.2"
|
||||||
|
},
|
||||||
|
"attrs": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c",
|
||||||
|
"sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
|
"version": "==19.3.0"
|
||||||
|
},
|
||||||
|
"aws-sam-translator": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:33c5e9a04584a88b2dc730991f7aea52acc4a077a194444e16728dd2be997dc0",
|
||||||
|
"sha256:5b31769d271fa6c7e87cde076ce819f9f9c7da324b3880f2cd0f5f5aa837e520",
|
||||||
|
"sha256:f2d0585fc7dd071f136b543e9a614945cb80bbd3113a25f260797c126456dd25"
|
||||||
|
],
|
||||||
|
"version": "==1.25.0"
|
||||||
|
},
|
||||||
|
"boto3": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:c2a223f4b48782e8b160b2130265e2a66081df111f630a5a384d6909e29a5aa9",
|
||||||
|
"sha256:ce5a4ab6af9e993d1864209cbbb6f4812f65fbc57ad6b95e5967d8bf38b1dcfb"
|
||||||
|
],
|
||||||
|
"version": "==1.14.16"
|
||||||
|
},
|
||||||
|
"botocore": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:99d995ef99cf77458a661f3fc64e0c3a4ce77ca30facfdf0472f44b2953dd856",
|
||||||
|
"sha256:fe0c4f7cd6b67eff3b7cb8dff6709a65d6fca10b7b7449a493b2036915e98b4c"
|
||||||
|
],
|
||||||
|
"version": "==1.17.16"
|
||||||
|
},
|
||||||
|
"cfn-lint": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:b29d172a0910f305162e354fd421594ab575ace6431b7b8884c245dfc5064859",
|
||||||
|
"sha256:ff9b566bda43a2e74fdd89b57cbf0f76e209e4e666cc4babe7c96cbd3fb56bfe"
|
||||||
|
],
|
||||||
|
"index": "pypi",
|
||||||
|
"version": "==0.33.2"
|
||||||
|
},
|
||||||
|
"decorator": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760",
|
||||||
|
"sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"
|
||||||
|
],
|
||||||
|
"version": "==4.4.2"
|
||||||
|
},
|
||||||
|
"docutils": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0",
|
||||||
|
"sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827",
|
||||||
|
"sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
|
"version": "==0.15.2"
|
||||||
|
},
|
||||||
|
"isort": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1",
|
||||||
|
"sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
|
"version": "==4.3.21"
|
||||||
|
},
|
||||||
|
"jmespath": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9",
|
||||||
|
"sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
|
"version": "==0.10.0"
|
||||||
|
},
|
||||||
|
"jsonpatch": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:83ff23119b336ea2feffa682307eb7269b58097b4e88c089a4950d946442db16",
|
||||||
|
"sha256:e45df18b0ab7df1925f20671bbc3f6bd0b4b556fb4b9c5d97684b0a7eac01744"
|
||||||
|
],
|
||||||
|
"markers": "python_version != '3.4'",
|
||||||
|
"version": "==1.26"
|
||||||
|
},
|
||||||
|
"jsonpointer": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83975362",
|
||||||
|
"sha256:ff379fa021d1b81ab539f5ec467c7745beb1a5671463f9dcc2b2d458bd361c1e"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
|
"version": "==2.0"
|
||||||
|
},
|
||||||
|
"jsonschema": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163",
|
||||||
|
"sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"
|
||||||
|
],
|
||||||
|
"version": "==3.2.0"
|
||||||
|
},
|
||||||
|
"junit-xml": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:ec5ca1a55aefdd76d28fcc0b135251d156c7106fa979686a4b48d62b761b4732"
|
||||||
|
],
|
||||||
|
"version": "==1.9"
|
||||||
|
},
|
||||||
|
"lazy-object-proxy": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d",
|
||||||
|
"sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449",
|
||||||
|
"sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08",
|
||||||
|
"sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a",
|
||||||
|
"sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50",
|
||||||
|
"sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd",
|
||||||
|
"sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239",
|
||||||
|
"sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb",
|
||||||
|
"sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea",
|
||||||
|
"sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e",
|
||||||
|
"sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156",
|
||||||
|
"sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142",
|
||||||
|
"sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442",
|
||||||
|
"sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62",
|
||||||
|
"sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db",
|
||||||
|
"sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531",
|
||||||
|
"sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383",
|
||||||
|
"sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a",
|
||||||
|
"sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357",
|
||||||
|
"sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4",
|
||||||
|
"sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
|
"version": "==1.4.3"
|
||||||
|
},
|
||||||
|
"mccabe": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42",
|
||||||
|
"sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"
|
||||||
|
],
|
||||||
|
"version": "==0.6.1"
|
||||||
|
},
|
||||||
|
"networkx": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:cdfbf698749a5014bf2ed9db4a07a5295df1d3a53bf80bf3cbd61edf9df05fa1",
|
||||||
|
"sha256:f8f4ff0b6f96e4f9b16af6b84622597b5334bf9cae8cf9b2e42e7985d5c95c64"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '3.5'",
|
||||||
|
"version": "==2.4"
|
||||||
|
},
|
||||||
|
"pathspec": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:7d91249d21749788d07a2d0f94147accd8f845507400749ea19c1ec9054a12b0",
|
||||||
|
"sha256:da45173eb3a6f2a5a487efba21f050af2b41948be6ab52b6a1e3ff22bb8b7061"
|
||||||
|
],
|
||||||
|
"version": "==0.8.0"
|
||||||
|
},
|
||||||
|
"pylint": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:7dd78437f2d8d019717dbf287772d0b2dbdfd13fc016aa7faa08d67bccc46adc",
|
||||||
|
"sha256:d0ece7d223fe422088b0e8f13fa0a1e8eb745ebffcb8ed53d3e95394b6101a1c"
|
||||||
|
],
|
||||||
|
"index": "pypi",
|
||||||
|
"version": "==2.5.3"
|
||||||
|
},
|
||||||
|
"pyrsistent": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3"
|
||||||
|
],
|
||||||
|
"version": "==0.16.0"
|
||||||
|
},
|
||||||
|
"python-dateutil": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c",
|
||||||
|
"sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
|
"version": "==2.8.1"
|
||||||
|
},
|
||||||
|
"pyyaml": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97",
|
||||||
|
"sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76",
|
||||||
|
"sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2",
|
||||||
|
"sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648",
|
||||||
|
"sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf",
|
||||||
|
"sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f",
|
||||||
|
"sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2",
|
||||||
|
"sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee",
|
||||||
|
"sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d",
|
||||||
|
"sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c",
|
||||||
|
"sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a"
|
||||||
|
],
|
||||||
|
"markers": "python_version != '3.4'",
|
||||||
|
"version": "==5.3.1"
|
||||||
|
},
|
||||||
|
"s3transfer": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:2482b4259524933a022d59da830f51bd746db62f047d6eb213f2f8855dcb8a13",
|
||||||
|
"sha256:921a37e2aefc64145e7b73d50c71bb4f26f46e4c9f414dc648c6245ff92cf7db"
|
||||||
|
],
|
||||||
|
"version": "==0.3.3"
|
||||||
|
},
|
||||||
|
"shyaml": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:3a57e380f66043c661d417106a0f101f8068c80caa2afef57c90447b88526c3d",
|
||||||
|
"sha256:ac9066eed5b8445de1f83a99106ca96a77900b6873de327fd50d3e3102084752"
|
||||||
|
],
|
||||||
|
"index": "pypi",
|
||||||
|
"version": "==0.6.1"
|
||||||
|
},
|
||||||
|
"six": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259",
|
||||||
|
"sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
|
"version": "==1.15.0"
|
||||||
|
},
|
||||||
|
"toml": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f",
|
||||||
|
"sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88"
|
||||||
|
],
|
||||||
|
"version": "==0.10.1"
|
||||||
|
},
|
||||||
|
"urllib3": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527",
|
||||||
|
"sha256:88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115"
|
||||||
|
],
|
||||||
|
"markers": "python_version != '3.4'",
|
||||||
|
"version": "==1.25.9"
|
||||||
|
},
|
||||||
|
"wrapt": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
|
||||||
|
],
|
||||||
|
"version": "==1.12.1"
|
||||||
|
},
|
||||||
|
"xmltodict": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21",
|
||||||
|
"sha256:8bbcb45cc982f48b2ca8fe7e7827c5d792f217ecf1792626f808bf41c3b86051"
|
||||||
|
],
|
||||||
|
"version": "==0.12.0"
|
||||||
|
},
|
||||||
|
"yamllint": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:0fa69bf8a86182b7fe14918bdd3a30354c869966bbc7cbfff176af71bda9c806",
|
||||||
|
"sha256:59f3ff77f44e7f46be6aecdb985830f73a1c51e290b7082a7d38c2ae1940f4a9"
|
||||||
|
],
|
||||||
|
"index": "pypi",
|
||||||
|
"version": "==1.23.0"
|
||||||
|
},
|
||||||
|
"yq": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:a876304f2b360a968023eb7d13ec669e102fd381c818783e88e475bd2638d278",
|
||||||
|
"sha256:f6252a0757d0c2a9e55b4402e176a7e41a99e0e6dd5be4f9d5a4d651eeb4d6c0"
|
||||||
|
],
|
||||||
|
"index": "pypi",
|
||||||
|
"version": "==2.10.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"develop": {}
|
||||||
|
}
|
5401
dependencies/package-lock.json
generated
vendored
Normal file
5401
dependencies/package-lock.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
23
dependencies/package.json
vendored
Normal file
23
dependencies/package.json
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"name": "super-linter",
|
||||||
|
"dependencies": {
|
||||||
|
"@coffeelint/cli": "^3.2.8",
|
||||||
|
"@stoplight/spectral": "^5.4.0",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^3.6.0",
|
||||||
|
"@typescript-eslint/parser": "^3.6.0",
|
||||||
|
"babel-eslint": "^10.1.0",
|
||||||
|
"dockerfilelint": "^1.5.0",
|
||||||
|
"eslint": "^7.4.0",
|
||||||
|
"eslint-config-prettier": "^6.11.0",
|
||||||
|
"eslint-plugin-jest": "^23.18.0",
|
||||||
|
"htmlhint": "^0.14.1",
|
||||||
|
"jsonlint": "^1.6.3",
|
||||||
|
"markdownlint-cli": "^0.23.2",
|
||||||
|
"prettier": "^2.0.5",
|
||||||
|
"prettyjson": "^1.2.1",
|
||||||
|
"standard": "^14.3.4",
|
||||||
|
"stylelint": "^13.6.1",
|
||||||
|
"stylelint-config-standard": "^20.0.0",
|
||||||
|
"typescript": "^3.9.6"
|
||||||
|
}
|
||||||
|
}
|
|
@ -89,7 +89,7 @@ HTML_LINTER_RULES="$DEFAULT_RULES_LOCATION/$HTML_FILE_NAME" # Path t
|
||||||
#######################################
|
#######################################
|
||||||
LINTER_ARRAY=("jsonlint" "yamllint" "xmllint" "markdownlint" "shellcheck"
|
LINTER_ARRAY=("jsonlint" "yamllint" "xmllint" "markdownlint" "shellcheck"
|
||||||
"pylint" "perl" "raku" "rubocop" "coffeelint" "eslint" "standard"
|
"pylint" "perl" "raku" "rubocop" "coffeelint" "eslint" "standard"
|
||||||
"ansible-lint" "/dockerfilelint/bin/dockerfilelint" "golangci-lint" "tflint"
|
"ansible-lint" "dockerfilelint" "golangci-lint" "tflint"
|
||||||
"stylelint" "dotenv-linter" "pwsh" "arm-ttk" "ktlint" "protolint" "clj-kondo"
|
"stylelint" "dotenv-linter" "pwsh" "arm-ttk" "ktlint" "protolint" "clj-kondo"
|
||||||
"spectral" "cfn-lint" "htmlhint")
|
"spectral" "cfn-lint" "htmlhint")
|
||||||
|
|
||||||
|
@ -1205,7 +1205,7 @@ if [ "$VALIDATE_DOCKER" == "true" ]; then
|
||||||
#########################
|
#########################
|
||||||
# LintCodebase "FILE_TYPE" "LINTER_NAME" "LINTER_CMD" "FILE_TYPES_REGEX" "FILE_ARRAY"
|
# LintCodebase "FILE_TYPE" "LINTER_NAME" "LINTER_CMD" "FILE_TYPES_REGEX" "FILE_ARRAY"
|
||||||
# NOTE: dockerfilelint's "-c" option expects the folder *containing* the DOCKER_LINTER_RULES file
|
# NOTE: dockerfilelint's "-c" option expects the folder *containing* the DOCKER_LINTER_RULES file
|
||||||
LintCodebase "DOCKER" "/dockerfilelint/bin/dockerfilelint" "/dockerfilelint/bin/dockerfilelint -c $(dirname $DOCKER_LINTER_RULES)" ".*\(Dockerfile\)\$" "${FILE_ARRAY_DOCKER[@]}"
|
LintCodebase "DOCKER" "dockerfilelint" "dockerfilelint -c $(dirname $DOCKER_LINTER_RULES)" ".*\(Dockerfile\)\$" "${FILE_ARRAY_DOCKER[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
###################
|
###################
|
||||||
|
|
|
@ -467,7 +467,7 @@ function RunTestCases() {
|
||||||
TestCodebase "JAVASCRIPT_STANDARD" "standard" "standard $JAVASCRIPT_STANDARD_LINTER_RULES" ".*\.\(js\)\$" "javascript"
|
TestCodebase "JAVASCRIPT_STANDARD" "standard" "standard $JAVASCRIPT_STANDARD_LINTER_RULES" ".*\.\(js\)\$" "javascript"
|
||||||
TestCodebase "TYPESCRIPT_ES" "eslint" "eslint --no-eslintrc -c $TYPESCRIPT_LINTER_RULES" ".*\.\(ts\)\$" "typescript"
|
TestCodebase "TYPESCRIPT_ES" "eslint" "eslint --no-eslintrc -c $TYPESCRIPT_LINTER_RULES" ".*\.\(ts\)\$" "typescript"
|
||||||
TestCodebase "TYPESCRIPT_STANDARD" "standard" "standard --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin $TYPESCRIPT_STANDARD_LINTER_RULES" ".*\.\(ts\)\$" "typescript"
|
TestCodebase "TYPESCRIPT_STANDARD" "standard" "standard --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin $TYPESCRIPT_STANDARD_LINTER_RULES" ".*\.\(ts\)\$" "typescript"
|
||||||
TestCodebase "DOCKER" "/dockerfilelint/bin/dockerfilelint" "/dockerfilelint/bin/dockerfilelint -c $DOCKER_LINTER_RULES" ".*\(Dockerfile\)\$" "docker"
|
TestCodebase "DOCKER" "dockerfilelint" "dockerfilelint -c $DOCKER_LINTER_RULES" ".*\(Dockerfile\)\$" "docker"
|
||||||
TestCodebase "ANSIBLE" "ansible-lint" "ansible-lint -v -c $ANSIBLE_LINTER_RULES" ".*\.\(yml\|yaml\)\$" "ansible"
|
TestCodebase "ANSIBLE" "ansible-lint" "ansible-lint -v -c $ANSIBLE_LINTER_RULES" ".*\.\(yml\|yaml\)\$" "ansible"
|
||||||
TestCodebase "TERRAFORM" "tflint" "tflint -c $TERRAFORM_LINTER_RULES" ".*\.\(tf\)\$" "terraform"
|
TestCodebase "TERRAFORM" "tflint" "tflint -c $TERRAFORM_LINTER_RULES" ".*\.\(tf\)\$" "terraform"
|
||||||
TestCodebase "CFN" "cfn-lint" "cfn-lint --config-file $CFN_LINTER_RULES" ".*\.\(json\|yml\|yaml\)\$" "cfn"
|
TestCodebase "CFN" "cfn-lint" "cfn-lint --config-file $CFN_LINTER_RULES" ".*\.\(json\|yml\|yaml\)\$" "cfn"
|
||||||
|
|
Loading…
Reference in a new issue