From 098b6b8415ba45eb8d975ca878a686107926aa63 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 02:07:14 -0500 Subject: [PATCH 01/82] Fix release pipeline Signed-off-by: Brett Logan --- .github/workflows/deploy-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-release.yml b/.github/workflows/deploy-release.yml index 981109d0ab4..56ea197f78b 100644 --- a/.github/workflows/deploy-release.yml +++ b/.github/workflows/deploy-release.yml @@ -50,7 +50,7 @@ jobs: - name: Get current release identifier # shellcheck disable=SC2062 run: | - RELESE_VERSION="${{ github.event.release.name }}" + RELEASE_VERSION="${{ github.event.release.name }}" if [ -z "${RELEASE_VERSION}" ]; then echo "No release version found in environment, using input..." @@ -69,7 +69,7 @@ jobs: fi { - echo "RELEASE_VERSION=${RELESE_VERSION}" + echo "RELEASE_VERSION=${RELEASE_VERSION}" echo "SEMVER_VERSION=${RELEASE_VERSION#v}" echo "SEMVER_MAJOR_VERSION=${SEMVER_VERSION%%.*}" echo "SEMVER_MAJOR_VERSION_WITH_PREFIX=v${SEMVER_MAJOR_VERSION}" From d42bc380eeca82ed6333b0c119f9be15100c08da Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 02:09:47 -0500 Subject: [PATCH 02/82] Fix release pipeline Signed-off-by: Brett Logan --- .github/workflows/deploy-release.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/deploy-release.yml b/.github/workflows/deploy-release.yml index 56ea197f78b..92b66e1d800 100644 --- a/.github/workflows/deploy-release.yml +++ b/.github/workflows/deploy-release.yml @@ -15,11 +15,6 @@ jobs: build: name: Deploy container image - Release runs-on: ubuntu-latest - permissions: - contents: read - deployments: write - issues: write - packages: write strategy: fail-fast: false matrix: From df234010a1ed3fa60c15c9c0e1fde30fcd88dc51 Mon Sep 17 00:00:00 2001 From: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com> Date: Wed, 4 Jan 2023 10:30:06 +0100 Subject: [PATCH 03/82] actions/checkout@v3 --- TEMPLATES/linter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TEMPLATES/linter.yml b/TEMPLATES/linter.yml index 2b6701241a7..402f4a6e0a6 100644 --- a/TEMPLATES/linter.yml +++ b/TEMPLATES/linter.yml @@ -39,7 +39,7 @@ jobs: # Checkout the code base # ########################## - name: Checkout Code - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: # Full git history is needed to get a proper # list of changed files within `super-linter` From 52246569698a60ef13523d8d593ba213f5d95380 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Thu, 29 Dec 2022 12:56:54 -0500 Subject: [PATCH 04/82] Push scripts into standalone files Pushes inline scripts in the Dockerfile into standalone scripts and authenticates requests to GitHub using a Personal Access Token to reduce build flakiness due to GitHub's abuse and ratelimiting due to unauthenticated reuests. Signed-off-by: Brett Logan --- .github/workflows/deploy-production.yml | 2 + Dockerfile | 161 +++++------------------- Makefile | 20 +++ scripts/install-arm-ttk.sh | 17 +++ scripts/install-dotnet.sh | 8 ++ scripts/install-kubeval.sh | 57 +++++++++ scripts/install-lintr.sh | 8 ++ scripts/install-phive.sh | 35 ++++++ scripts/install-pwsh.sh | 21 ++++ scripts/install-raku.sh | 63 ++++++++++ scripts/install-rustfmt.sh | 23 ++++ 11 files changed, 288 insertions(+), 127 deletions(-) create mode 100755 scripts/install-arm-ttk.sh create mode 100755 scripts/install-dotnet.sh create mode 100755 scripts/install-kubeval.sh create mode 100755 scripts/install-lintr.sh create mode 100755 scripts/install-phive.sh create mode 100755 scripts/install-pwsh.sh create mode 100755 scripts/install-raku.sh create mode 100755 scripts/install-rustfmt.sh diff --git a/.github/workflows/deploy-production.yml b/.github/workflows/deploy-production.yml index 5e2ac38ba46..7ebcc0b4c3e 100644 --- a/.github/workflows/deploy-production.yml +++ b/.github/workflows/deploy-production.yml @@ -54,6 +54,7 @@ jobs: BUILD_DATE=${{ env.BUILD_DATE }} BUILD_REVISION=${{ github.sha }} BUILD_VERSION=${{ github.sha }} + GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} load: true push: false tags: | @@ -178,6 +179,7 @@ jobs: BUILD_DATE=${{ env.BUILD_DATE }} BUILD_REVISION=${{ github.sha }} BUILD_VERSION=${{ github.sha }} + GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} load: false push: true tags: | diff --git a/Dockerfile b/Dockerfile index c29f4f9f006..c75975daf62 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,14 +33,11 @@ FROM python:3.11.1-alpine3.17 as base_image ################################ # Set ARG values used in Build # ################################ -# arm-ttk Linter -ARG ARM_TTK_NAME='master.zip' -ARG ARM_TTK_URI='https://github.com/Azure/arm-ttk/archive/master.zip' -ARG ARM_TTK_DIRECTORY='/usr/lib/microsoft' ARG CHECKSTYLE_VERSION='10.3.4' # Dart Linter ## stable dart sdk: https://dart.dev/get-dart#release-channels ARG DART_VERSION='2.8.4' +ARG GITHUB_TOKEN ARG GOOGLE_JAVA_FORMAT_VERSION='1.15.0' ## install alpine-pkg-glibc (glibc compatibility layer package for Alpine Linux) ARG GLIBC_VERSION='2.34-r0' @@ -97,17 +94,10 @@ RUN apk add --no-cache \ ######################################## COPY dependencies/* / -################################ -# Installs python dependencies # -################################ -RUN npm config set package-lock true \ - && npm config set loglevel error \ - && npm --no-cache install \ - && npm audit fix --audit-level=critical \ - ############################## - # Installs ruby dependencies # - ############################## - && bundle install +############################# +# Install Dependencies # +############################# +RUN npm install && bundle install ############################## # Installs Perl dependencies # @@ -198,10 +188,8 @@ COPY --from=actionlint /usr/local/bin/actionlint /usr/bin/ ################# # Install Lintr # ################# -RUN mkdir -p /home/r-library \ - && cp -r /usr/lib/R/library/ /home/r-library/ \ - && Rscript -e "install.packages(c('lintr','purrr'), repos = 'https://cloud.r-project.org/')" \ - && R -e "install.packages(list.dirs('/home/r-library',recursive = FALSE), repos = NULL, type = 'source')" +COPY scripts/install-lintr.sh / +RUN /install-lintr.sh && rm -rf /install-lintr.sh # Source: https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub # Store the key here because the above host is sometimes down, and breaks our builds @@ -210,72 +198,15 @@ COPY dependencies/sgerrand.rsa.pub /etc/apk/keys/sgerrand.rsa.pub ################### # Install Kubeval # ################### -RUN wget --tries=5 -q -O kubeval-linux-amd64.tar.gz https://github.com/instrumenta/kubeval/releases/download/${KUBEVAL_VERSION}/kubeval-linux-amd64.tar.gz \ - && tar xf kubeval-linux-amd64.tar.gz \ - && mv kubeval /usr/local/bin \ - && rm kubeval-linux-amd64.tar.gz \ - ################## - # Install ktlint # - ################## - && curl --retry 5 --retry-delay 5 -sSLO "https://github.com/pinterest/ktlint/releases/download/${KTLINT_VERSION}/ktlint" \ - && chmod a+x ktlint \ - && mv "ktlint" /usr/bin/ \ - && terrascan init \ - && cd ~ && touch .chktexrc \ - #################### - # Install dart-sdk # - #################### - && wget --tries=5 -q https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk \ - && apk add --no-cache --force-overwrite glibc-${GLIBC_VERSION}.apk \ - && rm glibc-${GLIBC_VERSION}.apk \ - && wget --tries=5 -q https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-x64-release.zip -O - -q | unzip -q - \ - && chmod +x dart-sdk/bin/dart* \ - && mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ \ - && rm -r dart-sdk/ \ - ################################ - # Create and install Bash-Exec # - ################################ - && printf '#!/bin/bash \n\nif [[ -x "$1" ]]; then exit 0; else echo "Error: File:[$1] is not executable"; exit 1; fi' > /usr/bin/bash-exec \ - && chmod +x /usr/bin/bash-exec +COPY scripts/install-kubeval.sh / +RUN /install-kubeval.sh && rm -rf /install-kubeval.sh ################################################# # Install Raku and additional Edge dependencies # ################################################# # Basic setup, programs and init -RUN apk add --no-cache rakudo zef \ - ###################### - # Install CheckStyle # - ###################### - && curl --retry 5 --retry-delay 5 --show-error -sSL "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${CHECKSTYLE_VERSION}/checkstyle-${CHECKSTYLE_VERSION}-all.jar" \ - --output /usr/bin/checkstyle \ - ############################## - # Install google-java-format # - ############################## - && curl --retry 5 --retry-delay 5 --show-error -sSL "https://github.com/google/google-java-format/releases/download/v${GOOGLE_JAVA_FORMAT_VERSION}/google-java-format-${GOOGLE_JAVA_FORMAT_VERSION}-all-deps.jar" \ - --output /usr/bin/google-java-format \ - ################################# - # Install luacheck and luarocks # - ################################# - && wget --tries=5 -q https://www.lua.org/ftp/lua-5.3.5.tar.gz -O - -q | tar -xzf - \ - && cd lua-5.3.5 \ - && make linux \ - && make install \ - && cd .. && rm -r lua-5.3.5/ \ - && wget --tries=5 -q https://github.com/cvega/luarocks/archive/v3.3.1-super-linter.tar.gz -O - -q | tar -xzf - \ - && cd luarocks-3.3.1-super-linter \ - && ./configure --with-lua-include=/usr/local/include \ - && make \ - && make -b install \ - && cd .. \ - && rm -r luarocks-3.3.1-super-linter/ \ - && luarocks install luacheck \ - && luarocks install argparse \ - && luarocks install luafilesystem \ - && mv /etc/R/* /usr/lib/R/etc/ \ - && find /node_modules/ -type f -name 'LICENSE' -exec rm {} + \ - && find /node_modules/ -type f -name '*.md' -exec rm {} + \ - && find /node_modules/ -type f -name '*.txt' -exec rm {} + \ - && find /usr/ -type f -name '*.md' -exec rm {} + +COPY scripts/install-raku.sh / +RUN /install-raku.sh && rm -rf /install-raku.sh ################################################################################ # Grab small clean image to build python packages ############################## @@ -297,6 +228,7 @@ FROM alpine:3.17.0 as final_slim ARG BUILD_DATE ARG BUILD_REVISION ARG BUILD_VERSION +ARG GITHUB_TOKEN ## install alpine-pkg-glibc (glibc compatibility layer package for Alpine Linux) ARG GLIBC_VERSION='2.34-r0' @@ -330,6 +262,7 @@ ENV IMAGE="slim" # Store the key here because the above host is sometimes down, and breaks our builds COPY dependencies/sgerrand.rsa.pub /etc/apk/keys/sgerrand.rsa.pub +<<<<<<< HEAD ###################################### # Install Phive dependencies and git # ###################################### @@ -361,6 +294,18 @@ RUN wget --tries=5 -q https://github.com/sgerrand/alpine-pkg-glibc/releases/down && phive --no-progress install --trust-gpg-keys \ 31C7E470E2138192,CF1A108D0E7AE720,8A03EA3B385DBAA1,12CE0F1D262429A5 \ --target /usr/bin phpstan@^1.3.3 psalm@^4.18.1 phpcs@^3.6.2 +======= +############### +# Install Git # +############### +RUN apk add --no-cache bash git git-lfs + +############################## +# Install Phive dependencies # +############################## +COPY scripts/install-phive.sh / +RUN /install-phive.sh && rm -rf /install-phive.sh +>>>>>>> 65949c12 (Push scripts into standalone files) #################################################### # Install Composer after all Libs have been copied # @@ -445,11 +390,7 @@ FROM final_slim as final_standard ############### # Set up args # ############### -# arm-ttk -ARG ARM_TTK_NAME='master.zip' -ARG ARM_TTK_URI='https://github.com/Azure/arm-ttk/archive/master.zip' -ARG ARM_TTK_DIRECTORY='/usr/lib/microsoft' -# PowerShell & PSScriptAnalyzer +ARG GITHUB_TOKEN ARG PWSH_VERSION='latest' ARG PWSH_DIRECTORY='/usr/lib/microsoft/powershell' ARG PSSA_VERSION='latest' @@ -457,7 +398,6 @@ ARG PSSA_VERSION='latest' ################ # Set ENV vars # ################ -ENV ARM_TTK_PSD1="${ARM_TTK_DIRECTORY}/arm-ttk-master/arm-ttk/arm-ttk.psd1" ENV IMAGE="standard" ENV PATH="${PATH}:/var/cache/dotnet/tools:/usr/share/dotnet" @@ -469,60 +409,27 @@ COPY --from=dotenv-linter /dotenv-linter /usr/bin/ ################################### # Install DotNet and Dependencies # ################################### -RUN wget --tries=5 -q -O dotnet-install.sh https://dot.net/v1/dotnet-install.sh \ - && chmod +x dotnet-install.sh \ - && ./dotnet-install.sh --install-dir /usr/share/dotnet -channel Current -version latest \ - && /usr/share/dotnet/dotnet tool install --tool-path /usr/bin dotnet-format --version 5.0.211103 +COPY scripts/install-dotnet.sh / +RUN /install-dotnet.sh && rm -rf /install-dotnet.sh ############################## # Install rustfmt & clippy # ############################## ENV CRYPTOGRAPHY_DONT_BUILD_RUST=1 -RUN ln -s /usr/bin/rustup-init /usr/bin/rustup \ - && rustup toolchain install stable-x86_64-unknown-linux-musl \ - && rustup component add rustfmt --toolchain=stable-x86_64-unknown-linux-musl \ - && rustup component add clippy --toolchain=stable-x86_64-unknown-linux-musl \ - && mv /root/.rustup /usr/lib/.rustup \ - && ln -fsv /usr/lib/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/rustfmt /usr/bin/rustfmt \ - && ln -fsv /usr/lib/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/rustc /usr/bin/rustc \ - && ln -fsv /usr/lib/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/cargo /usr/bin/cargo \ - && ln -fsv /usr/lib/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/cargo-clippy /usr/bin/cargo-clippy \ - && echo '#!/usr/bin/env bash' > /usr/bin/clippy \ - && echo 'pushd $(dirname $1)' >> /usr/bin/clippy \ - && echo 'cargo-clippy' >> /usr/bin/clippy \ - && echo 'rc=$?' >> /usr/bin/clippy \ - && echo 'popd' >> /usr/bin/clippy \ - && echo 'exit $rc' >> /usr/bin/clippy \ - && chmod +x /usr/bin/clippy +COPY scripts/install-rustfmt.sh / +RUN /install-rustfmt.sh && rm -rf /install-rustfmt.sh ######################################### # Install Powershell + PSScriptAnalyzer # ######################################### -# Reference: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7 -# Slightly modified to always retrieve latest stable Powershell version -# If changing PWSH_VERSION='latest' to a specific version, use format PWSH_VERSION='tags/v7.0.2' -RUN mkdir -p ${PWSH_DIRECTORY} \ - && curl --retry 5 --retry-delay 5 --show-error -s https://api.github.com/repos/powershell/powershell/releases/${PWSH_VERSION} \ - | grep browser_download_url \ - | grep linux-alpine-x64 \ - | cut -d '"' -f 4 \ - | xargs -n 1 wget -q -O - \ - | tar -xzC ${PWSH_DIRECTORY} \ - && chmod +x ${PWSH_DIRECTORY}/pwsh \ - && ln -sf ${PWSH_DIRECTORY}/pwsh /usr/bin/pwsh \ - && pwsh -c 'Install-Module -Name PSScriptAnalyzer -RequiredVersion ${PSSA_VERSION} -Scope AllUsers -Force' +COPY scripts/install-pwsh.sh / +RUN /install-pwsh.sh && rm -rf /install-pwsh.sh ############################################################# # Install Azure Resource Manager Template Toolkit (arm-ttk) # ############################################################# -# Depends on PowerShell -# Reference https://github.com/Azure/arm-ttk -# Reference https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/test-toolkit -ENV ARM_TTK_PSD1="${ARM_TTK_DIRECTORY}/arm-ttk-master/arm-ttk/arm-ttk.psd1" -RUN curl --retry 5 --retry-delay 5 --show-error -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 +COPY scripts/install-arm-ttk.sh / +RUN /install-arm-ttk.sh && rm -rf /install-arm-ttk.sh ######################################################################################## # Run to build version file and validate image again because we installed more linters # diff --git a/Makefile b/Makefile index 3ef2bbcdc81..20142d13023 100644 --- a/Makefile +++ b/Makefile @@ -103,3 +103,23 @@ inspec: inspec-check ## Run InSpec tests -t "docker://$${SUPER_LINTER_TEST_CONTAINER_ID}" \ && docker ps \ && docker kill "$(SUPER_LINTER_TEST_CONTAINER_NAME)" + +.phony: docker +docker: + @if [ -z "${GITHUB_TOKEN}" ]; then echo "GITHUB_TOKEN environment variable not set. Please set your GitHub Personal Access Token."; exit 1; fi + docker build \ + --build-arg BUILD_DATE=$(shell date -u +'%Y-%m-%dT%H:%M:%SZ') \ + --build-arg BUILD_REVISION=$(shell git rev-parse --short HEAD) \ + --build-arg BUILD_VERSION=$(shell git rev-parse --short HEAD) \ + --build-arg GITHUB_TOKEN="${GITHUB_PAT}" \ + -t ghcr.io/github/super-linter . + +.phony: docker-buildx +docker-buildx: + @if [ -z "${GITHUB_TOKEN}" ]; then echo "GITHUB_TOKEN environment variable not set. Please set your GitHub Personal Access Token."; exit 1; fi + docker buildx build --load \ + --build-arg BUILD_DATE=$(shell date -u +'%Y-%m-%dT%H:%M:%SZ') \ + --build-arg BUILD_REVISION=$(shell git rev-parse --short HEAD) \ + --build-arg BUILD_VERSION=$(shell git rev-parse --short HEAD) \ + --build-arg GITHUB_TOKEN="${GITHUB_PAT}" \ + -t ghcr.io/github/super-linter . diff --git a/scripts/install-arm-ttk.sh b/scripts/install-arm-ttk.sh new file mode 100755 index 00000000000..6a537ee1f94 --- /dev/null +++ b/scripts/install-arm-ttk.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# Depends on PowerShell +# Reference https://github.com/Azure/arm-ttk +# Reference https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/test-toolkit + +url=$(curl -s \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + https://api.github.com/repos/Azure/arm-ttk/releases/latest | jq -r '.tarball_url') +curl --retry 5 --retry-delay 5 -sL \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${url}" | tar -xz -C /usr/lib/microsoft +ln -sTf /usr/lib/microsoft/arm-ttk-master/arm-ttk/arm-ttk.psd1 /usr/bin/arm-ttk diff --git a/scripts/install-dotnet.sh b/scripts/install-dotnet.sh new file mode 100755 index 00000000000..fc89e553b4c --- /dev/null +++ b/scripts/install-dotnet.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -euo pipefail + +curl --retry 5 --retry-delay 5 -sLO https://dot.net/v1/dotnet-install.sh +chmod +x dotnet-install.sh +./dotnet-install.sh --install-dir /usr/share/dotnet -channel STS -version latest +/usr/share/dotnet/dotnet tool install --tool-path /usr/bin dotnet-format --version 5.0.211103 diff --git a/scripts/install-kubeval.sh b/scripts/install-kubeval.sh new file mode 100755 index 00000000000..5ce2cec427b --- /dev/null +++ b/scripts/install-kubeval.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +set -euo pipefail + +url=$(curl -s \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "https://api.github.com/repos/instrumenta/kubeval/releases/tags/${KUBEVAL_VERSION}" | + jq -r '.assets | .[] | select(.name | contains("linux-amd")) | .url') +curl --retry 5 --retry-delay 5 -sL \ + -H "Accept: application/octet-stream" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${url}" | tar -xz +mv kubeval /usr/local/bin + +################## +# Install ktlint # +################## +url=$(curl -s \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "https://api.github.com/repos/pinterest/ktlint/releases/tags/${KTLINT_VERSION}" | + jq -r '.assets | .[] | select(.name=="ktlint") | .url') +curl --retry 5 --retry-delay 5 -sL -o "/usr/bin/ktlint" \ + -H "Accept: application/octet-stream" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${url}" +chmod a+x /usr/bin/ktlint +terrascan init +cd ~ && touch .chktexrc + +#################### +# Install dart-sdk # +#################### +url=$(curl -s \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "https://api.github.com/repos/sgerrand/alpine-pkg-glibc/releases/tags/${GLIBC_VERSION}" | + jq --arg name "glibc-${GLIBC_VERSION}.apk" -r '.assets | .[] | select(.name | contains($name)) | .url') +curl --retry 5 --retry-delay 5 -sL -o "glibc-${GLIBC_VERSION}.apk" \ + -H "Accept: application/octet-stream" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${url}" +apk add --no-cache "glibc-${GLIBC_VERSION}.apk" +rm "glibc-${GLIBC_VERSION}.apk" + +curl --retry 5 --retry-delay 5 -sO "https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-x64-release.zip" +unzip -q dartsdk-linux-x64-release.zip +chmod +x dart-sdk/bin/dart* && mv dart-sdk/bin/* /usr/bin/ && mv dart-sdk/lib/* /usr/lib/ && mv dart-sdk/include/* /usr/include/ +rm -r dart-sdk/ dartsdk-linux-x64-release.zip + +################################ +# Create and install Bash-Exec # +################################ +# shellcheck disable=SC2016 +printf '#!/bin/bash\nif [[ -x "$1" ]]; then exit 0; else echo "Error: File:[$1] is not executable"; exit 1; fi' >/usr/bin/bash-exec +chmod +x /usr/bin/bash-exec diff --git a/scripts/install-lintr.sh b/scripts/install-lintr.sh new file mode 100755 index 00000000000..03a8a772aea --- /dev/null +++ b/scripts/install-lintr.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -euo pipefail + +mkdir -p /home/r-library +cp -r /usr/lib/R/library/ /home/r-library/ +Rscript -e "install.packages(c('lintr','purrr'), repos = 'https://cloud.r-project.org/')" +R -e "install.packages(list.dirs('/home/r-library',recursive = FALSE), repos = NULL, type = 'source')" diff --git a/scripts/install-phive.sh b/scripts/install-phive.sh new file mode 100755 index 00000000000..2431b3e491c --- /dev/null +++ b/scripts/install-phive.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +set -euo pipefail + +apk add curl jq +url=$(curl -s \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "https://api.github.com/repos/sgerrand/alpine-pkg-glibc/releases/tags/${GLIBC_VERSION}" | + jq --arg name "glibc-${GLIBC_VERSION}.apk" -r '.assets | .[] | select(.name | contains($name)) | .url') +curl --retry 5 --retry-delay 5 -sL -o "glibc-${GLIBC_VERSION}.apk" \ + -H "Accept: application/octet-stream" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${url}" +apk add --no-cache \ + bash \ + ca-certificates \ + "glibc-${GLIBC_VERSION}.apk" \ + gnupg \ + php7 php7-curl php7-ctype php7-dom php7-iconv php7-json php7-mbstring \ + php7-openssl php7-phar php7-simplexml php7-tokenizer php-xmlwriter \ + tar zstd +rm "glibc-${GLIBC_VERSION}.apk" +mkdir /tmp/libz +curl --retry 5 --retry-delay 5 -sL https://www.archlinux.org/packages/core/x86_64/zlib/download | tar -x --zstd -C /tmp/libz +mv /tmp/libz/usr/lib/libz.so* /usr/glibc-compat/lib +rm -rf /tmp/libz +curl --retry 5 --retry-delay 5 -sLO https://phar.io/releases/phive.phar +curl --retry 5 --retry-delay 5 -sLO https://phar.io/releases/phive.phar.asc +gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys "0x9D8A98B29B2D5D79" +gpg --verify phive.phar.asc phive.phar +chmod +x phive.phar +mv phive.phar /usr/local/bin/phive +rm phive.phar.asc +phive --no-progress install --trust-gpg-keys 31C7E470E2138192,CF1A108D0E7AE720,8A03EA3B385DBAA1,12CE0F1D262429A5 --target /usr/bin phpstan@^1.3.3 psalm@^4.18.1 phpcs@^3.6.2 diff --git a/scripts/install-pwsh.sh b/scripts/install-pwsh.sh new file mode 100755 index 00000000000..0e35b754d25 --- /dev/null +++ b/scripts/install-pwsh.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# Reference: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7 +# Slightly modified to always retrieve latest stable Powershell version +# If changing PWSH_VERSION='latest' to a specific version, use format PWSH_VERSION='tags/v7.0.2' + +mkdir -p "${PWSH_DIRECTORY}" +url=$(curl -s \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "https://api.github.com/repos/powershell/powershell/releases/${PWSH_VERSION}" | + jq -r '.assets | .[] | select(.name | contains("linux-alpine-x64")) | .url') +curl --retry 5 --retry-delay 5 -sL \ + -H "Accept: application/octet-stream" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${url}" | tar -xz -C "${PWSH_DIRECTORY}" +chmod +x "${PWSH_DIRECTORY}/pwsh" +ln -sf "${PWSH_DIRECTORY}/pwsh" /usr/bin/pwsh +pwsh -c "Install-Module -Name PSScriptAnalyzer -RequiredVersion ${PSSA_VERSION} -Scope AllUsers -Force" diff --git a/scripts/install-raku.sh b/scripts/install-raku.sh new file mode 100755 index 00000000000..2f4e3e4766c --- /dev/null +++ b/scripts/install-raku.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +set -euo pipefail + +apk add --no-cache rakudo zef + +###################### +# Install CheckStyle # +###################### +url=$(curl -s \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "https://api.github.com/repos/checkstyle/checkstyle/releases/tags/checkstyle-${CHECKSTYLE_VERSION}" | + jq --arg name "checkstyle-${CHECKSTYLE_VERSION}-all.jar" -r '.assets | .[] | select(.name==$name) | .url') +curl --retry 5 --retry-delay 5 -sL -o /usr/bin/checkstyle \ + -H "Accept: application/octet-stream" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${url}" +chmod a+x /usr/bin/checkstyle + +############################## +# Install google-java-format # +############################## +url=$(curl -s \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "https://api.github.com/repos/google/google-java-format/releases/tags/v${GOOGLE_JAVA_FORMAT_VERSION}" | + jq --arg name "google-java-format-${GOOGLE_JAVA_FORMAT_VERSION}-all-deps.jar" -r '.assets | .[] | select(.name==$name) | .url') +curl --retry 5 --retry-delay 5 -sL -o /usr/bin/google-java-format \ + -H "Accept: application/octet-stream" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${url}" +chmod a+x /usr/bin/google-java-format + +################################# +# Install luacheck and luarocks # +################################# +curl --retry 5 --retry-delay 5 -s https://www.lua.org/ftp/lua-5.3.5.tar.gz | tar -xz +cd lua-5.3.5 +make linux +make install +cd .. && rm -r lua-5.3.5/ + +url=$(curl -s \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + https://api.github.com/repos/cvega/luarocks/releases/latest | jq -r '.tarball_url') +curl --retry 5 --retry-delay 5 -sL \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${url}" | tar -xz +cd cvega-luarocks-6b1aee6 +./configure --with-lua-include=/usr/local/include +make +make -b install +cd .. +rm -r cvega-luarocks-6b1aee6 + +luarocks install luacheck +luarocks install argparse +luarocks install luafilesystem +mv /etc/R/* /usr/lib/R/etc/ +find /usr/ -type f -name '*.md' -exec rm {} + diff --git a/scripts/install-rustfmt.sh b/scripts/install-rustfmt.sh new file mode 100755 index 00000000000..a1c72166a7a --- /dev/null +++ b/scripts/install-rustfmt.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# shellcheck disable=SC2016 +# shellcheck disable=SC2129 + +set -euo pipefail + +ln -s /usr/bin/rustup-init /usr/bin/rustup +rustup toolchain install stable-x86_64-unknown-linux-musl +rustup component add rustfmt --toolchain=stable-x86_64-unknown-linux-musl +rustup component add clippy --toolchain=stable-x86_64-unknown-linux-musl +mv /root/.rustup /usr/lib/.rustup +ln -fsv /usr/lib/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/rustfmt /usr/bin/rustfmt +ln -fsv /usr/lib/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/rustc /usr/bin/rustc +ln -fsv /usr/lib/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/cargo /usr/bin/cargo +ln -fsv /usr/lib/.rustup/toolchains/stable-x86_64-unknown-linux-musl/bin/cargo-clippy /usr/bin/cargo-clippy + +echo '#!/usr/bin/env bash' >/usr/bin/clippy +echo 'pushd $(dirname $1)' >>/usr/bin/clippy +echo 'cargo-clippy' >>/usr/bin/clippy +echo 'rc=$?' >>/usr/bin/clippy +echo 'popd' >>/usr/bin/clippy +echo 'exit $rc' >>/usr/bin/clippy +chmod +x /usr/bin/clippy From 94c66e07b974fc0f49818043cc5acfa571d9bdb9 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Mon, 2 Jan 2023 12:18:10 -0500 Subject: [PATCH 05/82] Debug install-phive.sh Signed-off-by: Brett Logan --- scripts/install-phive.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/install-phive.sh b/scripts/install-phive.sh index 2431b3e491c..0c2655600b1 100755 --- a/scripts/install-phive.sh +++ b/scripts/install-phive.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -euo pipefail +set -x apk add curl jq url=$(curl -s \ From e469609f7c440beaae0f07a852b63298d6830c5b Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Tue, 3 Jan 2023 20:03:12 -0500 Subject: [PATCH 06/82] Fix PowerShell installation Signed-off-by: Brett Logan --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index c75975daf62..3ae0b8b9927 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,9 +43,9 @@ ARG GOOGLE_JAVA_FORMAT_VERSION='1.15.0' ARG GLIBC_VERSION='2.34-r0' ARG KTLINT_VERSION='0.47.1' # PowerShell & PSScriptAnalyzer linter -ARG PSSA_VERSION='latest' +ARG PSSA_VERSION='1.21.0' ARG PWSH_DIRECTORY='/usr/lib/microsoft/powershell' -ARG PWSH_VERSION='latest' +ARG PWSH_VERSION='v7.3.1' # Kubeval Version ARG KUBEVAL_VERSION='v0.16.1' From b1386567ad3457591f98d74a431ac51447a28b1f Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Tue, 3 Jan 2023 20:23:38 -0500 Subject: [PATCH 07/82] Pin PSSA_VERSION Signed-off-by: Brett Logan --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3ae0b8b9927..dcde6c5406c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -393,7 +393,7 @@ FROM final_slim as final_standard ARG GITHUB_TOKEN ARG PWSH_VERSION='latest' ARG PWSH_DIRECTORY='/usr/lib/microsoft/powershell' -ARG PSSA_VERSION='latest' +ARG PSSA_VERSION='1.21.0' ################ # Set ENV vars # From fd42e54c1791f98e792821966825a65c97cdc484 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Tue, 3 Jan 2023 22:23:45 -0500 Subject: [PATCH 08/82] Seed arm-ttk directory Signed-off-by: Brett Logan --- scripts/install-arm-ttk.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/install-arm-ttk.sh b/scripts/install-arm-ttk.sh index 6a537ee1f94..91fa8f6cc0e 100755 --- a/scripts/install-arm-ttk.sh +++ b/scripts/install-arm-ttk.sh @@ -10,8 +10,10 @@ url=$(curl -s \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${GITHUB_TOKEN}" \ https://api.github.com/repos/Azure/arm-ttk/releases/latest | jq -r '.tarball_url') +mkdir -p /usr/lib/microsoft curl --retry 5 --retry-delay 5 -sL \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${GITHUB_TOKEN}" \ "${url}" | tar -xz -C /usr/lib/microsoft -ln -sTf /usr/lib/microsoft/arm-ttk-master/arm-ttk/arm-ttk.psd1 /usr/bin/arm-ttk +chmod a+x /usr/lib/microsoft/*/arm-ttk/arm-ttk.psd1 +ln -sTf /usr/lib/microsoft/*/arm-ttk/arm-ttk.psd1 /usr/bin/arm-ttk From 1137155331134f58d1f657b906ee33afa9db2d87 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Tue, 3 Jan 2023 23:18:52 -0500 Subject: [PATCH 09/82] Fix arm-ttk path Signed-off-by: Brett Logan --- Dockerfile | 1 + scripts/install-arm-ttk.sh | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index dcde6c5406c..c6b048abcf6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -398,6 +398,7 @@ ARG PSSA_VERSION='1.21.0' ################ # Set ENV vars # ################ +ENV ARM_TTK_PSD1="/usr/lib/microsoft/arm-ttk/arm-ttk.psd1" ENV IMAGE="standard" ENV PATH="${PATH}:/var/cache/dotnet/tools:/usr/share/dotnet" diff --git a/scripts/install-arm-ttk.sh b/scripts/install-arm-ttk.sh index 91fa8f6cc0e..7dabcf6f421 100755 --- a/scripts/install-arm-ttk.sh +++ b/scripts/install-arm-ttk.sh @@ -15,5 +15,7 @@ curl --retry 5 --retry-delay 5 -sL \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${GITHUB_TOKEN}" \ "${url}" | tar -xz -C /usr/lib/microsoft -chmod a+x /usr/lib/microsoft/*/arm-ttk/arm-ttk.psd1 -ln -sTf /usr/lib/microsoft/*/arm-ttk/arm-ttk.psd1 /usr/bin/arm-ttk +mv /usr/lib/microsoft/Azure-arm-ttk-*/arm-ttk /usr/lib/microsoft/arm-ttk +rm -rf /usr/lib/microsoft/Azure-arm-ttk-* +chmod a+x /usr/lib/microsoft/arm-ttk/arm-ttk.psd1 +ln -sTf /usr/lib/microsoft/arm-ttk/arm-ttk.psd1 /usr/bin/arm-ttk From b4cd05cfe8085a5ab381462609bc75f986d48268 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 00:16:23 -0500 Subject: [PATCH 10/82] Expose GITHUB_TOKEN as Docker secret Signed-off-by: Brett Logan --- .github/workflows/deploy-production.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-production.yml b/.github/workflows/deploy-production.yml index 7ebcc0b4c3e..bc996d9fc4b 100644 --- a/.github/workflows/deploy-production.yml +++ b/.github/workflows/deploy-production.yml @@ -54,9 +54,10 @@ jobs: BUILD_DATE=${{ env.BUILD_DATE }} BUILD_REVISION=${{ github.sha }} BUILD_VERSION=${{ github.sha }} - GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} load: true push: false + secrets: | + GITHUB_TOKEN=GITHUB_TOKEN${{ secrets.GITHUB_TOKEN }} tags: | ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}${{ github.sha }} ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}test @@ -179,9 +180,10 @@ jobs: BUILD_DATE=${{ env.BUILD_DATE }} BUILD_REVISION=${{ github.sha }} BUILD_VERSION=${{ github.sha }} - GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} load: false push: true + secrets: | + GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} tags: | github/super-linter:${{ matrix.images.container-image-id-prefix }}latest ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}latest From 59e3086d1257a5164315fe06878eeda77e45fc7d Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 00:19:55 -0500 Subject: [PATCH 11/82] Fix conflict Signed-off-by: Brett Logan --- Dockerfile | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/Dockerfile b/Dockerfile index c6b048abcf6..d1a0134677b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -262,39 +262,6 @@ ENV IMAGE="slim" # Store the key here because the above host is sometimes down, and breaks our builds COPY dependencies/sgerrand.rsa.pub /etc/apk/keys/sgerrand.rsa.pub -<<<<<<< HEAD -###################################### -# Install Phive dependencies and git # -###################################### -RUN wget --tries=5 -q https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk \ - && apk update && apk upgrade && apk add --no-cache --force-overwrite \ - bash \ - ca-certificates \ - curl \ - git git-lfs \ - glibc-${GLIBC_VERSION}.apk \ - tar zstd \ - gnupg \ - php81 php81-curl php81-ctype php81-dom php81-iconv php81-mbstring \ - php81-openssl php81-phar php81-simplexml php81-tokenizer php81-xmlwriter \ - && rm glibc-${GLIBC_VERSION}.apk \ - && wget -q --tries=5 -O /tmp/libz.tar.zst https://www.archlinux.org/packages/core/x86_64/zlib/download \ - && mkdir /tmp/libz \ - && tar -xf /tmp/libz.tar.zst -C /tmp/libz --zstd \ - && mv /tmp/libz/usr/lib/libz.so* /usr/glibc-compat/lib \ - && rm -rf /tmp/libz /tmp/libz.tar.zst \ - && wget -q --tries=5 -O phive.phar https://phar.io/releases/phive.phar \ - && wget -q --tries=5 -O phive.phar.asc https://phar.io/releases/phive.phar.asc \ - && PHAR_KEY_ID="0x9D8A98B29B2D5D79" \ - && gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys "$PHAR_KEY_ID" \ - && gpg --verify phive.phar.asc phive.phar \ - && chmod +x phive.phar \ - && mv phive.phar /usr/local/bin/phive \ - && rm phive.phar.asc \ - && phive --no-progress install --trust-gpg-keys \ - 31C7E470E2138192,CF1A108D0E7AE720,8A03EA3B385DBAA1,12CE0F1D262429A5 \ - --target /usr/bin phpstan@^1.3.3 psalm@^4.18.1 phpcs@^3.6.2 -======= ############### # Install Git # ############### @@ -305,7 +272,6 @@ RUN apk add --no-cache bash git git-lfs ############################## COPY scripts/install-phive.sh / RUN /install-phive.sh && rm -rf /install-phive.sh ->>>>>>> 65949c12 (Push scripts into standalone files) #################################################### # Install Composer after all Libs have been copied # From 07e66bb8b8bbcfb7350b96cd457540f454903b44 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 00:28:30 -0500 Subject: [PATCH 12/82] Mount secret Signed-off-by: Brett Logan --- Dockerfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index d1a0134677b..71f2483ca5b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -199,14 +199,14 @@ COPY dependencies/sgerrand.rsa.pub /etc/apk/keys/sgerrand.rsa.pub # Install Kubeval # ################### COPY scripts/install-kubeval.sh / -RUN /install-kubeval.sh && rm -rf /install-kubeval.sh +RUN --mount=type=secret,id=GITHUB_TOKEN /install-kubeval.sh && rm -rf /install-kubeval.sh ################################################# # Install Raku and additional Edge dependencies # ################################################# # Basic setup, programs and init COPY scripts/install-raku.sh / -RUN /install-raku.sh && rm -rf /install-raku.sh +RUN --mount=type=secret,id=GITHUB_TOKEN /install-raku.sh && rm -rf /install-raku.sh ################################################################################ # Grab small clean image to build python packages ############################## @@ -271,7 +271,7 @@ RUN apk add --no-cache bash git git-lfs # Install Phive dependencies # ############################## COPY scripts/install-phive.sh / -RUN /install-phive.sh && rm -rf /install-phive.sh +RUN --mount=type=secret,id=GITHUB_TOKEN /install-phive.sh && rm -rf /install-phive.sh #################################################### # Install Composer after all Libs have been copied # @@ -390,13 +390,13 @@ RUN /install-rustfmt.sh && rm -rf /install-rustfmt.sh # Install Powershell + PSScriptAnalyzer # ######################################### COPY scripts/install-pwsh.sh / -RUN /install-pwsh.sh && rm -rf /install-pwsh.sh +RUN --mount=type=secret,id=GITHUB_TOKEN /install-pwsh.sh && rm -rf /install-pwsh.sh ############################################################# # Install Azure Resource Manager Template Toolkit (arm-ttk) # ############################################################# COPY scripts/install-arm-ttk.sh / -RUN /install-arm-ttk.sh && rm -rf /install-arm-ttk.sh +RUN --mount=type=secret,id=GITHUB_TOKEN /install-arm-ttk.sh && rm -rf /install-arm-ttk.sh ######################################################################################## # Run to build version file and validate image again because we installed more linters # From f00a0bbe87dbf3c26e8948601919fffd595b11c7 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 00:29:45 -0500 Subject: [PATCH 13/82] Remove dead arg Signed-off-by: Brett Logan --- Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 71f2483ca5b..283bcdd580c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,7 +37,6 @@ ARG CHECKSTYLE_VERSION='10.3.4' # Dart Linter ## stable dart sdk: https://dart.dev/get-dart#release-channels ARG DART_VERSION='2.8.4' -ARG GITHUB_TOKEN ARG GOOGLE_JAVA_FORMAT_VERSION='1.15.0' ## install alpine-pkg-glibc (glibc compatibility layer package for Alpine Linux) ARG GLIBC_VERSION='2.34-r0' @@ -228,7 +227,6 @@ FROM alpine:3.17.0 as final_slim ARG BUILD_DATE ARG BUILD_REVISION ARG BUILD_VERSION -ARG GITHUB_TOKEN ## install alpine-pkg-glibc (glibc compatibility layer package for Alpine Linux) ARG GLIBC_VERSION='2.34-r0' From 22cdb4a0e0a2e2550ad483599ab48e7740761ec1 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 00:41:31 -0500 Subject: [PATCH 14/82] Pull secret from disk Signed-off-by: Brett Logan --- scripts/install-arm-ttk.sh | 4 ++-- scripts/install-kubeval.sh | 12 ++++++------ scripts/install-phive.sh | 4 ++-- scripts/install-pwsh.sh | 4 ++-- scripts/install-raku.sh | 12 ++++++------ 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/scripts/install-arm-ttk.sh b/scripts/install-arm-ttk.sh index 7dabcf6f421..09d104fa244 100755 --- a/scripts/install-arm-ttk.sh +++ b/scripts/install-arm-ttk.sh @@ -8,12 +8,12 @@ set -euo pipefail url=$(curl -s \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ https://api.github.com/repos/Azure/arm-ttk/releases/latest | jq -r '.tarball_url') mkdir -p /usr/lib/microsoft curl --retry 5 --retry-delay 5 -sL \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" | tar -xz -C /usr/lib/microsoft mv /usr/lib/microsoft/Azure-arm-ttk-*/arm-ttk /usr/lib/microsoft/arm-ttk rm -rf /usr/lib/microsoft/Azure-arm-ttk-* diff --git a/scripts/install-kubeval.sh b/scripts/install-kubeval.sh index 5ce2cec427b..c7ef0705c2d 100755 --- a/scripts/install-kubeval.sh +++ b/scripts/install-kubeval.sh @@ -4,12 +4,12 @@ set -euo pipefail url=$(curl -s \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "https://api.github.com/repos/instrumenta/kubeval/releases/tags/${KUBEVAL_VERSION}" | jq -r '.assets | .[] | select(.name | contains("linux-amd")) | .url') curl --retry 5 --retry-delay 5 -sL \ -H "Accept: application/octet-stream" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" | tar -xz mv kubeval /usr/local/bin @@ -18,12 +18,12 @@ mv kubeval /usr/local/bin ################## url=$(curl -s \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "https://api.github.com/repos/pinterest/ktlint/releases/tags/${KTLINT_VERSION}" | jq -r '.assets | .[] | select(.name=="ktlint") | .url') curl --retry 5 --retry-delay 5 -sL -o "/usr/bin/ktlint" \ -H "Accept: application/octet-stream" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" chmod a+x /usr/bin/ktlint terrascan init @@ -34,12 +34,12 @@ cd ~ && touch .chktexrc #################### url=$(curl -s \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "https://api.github.com/repos/sgerrand/alpine-pkg-glibc/releases/tags/${GLIBC_VERSION}" | jq --arg name "glibc-${GLIBC_VERSION}.apk" -r '.assets | .[] | select(.name | contains($name)) | .url') curl --retry 5 --retry-delay 5 -sL -o "glibc-${GLIBC_VERSION}.apk" \ -H "Accept: application/octet-stream" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" apk add --no-cache "glibc-${GLIBC_VERSION}.apk" rm "glibc-${GLIBC_VERSION}.apk" diff --git a/scripts/install-phive.sh b/scripts/install-phive.sh index 0c2655600b1..e89dd7e6a78 100755 --- a/scripts/install-phive.sh +++ b/scripts/install-phive.sh @@ -6,12 +6,12 @@ set -x apk add curl jq url=$(curl -s \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "https://api.github.com/repos/sgerrand/alpine-pkg-glibc/releases/tags/${GLIBC_VERSION}" | jq --arg name "glibc-${GLIBC_VERSION}.apk" -r '.assets | .[] | select(.name | contains($name)) | .url') curl --retry 5 --retry-delay 5 -sL -o "glibc-${GLIBC_VERSION}.apk" \ -H "Accept: application/octet-stream" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" apk add --no-cache \ bash \ diff --git a/scripts/install-pwsh.sh b/scripts/install-pwsh.sh index 0e35b754d25..41a2f127261 100755 --- a/scripts/install-pwsh.sh +++ b/scripts/install-pwsh.sh @@ -9,12 +9,12 @@ set -euo pipefail mkdir -p "${PWSH_DIRECTORY}" url=$(curl -s \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "https://api.github.com/repos/powershell/powershell/releases/${PWSH_VERSION}" | jq -r '.assets | .[] | select(.name | contains("linux-alpine-x64")) | .url') curl --retry 5 --retry-delay 5 -sL \ -H "Accept: application/octet-stream" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" | tar -xz -C "${PWSH_DIRECTORY}" chmod +x "${PWSH_DIRECTORY}/pwsh" ln -sf "${PWSH_DIRECTORY}/pwsh" /usr/bin/pwsh diff --git a/scripts/install-raku.sh b/scripts/install-raku.sh index 2f4e3e4766c..90503aa38d1 100755 --- a/scripts/install-raku.sh +++ b/scripts/install-raku.sh @@ -9,12 +9,12 @@ apk add --no-cache rakudo zef ###################### url=$(curl -s \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "https://api.github.com/repos/checkstyle/checkstyle/releases/tags/checkstyle-${CHECKSTYLE_VERSION}" | jq --arg name "checkstyle-${CHECKSTYLE_VERSION}-all.jar" -r '.assets | .[] | select(.name==$name) | .url') curl --retry 5 --retry-delay 5 -sL -o /usr/bin/checkstyle \ -H "Accept: application/octet-stream" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" chmod a+x /usr/bin/checkstyle @@ -23,12 +23,12 @@ chmod a+x /usr/bin/checkstyle ############################## url=$(curl -s \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "https://api.github.com/repos/google/google-java-format/releases/tags/v${GOOGLE_JAVA_FORMAT_VERSION}" | jq --arg name "google-java-format-${GOOGLE_JAVA_FORMAT_VERSION}-all-deps.jar" -r '.assets | .[] | select(.name==$name) | .url') curl --retry 5 --retry-delay 5 -sL -o /usr/bin/google-java-format \ -H "Accept: application/octet-stream" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" chmod a+x /usr/bin/google-java-format @@ -43,11 +43,11 @@ cd .. && rm -r lua-5.3.5/ url=$(curl -s \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ https://api.github.com/repos/cvega/luarocks/releases/latest | jq -r '.tarball_url') curl --retry 5 --retry-delay 5 -sL \ -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" | tar -xz cd cvega-luarocks-6b1aee6 ./configure --with-lua-include=/usr/local/include From 2b8f626566a83695dc81166cd045f50f5fef9555 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 00:54:55 -0500 Subject: [PATCH 15/82] Fix deps and secret injection Signed-off-by: Brett Logan --- .github/workflows/deploy-production.yml | 2 +- Makefile | 3 +-- scripts/install-phive.sh | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy-production.yml b/.github/workflows/deploy-production.yml index bc996d9fc4b..a4c71d37568 100644 --- a/.github/workflows/deploy-production.yml +++ b/.github/workflows/deploy-production.yml @@ -57,7 +57,7 @@ jobs: load: true push: false secrets: | - GITHUB_TOKEN=GITHUB_TOKEN${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} tags: | ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}${{ github.sha }} ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}test diff --git a/Makefile b/Makefile index 20142d13023..51b2ffebff1 100644 --- a/Makefile +++ b/Makefile @@ -111,7 +111,6 @@ docker: --build-arg BUILD_DATE=$(shell date -u +'%Y-%m-%dT%H:%M:%SZ') \ --build-arg BUILD_REVISION=$(shell git rev-parse --short HEAD) \ --build-arg BUILD_VERSION=$(shell git rev-parse --short HEAD) \ - --build-arg GITHUB_TOKEN="${GITHUB_PAT}" \ -t ghcr.io/github/super-linter . .phony: docker-buildx @@ -121,5 +120,5 @@ docker-buildx: --build-arg BUILD_DATE=$(shell date -u +'%Y-%m-%dT%H:%M:%SZ') \ --build-arg BUILD_REVISION=$(shell git rev-parse --short HEAD) \ --build-arg BUILD_VERSION=$(shell git rev-parse --short HEAD) \ - --build-arg GITHUB_TOKEN="${GITHUB_PAT}" \ + --secret id=GITHUB_TOKEN,env=GITHUB_TOKEN \ -t ghcr.io/github/super-linter . diff --git a/scripts/install-phive.sh b/scripts/install-phive.sh index e89dd7e6a78..45ca42ac11a 100755 --- a/scripts/install-phive.sh +++ b/scripts/install-phive.sh @@ -13,13 +13,13 @@ curl --retry 5 --retry-delay 5 -sL -o "glibc-${GLIBC_VERSION}.apk" \ -H "Accept: application/octet-stream" \ -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" -apk add --no-cache \ +apk add --no-cache --force-overwrite \ bash \ ca-certificates \ "glibc-${GLIBC_VERSION}.apk" \ gnupg \ - php7 php7-curl php7-ctype php7-dom php7-iconv php7-json php7-mbstring \ - php7-openssl php7-phar php7-simplexml php7-tokenizer php-xmlwriter \ + php81 php81-curl php81-ctype php81-dom php81-iconv php81-mbstring \ + php81-openssl php81-phar php81-simplexml php81-tokenizer php81-xmlwriter \ tar zstd rm "glibc-${GLIBC_VERSION}.apk" mkdir /tmp/libz From 3ed738059afec6b4b5b61106e4a6406e5a1fb52e Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 01:00:02 -0500 Subject: [PATCH 16/82] Update build command Signed-off-by: Brett Logan --- Makefile | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 51b2ffebff1..458651ff369 100644 --- a/Makefile +++ b/Makefile @@ -107,16 +107,7 @@ inspec: inspec-check ## Run InSpec tests .phony: docker docker: @if [ -z "${GITHUB_TOKEN}" ]; then echo "GITHUB_TOKEN environment variable not set. Please set your GitHub Personal Access Token."; exit 1; fi - docker build \ - --build-arg BUILD_DATE=$(shell date -u +'%Y-%m-%dT%H:%M:%SZ') \ - --build-arg BUILD_REVISION=$(shell git rev-parse --short HEAD) \ - --build-arg BUILD_VERSION=$(shell git rev-parse --short HEAD) \ - -t ghcr.io/github/super-linter . - -.phony: docker-buildx -docker-buildx: - @if [ -z "${GITHUB_TOKEN}" ]; then echo "GITHUB_TOKEN environment variable not set. Please set your GitHub Personal Access Token."; exit 1; fi - docker buildx build --load \ + DOCKER_BUILDKIT=1 docker buildx build --load \ --build-arg BUILD_DATE=$(shell date -u +'%Y-%m-%dT%H:%M:%SZ') \ --build-arg BUILD_REVISION=$(shell git rev-parse --short HEAD) \ --build-arg BUILD_VERSION=$(shell git rev-parse --short HEAD) \ From 6b6451f129d809d2c9b33eae804be2929b7746f5 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 01:08:55 -0500 Subject: [PATCH 17/82] Overwrite nss file for glibc Signed-off-by: Brett Logan --- scripts/install-kubeval.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install-kubeval.sh b/scripts/install-kubeval.sh index c7ef0705c2d..be57f6e18df 100755 --- a/scripts/install-kubeval.sh +++ b/scripts/install-kubeval.sh @@ -41,7 +41,7 @@ curl --retry 5 --retry-delay 5 -sL -o "glibc-${GLIBC_VERSION}.apk" \ -H "Accept: application/octet-stream" \ -H "Authorization: Bearer $(cat /run/secrets/GITHUB_TOKEN)" \ "${url}" -apk add --no-cache "glibc-${GLIBC_VERSION}.apk" +apk add --no-cache --force-overwrite "glibc-${GLIBC_VERSION}.apk" rm "glibc-${GLIBC_VERSION}.apk" curl --retry 5 --retry-delay 5 -sO "https://storage.googleapis.com/dart-archive/channels/stable/release/${DART_VERSION}/sdk/dartsdk-linux-x64-release.zip" From 9f4a208eb503c65b11529952d00524d1de8edc78 Mon Sep 17 00:00:00 2001 From: Algin Maduro Date: Fri, 23 Dec 2022 09:58:50 +0100 Subject: [PATCH 18/82] Add terraform fmt support --- .automation/test/terraform_fmt/README.md | 19 +++++++++++++++++++ .../terraform_fmt/bad/terraform_fmt_bad_1.tf | 18 ++++++++++++++++++ .../good/terraform_fmt_good_1.tf | 18 ++++++++++++++++++ README.md | 2 +- lib/functions/buildFileList.sh | 1 + lib/linter.sh | 6 ++++-- 6 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 .automation/test/terraform_fmt/README.md create mode 100644 .automation/test/terraform_fmt/bad/terraform_fmt_bad_1.tf create mode 100644 .automation/test/terraform_fmt/good/terraform_fmt_good_1.tf diff --git a/.automation/test/terraform_fmt/README.md b/.automation/test/terraform_fmt/README.md new file mode 100644 index 00000000000..1ce0310f1c2 --- /dev/null +++ b/.automation/test/terraform_fmt/README.md @@ -0,0 +1,19 @@ +# AWS States language Test Cases + +This folder holds the test cases for **Terraform Formatting**. + +## Additional Docs + +No Additional information is needed for this test case. + +## Good Test Cases + +The test cases denoted: `LANGUAGE_good_FILE.EXTENSION` are all valid, and should pass successfully when linted. + +- **Note:** They are linted utilizing the default linter rules. + +## Bad Test Cases + +The test cases denoted: `LANGUAGE_bad_FILE.EXTENSION` are **NOT** valid, and should trigger errors when linted. + +- **Note:** They are linted utilizing the default linter rules. diff --git a/.automation/test/terraform_fmt/bad/terraform_fmt_bad_1.tf b/.automation/test/terraform_fmt/bad/terraform_fmt_bad_1.tf new file mode 100644 index 00000000000..0ed579926c5 --- /dev/null +++ b/.automation/test/terraform_fmt/bad/terraform_fmt_bad_1.tf @@ -0,0 +1,18 @@ +resource "aws_instance" "instanceWithVpc" { + ami = "some-id" + instance_type = "t2.micro" + + monitoring = true + ebs_optimized = true + + vpc_security_group_ids = ["sg-12345678901234567"] + subnet_id = "subnet-12345678901234567" + + metadata_options { + http_endpoint = "disabled" + } + + tags = { + Name = "HelloWorld" + } +} diff --git a/.automation/test/terraform_fmt/good/terraform_fmt_good_1.tf b/.automation/test/terraform_fmt/good/terraform_fmt_good_1.tf new file mode 100644 index 00000000000..d30b5f829da --- /dev/null +++ b/.automation/test/terraform_fmt/good/terraform_fmt_good_1.tf @@ -0,0 +1,18 @@ +resource "aws_instance" "instanceWithVpc" { + ami = "some-id" + instance_type = "t2.micro" + + monitoring = true + ebs_optimized = true + + vpc_security_group_ids = ["sg-12345678901234567"] + subnet_id = "subnet-12345678901234567" + + metadata_options { + http_endpoint = "disabled" + } + + tags = { + Name = "HelloWorld" + } +} diff --git a/README.md b/README.md index 0c2f4a9dc9c..ebc0f5a475a 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ Developers on **GitHub** can call the **GitHub Action** to lint their codebase w | **Snakemake** | [snakefmt](https://github.com/snakemake/snakefmt/) / [snakemake --lint](https://snakemake.readthedocs.io/en/stable/snakefiles/writing_snakefiles.html#best-practices) | | **SQL** | [sql-lint](https://github.com/joereynolds/sql-lint) / [sqlfluff](https://github.com/sqlfluff/sqlfluff) | | **Tekton** | [tekton-lint](https://github.com/IBM/tekton-lint) | -| **Terraform** | [tflint](https://github.com/terraform-linters/tflint) / [terrascan](https://github.com/accurics/terrascan) | +| **Terraform** | [fmt](https://github.com/hashicorp/terraform) / [tflint](https://github.com/terraform-linters/tflint) / [terrascan](https://github.com/accurics/terrascan) | | **Terragrunt** | [terragrunt](https://github.com/gruntwork-io/terragrunt) | | **TypeScript** | [ESLint](https://eslint.org/) / [standard js](https://standardjs.com/) | | **XML** | [LibXML](http://xmlsoft.org/) | diff --git a/lib/functions/buildFileList.sh b/lib/functions/buildFileList.sh index a7dff9095fe..8eba88556cf 100755 --- a/lib/functions/buildFileList.sh +++ b/lib/functions/buildFileList.sh @@ -723,6 +723,7 @@ function BuildFileList() { ################################ FILE_ARRAY_TERRAFORM_TFLINT+=("${FILE}") FILE_ARRAY_TERRAFORM_TERRASCAN+=("${FILE}") + FILE_ARRAY_TERRAFORM_FMT+=("${FILE}") ############################ # Get the Terragrunt files # diff --git a/lib/linter.sh b/lib/linter.sh index 3b466a7fa7a..d65a462de50 100755 --- a/lib/linter.sh +++ b/lib/linter.sh @@ -259,8 +259,8 @@ LANGUAGE_ARRAY=('ANSIBLE' 'ARM' 'BASH' 'BASH_EXEC' 'CLANG_FORMAT' 'PYTHON_FLAKE8' 'PYTHON_ISORT' 'PYTHON_MYPY' 'R' 'RAKU' 'RUBY' 'RUST_2015' 'RUST_2018' 'RUST_2021' 'RUST_CLIPPY' 'SCALAFMT' 'SHELL_SHFMT' 'SNAKEMAKE_LINT' 'SNAKEMAKE_SNAKEFMT' 'STATES' 'SQL' 'SQLFLUFF' 'TEKTON' - 'TERRAFORM_TFLINT' 'TERRAFORM_TERRASCAN' 'TERRAGRUNT' 'TSX' 'TYPESCRIPT_ES' - "${TYPESCRIPT_STYLE_NAME}" 'XML' 'YAML') + 'TERRAFORM_FMT' 'TERRAFORM_TFLINT' 'TERRAFORM_TERRASCAN' 'TERRAGRUNT' 'TSX' + 'TYPESCRIPT_ES' "${TYPESCRIPT_STYLE_NAME}" 'XML' 'YAML') ############################## # Linter command names array # @@ -330,6 +330,7 @@ LINTER_NAMES_ARRAY['STATES']="asl-validator" LINTER_NAMES_ARRAY['SQL']="sql-lint" LINTER_NAMES_ARRAY['SQLFLUFF']="sqlfluff" LINTER_NAMES_ARRAY['TEKTON']="tekton-lint" +LINTER_NAMES_ARRAY['TERRAFORM_FMT']="terraform" LINTER_NAMES_ARRAY['TERRAFORM_TFLINT']="tflint" LINTER_NAMES_ARRAY['TERRAFORM_TERRASCAN']="terrascan" LINTER_NAMES_ARRAY['TERRAGRUNT']="terragrunt" @@ -966,6 +967,7 @@ LINTER_COMMANDS_ARRAY['STATES']="asl-validator --json-path" LINTER_COMMANDS_ARRAY['SQL']="sql-lint --config ${SQL_LINTER_RULES}" LINTER_COMMANDS_ARRAY['SQLFLUFF']="sqlfluff lint --config ${SQLFLUFF_LINTER_RULES}" LINTER_COMMANDS_ARRAY['TEKTON']="tekton-lint" +LINTER_COMMANDS_ARRAY['TERRAFORM_FMT']="terraform fmt -check" LINTER_COMMANDS_ARRAY['TERRAFORM_TFLINT']="tflint -c ${TERRAFORM_TFLINT_LINTER_RULES}" LINTER_COMMANDS_ARRAY['TERRAFORM_TERRASCAN']="terrascan scan -i terraform -t all -c ${TERRAFORM_TERRASCAN_LINTER_RULES} -f" LINTER_COMMANDS_ARRAY['TERRAGRUNT']="terragrunt hclfmt --terragrunt-check --terragrunt-log-level error --terragrunt-hclfmt-file" From 50be96aaf9b0e4b6faec6087a46adf637cb8a53a Mon Sep 17 00:00:00 2001 From: Algin Maduro Date: Fri, 23 Dec 2022 11:17:40 +0100 Subject: [PATCH 19/82] review comments --- .automation/test/terraform_fmt/README.md | 10 +++------- README.md | 4 ++-- lib/linter.sh | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.automation/test/terraform_fmt/README.md b/.automation/test/terraform_fmt/README.md index 1ce0310f1c2..3318dfc7c3d 100644 --- a/.automation/test/terraform_fmt/README.md +++ b/.automation/test/terraform_fmt/README.md @@ -1,4 +1,4 @@ -# AWS States language Test Cases +# Terraform Format Test Cases. This folder holds the test cases for **Terraform Formatting**. @@ -8,12 +8,8 @@ No Additional information is needed for this test case. ## Good Test Cases -The test cases denoted: `LANGUAGE_good_FILE.EXTENSION` are all valid, and should pass successfully when linted. - -- **Note:** They are linted utilizing the default linter rules. +The test cases denoted: `LANGUAGE_good_FILE.EXTENSION` are all valid, and should pass successfully when formatted. ## Bad Test Cases -The test cases denoted: `LANGUAGE_bad_FILE.EXTENSION` are **NOT** valid, and should trigger errors when linted. - -- **Note:** They are linted utilizing the default linter rules. +The test cases denoted: `LANGUAGE_bad_FILE.EXTENSION` are **NOT** valid, and should trigger errors when formatted. diff --git a/README.md b/README.md index ebc0f5a475a..6171ff6e0a9 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ Developers on **GitHub** can call the **GitHub Action** to lint their codebase w | **Snakemake** | [snakefmt](https://github.com/snakemake/snakefmt/) / [snakemake --lint](https://snakemake.readthedocs.io/en/stable/snakefiles/writing_snakefiles.html#best-practices) | | **SQL** | [sql-lint](https://github.com/joereynolds/sql-lint) / [sqlfluff](https://github.com/sqlfluff/sqlfluff) | | **Tekton** | [tekton-lint](https://github.com/IBM/tekton-lint) | -| **Terraform** | [fmt](https://github.com/hashicorp/terraform) / [tflint](https://github.com/terraform-linters/tflint) / [terrascan](https://github.com/accurics/terrascan) | +| **Terraform** | [fmt](https://developer.hashicorp.com/terraform/cli/commands/fmt) / [tflint](https://github.com/terraform-linters/tflint) / [terrascan](https://github.com/accurics/terrascan) | | **Terragrunt** | [terragrunt](https://github.com/gruntwork-io/terragrunt) | | **TypeScript** | [ESLint](https://eslint.org/) / [standard js](https://standardjs.com/) | | **XML** | [LibXML](http://xmlsoft.org/) | @@ -283,7 +283,6 @@ But if you wish to select or exclude specific linters, we give you full control | **FILTER_REGEX_EXCLUDE** | `none` | Regular expression defining which files will be excluded from linting (ex: `.*src/test.*`) | | **FILTER_REGEX_INCLUDE** | `all` | Regular expression defining which files will be processed by linters (ex: `.*src/.*`) | | **GITHUB_ACTIONS_CONFIG_FILE** | `actionlint.yml` | Filename for [Actionlint configuration](https://github.com/rhysd/actionlint/blob/main/docs/config.md) (ex: `actionlint.yml`) | -| **GITHUB_ACTIONS_COMMAND_ARGS** | `null` | Additional arguments passed to `actionlint` command. Useful to [ignore some errors](https://github.com/rhysd/actionlint/blob/main/docs/usage.md#ignore-some-errors) | | **GITHUB_CUSTOM_API_URL** | `https://api.github.com` | Specify a custom GitHub API URL in case GitHub Enterprise is used: e.g. `https://github.myenterprise.com/api/v3` | | **GITHUB_DOMAIN** | `github.com` | Specify a custom GitHub domain in case GitHub Enterprise is used: e.g. `github.myenterprise.com` | | **GITLEAKS_CONFIG_FILE** | `.gitleaks.toml` | Filename for [GitLeaks configuration](https://github.com/zricethezav/gitleaks#configuration) (ex: `.geatleaks.toml`) | @@ -393,6 +392,7 @@ But if you wish to select or exclude specific linters, we give you full control | **VALIDATE_SQL** | `true` | Flag to enable or disable the linting process of the SQL language. | | **VALIDATE_SQLFLUFF** | `true` | Flag to enable or disable the linting process of the SQL language. (Utilizing: sqlfuff) | | **VALIDATE_TEKTON** | `true` | Flag to enable or disable the linting process of the Tekton language. | +| **VALIDATE_TERRAFORM_FMT** | `true` | Flag to enable or disable the formatting process of the Terraform files. | | **VALIDATE_TERRAFORM_TERRASCAN** | `true` | Flag to enable or disable the linting process of the Terraform language for security related issues. | | **VALIDATE_TERRAFORM_TFLINT** | `true` | Flag to enable or disable the linting process of the Terraform language. (Utilizing tflint) | | **VALIDATE_TERRAGRUNT** | `true` | Flag to enable or disable the linting process for Terragrunt files. | diff --git a/lib/linter.sh b/lib/linter.sh index d65a462de50..d68a7e8a6b7 100755 --- a/lib/linter.sh +++ b/lib/linter.sh @@ -967,7 +967,7 @@ LINTER_COMMANDS_ARRAY['STATES']="asl-validator --json-path" LINTER_COMMANDS_ARRAY['SQL']="sql-lint --config ${SQL_LINTER_RULES}" LINTER_COMMANDS_ARRAY['SQLFLUFF']="sqlfluff lint --config ${SQLFLUFF_LINTER_RULES}" LINTER_COMMANDS_ARRAY['TEKTON']="tekton-lint" -LINTER_COMMANDS_ARRAY['TERRAFORM_FMT']="terraform fmt -check" +LINTER_COMMANDS_ARRAY['TERRAFORM_FMT']="terraform fmt -check -diff" LINTER_COMMANDS_ARRAY['TERRAFORM_TFLINT']="tflint -c ${TERRAFORM_TFLINT_LINTER_RULES}" LINTER_COMMANDS_ARRAY['TERRAFORM_TERRASCAN']="terrascan scan -i terraform -t all -c ${TERRAFORM_TERRASCAN_LINTER_RULES} -f" LINTER_COMMANDS_ARRAY['TERRAGRUNT']="terragrunt hclfmt --terragrunt-check --terragrunt-log-level error --terragrunt-hclfmt-file" From 885744f3f4e835b1f8d433b9642ec0e848d4decb Mon Sep 17 00:00:00 2001 From: Algin Maduro Date: Fri, 23 Dec 2022 11:26:32 +0100 Subject: [PATCH 20/82] fix failing lint --- lib/linter.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linter.sh b/lib/linter.sh index d68a7e8a6b7..3cdd6fd9b5f 100755 --- a/lib/linter.sh +++ b/lib/linter.sh @@ -259,7 +259,7 @@ LANGUAGE_ARRAY=('ANSIBLE' 'ARM' 'BASH' 'BASH_EXEC' 'CLANG_FORMAT' 'PYTHON_FLAKE8' 'PYTHON_ISORT' 'PYTHON_MYPY' 'R' 'RAKU' 'RUBY' 'RUST_2015' 'RUST_2018' 'RUST_2021' 'RUST_CLIPPY' 'SCALAFMT' 'SHELL_SHFMT' 'SNAKEMAKE_LINT' 'SNAKEMAKE_SNAKEFMT' 'STATES' 'SQL' 'SQLFLUFF' 'TEKTON' - 'TERRAFORM_FMT' 'TERRAFORM_TFLINT' 'TERRAFORM_TERRASCAN' 'TERRAGRUNT' 'TSX' + 'TERRAFORM_FMT' 'TERRAFORM_TFLINT' 'TERRAFORM_TERRASCAN' 'TERRAGRUNT' 'TSX' 'TYPESCRIPT_ES' "${TYPESCRIPT_STYLE_NAME}" 'XML' 'YAML') ############################## From f0fe1c900b686451138fc86cc172a16f2936391d Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Thu, 5 Jan 2023 13:32:46 +0000 Subject: [PATCH 21/82] Conditionally create log file --- README.md | 7 ++++--- lib/linter.sh | 16 ++++++++++++---- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6171ff6e0a9..e58a889af86 100644 --- a/README.md +++ b/README.md @@ -93,11 +93,11 @@ Developers on **GitHub** can call the **GitHub Action** to lint their codebase w | **Rust** | [Rustfmt](https://github.com/rust-lang/rustfmt) / [Clippy](https://github.com/rust-lang/rust-clippy) | | **Scala** | [scalafmt](https://github.com/scalameta/scalafmt) | | **Secrets** | [GitLeaks](https://github.com/zricethezav/gitleaks) | -| **Shell** | [ShellCheck](https://github.com/koalaman/shellcheck) / [executable bit check] / [shfmt](https://github.com/mvdan/sh) | +| **Shell** | [ShellCheck](https://github.com/koalaman/shellcheck) / `executable bit check` / [shfmt](https://github.com/mvdan/sh) | | **Snakemake** | [snakefmt](https://github.com/snakemake/snakefmt/) / [snakemake --lint](https://snakemake.readthedocs.io/en/stable/snakefiles/writing_snakefiles.html#best-practices) | | **SQL** | [sql-lint](https://github.com/joereynolds/sql-lint) / [sqlfluff](https://github.com/sqlfluff/sqlfluff) | | **Tekton** | [tekton-lint](https://github.com/IBM/tekton-lint) | -| **Terraform** | [fmt](https://developer.hashicorp.com/terraform/cli/commands/fmt) / [tflint](https://github.com/terraform-linters/tflint) / [terrascan](https://github.com/accurics/terrascan) | +| **Terraform** | [fmt](https://developer.hashicorp.com/terraform/cli/commands/fmt) / [tflint](https://github.com/terraform-linters/tflint) / [terrascan](https://github.com/accurics/terrascan)| | **Terragrunt** | [terragrunt](https://github.com/gruntwork-io/terragrunt) | | **TypeScript** | [ESLint](https://eslint.org/) / [standard js](https://standardjs.com/) | | **XML** | [LibXML](http://xmlsoft.org/) | @@ -123,7 +123,7 @@ To use this **GitHub** Action you will need to complete the following: In your repository you should have a `.github/workflows` folder with **GitHub** Action similar to below: - `.github/workflows/linter.yml` - - Example file can be found at [`TEMPLATES/linter.yml`](/TEMPLATES/linter.yml) + - Example file can be found at [`TEMPLATES/linter.yml`](TEMPLATES/linter.yml) This file should have the following code: @@ -273,6 +273,7 @@ But if you wish to select or exclude specific linters, we give you full control | **ACTIONS_RUNNER_DEBUG** | `false` | Flag to enable additional information about the linter, versions, and additional output. | | **ANSIBLE_CONFIG_FILE** | `.ansible-lint.yml` | Filename for [Ansible-lint configuration](https://ansible-lint.readthedocs.io/en/latest/configuring.html#configuration-file) (ex: `.ansible-lint`, `.ansible-lint.yml`) | | **ANSIBLE_DIRECTORY** | `/ansible` | Flag to set the root directory for Ansible file location(s), relative to `DEFAULT_WORKSPACE`. Set to `.` to use the top-level of the `DEFAULT_WORKSPACE`. | +| **CREATE_LOG_FILE** | `false` | If set to `true`, it creates the log file. You can set the log file name using the `LOG_FILE` environment variable. | | **CSS_FILE_NAME** | `.stylelintrc.json` | Filename for [Stylelint configuration](https://github.com/stylelint/stylelint) (ex: `.stylelintrc.yml`, `.stylelintrc.yaml`) | | **DEFAULT_BRANCH** | `master` | The name of the repository default branch. | | **DEFAULT_WORKSPACE** | `/tmp/lint` | The location containing files to lint if you are running locally. | diff --git a/lib/linter.sh b/lib/linter.sh index 3cdd6fd9b5f..dd03a1ba66c 100755 --- a/lib/linter.sh +++ b/lib/linter.sh @@ -20,6 +20,8 @@ IMAGE="${IMAGE:-standard}" # Version of the Super-lin ################################################################## LOG_FILE="${LOG_FILE:-super-linter.log}" # Default log file name (located in GITHUB_WORKSPACE folder) LOG_LEVEL="${LOG_LEVEL:-VERBOSE}" # Default log level (VERBOSE, DEBUG, TRACE) +CREATE_LOG_FILE="${CREATE_LOG_FILE:-"false"}" +export CREATE_LOG_FILE if [[ ${ACTIONS_RUNNER_DEBUG} == true ]]; then LOG_LEVEL="DEBUG"; fi # Boolean to see trace logs @@ -800,18 +802,24 @@ UpdateLoopsForImage() { done fi } -################################################################################ -#### Function Cleanup ########################################################## + # shellcheck disable=SC2317 cleanup() { local -ri EXIT_CODE=$? - - sh -c "cat ${LOG_TEMP} >> ${GITHUB_WORKSPACE}/${LOG_FILE}" || true + local LOG_FILE_PATH="${GITHUB_WORKSPACE}/${LOG_FILE}" + debug "CREATE_LOG_FILE: ${CREATE_LOG_FILE}, LOG_FILE_PATH: ${LOG_FILE_PATH}" + if [ "${CREATE_LOG_FILE}" = "true" ]; then + debug "Creating log file: ${LOG_FILE_PATH}" + sh -c "cat ${LOG_TEMP} >> ${LOG_FILE_PATH}" || true + else + debug "Skipping the log file creation" + fi exit "${EXIT_CODE}" trap - 0 1 2 3 6 14 15 } trap 'cleanup' 0 1 2 3 6 14 15 + ################################################################################ ############################### MAIN ########################################### ################################################################################ From a68245e640f23b1ebf0bdc8760c7e545ab9dd7b7 Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Thu, 5 Jan 2023 13:36:50 +0000 Subject: [PATCH 22/82] Fix linting errors --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e58a889af86..5145b3c4096 100644 --- a/README.md +++ b/README.md @@ -273,7 +273,7 @@ But if you wish to select or exclude specific linters, we give you full control | **ACTIONS_RUNNER_DEBUG** | `false` | Flag to enable additional information about the linter, versions, and additional output. | | **ANSIBLE_CONFIG_FILE** | `.ansible-lint.yml` | Filename for [Ansible-lint configuration](https://ansible-lint.readthedocs.io/en/latest/configuring.html#configuration-file) (ex: `.ansible-lint`, `.ansible-lint.yml`) | | **ANSIBLE_DIRECTORY** | `/ansible` | Flag to set the root directory for Ansible file location(s), relative to `DEFAULT_WORKSPACE`. Set to `.` to use the top-level of the `DEFAULT_WORKSPACE`. | -| **CREATE_LOG_FILE** | `false` | If set to `true`, it creates the log file. You can set the log file name using the `LOG_FILE` environment variable. | +| **CREATE_LOG_FILE** | `false` | If set to `true`, it creates the log file. You can set the log filename using the `LOG_FILE` environment variable. | | **CSS_FILE_NAME** | `.stylelintrc.json` | Filename for [Stylelint configuration](https://github.com/stylelint/stylelint) (ex: `.stylelintrc.yml`, `.stylelintrc.yaml`) | | **DEFAULT_BRANCH** | `master` | The name of the repository default branch. | | **DEFAULT_WORKSPACE** | `/tmp/lint` | The location containing files to lint if you are running locally. | From 419a547ff4459921e421c57df22a10fe8a449605 Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Thu, 5 Jan 2023 08:37:01 +0000 Subject: [PATCH 23/82] Don't show Gitleaks banner in output to make it more concise --- lib/linter.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linter.sh b/lib/linter.sh index dd03a1ba66c..cc0c23be93c 100755 --- a/lib/linter.sh +++ b/lib/linter.sh @@ -908,7 +908,7 @@ if [ "${GITHUB_ACTIONS_COMMAND_ARGS}" = "null" ]; then else LINTER_COMMANDS_ARRAY['GITHUB_ACTIONS']="actionlint -config-file ${GITHUB_ACTIONS_LINTER_RULES} ${GITHUB_ACTIONS_COMMAND_ARGS}" fi -LINTER_COMMANDS_ARRAY['GITLEAKS']="gitleaks detect --no-git -c ${GITLEAKS_LINTER_RULES} -v -s" +LINTER_COMMANDS_ARRAY['GITLEAKS']="gitleaks detect --no-banner --no-git -c ${GITLEAKS_LINTER_RULES} -v -s" LINTER_COMMANDS_ARRAY['GHERKIN']="gherkin-lint -c ${GHERKIN_LINTER_RULES}" LINTER_COMMANDS_ARRAY['GO']="golangci-lint run --fast -c ${GO_LINTER_RULES}" LINTER_COMMANDS_ARRAY['GOOGLE_JAVA_FORMAT']="java -jar /usr/bin/google-java-format" From 91a4987b957390fa433488279169021e59a59816 Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Thu, 5 Jan 2023 08:40:35 +0000 Subject: [PATCH 24/82] Reduce ansible-lint verbosity --- lib/linter.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linter.sh b/lib/linter.sh index cc0c23be93c..345c594e9d3 100755 --- a/lib/linter.sh +++ b/lib/linter.sh @@ -888,7 +888,7 @@ GetStandardRules "typescript" # Define linter commands # ########################## declare -A LINTER_COMMANDS_ARRAY -LINTER_COMMANDS_ARRAY['ANSIBLE']="ansible-lint -vv -c ${ANSIBLE_LINTER_RULES}" +LINTER_COMMANDS_ARRAY['ANSIBLE']="ansible-lint -c ${ANSIBLE_LINTER_RULES}" LINTER_COMMANDS_ARRAY['ARM']="Import-Module ${ARM_TTK_PSD1} ; \${config} = \$(Import-PowerShellDataFile -Path ${ARM_LINTER_RULES}) ; Test-AzTemplate @config -TemplatePath" LINTER_COMMANDS_ARRAY['BASH']="shellcheck --color --external-sources" LINTER_COMMANDS_ARRAY['BASH_EXEC']="bash-exec" From bb2b8ec6f476140ee29de61524897c9b90799d02 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 15:54:37 -0500 Subject: [PATCH 25/82] Simplify automation workflows Signed-off-by: Brett Logan --- .github/workflows/build.yml | 86 +++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000000..af408c8d9d6 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,86 @@ +name: Build Image + +on: + pull_request: + +jobs: + build: + name: Build Image + runs-on: ubuntu-20.04-8core-sl + permissions: + contents: read + strategy: + fail-fast: false + matrix: + images: + - container-build-target: final_slim + container-image-id-prefix: slim- + deployment-environment-identifier: Production-SLIM + image-id: slim + - container-build-target: final_standard + container-image-id-prefix: "" + deployment-environment-identifier: Production + image-id: standard + timeout-minutes: 60 + steps: + - name: Checkout Code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Retrieve Datetime + run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" + - name: Build Docker images + run: | + docker build --build-arg "${date}" \ + --build-arg "${revision}" \ + --build-arg "${version}" \ + --target "${target}" \ + --tag "ghcr.io/github/super-linter:${tag}" . + env: + date: ${{ env.BUILD_DATE }} + revision: ${{ github.sha }} + tag: ${{ matrix.images.container-image-id }} + target: ${{ matrix.images.container-build-target }} + version: ${{ github.sha }} + - name: Update action.yml + run: yq -i action.yml '.runs.image = "docker://ghcr.io/github/super-linter:${tag}"' + env: + tag: ${{ matrix.images.container-image-id }} + - name: Lint Codebase + if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} + uses: ./ + env: + ACTIONS_RUNNER_DEBUG: true + ERROR_ON_MISSING_EXEC_BIT: true + VALIDATE_ALL_CODEBASE: false + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEFAULT_BRANCH: main + LOCAL_UPDATES: true + - name: Run Test Suite + if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} + run: make IMAGE=${{ matrix.images.image-id }} test + - name: Run Super-Linter Tests + if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} + run: | + docker run \ + -e RUN_LOCAL=true \ + -e TEST_CASE_RUN=true \ + -e ANSIBLE_DIRECTORY=.automation/test/ansible \ + -e ACTIONS_RUNNER_DEBUG=true \ + -e ERROR_ON_MISSING_EXEC_BIT=true \ + -v "${GITHUB_WORKSPACE}:/tmp/lint" \ + "ghcr.io/github/super-linter:${tag}" + env: + tag: ${{ matrix.images.container-image-id }} + - name: Run All Codebase Super-Linter Tests + if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} + run: | + docker run \git + -e RUN_LOCAL=true \ + -e OUTPUT_DETAILS=detailed \ + -e ACTIONS_RUNNER_DEBUG=true \ + -e ERROR_ON_MISSING_EXEC_BIT=true \ + -v "${GITHUB_WORKSPACE}:/tmp/lint" \ + "ghcr.io/github/super-linter:${tag}" + env: + tag: ${{ matrix.images.container-image-id }} From 489b843118ae8df814b254d13eb5a992c435777a Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 15:59:35 -0500 Subject: [PATCH 26/82] Remove old workflows Signed-off-by: Brett Logan --- .github/workflows/deploy-production.yml | 233 ------------------------ .github/workflows/deploy-release.yml | 150 --------------- 2 files changed, 383 deletions(-) delete mode 100644 .github/workflows/deploy-production.yml delete mode 100644 .github/workflows/deploy-release.yml diff --git a/.github/workflows/deploy-production.yml b/.github/workflows/deploy-production.yml deleted file mode 100644 index a4c71d37568..00000000000 --- a/.github/workflows/deploy-production.yml +++ /dev/null @@ -1,233 +0,0 @@ ---- -name: Build, test, and eventually deploy super-linter container images - -on: - pull_request: - push: - -jobs: - build: - name: Build, test, and eventually push the container image - runs-on: ubuntu-latest - permissions: - contents: read - deployments: write - issues: write - packages: write - strategy: - fail-fast: false - matrix: - images: - - container-build-target: final_slim - container-image-id-prefix: slim- - deployment-environment-identifier: Production-SLIM - image-id: slim - - container-build-target: final_standard - container-image-id-prefix: "" - deployment-environment-identifier: Production - image-id: standard - timeout-minutes: 60 - - steps: - - name: Checkout Code - uses: actions/checkout@v3 - with: - # Full git history is needed to get a proper list - # of changed files within `super-linter` - fetch-depth: 0 - - - name: Get current date and make it available as an environment variable - run: | - echo "Appending the build date contents to GITHUB_ENV..." - echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" - - - name: Setup Docker BuildX - uses: docker/setup-buildx-action@v2.2.1 - - - name: Build Docker image - ${{ matrix.images.image-id }} - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - uses: docker/build-push-action@v3.1.1 - with: - context: . - file: ./Dockerfile - build-args: | - BUILD_DATE=${{ env.BUILD_DATE }} - BUILD_REVISION=${{ github.sha }} - BUILD_VERSION=${{ github.sha }} - load: true - push: false - secrets: | - GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} - tags: | - ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}${{ github.sha }} - ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}test - target: "${{ matrix.images.container-build-target }}" - - - name: Run container image label test cases - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - shell: bash - run: .automation/validate-docker-labels.sh "${{ matrix.images.image-id }}" - - - name: Edit an action.yml file for test local build - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - run: | - sed -i "s/super-linter:.*/super-linter:${{ matrix.images.container-image-id-prefix }}${GITHUB_SHA}'/g" action.yml - - - name: Gather information about the runtime environment - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - shell: bash - run: | - make info - - ############################################################ - # Test the built image in the actions context. # - # Not the container directly, and not using RUN_LOCAL=true # - ############################################################ - - name: Test the local action - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - uses: ./ - env: - ACTIONS_RUNNER_DEBUG: true - ERROR_ON_MISSING_EXEC_BIT: true - VALIDATE_ALL_CODEBASE: false - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DEFAULT_BRANCH: main - LOCAL_UPDATES: true - - # Workaround for https://github.com/actions/runner/issues/434 - - name: Fix file and directory ownership - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - shell: bash - run: | - sudo chown -R "$(id -u)":"$(id -g)" "$(pwd)" - - - name: Run the test suite - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - shell: bash - run: | - make IMAGE=${{ matrix.images.image-id }} test - - - name: Upload the code coverage report - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - uses: codacy/codacy-coverage-reporter-action@v1.1 - # Sometimes this fails when user does not have permissions to secrets - continue-on-error: true - with: - project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} - coverage-reports: test/reports/cobertura/runTests.sh/cobertura.xml - - - name: Run test cases - ${{ matrix.images.image-id }} - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - shell: bash - run: | - docker run \ - -e RUN_LOCAL=true \ - -e TEST_CASE_RUN=true \ - -e ANSIBLE_DIRECTORY=.automation/test/ansible \ - -e ACTIONS_RUNNER_DEBUG=true \ - -e ERROR_ON_MISSING_EXEC_BIT=true \ - -v "${GITHUB_WORKSPACE}:/tmp/lint" \ - "ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}${GITHUB_SHA}" - - - name: Clean the working directory for additional testing - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - shell: bash - run: .automation/clean-code-base-for-tests.sh - - - name: Run against all code base - ${{ matrix.images.image-id }} - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} - shell: bash - run: | - docker run \ - -e RUN_LOCAL=true \ - -e OUTPUT_DETAILS=detailed \ - -e ACTIONS_RUNNER_DEBUG=true \ - -e ERROR_ON_MISSING_EXEC_BIT=true \ - -v "${GITHUB_WORKSPACE}:/tmp/lint" \ - "ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}${GITHUB_SHA}" - - - name: Login to Docker Hub - if: ${{ github.repository == 'github/super-linter' && github.ref == 'refs/heads/main' }} - uses: docker/login-action@v2.0.0 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Login to GitHub Container Registry - if: ${{ github.repository == 'github/super-linter' && github.ref == 'refs/heads/main' }} - uses: docker/login-action@v2.0.0 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Start the deployment for the ${{ matrix.images.deployment-environment-identifier }} environment - if: ${{ github.repository == 'github/super-linter' && github.ref == 'refs/heads/main' }} - uses: bobheadxi/deployments@v1.3.0 - id: deployment - with: - step: start - token: ${{ secrets.GITHUB_TOKEN }} - env: ${{ matrix.images.deployment-environment-identifier }} - - - name: Build the container image and push it - ${{ matrix.images.image-id }} - if: ${{ github.repository == 'github/super-linter' && github.ref == 'refs/heads/main' }} - uses: docker/build-push-action@v3.1.1 - with: - context: . - file: ./Dockerfile - build-args: | - BUILD_DATE=${{ env.BUILD_DATE }} - BUILD_REVISION=${{ github.sha }} - BUILD_VERSION=${{ github.sha }} - load: false - push: true - secrets: | - GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} - tags: | - github/super-linter:${{ matrix.images.container-image-id-prefix }}latest - ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}latest - target: "${{ matrix.images.container-build-target }}" - - - name: Update the deployment status for the ${{ matrix.images.deployment-environment-identifier }} environment - if: ${{ github.repository == 'github/super-linter' && github.ref == 'refs/heads/main' }} - uses: bobheadxi/deployments@v1.3.0 - with: - step: finish - token: ${{ secrets.GITHUB_TOKEN }} - status: ${{ job.status }} - deployment_id: ${{ steps.deployment.outputs.deployment_id }} - env: ${{ steps.deployment.outputs.env }} - env_url: https://github.com/github/super-linter - - - name: Create a GitHub issue on failure - if: ${{ github.repository == 'github/super-linter' && github.ref == 'refs/heads/main' && failure() }} - uses: actions/github-script@v6 - id: create-issue - with: - # https://octokit.github.io/rest.js/v18#issues-create - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - const create = await github.rest.issues.create({ - owner: context.repo.owner, - repo: context.repo.repo, - title: "Failed to deploy to production", - body: "Automation has failed us!\nMore information can be found at:\n - ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" - }) - console.log('create', create) - return create.data.number - - - name: Assign admins to the issue created on failure - uses: actions/github-script@v6 - if: ${{ github.repository == 'github/super-linter' && github.ref == 'refs/heads/main' && failure() }} - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - github.rest.issues.addAssignees({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: "${{ steps.create-issue.outputs.result }}", - assignees: [ - 'lindluni' - ] - }) diff --git a/.github/workflows/deploy-release.yml b/.github/workflows/deploy-release.yml deleted file mode 100644 index 92b66e1d800..00000000000 --- a/.github/workflows/deploy-release.yml +++ /dev/null @@ -1,150 +0,0 @@ ---- -name: Deploy super-linter release container images - -on: - release: - types: [published] - workflow_dispatch: - inputs: - release_version: - description: 'version to release. Ex: v4.3.2' - required: true - default: 'v' - -jobs: - build: - name: Deploy container image - Release - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - images: - - container-image-id-prefix: slim- - deployment-environment-identifier: Release-SLIM - - container-image-id-prefix: "" - deployment-environment-identifier: Release - timeout-minutes: 60 - - steps: - - name: Setup Docker BuildX - uses: docker/setup-buildx-action@v2.2.1 - - - name: Login to DockerHub - uses: docker/login-action@v2.0.0 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2.0.0 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Get current release identifier - # shellcheck disable=SC2062 - run: | - RELEASE_VERSION="${{ github.event.release.name }}" - - if [ -z "${RELEASE_VERSION}" ]; then - echo "No release version found in environment, using input..." - RELEASE_VERSION="${{ github.event.inputs.release_version }}" - fi - - # Check the RELEASE_VERSION again - if [ -z "${RELEASE_VERSION}" ]; then - echo "Error RELEASE_VERSION is empty. Exiting..." - exit 1 - fi - - if ! echo "${RELEASE_VERSION}" | grep -E -o "v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+"; then - echo "Error: RELEASE_VERSION doesn't look like a semantic version: ${RELEASE_VERSION}" - exit 2 - fi - - { - echo "RELEASE_VERSION=${RELEASE_VERSION}" - echo "SEMVER_VERSION=${RELEASE_VERSION#v}" - echo "SEMVER_MAJOR_VERSION=${SEMVER_VERSION%%.*}" - echo "SEMVER_MAJOR_VERSION_WITH_PREFIX=v${SEMVER_MAJOR_VERSION}" - } >> "${GITHUB_ENV}" - - - name: Start deployment for the ${{ matrix.images.deployment-environment-identifier }} environment - uses: bobheadxi/deployments@v1.3.0 - id: deployment - with: - step: start - token: ${{ secrets.GITHUB_TOKEN }} - env: ${{ matrix.images.deployment-environment-identifier }} - - # We don't rebuild the image to avoid that the latest tag and the release tags don't point to what the release tag is pointing to. - # Instead, we pull the latest image and tag it. - - name: Add release tags and push image - uses: akhilerm/tag-push-action@v2.1.0 - with: - src: ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}latest - dst: | - github/super-linter:${{ matrix.images.container-image-id-prefix }}v4 - github/super-linter:${{ matrix.images.container-image-id-prefix }}${{ env.RELEASE_VERSION }} - ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}v4 - ghcr.io/github/super-linter:${{ matrix.images.container-image-id-prefix }}${{ env.RELEASE_VERSION }} - - - name: Checkout code - uses: actions/checkout@v3 - with: - # Full git history is needed to get a proper list of commits and tags - fetch-depth: 0 - - # We use ^{} to recursively deference the tag to get the commit the tag is pointing at. - # Then, we use that reference to create new tags, so that the new tags point to the commit - # the original tag was pointing to, and not to the original tag. - # This notation is documented at https://git-scm.com/docs/gitrevisions#Documentation/gitrevisions.txt-emltrevgtemegemv0998em - - name: Update the major version and latest tags - run: | - git tag --force "${SEMVER_MAJOR_VERSION_WITH_PREFIX}" "${RELEASE_VERSION}^{}" - git tag --force latest "${RELEASE_VERSION}^{}" - git push --force origin "refs/tags/${SEMVER_MAJOR_VERSION_WITH_PREFIX}" "refs/tags/latest" - - - name: Update the deployment status for the ${{ matrix.images.deployment-environment-identifier }} environment - uses: bobheadxi/deployments@v1.3.0 - if: always() - with: - step: finish - token: ${{ secrets.GITHUB_TOKEN }} - status: ${{ job.status }} - deployment_id: ${{ steps.deployment.outputs.deployment_id }} - env: ${{ steps.deployment.outputs.env }} - env_url: https://github.com/github/super-linter/releases/tag/${{ env.RELEASE_VERSION }} - - - name: Create a GitHub issue on failure - if: failure() - uses: actions/github-script@v6 - id: create-issue - with: - # https://octokit.github.io/rest.js/v18#issues-create - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - const create = await github.rest.issues.create({ - owner: context.repo.owner, - repo: context.repo.repo, - title: "Failed to deploy release to production", - body: "Automation has failed us! Failed to push release ${{ env.RELEASE_VERSION }}\nMore information can be found at:\n - ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" - }) - console.log('create', create) - return create.data.number - - - name: Assign admins to the issue created on failure - uses: actions/github-script@v6 - if: failure() - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - github.rest.issues.addAssignees({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: "${{ steps.create-issue.outputs.result }}", - assignees: [ - 'lindluni' - ] - }) From 5cec0b42395a8cb7e9765cb9985e779114a53a06 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 16:03:51 -0500 Subject: [PATCH 27/82] Fix build args Signed-off-by: Brett Logan --- .github/workflows/build.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index af408c8d9d6..19f6b26fac5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,11 +31,11 @@ jobs: run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" - name: Build Docker images run: | - docker build --build-arg "${date}" \ - --build-arg "${revision}" \ - --build-arg "${version}" \ - --target "${target}" \ - --tag "ghcr.io/github/super-linter:${tag}" . + docker build --build-arg "BUILD_DATE=${date}" \ + --build-arg "BUILD_DATE=${revision}" \ + --build-arg "BUILD_VERSION=${version}" \ + --target "${target}" \ + --tag "ghcr.io/github/super-linter:${tag}" . env: date: ${{ env.BUILD_DATE }} revision: ${{ github.sha }} @@ -63,24 +63,24 @@ jobs: if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: | docker run \ - -e RUN_LOCAL=true \ - -e TEST_CASE_RUN=true \ - -e ANSIBLE_DIRECTORY=.automation/test/ansible \ - -e ACTIONS_RUNNER_DEBUG=true \ - -e ERROR_ON_MISSING_EXEC_BIT=true \ - -v "${GITHUB_WORKSPACE}:/tmp/lint" \ - "ghcr.io/github/super-linter:${tag}" + -e RUN_LOCAL=true \ + -e TEST_CASE_RUN=true \ + -e ANSIBLE_DIRECTORY=.automation/test/ansible \ + -e ACTIONS_RUNNER_DEBUG=true \ + -e ERROR_ON_MISSING_EXEC_BIT=true \ + -v "${GITHUB_WORKSPACE}:/tmp/lint" \ + "ghcr.io/github/super-linter:${tag}" env: tag: ${{ matrix.images.container-image-id }} - name: Run All Codebase Super-Linter Tests if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: | docker run \git - -e RUN_LOCAL=true \ - -e OUTPUT_DETAILS=detailed \ - -e ACTIONS_RUNNER_DEBUG=true \ - -e ERROR_ON_MISSING_EXEC_BIT=true \ - -v "${GITHUB_WORKSPACE}:/tmp/lint" \ - "ghcr.io/github/super-linter:${tag}" + -e RUN_LOCAL=true \ + -e OUTPUT_DETAILS=detailed \ + -e ACTIONS_RUNNER_DEBUG=true \ + -e ERROR_ON_MISSING_EXEC_BIT=true \ + -v "${GITHUB_WORKSPACE}:/tmp/lint" \ + "ghcr.io/github/super-linter:${tag}" env: tag: ${{ matrix.images.container-image-id }} From 4483dae869c6cb4f604756ce3d7e65bf5206483b Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 16:06:03 -0500 Subject: [PATCH 28/82] Fix image-id input Signed-off-by: Brett Logan --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 19f6b26fac5..0034a428ff2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,11 +14,11 @@ jobs: matrix: images: - container-build-target: final_slim - container-image-id-prefix: slim- + image-id-prefix: slim- deployment-environment-identifier: Production-SLIM image-id: slim - container-build-target: final_standard - container-image-id-prefix: "" + image-id-prefix: "" deployment-environment-identifier: Production image-id: standard timeout-minutes: 60 @@ -39,13 +39,13 @@ jobs: env: date: ${{ env.BUILD_DATE }} revision: ${{ github.sha }} - tag: ${{ matrix.images.container-image-id }} + tag: ${{ matrix.images.image-id }} target: ${{ matrix.images.container-build-target }} version: ${{ github.sha }} - name: Update action.yml run: yq -i action.yml '.runs.image = "docker://ghcr.io/github/super-linter:${tag}"' env: - tag: ${{ matrix.images.container-image-id }} + tag: ${{ matrix.images.image-id }} - name: Lint Codebase if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} uses: ./ @@ -71,7 +71,7 @@ jobs: -v "${GITHUB_WORKSPACE}:/tmp/lint" \ "ghcr.io/github/super-linter:${tag}" env: - tag: ${{ matrix.images.container-image-id }} + tag: ${{ matrix.images.image-id }} - name: Run All Codebase Super-Linter Tests if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: | @@ -83,4 +83,4 @@ jobs: -v "${GITHUB_WORKSPACE}:/tmp/lint" \ "ghcr.io/github/super-linter:${tag}" env: - tag: ${{ matrix.images.container-image-id }} + tag: ${{ matrix.images.image-id }} From afcf97b858a8f2e8656fdd1affd75f232af092eb Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 16:21:10 -0500 Subject: [PATCH 29/82] Fix action.yml update Signed-off-by: Brett Logan --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0034a428ff2..75b8cbfeea2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,9 +27,13 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Update action.yml + run: yq '.runs.image = "docker://ghcr.io/github/super-linter:${tag}"' -i action.yml + env: + tag: ${{ matrix.images.image-id }} - name: Retrieve Datetime run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" - - name: Build Docker images + - name: Build Docker Image run: | docker build --build-arg "BUILD_DATE=${date}" \ --build-arg "BUILD_DATE=${revision}" \ @@ -42,10 +46,6 @@ jobs: tag: ${{ matrix.images.image-id }} target: ${{ matrix.images.container-build-target }} version: ${{ github.sha }} - - name: Update action.yml - run: yq -i action.yml '.runs.image = "docker://ghcr.io/github/super-linter:${tag}"' - env: - tag: ${{ matrix.images.image-id }} - name: Lint Codebase if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} uses: ./ From 16251e951881badb3bbfc65540d73ee4efaaac7c Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 16:36:18 -0500 Subject: [PATCH 30/82] Fix action.yml update Signed-off-by: Brett Logan --- .github/workflows/build.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 75b8cbfeea2..397cd07f6b0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,9 +28,7 @@ jobs: with: fetch-depth: 0 - name: Update action.yml - run: yq '.runs.image = "docker://ghcr.io/github/super-linter:${tag}"' -i action.yml - env: - tag: ${{ matrix.images.image-id }} + run: yq '.runs.image = "docker://ghcr.io/github/super-linter:${{ matrix.images.image-id }}"' -i action.yml && cat action.yml - name: Retrieve Datetime run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" - name: Build Docker Image From 672b5ec94e2951b862dffa1189fd19218341d6d2 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 16:37:21 -0500 Subject: [PATCH 31/82] Remove action.yml update debugging Signed-off-by: Brett Logan --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 397cd07f6b0..7d3ce215607 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ jobs: with: fetch-depth: 0 - name: Update action.yml - run: yq '.runs.image = "docker://ghcr.io/github/super-linter:${{ matrix.images.image-id }}"' -i action.yml && cat action.yml + run: yq '.runs.image = "docker://ghcr.io/github/super-linter:${{ matrix.images.image-id }}"' -i action.yml - name: Retrieve Datetime run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" - name: Build Docker Image From 5a6cf6864cc56be70fe9a59644a8a30df13e78b7 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 16:53:04 -0500 Subject: [PATCH 32/82] Add actionlint.yaml Signed-off-by: Brett Logan --- .github/linters/actionlint.yaml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/linters/actionlint.yaml diff --git a/.github/linters/actionlint.yaml b/.github/linters/actionlint.yaml new file mode 100644 index 00000000000..8aac9b37f6f --- /dev/null +++ b/.github/linters/actionlint.yaml @@ -0,0 +1,3 @@ +self-hosted-runner: + labels: + - ubuntu-20.04-8core-sl From 05fcb7564c76a06cc9ac5de15af460648d1a686c Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 16:56:35 -0500 Subject: [PATCH 33/82] Remove stray slash Signed-off-by: Brett Logan --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7d3ce215607..9eb2263cd6c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -73,7 +73,7 @@ jobs: - name: Run All Codebase Super-Linter Tests if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: | - docker run \git + docker run git -e RUN_LOCAL=true \ -e OUTPUT_DETAILS=detailed \ -e ACTIONS_RUNNER_DEBUG=true \ From 9ccbc940a1b398577977db398a9c076d84b1cffe Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 17:00:23 -0500 Subject: [PATCH 34/82] Remove stray git Signed-off-by: Brett Logan --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9eb2263cd6c..8be7fc591d2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -73,7 +73,7 @@ jobs: - name: Run All Codebase Super-Linter Tests if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: | - docker run git + docker run \ -e RUN_LOCAL=true \ -e OUTPUT_DETAILS=detailed \ -e ACTIONS_RUNNER_DEBUG=true \ From 4d341467191c447e8f4901af919e35f606e72a23 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 18:28:49 -0500 Subject: [PATCH 35/82] Fix container image names in InSpec tests Signed-off-by: Brett Logan --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 458651ff369..b2cac022489 100644 --- a/Makefile +++ b/Makefile @@ -75,10 +75,10 @@ SUPER_LINTER_TEST_CONTINER_URL := '' DOCKERFILE := '' IMAGE := '' ifeq ($(IMAGE),slim) - SUPER_LINTER_TEST_CONTINER_URL := "ghcr.io/github/super-linter:slim-test" + SUPER_LINTER_TEST_CONTINER_URL := "ghcr.io/github/super-linter:slim" IMAGE := "slim" else - SUPER_LINTER_TEST_CONTINER_URL := "ghcr.io/github/super-linter:test" + SUPER_LINTER_TEST_CONTINER_URL := "ghcr.io/github/super-linter:standard" IMAGE := "standard" endif From 02c30847023c184cc03c1b0c3ac1e3c260ebc763 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 18:49:32 -0500 Subject: [PATCH 36/82] Update step name Signed-off-by: Brett Logan --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8be7fc591d2..74e947fe5eb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -70,7 +70,7 @@ jobs: "ghcr.io/github/super-linter:${tag}" env: tag: ${{ matrix.images.image-id }} - - name: Run All Codebase Super-Linter Tests + - name: Lint Codebase if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: | docker run \ From f3c9bbd0efcca057153747787ce0afb3e0461357 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 19:30:02 -0500 Subject: [PATCH 37/82] Use canonical PSScriptAnalyzer setting file extension The PSScriptAnalyzer expects a text file, not a PowerShell extension on the filename. The latest version of powershell now respects this rule and breaks testing as the settings file doesn't meet the requirements of the linter. Signed-off-by: Brett Logan --- ...l-psscriptanalyzer.psd1 => .powershell-psscriptanalyzer.txt} | 2 +- lib/linter.sh | 2 +- test/inspec/super-linter/controls/super_linter.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename TEMPLATES/{.powershell-psscriptanalyzer.psd1 => .powershell-psscriptanalyzer.txt} (88%) diff --git a/TEMPLATES/.powershell-psscriptanalyzer.psd1 b/TEMPLATES/.powershell-psscriptanalyzer.txt similarity index 88% rename from TEMPLATES/.powershell-psscriptanalyzer.psd1 rename to TEMPLATES/.powershell-psscriptanalyzer.txt index f4bbd6b5f3f..19866505425 100644 --- a/TEMPLATES/.powershell-psscriptanalyzer.psd1 +++ b/TEMPLATES/.powershell-psscriptanalyzer.txt @@ -1,4 +1,4 @@ -#Documentation: https://github.com/PowerShell/PSScriptAnalyzer/blob/master/docs/markdown/Invoke-ScriptAnalyzer.md#-settings +#Documentation: https://github.com/PowerShell/PSScriptAnalyzer/blob/master/docs/Cmdlets/Invoke-ScriptAnalyzer.md#-settings @{ #CustomRulePath='path\to\CustomRuleModule.psm1' #RecurseCustomRulePath='path\of\customrules' diff --git a/lib/linter.sh b/lib/linter.sh index 345c594e9d3..15eb7b41fa5 100755 --- a/lib/linter.sh +++ b/lib/linter.sh @@ -152,7 +152,7 @@ PHP_PHPSTAN_FILE_NAME="phpstan.neon" # shellcheck disable=SC2034 # Variable is referenced indirectly PHP_PSALM_FILE_NAME="psalm.xml" # shellcheck disable=SC2034 # Variable is referenced indirectly -POWERSHELL_FILE_NAME=".powershell-psscriptanalyzer.psd1" +POWERSHELL_FILE_NAME=".powershell-psscriptanalyzer.txt" # shellcheck disable=SC2034 # Variable is referenced indirectly PROTOBUF_FILE_NAME="${PROTOBUF_CONFIG_FILE:-.protolintrc.yml}" # shellcheck disable=SC2034 # Variable is referenced indirectly diff --git a/test/inspec/super-linter/controls/super_linter.rb b/test/inspec/super-linter/controls/super_linter.rb index 83bdccd28e2..8811a7a523f 100644 --- a/test/inspec/super-linter/controls/super_linter.rb +++ b/test/inspec/super-linter/controls/super_linter.rb @@ -386,7 +386,7 @@ "/action/lib/.automation/.mypy.ini", "/action/lib/.automation/.openapirc.yml", "/action/lib/.automation/.perlcriticrc", - "/action/lib/.automation/.powershell-psscriptanalyzer.psd1", + "/action/lib/.automation/.powershell-psscriptanalyzer.txt", "/action/lib/.automation/.protolintrc.yml", "/action/lib/.automation/.python-black", "/action/lib/.automation/.python-lint", From 254b18b74367278f2ca99cfda6c10644fc5467bb Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 19:34:59 -0500 Subject: [PATCH 38/82] Fix workflow name Signed-off-by: Brett Logan --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 74e947fe5eb..457db2ca770 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,11 +1,11 @@ -name: Build Image +name: Build and Test on: pull_request: jobs: - build: - name: Build Image + test: + name: Build and Test runs-on: ubuntu-20.04-8core-sl permissions: contents: read From fc841f15bd51cd3b82d38b68a78a1f81d0ad2379 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 19:39:21 -0500 Subject: [PATCH 39/82] Rename workflow file Signed-off-by: Brett Logan --- .github/workflows/{build.yml => ci.yml} | 8 ++++++++ 1 file changed, 8 insertions(+) rename .github/workflows/{build.yml => ci.yml} (86%) diff --git a/.github/workflows/build.yml b/.github/workflows/ci.yml similarity index 86% rename from .github/workflows/build.yml rename to .github/workflows/ci.yml index 457db2ca770..7bdcb895f5d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/ci.yml @@ -57,6 +57,14 @@ jobs: - name: Run Test Suite if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: make IMAGE=${{ matrix.images.image-id }} test + - name: Upload the code coverage report + if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} + uses: codacy/codacy-coverage-reporter-action@v1.1 + # Sometimes this fails when user does not have permissions to secrets + continue-on-error: true + with: + project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} + coverage-reports: test/reports/cobertura/runTests.sh/cobertura.xml - name: Run Super-Linter Tests if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: | From 4b3a1cb62834c8d497385d27302c0de9dde116bf Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 19:42:53 -0500 Subject: [PATCH 40/82] Update step name Signed-off-by: Brett Logan --- .github/workflows/ci.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7bdcb895f5d..e5dca0956ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,8 +44,7 @@ jobs: tag: ${{ matrix.images.image-id }} target: ${{ matrix.images.container-build-target }} version: ${{ github.sha }} - - name: Lint Codebase - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} + - name: Test Local Action uses: ./ env: ACTIONS_RUNNER_DEBUG: true @@ -55,10 +54,8 @@ jobs: DEFAULT_BRANCH: main LOCAL_UPDATES: true - name: Run Test Suite - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: make IMAGE=${{ matrix.images.image-id }} test - name: Upload the code coverage report - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} uses: codacy/codacy-coverage-reporter-action@v1.1 # Sometimes this fails when user does not have permissions to secrets continue-on-error: true @@ -66,7 +63,6 @@ jobs: project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} coverage-reports: test/reports/cobertura/runTests.sh/cobertura.xml - name: Run Super-Linter Tests - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: | docker run \ -e RUN_LOCAL=true \ @@ -79,7 +75,6 @@ jobs: env: tag: ${{ matrix.images.image-id }} - name: Lint Codebase - if: ${{ github.repository == 'github/super-linter' && github.ref != 'refs/heads/main' }} run: | docker run \ -e RUN_LOCAL=true \ From b4635519da83643129058cf8b3a00385bc244846 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 20:25:04 -0500 Subject: [PATCH 41/82] Clean up matrix properties Signed-off-by: Brett Logan --- .github/workflows/ci.yml | 54 +++++++++++++++++++++------------------- Dockerfile | 6 ++--- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e5dca0956ca..f4953a5644b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,37 +13,35 @@ jobs: fail-fast: false matrix: images: - - container-build-target: final_slim - image-id-prefix: slim- - deployment-environment-identifier: Production-SLIM - image-id: slim - - container-build-target: final_standard - image-id-prefix: "" - deployment-environment-identifier: Production - image-id: standard + - target: slim + - target: standard timeout-minutes: 60 steps: - name: Checkout Code uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Update action.yml - run: yq '.runs.image = "docker://ghcr.io/github/super-linter:${{ matrix.images.image-id }}"' -i action.yml + run: yq '.runs.image = "docker://ghcr.io/github/super-linter:${{ matrix.images.target }}"' -i action.yml + - name: Retrieve Datetime run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" - - name: Build Docker Image - run: | - docker build --build-arg "BUILD_DATE=${date}" \ - --build-arg "BUILD_DATE=${revision}" \ - --build-arg "BUILD_VERSION=${version}" \ - --target "${target}" \ - --tag "ghcr.io/github/super-linter:${tag}" . - env: - date: ${{ env.BUILD_DATE }} - revision: ${{ github.sha }} - tag: ${{ matrix.images.image-id }} - target: ${{ matrix.images.container-build-target }} - version: ${{ github.sha }} + + - name: Build Image + uses: docker/build-push-action@v3 + with: + context: . + file: ./Dockerfile + build-args: | + BUILD_DATE=${{ env.BUILD_DATE }} + BUILD_REVISION=${{ github.sha }} + BUILD_VERSION=${{ github.sha }} + load: false + push: false + tags: ghcr.io/github/super-linter:${{ matrix.images.target }} + target: "${{ matrix.images.target }}" + - name: Test Local Action uses: ./ env: @@ -53,8 +51,10 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DEFAULT_BRANCH: main LOCAL_UPDATES: true + - name: Run Test Suite - run: make IMAGE=${{ matrix.images.image-id }} test + run: make IMAGE=${{ matrix.images.target }} test + - name: Upload the code coverage report uses: codacy/codacy-coverage-reporter-action@v1.1 # Sometimes this fails when user does not have permissions to secrets @@ -62,6 +62,7 @@ jobs: with: project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} coverage-reports: test/reports/cobertura/runTests.sh/cobertura.xml + - name: Run Super-Linter Tests run: | docker run \ @@ -73,8 +74,9 @@ jobs: -v "${GITHUB_WORKSPACE}:/tmp/lint" \ "ghcr.io/github/super-linter:${tag}" env: - tag: ${{ matrix.images.image-id }} - - name: Lint Codebase + tag: ${{ matrix.images.target }} + + - name: Lint Entire Codebase run: | docker run \ -e RUN_LOCAL=true \ @@ -84,4 +86,4 @@ jobs: -v "${GITHUB_WORKSPACE}:/tmp/lint" \ "ghcr.io/github/super-linter:${tag}" env: - tag: ${{ matrix.images.image-id }} + tag: ${{ matrix.images.target }} diff --git a/Dockerfile b/Dockerfile index 283bcdd580c..d00996354c0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -217,7 +217,7 @@ WORKDIR /stage RUN ./build-venvs.sh ################################################################################ -# Grab small clean image to build final_slim ################################### +# Grab small clean image to build slim ################################### ################################################################################ FROM alpine:3.17.0 as final_slim @@ -347,9 +347,9 @@ RUN ACTIONS_RUNNER_DEBUG=true WRITE_LINTER_VERSIONS_FILE=true IMAGE="${IMAGE}" / ENTRYPOINT ["/action/lib/linter.sh"] ################################################################################ -# Grab small clean image to build final_standard ############################### +# Grab small clean image to build standard ############################### ################################################################################ -FROM final_slim as final_standard +FROM slim as standard ############### # Set up args # From 33b8aaa141adddce97881ff1a199b5279fd998f7 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 20:26:05 -0500 Subject: [PATCH 42/82] Create deployment workflow Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 96 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 .github/workflows/cd.yml diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 00000000000..17c39f72dc3 --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,96 @@ +name: Publish Image + +on: + push: + branches: + - main + +jobs: + test: + name: Build and Test + runs-on: ubuntu-20.04-8core-sl + permissions: + contents: read + deployments: write + issues: write + packages: write + strategy: + fail-fast: false + matrix: + images: + - environment: Production-SLIM + prefix: slim- + target: slim + - environment: Production + prefix: "" + image-id: standard + timeout-minutes: 60 + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Retrieve Datetime + run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" + + - name: Login to Docker Hub + uses: docker/login-action@v2.1.0 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Login to GHCR + uses: docker/login-action@v2.1.0 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Start ${{ matrix.images.environment }} Deployment + uses: bobheadxi/deployments@v1.3.0 + id: deployment + with: + step: start + token: ${{ secrets.GITHUB_TOKEN }} + env: ${{ matrix.images.environment }} + + - name: Build and Push Image + uses: docker/build-push-action@v3 + with: + context: . + file: ./Dockerfile + build-args: | + BUILD_DATE=${{ env.BUILD_DATE }} + BUILD_REVISION=${{ github.sha }} + BUILD_VERSION=${{ github.sha }} + load: false + push: true + tags: | + github/super-linter:${{ matrix.images.prefix }}latest + ghcr.io/github/super-linter:${{ matrix.images.prefix }}latest + target: "${{ matrix.images.target }}" + + - name: Update the deployment status for the ${{ matrix.images.deployment-environment-identifier }} environment + uses: bobheadxi/deployments@v1.3.0 + with: + step: finish + token: ${{ secrets.GITHUB_TOKEN }} + status: ${{ job.status }} + deployment_id: ${{ steps.deployment.outputs.deployment_id }} + env: ${{ steps.deployment.outputs.env }} + env_url: https://github.com/github/super-linter + + - name: Create Issue on Failure + if: failure() + uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const create = await github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: "Failed to deploy to production", + body: "Automation has failed us!\nMore information can be found at:\n - ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + assignees: [ + "lindluni" + ] + }) From 632231e524641d86b777f1b6b5418a23081e077e Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 20:26:42 -0500 Subject: [PATCH 43/82] Add ModuleVersion to ARM template Signed-off-by: Brett Logan --- TEMPLATES/.arm-ttk.psd1 | 1 + 1 file changed, 1 insertion(+) diff --git a/TEMPLATES/.arm-ttk.psd1 b/TEMPLATES/.arm-ttk.psd1 index bcddce85308..930ff8f8aaa 100644 --- a/TEMPLATES/.arm-ttk.psd1 +++ b/TEMPLATES/.arm-ttk.psd1 @@ -2,6 +2,7 @@ # - Test Parameters: https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/test-toolkit#test-parameters # - Test Cases: https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/test-cases @{ + ModuleVersion = '0.0.1' # Test = @( # 'Parameters Property Must Exist', # 'Parameters Must Be Referenced', From 18e778efe0800f31a28bb94667803242175d847e Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 20:30:54 -0500 Subject: [PATCH 44/82] Clean up step names Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 2 +- .github/workflows/ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 17c39f72dc3..0a509e7b667 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -69,7 +69,7 @@ jobs: ghcr.io/github/super-linter:${{ matrix.images.prefix }}latest target: "${{ matrix.images.target }}" - - name: Update the deployment status for the ${{ matrix.images.deployment-environment-identifier }} environment + - name: Update ${{ matrix.images.deployment-environment-identifier }} Deployment uses: bobheadxi/deployments@v1.3.0 with: step: finish diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4953a5644b..0845f700146 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,7 +55,7 @@ jobs: - name: Run Test Suite run: make IMAGE=${{ matrix.images.target }} test - - name: Upload the code coverage report + - name: Upload Code Coverage Report uses: codacy/codacy-coverage-reporter-action@v1.1 # Sometimes this fails when user does not have permissions to secrets continue-on-error: true From 790129690b2d2303efb6d5d8526bf344f4ebee47 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 20:37:04 -0500 Subject: [PATCH 45/82] Fix environment variable Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 0a509e7b667..15fbe22dd9f 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -69,7 +69,7 @@ jobs: ghcr.io/github/super-linter:${{ matrix.images.prefix }}latest target: "${{ matrix.images.target }}" - - name: Update ${{ matrix.images.deployment-environment-identifier }} Deployment + - name: Update ${{ matrix.images.environment }} Deployment uses: bobheadxi/deployments@v1.3.0 with: step: finish From cedda7c1566f9d3cd7640b6a40c24b497c830874 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 21:01:24 -0500 Subject: [PATCH 46/82] Revert psd1 extension change and ignore PSMissingModuleManifestField Signed-off-by: Brett Logan --- .github/linters/.powershell-psscriptanalyzer.psd1 | 5 +++++ TEMPLATES/.arm-ttk.psd1 | 1 - ...sscriptanalyzer.txt => .powershell-psscriptanalyzer.psd1} | 0 lib/linter.sh | 2 +- test/inspec/super-linter/controls/super_linter.rb | 2 +- 5 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 .github/linters/.powershell-psscriptanalyzer.psd1 rename TEMPLATES/{.powershell-psscriptanalyzer.txt => .powershell-psscriptanalyzer.psd1} (100%) diff --git a/.github/linters/.powershell-psscriptanalyzer.psd1 b/.github/linters/.powershell-psscriptanalyzer.psd1 new file mode 100644 index 00000000000..79a672ce7cf --- /dev/null +++ b/.github/linters/.powershell-psscriptanalyzer.psd1 @@ -0,0 +1,5 @@ +@{ + ExcludeRules = @( + 'PSMissingModuleManifestField' + ) +} diff --git a/TEMPLATES/.arm-ttk.psd1 b/TEMPLATES/.arm-ttk.psd1 index 930ff8f8aaa..bcddce85308 100644 --- a/TEMPLATES/.arm-ttk.psd1 +++ b/TEMPLATES/.arm-ttk.psd1 @@ -2,7 +2,6 @@ # - Test Parameters: https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/test-toolkit#test-parameters # - Test Cases: https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/test-cases @{ - ModuleVersion = '0.0.1' # Test = @( # 'Parameters Property Must Exist', # 'Parameters Must Be Referenced', diff --git a/TEMPLATES/.powershell-psscriptanalyzer.txt b/TEMPLATES/.powershell-psscriptanalyzer.psd1 similarity index 100% rename from TEMPLATES/.powershell-psscriptanalyzer.txt rename to TEMPLATES/.powershell-psscriptanalyzer.psd1 diff --git a/lib/linter.sh b/lib/linter.sh index 15eb7b41fa5..345c594e9d3 100755 --- a/lib/linter.sh +++ b/lib/linter.sh @@ -152,7 +152,7 @@ PHP_PHPSTAN_FILE_NAME="phpstan.neon" # shellcheck disable=SC2034 # Variable is referenced indirectly PHP_PSALM_FILE_NAME="psalm.xml" # shellcheck disable=SC2034 # Variable is referenced indirectly -POWERSHELL_FILE_NAME=".powershell-psscriptanalyzer.txt" +POWERSHELL_FILE_NAME=".powershell-psscriptanalyzer.psd1" # shellcheck disable=SC2034 # Variable is referenced indirectly PROTOBUF_FILE_NAME="${PROTOBUF_CONFIG_FILE:-.protolintrc.yml}" # shellcheck disable=SC2034 # Variable is referenced indirectly diff --git a/test/inspec/super-linter/controls/super_linter.rb b/test/inspec/super-linter/controls/super_linter.rb index 8811a7a523f..83bdccd28e2 100644 --- a/test/inspec/super-linter/controls/super_linter.rb +++ b/test/inspec/super-linter/controls/super_linter.rb @@ -386,7 +386,7 @@ "/action/lib/.automation/.mypy.ini", "/action/lib/.automation/.openapirc.yml", "/action/lib/.automation/.perlcriticrc", - "/action/lib/.automation/.powershell-psscriptanalyzer.txt", + "/action/lib/.automation/.powershell-psscriptanalyzer.psd1", "/action/lib/.automation/.protolintrc.yml", "/action/lib/.automation/.python-black", "/action/lib/.automation/.python-lint", From 70ee796f4cbf62b527f22a1d3b41efdf636d73b7 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 21:49:02 -0500 Subject: [PATCH 47/82] Only trigger stack-linter push on main branch Signed-off-by: Brett Logan --- .github/workflows/stack-linter.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/stack-linter.yml b/.github/workflows/stack-linter.yml index 55f261dd6c7..b47400b9e73 100644 --- a/.github/workflows/stack-linter.yml +++ b/.github/workflows/stack-linter.yml @@ -17,6 +17,8 @@ name: Stack Linter ############################# on: push: + branches: + - main pull_request: ############### From 1daa8d603e55fc9bbd47cbe7e30d7f1facbcfabc Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 22:22:01 -0500 Subject: [PATCH 48/82] Update release workflow Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 3 + .github/workflows/ci.yml | 3 + .github/workflows/release.yml | 139 ++++++++++++++++++++++++++++++++++ 3 files changed, 145 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 15fbe22dd9f..f92a75a6949 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -32,6 +32,9 @@ jobs: - name: Retrieve Datetime run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" + - name: Setup Docker BuildX + uses: docker/setup-buildx-action@v2.2.1 + - name: Login to Docker Hub uses: docker/login-action@v2.1.0 with: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0845f700146..9eb6ae3a6bd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,6 +28,9 @@ jobs: - name: Retrieve Datetime run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" + - name: Setup Docker BuildX + uses: docker/setup-buildx-action@v2.2.1 + - name: Build Image uses: docker/build-push-action@v3 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000000..8527ff52ac4 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,139 @@ +--- +name: Release + +on: + release: + types: [published] + workflow_dispatch: + inputs: + release_version: + description: 'version to release. Ex: v4.3.2' + required: true + default: 'v' + +jobs: + release: + name: Release Images + runs-on: ubuntu-latest + permissions: + contents: read + deployments: write + issues: write + packages: write + strategy: + fail-fast: false + matrix: + images: + - prefix: slim- + environment: Release-SLIM + - prefix: "" + environment: Release + timeout-minutes: 60 + + steps: + - name: Setup Docker BuildX + uses: docker/setup-buildx-action@v2.2.1 + + - name: Login to DockerHub + uses: docker/login-action@v2.0.0 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Login to GHCR + uses: docker/login-action@v2.0.0 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Retrieve Current Release Version + # shellcheck disable=SC2062 + run: | + RELEASE_VERSION="${{ github.event.release.name }}" + + if [ -z "${RELEASE_VERSION}" ]; then + echo "No release version found in environment, using input..." + RELEASE_VERSION="${{ github.event.inputs.release_version }}" + fi + + # Check the RELEASE_VERSION again + if [ -z "${RELEASE_VERSION}" ]; then + echo "Error RELEASE_VERSION is empty. Exiting..." + exit 1 + fi + + if ! echo "${RELEASE_VERSION}" | grep -E -o "v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+"; then + echo "Error: RELEASE_VERSION doesn't look like a semantic version: ${RELEASE_VERSION}" + exit 2 + fi + + { + echo "RELEASE_VERSION=${RELEASE_VERSION}" + echo "SEMVER_VERSION=${RELEASE_VERSION#v}" + echo "SEMVER_MAJOR_VERSION=${SEMVER_VERSION%%.*}" + echo "SEMVER_MAJOR_VERSION_WITH_PREFIX=v${SEMVER_MAJOR_VERSION}" + } >> "${GITHUB_ENV}" + + - name: Start ${{ matrix.images.environment }} Deployment + uses: bobheadxi/deployments@v1.3.0 + id: deployment + with: + step: start + token: ${{ secrets.GITHUB_TOKEN }} + env: ${{ matrix.images.environment }} + + # We don't rebuild the image to avoid that the latest tag and the release tags don't point to what the release tag is pointing to. + # Instead, we pull the latest image and tag it. + - name: Build and Push Images + uses: akhilerm/tag-push-action@v2.1.0 + with: + src: ghcr.io/github/super-linter:${{ matrix.images.prefix }}latest + dst: | + github/super-linter:${{ matrix.images.prefix }}v4 + github/super-linter:${{ matrix.images.prefix }}${{ env.RELEASE_VERSION }} + ghcr.io/github/super-linter:${{ matrix.images.prefix }}v4 + ghcr.io/github/super-linter:${{ matrix.images.prefix }}${{ env.RELEASE_VERSION }} + + - name: Checkout Code + uses: actions/checkout@v3 + with: + # Full git history is needed to get a proper list of commits and tags + fetch-depth: 0 + + # We use ^{} to recursively deference the tag to get the commit the tag is pointing at. + # Then, we use that reference to create new tags, so that the new tags point to the commit + # the original tag was pointing to, and not to the original tag. + # This notation is documented at https://git-scm.com/docs/gitrevisions#Documentation/gitrevisions.txt-emltrevgtemegemv0998em + - name: Update Major Version and Latest Git Tag + run: | + git tag --force "${SEMVER_MAJOR_VERSION_WITH_PREFIX}" "${RELEASE_VERSION}^{}" + git tag --force latest "${RELEASE_VERSION}^{}" + git push --force origin "refs/tags/${SEMVER_MAJOR_VERSION_WITH_PREFIX}" "refs/tags/latest" + + - name: Update ${{ matrix.images.environment }} Deployment + uses: bobheadxi/deployments@v1.3.0 + if: always() + with: + step: finish + token: ${{ secrets.GITHUB_TOKEN }} + status: ${{ job.status }} + deployment_id: ${{ steps.deployment.outputs.deployment_id }} + env: ${{ steps.deployment.outputs.env }} + env_url: https://github.com/github/super-linter/releases/tag/${{ env.RELEASE_VERSION }} + + - name: Create Issue on Failure + if: failure() + uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const create = await github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: "Failed to deploy release to production", + body: "Automation has failed us! Failed to push release ${{ env.RELEASE_VERSION }}\nMore information can be found at:\n - ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + assignees: [ + 'lindluni' + ] + }) From 466131e80cd41f83aace3ce586d886b1990d9136 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 22:35:18 -0500 Subject: [PATCH 49/82] Remove buildx setup Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 3 --- .github/workflows/ci.yml | 3 --- 2 files changed, 6 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f92a75a6949..15fbe22dd9f 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -32,9 +32,6 @@ jobs: - name: Retrieve Datetime run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" - - name: Setup Docker BuildX - uses: docker/setup-buildx-action@v2.2.1 - - name: Login to Docker Hub uses: docker/login-action@v2.1.0 with: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9eb6ae3a6bd..0845f700146 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,9 +28,6 @@ jobs: - name: Retrieve Datetime run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "${GITHUB_ENV}" - - name: Setup Docker BuildX - uses: docker/setup-buildx-action@v2.2.1 - - name: Build Image uses: docker/build-push-action@v3 with: From fd22cff73499a5cbad0bf2230582db8694b76a35 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 23 Dec 2022 23:09:14 -0500 Subject: [PATCH 50/82] Update workflow name Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 15fbe22dd9f..11f142dcb72 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -1,4 +1,4 @@ -name: Publish Image +name: Publish Images on: push: From b7edcbf91bd47aaf7a3666bcb3d90f063fec3c7d Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Fri, 30 Dec 2022 18:21:07 -0500 Subject: [PATCH 51/82] Fix step name Signed-off-by: Brett Logan --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8527ff52ac4..2df2ad8ff6c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -85,7 +85,7 @@ jobs: # We don't rebuild the image to avoid that the latest tag and the release tags don't point to what the release tag is pointing to. # Instead, we pull the latest image and tag it. - - name: Build and Push Images + - name: Retag and Push Images uses: akhilerm/tag-push-action@v2.1.0 with: src: ghcr.io/github/super-linter:${{ matrix.images.prefix }}latest From bc174e3f5ca496a8375f02430edf18025faf3f8d Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Tue, 3 Jan 2023 19:40:56 -0500 Subject: [PATCH 52/82] Use concurrency group for CD to limit wasteful runs Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 6 +++++- .github/workflows/ci.yml | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 11f142dcb72..cf4b05b82c8 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -9,6 +9,9 @@ jobs: test: name: Build and Test runs-on: ubuntu-20.04-8core-sl + concurrency: + group: ${{ github.workflow }}-main + cancel-in-progress: false permissions: contents: read deployments: write @@ -71,6 +74,7 @@ jobs: - name: Update ${{ matrix.images.environment }} Deployment uses: bobheadxi/deployments@v1.3.0 + if: always() with: step: finish token: ${{ secrets.GITHUB_TOKEN }} @@ -80,8 +84,8 @@ jobs: env_url: https://github.com/github/super-linter - name: Create Issue on Failure - if: failure() uses: actions/github-script@v6 + if: failure() with: github-token: ${{secrets.GITHUB_TOKEN}} script: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0845f700146..bb82f9cf499 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,8 +56,7 @@ jobs: run: make IMAGE=${{ matrix.images.target }} test - name: Upload Code Coverage Report - uses: codacy/codacy-coverage-reporter-action@v1.1 - # Sometimes this fails when user does not have permissions to secrets + uses: codacy/codacy-coverage-reporter-action@v1 continue-on-error: true with: project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} From 994e7ba0aac69daedd754791ec92bbf844f2e69a Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 01:24:12 -0500 Subject: [PATCH 53/82] Add concurrency group to CI to reduce duplication Signed-off-by: Brett Logan --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bb82f9cf499..4a0f0631c39 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,9 @@ jobs: runs-on: ubuntu-20.04-8core-sl permissions: contents: read + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true strategy: fail-fast: false matrix: From fe9b1b8248381bb5a578457237b4e625ff49d9a2 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 01:31:04 -0500 Subject: [PATCH 54/82] Fix concurrency group name Signed-off-by: Brett Logan --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4a0f0631c39..7ca2eaa6ab8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: permissions: contents: read concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.images.target }} cancel-in-progress: true strategy: fail-fast: false From 06de195e3627aebee8920c658b9aaa7800e68a0a Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 01:33:56 -0500 Subject: [PATCH 55/82] Fix Dockerfile conflict Signed-off-by: Brett Logan --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d00996354c0..68cc611f5bc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -219,7 +219,7 @@ RUN ./build-venvs.sh ################################################################################ # Grab small clean image to build slim ################################### ################################################################################ -FROM alpine:3.17.0 as final_slim +FROM alpine:3.17.0 as slim ############################ # Get the build arguements # From e5cf70e6f1e52adfa6ef06dbbc8785580d817882 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 22:23:28 -0500 Subject: [PATCH 56/82] Address review comments Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/stack-linter.yml | 57 ------------------------------ 3 files changed, 2 insertions(+), 59 deletions(-) delete mode 100644 .github/workflows/stack-linter.yml diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index cf4b05b82c8..3f3095f8554 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -48,7 +48,7 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Start ${{ matrix.images.environment }} Deployment + - name: Start ${{ matrix.images.environment }} Deployment uses: bobheadxi/deployments@v1.3.0 id: deployment with: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ca2eaa6ab8..dc3cd4974e6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,7 +40,7 @@ jobs: BUILD_DATE=${{ env.BUILD_DATE }} BUILD_REVISION=${{ github.sha }} BUILD_VERSION=${{ github.sha }} - load: false + load: true push: false tags: ghcr.io/github/super-linter:${{ matrix.images.target }} target: "${{ matrix.images.target }}" diff --git a/.github/workflows/stack-linter.yml b/.github/workflows/stack-linter.yml deleted file mode 100644 index b47400b9e73..00000000000 --- a/.github/workflows/stack-linter.yml +++ /dev/null @@ -1,57 +0,0 @@ ---- -############################ -############################ -## Preflight Stack Linter ## -############################ -############################ - -# -# Documentation: -# https://help.github.com/en/articles/workflow-syntax-for-github-actions -# - -name: Stack Linter - -############################# -# Start the job on all push # -############################# -on: - push: - branches: - - main - pull_request: - -############### -# Set the Job # -############### -jobs: - build: - # Name the Job - name: Stack linter - # Set the agent to run on - runs-on: ubuntu-latest - timeout-minutes: 60 - ################## - # Load all steps # - ################## - steps: - ########################## - # Checkout the code base # - ########################## - - name: Checkout Code - uses: actions/checkout@v3 - with: - # Full git history is needed to get a proper list of changed files within `super-linter` - fetch-depth: 0 - - ################################ - # Run Linter against code base # - ################################ - - name: Lint Code Base - uses: docker://ghcr.io/github/super-linter:latest - env: - ACTIONS_RUNNER_DEBUG: true - ERROR_ON_MISSING_EXEC_BIT: true - VALIDATE_ALL_CODEBASE: false - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DEFAULT_BRANCH: main From de0d0f7ceedae22f59917c37e640651842d23138 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 4 Jan 2023 22:43:51 -0500 Subject: [PATCH 57/82] Add missing secrets Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 2 ++ .github/workflows/ci.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 3f3095f8554..f8ea2ff2e7a 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -67,6 +67,8 @@ jobs: BUILD_VERSION=${{ github.sha }} load: false push: true + secrets: | + GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} tags: | github/super-linter:${{ matrix.images.prefix }}latest ghcr.io/github/super-linter:${{ matrix.images.prefix }}latest diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc3cd4974e6..1b210165daa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,6 +42,8 @@ jobs: BUILD_VERSION=${{ github.sha }} load: true push: false + secrets: | + GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} tags: ghcr.io/github/super-linter:${{ matrix.images.target }} target: "${{ matrix.images.target }}" From e69db3d7ed9ad5307d334563607d8d1269283ce1 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Thu, 5 Jan 2023 09:49:21 -0500 Subject: [PATCH 58/82] Fix main branch concurrency group Signed-off-by: Brett Logan --- .github/workflows/cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f8ea2ff2e7a..795ea87eaf0 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -10,8 +10,8 @@ jobs: name: Build and Test runs-on: ubuntu-20.04-8core-sl concurrency: - group: ${{ github.workflow }}-main - cancel-in-progress: false + group: ${{ github.workflow }}-main-${{ matrix.images.target }} + cancel-in-progress: true permissions: contents: read deployments: write From aad87c569b8a3de467bf6504c06127822e2845aa Mon Sep 17 00:00:00 2001 From: Jon Hamm Date: Wed, 4 Jan 2023 21:41:19 -0500 Subject: [PATCH 59/82] add jenkinsfile to groovy files --- lib/functions/buildFileList.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/functions/buildFileList.sh b/lib/functions/buildFileList.sh index 8eba88556cf..731ecb277ca 100755 --- a/lib/functions/buildFileList.sh +++ b/lib/functions/buildFileList.sh @@ -438,8 +438,10 @@ function BuildFileList() { ######################## # Get the GROOVY files # ######################## + # Use BASE_FILE here because FILE_TYPE is not reliable when there is no file extension elif [ "$FILE_TYPE" == "groovy" ] || [ "$FILE_TYPE" == "jenkinsfile" ] || - [ "$FILE_TYPE" == "gradle" ] || [ "$FILE_TYPE" == "nf" ]; then + [ "$FILE_TYPE" == "gradle" ] || [ "$FILE_TYPE" == "nf" ] || + [[ "$BASE_FILE" =~ .*jenkinsfile.* ]]; then ################################ # Append the file to the array # ################################ From b03920b5343b766a006623892da3a006b43662d9 Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Fri, 6 Jan 2023 15:34:53 +0000 Subject: [PATCH 60/82] Don't ignore dotfiles when running eslint --- .automation/test/json/.dotfile_json_bad_2.json | 12 ++++++++++++ .automation/test/json/.dotfile_json_good_2.json | 10 ++++++++++ TEMPLATES/.eslintrc.yml | 4 ++++ 3 files changed, 26 insertions(+) create mode 100644 .automation/test/json/.dotfile_json_bad_2.json create mode 100644 .automation/test/json/.dotfile_json_good_2.json diff --git a/.automation/test/json/.dotfile_json_bad_2.json b/.automation/test/json/.dotfile_json_bad_2.json new file mode 100644 index 00000000000..096c082ac5f --- /dev/null +++ b/.automation/test/json/.dotfile_json_bad_2.json @@ -0,0 +1,12 @@ +{ + "arrow_spacing": { + "level": ["ignore"] + }, + "foo": "bar", + "foo": "baz", + "braces_spacing": { + "level": 'ignore', + "spaces": 0 + "empty_object_spaces": 0 + } +} diff --git a/.automation/test/json/.dotfile_json_good_2.json b/.automation/test/json/.dotfile_json_good_2.json new file mode 100644 index 00000000000..de60584a5a6 --- /dev/null +++ b/.automation/test/json/.dotfile_json_good_2.json @@ -0,0 +1,10 @@ +{ + "arrow_spacing": { + "level": "ignore" + }, + "braces_spacing": { + "level": "ignore", + "spaces": 0, + "empty_object_spaces": 0 + } +} diff --git a/TEMPLATES/.eslintrc.yml b/TEMPLATES/.eslintrc.yml index b5c6439dd6d..55f854b2f50 100644 --- a/TEMPLATES/.eslintrc.yml +++ b/TEMPLATES/.eslintrc.yml @@ -20,6 +20,10 @@ globals: Atomics: readonly SharedArrayBuffer: readonly +ignorePatterns: + - "!.*" + - "**/node_modules/.*" + ############### # Parser vars # ############### From 9bcd24302089a9254ba77ec8b85079de7db10949 Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Fri, 6 Jan 2023 15:59:22 +0000 Subject: [PATCH 61/82] Remove unneeded eslint configuration files --- .eslintignore | 1 - .github/linters/.eslintrc.yml | 73 ----------------------------------- 2 files changed, 74 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .github/linters/.eslintrc.yml diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 67fe2dd6059..00000000000 --- a/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -!.automation diff --git a/.github/linters/.eslintrc.yml b/.github/linters/.eslintrc.yml deleted file mode 100644 index 9bfb975f065..00000000000 --- a/.github/linters/.eslintrc.yml +++ /dev/null @@ -1,73 +0,0 @@ ---- -############################# -############################# -## JavaScript Linter rules ## -############################# -############################# - -############ -# Env Vars # -############ -env: - browser: true - es6: true - jest: true - -############### -# Global Vars # -############### -globals: - Atomics: readonly - SharedArrayBuffer: readonly - -############### -# Parser vars # -############### -parser: '@typescript-eslint/parser' -parserOptions: - ecmaVersion: 2018 - sourceType: module - -########### -# Plugins # -########### -plugins: - - '@typescript-eslint' - -######### -# Rules # -######### -rules: { } - - -############################## -# Overrides for JSON parsing # -############################## -overrides: - - # JSON files - - files: - - "*.json" - extends: - - plugin:jsonc/recommended-with-json - parser: jsonc-eslint-parser - parserOptions: - jsonSyntax: JSON - - # JSONC files - - files: - - "*.jsonc" - extends: - - plugin:jsonc/recommended-with-jsonc - parser: jsonc-eslint-parser - parserOptions: - jsonSyntax: JSONC - - # JSON5 files - - files: - - "*.json5" - extends: - - plugin:jsonc/recommended-with-json5 - parser: jsonc-eslint-parser - parserOptions: - jsonSyntax: JSON5 From 7af33d146f4e6081a08c2d0500d3b39469bb9763 Mon Sep 17 00:00:00 2001 From: Super-Linter Automation Date: Sun, 8 Jan 2023 17:03:03 +0000 Subject: [PATCH 62/82] Update Python dependencies --- dependencies/python/ansible-lint.txt | 2 +- dependencies/python/cfn-lint.txt | 10 ++++++---- dependencies/python/pylint.txt | 5 +++-- dependencies/python/sqlfluff.txt | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/dependencies/python/ansible-lint.txt b/dependencies/python/ansible-lint.txt index 57c5b74cfec..7ed8fb4dfcd 100644 --- a/dependencies/python/ansible-lint.txt +++ b/dependencies/python/ansible-lint.txt @@ -21,7 +21,7 @@ Pygments==2.14.0 pyrsistent==0.19.3 PyYAML==6.0 resolvelib==0.8.1 -rich==13.0.0 +rich==13.0.1 ruamel.yaml==0.17.21 ruamel.yaml.clib==0.2.7 subprocess-tee==0.4.1 diff --git a/dependencies/python/cfn-lint.txt b/dependencies/python/cfn-lint.txt index c1b5d506e07..fba303cb8c2 100644 --- a/dependencies/python/cfn-lint.txt +++ b/dependencies/python/cfn-lint.txt @@ -1,21 +1,23 @@ attrs==22.2.0 -aws-sam-translator==1.55.0 -boto3==1.26.42 -botocore==1.29.42 +aws-sam-translator==1.56.0 +boto3==1.26.45 +botocore==1.29.45 cfn-lint==0.72.6 jmespath==1.0.1 jschema-to-python==1.2.3 jsonpatch==1.32 jsonpickle==3.0.1 jsonpointer==2.3 -jsonschema==3.2.0 +jsonschema==4.17.3 junit-xml==1.9 networkx==2.8.8 pbr==5.11.0 +pydantic==1.10.4 pyrsistent==0.19.3 python-dateutil==2.8.2 PyYAML==6.0 s3transfer==0.6.0 sarif-om==1.0.4 six==1.16.0 +typing_extensions==4.4.0 urllib3==1.26.13 diff --git a/dependencies/python/pylint.txt b/dependencies/python/pylint.txt index 3fe9d59c537..b4f083f8efe 100644 --- a/dependencies/python/pylint.txt +++ b/dependencies/python/pylint.txt @@ -1,10 +1,11 @@ -astroid==2.12.13 +astroid==2.13.2 dill==0.3.6 isort==5.11.4 -lazy-object-proxy==1.8.0 +lazy-object-proxy==1.9.0 mccabe==0.7.0 platformdirs==2.6.2 pylint==2.15.9 tomli==2.0.1 tomlkit==0.11.6 +typing_extensions==4.4.0 wrapt==1.14.1 diff --git a/dependencies/python/sqlfluff.txt b/dependencies/python/sqlfluff.txt index 8fc8d00207d..ea45609c9be 100644 --- a/dependencies/python/sqlfluff.txt +++ b/dependencies/python/sqlfluff.txt @@ -5,7 +5,7 @@ click==8.1.3 colorama==0.4.6 diff-cover==7.3.0 exceptiongroup==1.1.0 -iniconfig==1.1.1 +iniconfig==2.0.0 Jinja2==3.1.2 MarkupSafe==2.1.1 packaging==22.0 From 30b4d61a40b5211b12cbcfd7c9e1a8338f8e085c Mon Sep 17 00:00:00 2001 From: Super-Linter Automation Date: Sun, 8 Jan 2023 17:06:13 +0000 Subject: [PATCH 63/82] Update NPM dependencies --- dependencies/package-lock.json | 439 ++++++++++++++++----------------- dependencies/package.json | 10 +- 2 files changed, 217 insertions(+), 232 deletions(-) diff --git a/dependencies/package-lock.json b/dependencies/package-lock.json index 2b627ef0ed4..6912dbd2b1f 100644 --- a/dependencies/package-lock.json +++ b/dependencies/package-lock.json @@ -19,9 +19,9 @@ "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-prettier": "^8.6.0", - "eslint-plugin-jest": "^27.2.0", + "eslint-plugin-jest": "^27.2.1", "eslint-plugin-json": "^3.1.0", - "eslint-plugin-jsonc": "^2.5.0", + "eslint-plugin-jsonc": "^2.6.0", "eslint-plugin-jsx-a11y": "^6.6.1", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.31.11", @@ -33,11 +33,11 @@ "ini": "^3.0.1", "jscpd": "^3.5.3", "lodash": "^4.17.21", - "markdownlint-cli": "^0.32.2", + "markdownlint-cli": "^0.33.0", "node-fetch": "^3.3.0", "npm-groovy-lint": "^11.1.1", "postcss-less": "^6.0.0", - "prettier": "^2.8.1", + "prettier": "^2.8.2", "prettyjson": "^1.2.5", "pug": "^3.0.2", "sql-lint": "1.0.0", @@ -51,7 +51,7 @@ "stylelint-prettier": "^2.0.0", "stylelint-scss": "^4.3.0", "tekton-lint": "^0.6.0", - "textlint": "^12.4.0", + "textlint": "^12.5.1", "textlint-filter-rule-allowlist": "^4.0.0", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-terminology": "^3.0.4", @@ -1568,31 +1568,31 @@ "integrity": "sha512-ke5hlKy/xZ/vQt6j+h4k9GradJPDsV3FKsUqWpCpF/X8qWCU2zM4e1SMUAFjoUcLuF9in+eXIQ71Qm/AdjjkZQ==" }, "node_modules/@textlint/ast-tester": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.3.0.tgz", - "integrity": "sha512-f135pLEv/6epjRNlSTpxHX/3lutzB+l1GCHjVlm+PRCWEunKBvcZxyBCf1mp00vKNQdOpLnSPFDHIa/KgsZ/nQ==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.5.0.tgz", + "integrity": "sha512-osHf1OFLC3RnjGyoSBynn2u5pgj7qkik8TNaxgPekVwlLWtJTcyh22PHo+mXPF47XWM5gJQmy/72nUrqtbDMPg==", "dependencies": { "@textlint/ast-node-types": "^12.3.0", "debug": "^4.3.4" } }, "node_modules/@textlint/ast-traverse": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.3.0.tgz", - "integrity": "sha512-WkDOgs7LJNf9kq7yGIi10FuBkW0wpbgMR6unLegRBwT+xN7JxynFnlLVHUfyJs3S0VPYFHX6Dvybg4As7iM4Tw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.5.0.tgz", + "integrity": "sha512-TAbfxz8x8Q/sn7D/h7OikzYp5NqPDrRExm3N+3v9yj+gq++fxHtskas48tm1TYcChTMq6BbPU+EGbdlMo3rWWA==", "dependencies": { "@textlint/ast-node-types": "^12.3.0" } }, "node_modules/@textlint/config-loader": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-12.3.1.tgz", - "integrity": "sha512-iKCrif/McG0dCokvyoxvXcH6G9FaiSDF3DtNYo4GlxavqVtKxKxuFvkeQahWL0QWM9Z+yXlGUcBJdYj6Zxevkw==", - "dependencies": { - "@textlint/kernel": "^12.3.0", - "@textlint/module-interop": "^12.3.0", - "@textlint/types": "^12.3.0", - "@textlint/utils": "^12.3.0", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-12.5.0.tgz", + "integrity": "sha512-g706+XwdsUGpVXzqW7OFcBO8XdxH1AqbD0D3UYEjlfUONXD0c4Bymctdjk49hzOwTVDGqj+CCyvL+cB/X2bG+Q==", + "dependencies": { + "@textlint/kernel": "^12.5.0", + "@textlint/module-interop": "^12.5.0", + "@textlint/types": "^12.5.0", + "@textlint/utils": "^12.5.0", "debug": "^4.3.4", "rc-config-loader": "^4.1.1", "try-resolve": "^1.0.1" @@ -1610,17 +1610,17 @@ } }, "node_modules/@textlint/feature-flag": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.3.0.tgz", - "integrity": "sha512-7WgC2d6gk+aeQLPz6M24Ngt4hsZkUL701CjP9R9P2RnLFMVOxwJ7YzpxcGTrlK5pmMNZ06xfbHpBd4rE0d567Q==" + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.5.0.tgz", + "integrity": "sha512-GdyRbbIsWRuZieWKvRxQA8j5wX5hzq+QqEmuputBrU/KKapNfkg6uNY2GOY6SWvC8QcwD0dYh3Dy1x2txT8p8Q==" }, "node_modules/@textlint/fixer-formatter": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.4.0.tgz", - "integrity": "sha512-pCo/EuW8CUdF+AMPI/AhfCuDusQ19BORlKznLfCQoPBvTweSo3M2yDTDeHhi2PLNnKy812KpcJBBpZryALe2nA==", + "version": "12.5.1", + "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.5.1.tgz", + "integrity": "sha512-dzOsgpkl5lIB25BHgW0saAohRW4ZF0s/SyK/FbweYtkDGd190USLGpCibx2M8/mAEFDs5YsnTqZlkbp1FLLuyQ==", "dependencies": { - "@textlint/module-interop": "^12.3.0", - "@textlint/types": "^12.3.0", + "@textlint/module-interop": "^12.5.0", + "@textlint/types": "^12.5.0", "chalk": "^4.1.2", "debug": "^4.3.4", "diff": "^4.0.2", @@ -1637,31 +1637,31 @@ "integrity": "sha512-J3cG1pl2llYD4ZaZMe0qVgVaHT8RvT+/SW1FHQ8HRceNalMM9O0Y8iIgtl4GGOx4vMghoIPKFVLASw8P8bJ3ZA==" }, "node_modules/@textlint/kernel": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.3.0.tgz", - "integrity": "sha512-ENNaAeIc3DkuIIA/igkEwu9QIUv6YiLpsZu0lh1+11gdIPbyqwZoF+OO35VColZNFpcIYjeODjZukXAUtKZNCA==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.5.0.tgz", + "integrity": "sha512-9UspUHtS2FShTO9pWnrZjadjIvJzFIdIZDKIYCdZuUdU8dEhJqwOdYosqM4N5Wy40aMKnv4Voxp80Ssaq7zZaA==", "dependencies": { "@textlint/ast-node-types": "^12.3.0", - "@textlint/ast-tester": "^12.3.0", - "@textlint/ast-traverse": "^12.3.0", - "@textlint/feature-flag": "^12.3.0", - "@textlint/source-code-fixer": "^12.3.0", - "@textlint/types": "^12.3.0", - "@textlint/utils": "^12.3.0", + "@textlint/ast-tester": "^12.5.0", + "@textlint/ast-traverse": "^12.5.0", + "@textlint/feature-flag": "^12.5.0", + "@textlint/source-code-fixer": "^12.5.0", + "@textlint/types": "^12.5.0", + "@textlint/utils": "^12.5.0", "debug": "^4.3.4", "deep-equal": "^1.1.1", "structured-source": "^3.0.2" } }, "node_modules/@textlint/linter-formatter": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.3.1.tgz", - "integrity": "sha512-n6elvyIBux/lefhmQBZUjgN2EZQ347b6v1waUPAGKmljsndoVCyY+m6RbNhAQtVsNTA1sdO7cJDIxvnX4g1kaA==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.5.0.tgz", + "integrity": "sha512-cJ87VGmyqDyjxT2aL3492g/YyGh6AU7/3QqxKN9q8rxJtzaY2e1uJrUKdpj0oOj1xZzYYv8zPeIpFaiFtNW02Q==", "dependencies": { "@azu/format-text": "^1.0.1", "@azu/style-format": "^1.0.0", - "@textlint/module-interop": "^12.3.0", - "@textlint/types": "^12.3.0", + "@textlint/module-interop": "^12.5.0", + "@textlint/types": "^12.5.0", "chalk": "^4.1.2", "debug": "^4.3.4", "is-file": "^1.0.0", @@ -1702,9 +1702,9 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/@textlint/markdown-to-ast": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.3.0.tgz", - "integrity": "sha512-gyLVU5WTJOIYJlGOPixENCzoj8SC4mpDkB+ADVFoqWCK4AOiZOHxDCH69g2AQQWKJYNmw7is4ZnyKA6q+OCPAw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.5.0.tgz", + "integrity": "sha512-+fUslPm0+ukMnRVMPUQwKv1DEwmDP/rXFuzc5+k5tCMhighZ/Fv/e3Y9MUe7SgNDte7ilajTa3/uP0Iurr60WA==", "dependencies": { "@textlint/ast-node-types": "^12.3.0", "debug": "^4.3.4", @@ -1718,9 +1718,9 @@ } }, "node_modules/@textlint/module-interop": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.3.0.tgz", - "integrity": "sha512-Qc7yamUIagaN8XW9cToIrtxOD2dqZeJBCf/Y/P+16aPYU+z186EQ4JNNWPXGss5XNtHNFA5Ztjh17NXpmowk2w==" + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.5.0.tgz", + "integrity": "sha512-NmkHL5tt+HEqLm00JSW1f03KTbEqOzupliboSZ2HeNhOqZxSX4wR3lBlGqVeVi5dImMWrt40oa+AbkqkD78b9Q==" }, "node_modules/@textlint/regexp-string-matcher": { "version": "1.1.1", @@ -1744,50 +1744,50 @@ } }, "node_modules/@textlint/source-code-fixer": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.3.0.tgz", - "integrity": "sha512-ma5HN8BbmeE6UnIiVWRdMigwqGHGG9R+kTBJBro5tsCyaktGPArnbg1EynJeBVz/C7vMll4RXcuOFyvEtaMsOw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.5.0.tgz", + "integrity": "sha512-7LebJ6Y64Rb4fVYyokpU8FnjNLdx+TehcHQJ9L/fi8PYVjpS/08klYtYfRtKWmi/vrWED7U0aGhb8Xr26NuWFw==", "dependencies": { - "@textlint/types": "^12.3.0", + "@textlint/types": "^12.5.0", "debug": "^4.3.4" } }, "node_modules/@textlint/text-to-ast": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.3.0.tgz", - "integrity": "sha512-eRNy+yUvh5ZkgB+2WrHYVu6HwBopLJwn0cw6bEcgYbUyxYNu7gjwaBp6vyg0qjzLQ3ujA4pkW17v6Q+shm6Oqw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.5.0.tgz", + "integrity": "sha512-wOWYX+d821ThwNYNk5hfxOBxvkqKUpNOBKkDaic4V+dkuBoAS0D9lE9fA9Ps62kL/I1uQwhU5d4qsAHWnFmQkw==", "dependencies": { "@textlint/ast-node-types": "^12.3.0" } }, "node_modules/@textlint/textlint-plugin-markdown": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.3.0.tgz", - "integrity": "sha512-luLU4a3n96jcBjOkybcaRmxQWJX1gMlM48B5HWj0cfgtxCAUmeCFI+fHbWcp6THJR6nPNqWnvzyEuMwYAI9LYQ==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.5.0.tgz", + "integrity": "sha512-1B4mTmA1NOvK2kAk4Rl/TW3QFB80iwhsOKSJ16nCH/yvF82xgH+Gu4gQB/prNpACb4TivmzwvBRYp7rzhOTTyA==", "dependencies": { - "@textlint/markdown-to-ast": "^12.3.0" + "@textlint/markdown-to-ast": "^12.5.0" } }, "node_modules/@textlint/textlint-plugin-text": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.3.0.tgz", - "integrity": "sha512-Z2ZYsKMIma6hOa0wjCUhl7UNFLb2DJFhNYSJkoaiW+TO55WMz0hzBvwXss4fvc8dKit2afMwmGlLKYcie000BA==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.5.0.tgz", + "integrity": "sha512-ec3rZaJYytoscwpAtuxD4UM3bUPqNAeWKia+LMaVMWREULwKfntlSAqSNmudujEkxdsKr028CkzYuP78q8Xmuw==", "dependencies": { - "@textlint/text-to-ast": "^12.3.0" + "@textlint/text-to-ast": "^12.5.0" } }, "node_modules/@textlint/types": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.3.0.tgz", - "integrity": "sha512-6IcKqGJyIISaH4JqkUEsG+3FIg0CVSz1iHFfwMA16YgRuKtSDuySPyo3LfpcQ3dqUeonr29yWgfi2f1QM8SCDw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.5.0.tgz", + "integrity": "sha512-Po5qOubilL/g3dx+ZUgaQzNXbROADBF4Z5xy7qqgV6pBQIEE/06INZDmmLE1Eesm2zoDpygoG/1f/0/Cy5Yupw==", "dependencies": { "@textlint/ast-node-types": "^12.3.0" } }, "node_modules/@textlint/utils": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.3.0.tgz", - "integrity": "sha512-O9WuQqN+hEs1tVWSd3HQYCPQZyKTW/JjKoaMxYsKtvHwu592094iONppyBFwKpmlQCU/woelvbIRQruDRggVVQ==" + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.5.0.tgz", + "integrity": "sha512-bQWrQ7Xaru1DRLQhAQQJgNnfGQIwgTgWUigdS5wSwpbmfLDnaMzHu3AG0lk5hEnELMKTCIej5uCR0+YscyUckg==" }, "node_modules/@tootallnate/once": { "version": "1.1.2", @@ -3851,9 +3851,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/eslint-plugin-jest": { - "version": "27.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.0.tgz", - "integrity": "sha512-KGIYtelk4rIhKocxRKUEeX+kJ0ZCab/CiSgS8BMcKD7AY7YxXhlg/d51oF5jq2rOrtuJEDYWRwXD95l6l2vtrA==", + "version": "27.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz", + "integrity": "sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==", "dependencies": { "@typescript-eslint/utils": "^5.10.0" }, @@ -3886,9 +3886,9 @@ } }, "node_modules/eslint-plugin-jsonc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.5.0.tgz", - "integrity": "sha512-G257khwkrOQ5MJpSzz4yQh5K12W4xFZRcHmVlhVFWh2GCLDX+JwHnmkQoUoFDbOieSPBMsPFZDTJScwrXiWlIg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.6.0.tgz", + "integrity": "sha512-4bA9YTx58QaWalua1Q1b82zt7eZMB7i+ed8q8cKkbKP75ofOA2SXbtFyCSok7RY6jIXeCqQnKjN9If8zCgv6PA==", "dependencies": { "eslint-utils": "^3.0.0", "jsonc-eslint-parser": "^2.0.4", @@ -6297,30 +6297,29 @@ } }, "node_modules/markdownlint": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz", - "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.27.0.tgz", + "integrity": "sha512-HtfVr/hzJJmE0C198F99JLaeada+646B5SaG2pVoEakLFI6iRGsvMqrnnrflq8hm1zQgwskEgqSnhDW11JBp0w==", "dependencies": { "markdown-it": "13.0.1" }, "engines": { - "node": ">=14" + "node": ">=14.18.0" } }, "node_modules/markdownlint-cli": { - "version": "0.32.2", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.32.2.tgz", - "integrity": "sha512-xmJT1rGueUgT4yGNwk6D0oqQr90UJ7nMyakXtqjgswAkEhYYqjHew9RY8wDbOmh2R270IWjuKSeZzHDEGPAUkQ==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.33.0.tgz", + "integrity": "sha512-zMK1oHpjYkhjO+94+ngARiBBrRDEUMzooDHBAHtmEIJ9oYddd9l3chCReY2mPlecwH7gflQp1ApilTo+o0zopQ==", "dependencies": { - "commander": "~9.4.0", + "commander": "~9.4.1", "get-stdin": "~9.0.0", "glob": "~8.0.3", - "ignore": "~5.2.0", + "ignore": "~5.2.4", "js-yaml": "^4.1.0", - "jsonc-parser": "~3.1.0", - "markdownlint": "~0.26.2", - "markdownlint-rule-helpers": "~0.17.2", - "minimatch": "~5.1.0", + "jsonc-parser": "~3.2.0", + "markdownlint": "~0.27.0", + "minimatch": "~5.1.2", "run-con": "~1.2.11" }, "bin": { @@ -6347,14 +6346,14 @@ } }, "node_modules/markdownlint-cli/node_modules/jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "node_modules/markdownlint-cli/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -6362,14 +6361,6 @@ "node": ">=10" } }, - "node_modules/markdownlint-rule-helpers": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.17.2.tgz", - "integrity": "sha512-XaeoW2NYSlWxMCZM2B3H7YTG6nlaLfkEZWMBhr4hSPlq9MuY2sy83+Xr89jXOqZMZYjvi5nBCGoFh7hHoPKZmA==", - "engines": { - "node": ">=12" - } - }, "node_modules/mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -7925,9 +7916,9 @@ } }, "node_modules/prettier": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", - "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz", + "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==", "bin": { "prettier": "bin-prettier.js" }, @@ -9572,22 +9563,22 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "node_modules/textlint": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/textlint/-/textlint-12.4.0.tgz", - "integrity": "sha512-n8WAsOf+JtDXTj12A8DF+kuaV+YVawaf8DUzdEc00AFK/qMUsvUZ79X60SBO1sEYwkjExErQv1JRIFHwOp/XEw==", + "version": "12.5.1", + "resolved": "https://registry.npmjs.org/textlint/-/textlint-12.5.1.tgz", + "integrity": "sha512-LoFU1yBIm/gxM++jDdvdfS2diW14NBHsimRyChi8Kb5h5pUHcG0rGfW2PflUzfYcHF0XykgW9WBdPd1WWnyS7Q==", "dependencies": { "@textlint/ast-node-types": "^12.3.0", - "@textlint/ast-traverse": "^12.3.0", - "@textlint/config-loader": "^12.3.1", - "@textlint/feature-flag": "^12.3.0", - "@textlint/fixer-formatter": "^12.4.0", - "@textlint/kernel": "^12.3.0", - "@textlint/linter-formatter": "^12.3.1", - "@textlint/module-interop": "^12.3.0", - "@textlint/textlint-plugin-markdown": "^12.3.0", - "@textlint/textlint-plugin-text": "^12.3.0", - "@textlint/types": "^12.3.0", - "@textlint/utils": "^12.3.0", + "@textlint/ast-traverse": "^12.5.0", + "@textlint/config-loader": "^12.5.0", + "@textlint/feature-flag": "^12.5.0", + "@textlint/fixer-formatter": "^12.5.1", + "@textlint/kernel": "^12.5.0", + "@textlint/linter-formatter": "^12.5.0", + "@textlint/module-interop": "^12.5.0", + "@textlint/textlint-plugin-markdown": "^12.5.0", + "@textlint/textlint-plugin-text": "^12.5.0", + "@textlint/types": "^12.5.0", + "@textlint/utils": "^12.5.0", "debug": "^4.3.4", "deep-equal": "^1.1.1", "file-entry-cache": "^5.0.1", @@ -12003,31 +11994,31 @@ "integrity": "sha512-ke5hlKy/xZ/vQt6j+h4k9GradJPDsV3FKsUqWpCpF/X8qWCU2zM4e1SMUAFjoUcLuF9in+eXIQ71Qm/AdjjkZQ==" }, "@textlint/ast-tester": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.3.0.tgz", - "integrity": "sha512-f135pLEv/6epjRNlSTpxHX/3lutzB+l1GCHjVlm+PRCWEunKBvcZxyBCf1mp00vKNQdOpLnSPFDHIa/KgsZ/nQ==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.5.0.tgz", + "integrity": "sha512-osHf1OFLC3RnjGyoSBynn2u5pgj7qkik8TNaxgPekVwlLWtJTcyh22PHo+mXPF47XWM5gJQmy/72nUrqtbDMPg==", "requires": { "@textlint/ast-node-types": "^12.3.0", "debug": "^4.3.4" } }, "@textlint/ast-traverse": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.3.0.tgz", - "integrity": "sha512-WkDOgs7LJNf9kq7yGIi10FuBkW0wpbgMR6unLegRBwT+xN7JxynFnlLVHUfyJs3S0VPYFHX6Dvybg4As7iM4Tw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.5.0.tgz", + "integrity": "sha512-TAbfxz8x8Q/sn7D/h7OikzYp5NqPDrRExm3N+3v9yj+gq++fxHtskas48tm1TYcChTMq6BbPU+EGbdlMo3rWWA==", "requires": { "@textlint/ast-node-types": "^12.3.0" } }, "@textlint/config-loader": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-12.3.1.tgz", - "integrity": "sha512-iKCrif/McG0dCokvyoxvXcH6G9FaiSDF3DtNYo4GlxavqVtKxKxuFvkeQahWL0QWM9Z+yXlGUcBJdYj6Zxevkw==", - "requires": { - "@textlint/kernel": "^12.3.0", - "@textlint/module-interop": "^12.3.0", - "@textlint/types": "^12.3.0", - "@textlint/utils": "^12.3.0", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-12.5.0.tgz", + "integrity": "sha512-g706+XwdsUGpVXzqW7OFcBO8XdxH1AqbD0D3UYEjlfUONXD0c4Bymctdjk49hzOwTVDGqj+CCyvL+cB/X2bG+Q==", + "requires": { + "@textlint/kernel": "^12.5.0", + "@textlint/module-interop": "^12.5.0", + "@textlint/types": "^12.5.0", + "@textlint/utils": "^12.5.0", "debug": "^4.3.4", "rc-config-loader": "^4.1.1", "try-resolve": "^1.0.1" @@ -12047,17 +12038,17 @@ } }, "@textlint/feature-flag": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.3.0.tgz", - "integrity": "sha512-7WgC2d6gk+aeQLPz6M24Ngt4hsZkUL701CjP9R9P2RnLFMVOxwJ7YzpxcGTrlK5pmMNZ06xfbHpBd4rE0d567Q==" + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.5.0.tgz", + "integrity": "sha512-GdyRbbIsWRuZieWKvRxQA8j5wX5hzq+QqEmuputBrU/KKapNfkg6uNY2GOY6SWvC8QcwD0dYh3Dy1x2txT8p8Q==" }, "@textlint/fixer-formatter": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.4.0.tgz", - "integrity": "sha512-pCo/EuW8CUdF+AMPI/AhfCuDusQ19BORlKznLfCQoPBvTweSo3M2yDTDeHhi2PLNnKy812KpcJBBpZryALe2nA==", + "version": "12.5.1", + "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.5.1.tgz", + "integrity": "sha512-dzOsgpkl5lIB25BHgW0saAohRW4ZF0s/SyK/FbweYtkDGd190USLGpCibx2M8/mAEFDs5YsnTqZlkbp1FLLuyQ==", "requires": { - "@textlint/module-interop": "^12.3.0", - "@textlint/types": "^12.3.0", + "@textlint/module-interop": "^12.5.0", + "@textlint/types": "^12.5.0", "chalk": "^4.1.2", "debug": "^4.3.4", "diff": "^4.0.2", @@ -12074,31 +12065,31 @@ "integrity": "sha512-J3cG1pl2llYD4ZaZMe0qVgVaHT8RvT+/SW1FHQ8HRceNalMM9O0Y8iIgtl4GGOx4vMghoIPKFVLASw8P8bJ3ZA==" }, "@textlint/kernel": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.3.0.tgz", - "integrity": "sha512-ENNaAeIc3DkuIIA/igkEwu9QIUv6YiLpsZu0lh1+11gdIPbyqwZoF+OO35VColZNFpcIYjeODjZukXAUtKZNCA==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.5.0.tgz", + "integrity": "sha512-9UspUHtS2FShTO9pWnrZjadjIvJzFIdIZDKIYCdZuUdU8dEhJqwOdYosqM4N5Wy40aMKnv4Voxp80Ssaq7zZaA==", "requires": { "@textlint/ast-node-types": "^12.3.0", - "@textlint/ast-tester": "^12.3.0", - "@textlint/ast-traverse": "^12.3.0", - "@textlint/feature-flag": "^12.3.0", - "@textlint/source-code-fixer": "^12.3.0", - "@textlint/types": "^12.3.0", - "@textlint/utils": "^12.3.0", + "@textlint/ast-tester": "^12.5.0", + "@textlint/ast-traverse": "^12.5.0", + "@textlint/feature-flag": "^12.5.0", + "@textlint/source-code-fixer": "^12.5.0", + "@textlint/types": "^12.5.0", + "@textlint/utils": "^12.5.0", "debug": "^4.3.4", "deep-equal": "^1.1.1", "structured-source": "^3.0.2" } }, "@textlint/linter-formatter": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.3.1.tgz", - "integrity": "sha512-n6elvyIBux/lefhmQBZUjgN2EZQ347b6v1waUPAGKmljsndoVCyY+m6RbNhAQtVsNTA1sdO7cJDIxvnX4g1kaA==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.5.0.tgz", + "integrity": "sha512-cJ87VGmyqDyjxT2aL3492g/YyGh6AU7/3QqxKN9q8rxJtzaY2e1uJrUKdpj0oOj1xZzYYv8zPeIpFaiFtNW02Q==", "requires": { "@azu/format-text": "^1.0.1", "@azu/style-format": "^1.0.0", - "@textlint/module-interop": "^12.3.0", - "@textlint/types": "^12.3.0", + "@textlint/module-interop": "^12.5.0", + "@textlint/types": "^12.5.0", "chalk": "^4.1.2", "debug": "^4.3.4", "is-file": "^1.0.0", @@ -12138,9 +12129,9 @@ } }, "@textlint/markdown-to-ast": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.3.0.tgz", - "integrity": "sha512-gyLVU5WTJOIYJlGOPixENCzoj8SC4mpDkB+ADVFoqWCK4AOiZOHxDCH69g2AQQWKJYNmw7is4ZnyKA6q+OCPAw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.5.0.tgz", + "integrity": "sha512-+fUslPm0+ukMnRVMPUQwKv1DEwmDP/rXFuzc5+k5tCMhighZ/Fv/e3Y9MUe7SgNDte7ilajTa3/uP0Iurr60WA==", "requires": { "@textlint/ast-node-types": "^12.3.0", "debug": "^4.3.4", @@ -12154,9 +12145,9 @@ } }, "@textlint/module-interop": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.3.0.tgz", - "integrity": "sha512-Qc7yamUIagaN8XW9cToIrtxOD2dqZeJBCf/Y/P+16aPYU+z186EQ4JNNWPXGss5XNtHNFA5Ztjh17NXpmowk2w==" + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.5.0.tgz", + "integrity": "sha512-NmkHL5tt+HEqLm00JSW1f03KTbEqOzupliboSZ2HeNhOqZxSX4wR3lBlGqVeVi5dImMWrt40oa+AbkqkD78b9Q==" }, "@textlint/regexp-string-matcher": { "version": "1.1.1", @@ -12179,50 +12170,50 @@ } }, "@textlint/source-code-fixer": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.3.0.tgz", - "integrity": "sha512-ma5HN8BbmeE6UnIiVWRdMigwqGHGG9R+kTBJBro5tsCyaktGPArnbg1EynJeBVz/C7vMll4RXcuOFyvEtaMsOw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.5.0.tgz", + "integrity": "sha512-7LebJ6Y64Rb4fVYyokpU8FnjNLdx+TehcHQJ9L/fi8PYVjpS/08klYtYfRtKWmi/vrWED7U0aGhb8Xr26NuWFw==", "requires": { - "@textlint/types": "^12.3.0", + "@textlint/types": "^12.5.0", "debug": "^4.3.4" } }, "@textlint/text-to-ast": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.3.0.tgz", - "integrity": "sha512-eRNy+yUvh5ZkgB+2WrHYVu6HwBopLJwn0cw6bEcgYbUyxYNu7gjwaBp6vyg0qjzLQ3ujA4pkW17v6Q+shm6Oqw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.5.0.tgz", + "integrity": "sha512-wOWYX+d821ThwNYNk5hfxOBxvkqKUpNOBKkDaic4V+dkuBoAS0D9lE9fA9Ps62kL/I1uQwhU5d4qsAHWnFmQkw==", "requires": { "@textlint/ast-node-types": "^12.3.0" } }, "@textlint/textlint-plugin-markdown": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.3.0.tgz", - "integrity": "sha512-luLU4a3n96jcBjOkybcaRmxQWJX1gMlM48B5HWj0cfgtxCAUmeCFI+fHbWcp6THJR6nPNqWnvzyEuMwYAI9LYQ==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.5.0.tgz", + "integrity": "sha512-1B4mTmA1NOvK2kAk4Rl/TW3QFB80iwhsOKSJ16nCH/yvF82xgH+Gu4gQB/prNpACb4TivmzwvBRYp7rzhOTTyA==", "requires": { - "@textlint/markdown-to-ast": "^12.3.0" + "@textlint/markdown-to-ast": "^12.5.0" } }, "@textlint/textlint-plugin-text": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.3.0.tgz", - "integrity": "sha512-Z2ZYsKMIma6hOa0wjCUhl7UNFLb2DJFhNYSJkoaiW+TO55WMz0hzBvwXss4fvc8dKit2afMwmGlLKYcie000BA==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.5.0.tgz", + "integrity": "sha512-ec3rZaJYytoscwpAtuxD4UM3bUPqNAeWKia+LMaVMWREULwKfntlSAqSNmudujEkxdsKr028CkzYuP78q8Xmuw==", "requires": { - "@textlint/text-to-ast": "^12.3.0" + "@textlint/text-to-ast": "^12.5.0" } }, "@textlint/types": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.3.0.tgz", - "integrity": "sha512-6IcKqGJyIISaH4JqkUEsG+3FIg0CVSz1iHFfwMA16YgRuKtSDuySPyo3LfpcQ3dqUeonr29yWgfi2f1QM8SCDw==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.5.0.tgz", + "integrity": "sha512-Po5qOubilL/g3dx+ZUgaQzNXbROADBF4Z5xy7qqgV6pBQIEE/06INZDmmLE1Eesm2zoDpygoG/1f/0/Cy5Yupw==", "requires": { "@textlint/ast-node-types": "^12.3.0" } }, "@textlint/utils": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.3.0.tgz", - "integrity": "sha512-O9WuQqN+hEs1tVWSd3HQYCPQZyKTW/JjKoaMxYsKtvHwu592094iONppyBFwKpmlQCU/woelvbIRQruDRggVVQ==" + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.5.0.tgz", + "integrity": "sha512-bQWrQ7Xaru1DRLQhAQQJgNnfGQIwgTgWUigdS5wSwpbmfLDnaMzHu3AG0lk5hEnELMKTCIej5uCR0+YscyUckg==" }, "@tootallnate/once": { "version": "1.1.2", @@ -13760,9 +13751,9 @@ } }, "eslint-plugin-jest": { - "version": "27.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.0.tgz", - "integrity": "sha512-KGIYtelk4rIhKocxRKUEeX+kJ0ZCab/CiSgS8BMcKD7AY7YxXhlg/d51oF5jq2rOrtuJEDYWRwXD95l6l2vtrA==", + "version": "27.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz", + "integrity": "sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==", "requires": { "@typescript-eslint/utils": "^5.10.0" } @@ -13777,9 +13768,9 @@ } }, "eslint-plugin-jsonc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.5.0.tgz", - "integrity": "sha512-G257khwkrOQ5MJpSzz4yQh5K12W4xFZRcHmVlhVFWh2GCLDX+JwHnmkQoUoFDbOieSPBMsPFZDTJScwrXiWlIg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.6.0.tgz", + "integrity": "sha512-4bA9YTx58QaWalua1Q1b82zt7eZMB7i+ed8q8cKkbKP75ofOA2SXbtFyCSok7RY6jIXeCqQnKjN9If8zCgv6PA==", "requires": { "eslint-utils": "^3.0.0", "jsonc-eslint-parser": "^2.0.4", @@ -15448,27 +15439,26 @@ } }, "markdownlint": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz", - "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.27.0.tgz", + "integrity": "sha512-HtfVr/hzJJmE0C198F99JLaeada+646B5SaG2pVoEakLFI6iRGsvMqrnnrflq8hm1zQgwskEgqSnhDW11JBp0w==", "requires": { "markdown-it": "13.0.1" } }, "markdownlint-cli": { - "version": "0.32.2", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.32.2.tgz", - "integrity": "sha512-xmJT1rGueUgT4yGNwk6D0oqQr90UJ7nMyakXtqjgswAkEhYYqjHew9RY8wDbOmh2R270IWjuKSeZzHDEGPAUkQ==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.33.0.tgz", + "integrity": "sha512-zMK1oHpjYkhjO+94+ngARiBBrRDEUMzooDHBAHtmEIJ9oYddd9l3chCReY2mPlecwH7gflQp1ApilTo+o0zopQ==", "requires": { - "commander": "~9.4.0", + "commander": "~9.4.1", "get-stdin": "~9.0.0", "glob": "~8.0.3", - "ignore": "~5.2.0", + "ignore": "~5.2.4", "js-yaml": "^4.1.0", - "jsonc-parser": "~3.1.0", - "markdownlint": "~0.26.2", - "markdownlint-rule-helpers": "~0.17.2", - "minimatch": "~5.1.0", + "jsonc-parser": "~3.2.0", + "markdownlint": "~0.27.0", + "minimatch": "~5.1.2", "run-con": "~1.2.11" }, "dependencies": { @@ -15486,25 +15476,20 @@ "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==" }, "jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "requires": { "brace-expansion": "^2.0.1" } } } }, - "markdownlint-rule-helpers": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.17.2.tgz", - "integrity": "sha512-XaeoW2NYSlWxMCZM2B3H7YTG6nlaLfkEZWMBhr4hSPlq9MuY2sy83+Xr89jXOqZMZYjvi5nBCGoFh7hHoPKZmA==" - }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -16626,9 +16611,9 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, "prettier": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", - "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==" + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz", + "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==" }, "prettier-linter-helpers": { "version": "1.0.0", @@ -17852,22 +17837,22 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "textlint": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/textlint/-/textlint-12.4.0.tgz", - "integrity": "sha512-n8WAsOf+JtDXTj12A8DF+kuaV+YVawaf8DUzdEc00AFK/qMUsvUZ79X60SBO1sEYwkjExErQv1JRIFHwOp/XEw==", + "version": "12.5.1", + "resolved": "https://registry.npmjs.org/textlint/-/textlint-12.5.1.tgz", + "integrity": "sha512-LoFU1yBIm/gxM++jDdvdfS2diW14NBHsimRyChi8Kb5h5pUHcG0rGfW2PflUzfYcHF0XykgW9WBdPd1WWnyS7Q==", "requires": { "@textlint/ast-node-types": "^12.3.0", - "@textlint/ast-traverse": "^12.3.0", - "@textlint/config-loader": "^12.3.1", - "@textlint/feature-flag": "^12.3.0", - "@textlint/fixer-formatter": "^12.4.0", - "@textlint/kernel": "^12.3.0", - "@textlint/linter-formatter": "^12.3.1", - "@textlint/module-interop": "^12.3.0", - "@textlint/textlint-plugin-markdown": "^12.3.0", - "@textlint/textlint-plugin-text": "^12.3.0", - "@textlint/types": "^12.3.0", - "@textlint/utils": "^12.3.0", + "@textlint/ast-traverse": "^12.5.0", + "@textlint/config-loader": "^12.5.0", + "@textlint/feature-flag": "^12.5.0", + "@textlint/fixer-formatter": "^12.5.1", + "@textlint/kernel": "^12.5.0", + "@textlint/linter-formatter": "^12.5.0", + "@textlint/module-interop": "^12.5.0", + "@textlint/textlint-plugin-markdown": "^12.5.0", + "@textlint/textlint-plugin-text": "^12.5.0", + "@textlint/types": "^12.5.0", + "@textlint/utils": "^12.5.0", "debug": "^4.3.4", "deep-equal": "^1.1.1", "file-entry-cache": "^5.0.1", diff --git a/dependencies/package.json b/dependencies/package.json index 6d4f13d1671..eec80bf8044 100644 --- a/dependencies/package.json +++ b/dependencies/package.json @@ -14,9 +14,9 @@ "eslint-config-prettier": "^8.6.0", "@react-native-community/eslint-config": "^3.2.0", "@react-native-community/eslint-plugin": "^1.3.0", - "eslint-plugin-jest": "^27.2.0", + "eslint-plugin-jest": "^27.2.1", "eslint-plugin-json": "^3.1.0", - "eslint-plugin-jsonc": "^2.5.0", + "eslint-plugin-jsonc": "^2.6.0", "eslint-plugin-jsx-a11y": "^6.6.1", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.31.11", @@ -28,10 +28,10 @@ "ini": "^3.0.1", "jscpd": "^3.5.3", "lodash": "^4.17.21", - "markdownlint-cli": "^0.32.2", + "markdownlint-cli": "^0.33.0", "node-fetch": "^3.3.0", "npm-groovy-lint": "^11.1.1", - "prettier": "^2.8.1", + "prettier": "^2.8.2", "prettyjson": "^1.2.5", "pug": "^3.0.2", "sql-lint": "1.0.0", @@ -46,7 +46,7 @@ "postcss-less": "^6.0.0", "stylelint-scss": "^4.3.0", "tekton-lint": "^0.6.0", - "textlint": "^12.4.0", + "textlint": "^12.5.1", "textlint-filter-rule-allowlist": "^4.0.0", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-terminology": "^3.0.4", From fb52bf4f560f54f8d00d1e23dc1aba45dbb69025 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Sun, 8 Jan 2023 23:58:43 -0500 Subject: [PATCH 64/82] Fix JSON security flaw in npm Signed-off-by: Brett Logan --- dependencies/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dependencies/package-lock.json b/dependencies/package-lock.json index 6912dbd2b1f..ab262583cde 100644 --- a/dependencies/package-lock.json +++ b/dependencies/package-lock.json @@ -10115,9 +10115,9 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -18240,9 +18240,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } From 42f676bd3e957ae29a494360c77107ed2288ce3a Mon Sep 17 00:00:00 2001 From: Super-Linter Automation Date: Mon, 9 Jan 2023 14:08:37 +0000 Subject: [PATCH 65/82] Update Python dependencies --- dependencies/python/ansible-lint.txt | 2 +- dependencies/python/pylint.txt | 2 +- dependencies/python/snakemake.txt | 4 ++-- dependencies/python/sqlfluff.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dependencies/python/ansible-lint.txt b/dependencies/python/ansible-lint.txt index 7ed8fb4dfcd..81b1b3b1952 100644 --- a/dependencies/python/ansible-lint.txt +++ b/dependencies/python/ansible-lint.txt @@ -13,7 +13,7 @@ Jinja2==3.1.2 jsonschema==4.17.3 MarkupSafe==2.1.1 mypy-extensions==0.4.3 -packaging==22.0 +packaging==23.0 pathspec==0.10.3 platformdirs==2.6.2 pycparser==2.21 diff --git a/dependencies/python/pylint.txt b/dependencies/python/pylint.txt index b4f083f8efe..9ec21d17816 100644 --- a/dependencies/python/pylint.txt +++ b/dependencies/python/pylint.txt @@ -4,7 +4,7 @@ isort==5.11.4 lazy-object-proxy==1.9.0 mccabe==0.7.0 platformdirs==2.6.2 -pylint==2.15.9 +pylint==2.15.10 tomli==2.0.1 tomlkit==0.11.6 typing_extensions==4.4.0 diff --git a/dependencies/python/snakemake.txt b/dependencies/python/snakemake.txt index 55caaf14ddc..8bd0d886a53 100644 --- a/dependencies/python/snakemake.txt +++ b/dependencies/python/snakemake.txt @@ -13,7 +13,7 @@ GitPython==3.1.30 idna==3.4 Jinja2==3.1.2 jsonschema==4.17.3 -jupyter_core==5.1.2 +jupyter_core==5.1.3 MarkupSafe==2.1.1 nbformat==5.7.1 plac==1.3.5 @@ -31,7 +31,7 @@ stopit==1.1.2 tabulate==0.9.0 throttler==1.2.2 toposort==1.7 -traitlets==5.8.0 +traitlets==5.8.1 urllib3==1.26.13 wrapt==1.14.1 yte==1.5.1 diff --git a/dependencies/python/sqlfluff.txt b/dependencies/python/sqlfluff.txt index ea45609c9be..beb71abad26 100644 --- a/dependencies/python/sqlfluff.txt +++ b/dependencies/python/sqlfluff.txt @@ -8,7 +8,7 @@ exceptiongroup==1.1.0 iniconfig==2.0.0 Jinja2==3.1.2 MarkupSafe==2.1.1 -packaging==22.0 +packaging==23.0 pathspec==0.10.3 pluggy==1.0.0 Pygments==2.14.0 From 6d7a7b41c9bd1872c012abba9937082ade7a718a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jan 2023 13:03:15 +0000 Subject: [PATCH 66/82] Bump hashicorp/terraform from 1.3.6 to 1.3.7 Bumps hashicorp/terraform from 1.3.6 to 1.3.7. --- updated-dependencies: - dependency-name: hashicorp/terraform dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 68cc611f5bc..f6caad54489 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ FROM ghcr.io/awkbar-devops/clang-format:v1.0.2 as clang-format FROM ghcr.io/terraform-linters/tflint-bundle:v0.44.1.0 as tflint FROM golangci/golangci-lint:v1.50.1 as golangci-lint FROM hadolint/hadolint:latest-alpine as dockerfile-lint -FROM hashicorp/terraform:1.3.6 as terraform +FROM hashicorp/terraform:1.3.7 as terraform FROM koalaman/shellcheck:v0.9.0 as shellcheck FROM mstruebing/editorconfig-checker:2.4.0 as editorconfig-checker FROM mvdan/shfmt:v3.6.0 as shfmt From 2cdffd7af58d4fb22cab83bf308f890ec726ae65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jan 2023 04:06:48 +0000 Subject: [PATCH 67/82] Bump rubocop-github from 0.18.0 to 0.20.0 in /dependencies Bumps [rubocop-github](https://github.com/github/rubocop-github) from 0.18.0 to 0.20.0. - [Release notes](https://github.com/github/rubocop-github/releases) - [Changelog](https://github.com/github/rubocop-github/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/rubocop-github/compare/v0.18.0...v0.20.0) --- updated-dependencies: - dependency-name: rubocop-github dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- dependencies/Gemfile | 2 +- dependencies/Gemfile.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dependencies/Gemfile b/dependencies/Gemfile index 326f7dd1c6b..63431108a76 100644 --- a/dependencies/Gemfile +++ b/dependencies/Gemfile @@ -5,7 +5,7 @@ source "https://rubygems.org" git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } gem "rubocop", "~> 1.42.0" -gem "rubocop-github", "~> 0.18.0" +gem "rubocop-github", "~> 0.20.0" gem "rubocop-minitest", "~> 0.25.1" gem "rubocop-performance", "~>1.15.2" gem "rubocop-rails", "~> 2.17" diff --git a/dependencies/Gemfile.lock b/dependencies/Gemfile.lock index 85bd55458a1..ec924ffebcf 100644 --- a/dependencies/Gemfile.lock +++ b/dependencies/Gemfile.lock @@ -11,7 +11,7 @@ GEM i18n (1.12.0) concurrent-ruby (~> 1.0) json (2.6.3) - minitest (5.16.3) + minitest (5.17.0) parallel (1.22.1) parser (3.2.0.0) ast (~> 2.4.1) @@ -31,10 +31,10 @@ GEM unicode-display_width (>= 1.4.0, < 3.0) rubocop-ast (1.24.1) parser (>= 3.1.1.0) - rubocop-github (0.18.0) - rubocop (>= 1.0.0) - rubocop-performance - rubocop-rails + rubocop-github (0.20.0) + rubocop (>= 1.37) + rubocop-performance (>= 1.15) + rubocop-rails (>= 2.17) rubocop-minitest (0.25.1) rubocop (>= 0.90, < 2.0) rubocop-performance (1.15.2) @@ -51,14 +51,14 @@ GEM ruby-progressbar (1.11.0) tzinfo (2.0.5) concurrent-ruby (~> 1.0) - unicode-display_width (2.4.1) + unicode-display_width (2.4.2) PLATFORMS ruby DEPENDENCIES rubocop (~> 1.42.0) - rubocop-github (~> 0.18.0) + rubocop-github (~> 0.20.0) rubocop-minitest (~> 0.25.1) rubocop-performance (~> 1.15.2) rubocop-rails (~> 2.17) From c26ca9fb2cce9f169fcb81077bb93017d7fe8fe5 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Sun, 8 Jan 2023 23:35:37 -0500 Subject: [PATCH 68/82] Address linting issues Signed-off-by: Brett Logan --- .../super-linter/controls/super_linter.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/inspec/super-linter/controls/super_linter.rb b/test/inspec/super-linter/controls/super_linter.rb index 83bdccd28e2..9d3e60dceaa 100644 --- a/test/inspec/super-linter/controls/super_linter.rb +++ b/test/inspec/super-linter/controls/super_linter.rb @@ -68,7 +68,7 @@ ) packages.each do |item| - if(image == "slim" && SLIM_IMAGE_REMOVED_PACKAGES.include?(item)) + if (image == "slim" && SLIM_IMAGE_REMOVED_PACKAGES.include?(item)) next else describe package(item) do @@ -171,10 +171,10 @@ # command because the vast majority of linters have name == command linter_command = "" - if(image == "slim" && SLIM_IMAGE_REMOVED_LINTERS.include?(linter[:linter_name])) + if (image == "slim" && SLIM_IMAGE_REMOVED_LINTERS.include?(linter[:linter_name])) next else - if(linter.key?(:linter_command)) + if (linter.key?(:linter_command)) linter_command = linter[:linter_command] else linter_command = linter[:linter_name] @@ -185,12 +185,12 @@ end # A few linters have a command that it's different than linter_command - if(linter.key?(:version_command)) + if (linter.key?(:version_command)) version_command = linter[:version_command] else # Check if the linter needs an option that is different from the one that # the vast majority of linters use to get the version - if(linter.key?(:version_option)) + if (linter.key?(:version_option)) version_option = linter[:version_option] else version_option = default_version_option @@ -198,13 +198,13 @@ version_command = "#{linter_command} #{version_option}" - if(linter.key?(:expected_exit_status)) + if (linter.key?(:expected_exit_status)) expected_exit_status = linter[:expected_exit_status] else expected_exit_status = default_version_expected_exit_status end - if(linter.key?(:expected_stdout_regex)) + if (linter.key?(:expected_stdout_regex)) expected_stdout_regex = linter[:expected_stdout_regex] else expected_stdout_regex = default_expected_stdout_regex @@ -332,7 +332,7 @@ ) dirs.each do |item| - if(image == "slim" && SLIM_IMAGE_REMOVED_DIRS.include?(item)) + if (image == "slim" && SLIM_IMAGE_REMOVED_DIRS.include?(item)) next else describe directory(item) do @@ -421,7 +421,7 @@ title "Super-Linter validate Powershell Modules" desc "Check that Powershell modules that Super-Linter needs are installed." - if(image == "slim") + if (image == "slim") next else describe command("pwsh -c \"(Get-Module -Name PSScriptAnalyzer -ListAvailable | Select-Object -First 1).Name\" 2>&1") do From 053a52e2f649d594c6db363e81d3a01ebf58b1d9 Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Wed, 11 Jan 2023 16:52:36 +0200 Subject: [PATCH 69/82] Fix Google Java Format tests and return code, and show output only if changed (#3810) --- .../{google_java_format_bad_1.java => gjf_bad_1.java} | 0 .../{google_java_format_bad_2.java => gjf_bad_2.java} | 0 .automation/test/google_java_format/gjf_good_1.java | 7 +++++++ .../{google_java_format_good_2.java => gjf_good_2.java} | 1 - .../google_java_format/google_java_format_good_1.java | 9 --------- lib/linter.sh | 2 +- 6 files changed, 8 insertions(+), 11 deletions(-) rename .automation/test/google_java_format/{google_java_format_bad_1.java => gjf_bad_1.java} (100%) rename .automation/test/google_java_format/{google_java_format_bad_2.java => gjf_bad_2.java} (100%) create mode 100644 .automation/test/google_java_format/gjf_good_1.java rename .automation/test/google_java_format/{google_java_format_good_2.java => gjf_good_2.java} (99%) delete mode 100644 .automation/test/google_java_format/google_java_format_good_1.java diff --git a/.automation/test/google_java_format/google_java_format_bad_1.java b/.automation/test/google_java_format/gjf_bad_1.java similarity index 100% rename from .automation/test/google_java_format/google_java_format_bad_1.java rename to .automation/test/google_java_format/gjf_bad_1.java diff --git a/.automation/test/google_java_format/google_java_format_bad_2.java b/.automation/test/google_java_format/gjf_bad_2.java similarity index 100% rename from .automation/test/google_java_format/google_java_format_bad_2.java rename to .automation/test/google_java_format/gjf_bad_2.java diff --git a/.automation/test/google_java_format/gjf_good_1.java b/.automation/test/google_java_format/gjf_good_1.java new file mode 100644 index 00000000000..d067507e604 --- /dev/null +++ b/.automation/test/google_java_format/gjf_good_1.java @@ -0,0 +1,7 @@ +/** Represents a good Java file. */ +public static class JavaGood { + // Prints "Hello, World" to the terminal window. + private void helloWorld() { + System.out.println("Hello, World"); + } +} diff --git a/.automation/test/google_java_format/google_java_format_good_2.java b/.automation/test/google_java_format/gjf_good_2.java similarity index 99% rename from .automation/test/google_java_format/google_java_format_good_2.java rename to .automation/test/google_java_format/gjf_good_2.java index 376cef1fe8f..6c0763c40f3 100644 --- a/.automation/test/google_java_format/google_java_format_good_2.java +++ b/.automation/test/google_java_format/gjf_good_2.java @@ -9,5 +9,4 @@ public class Application { public static void main(final String[] args) { SpringApplication.run(Application.class, args); } - } diff --git a/.automation/test/google_java_format/google_java_format_good_1.java b/.automation/test/google_java_format/google_java_format_good_1.java deleted file mode 100644 index 70f50e7c860..00000000000 --- a/.automation/test/google_java_format/google_java_format_good_1.java +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Represents a good Java file. -*/ -public static class JavaGood { - // Prints "Hello, World" to the terminal window. - private void helloWorld() { - System.out.println("Hello, World"); - } -} diff --git a/lib/linter.sh b/lib/linter.sh index 345c594e9d3..683dfcb9f1f 100755 --- a/lib/linter.sh +++ b/lib/linter.sh @@ -911,7 +911,7 @@ fi LINTER_COMMANDS_ARRAY['GITLEAKS']="gitleaks detect --no-banner --no-git -c ${GITLEAKS_LINTER_RULES} -v -s" LINTER_COMMANDS_ARRAY['GHERKIN']="gherkin-lint -c ${GHERKIN_LINTER_RULES}" LINTER_COMMANDS_ARRAY['GO']="golangci-lint run --fast -c ${GO_LINTER_RULES}" -LINTER_COMMANDS_ARRAY['GOOGLE_JAVA_FORMAT']="java -jar /usr/bin/google-java-format" +LINTER_COMMANDS_ARRAY['GOOGLE_JAVA_FORMAT']="java -jar /usr/bin/google-java-format --dry-run --set-exit-if-changed" LINTER_COMMANDS_ARRAY['GROOVY']="npm-groovy-lint -c ${GROOVY_LINTER_RULES} --failon warning --no-insight" LINTER_COMMANDS_ARRAY['HTML']="htmlhint --config ${HTML_LINTER_RULES}" LINTER_COMMANDS_ARRAY['JAVA']="java -jar /usr/bin/checkstyle -c ${JAVA_LINTER_RULES}" From 81c370a61105eba149db04391d1d9e6269ef5496 Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Wed, 11 Jan 2023 18:24:48 +0200 Subject: [PATCH 70/82] Validate if we the test suite runs both good and bad tests (#3811) Also, remove the ansible-lint configuration file because we can rely on the default one --- .github/linters/.ansible-lint.yml | 27 ------------------- lib/functions/worker.sh | 45 ++++++++++++++++++++++++------- 2 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 .github/linters/.ansible-lint.yml diff --git a/.github/linters/.ansible-lint.yml b/.github/linters/.ansible-lint.yml deleted file mode 100644 index a009ca1586a..00000000000 --- a/.github/linters/.ansible-lint.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -######################## -# Make output parsable # -######################## -parseable: true - -################ -# Tags to skip # -################ -skip_list: - - 'empty-string-compare' # Allow compare to empty string - - '204' # Allow string length greater than 160 chars - - 'no-changed-when' # False positives for running command shells - - 'command-instead-of-module' # Allow git commands for push, add, etc... - - 'command-instead-of-shell' # Allow use of shell when you want - - 'no-handler' # Allow step to run like handler - - 'unnamed-task' # Allow tasks without a name - -############# -# Use rules # -############# -use_default_rules: true - -################# -# Set verbosity # -################# -verbosity: 2 diff --git a/lib/functions/worker.sh b/lib/functions/worker.sh index 209ec0f63fc..d77a2372ff4 100755 --- a/lib/functions/worker.sh +++ b/lib/functions/worker.sh @@ -39,6 +39,10 @@ function LintCodebase() { SKIP_FLAG=0 INDEX=0 + # We use these flags to check how many "bad" and "good" test cases we ran + BAD_TEST_CASES_COUNT=0 + GOOD_TEST_CASES_COUNT=0 + ############################################################ # Check to see if we need to go through array or all files # ############################################################ @@ -300,6 +304,9 @@ function LintCodebase() { # Check for if it was supposed to pass # ######################################## if [[ ${FILE_STATUS} == "good" ]]; then + # Increase the good test cases count + (("GOOD_TEST_CASES_COUNT++")) + ############################## # Check the shell for errors # ############################## @@ -333,6 +340,10 @@ function LintCodebase() { ####################################### # File status = bad, this should fail # ####################################### + + # Increase the bad test cases count + (("BAD_TEST_CASES_COUNT++")) + ############################## # Check the shell for errors # ############################## @@ -372,14 +383,30 @@ function LintCodebase() { ) done - ############################## - # Validate we ran some tests # - ############################## - if [ "${TEST_CASE_RUN}" = "true" ] && [ "${INDEX}" -eq 0 ]; then - ################################################# - # We failed to find files and no tests were ran # - ################################################# - error "Failed to find any tests ran for the Linter:[${LINTER_NAME}]!" - fatal "Validate logic and that tests exist for linter: ${LINTER_NAME}" + if [ "${TEST_CASE_RUN}" = "true" ]; then + + debug "The ${LINTER_NAME} (linter: ${LINTER_NAME}) test suite has ${INDEX} test, of which ${BAD_TEST_CASES_COUNT} 'bad' (supposed to fail), ${GOOD_TEST_CASES_COUNT} 'good' (supposed to pass)." + + # Check if we ran at least one test + if [ "${INDEX}" -eq 0 ]; then + error "Failed to find any tests ran for the Linter:[${LINTER_NAME}]!" + fatal "Validate logic and that tests exist for linter: ${LINTER_NAME}" + fi + + # Check if we ran 'bad' tests + if [ "${BAD_TEST_CASES_COUNT}" -eq 0 ]; then + if [ "${FILE_TYPE}" = "ANSIBLE" ]; then + debug "There are no 'bad' tests for ${FILE_TYPE}, but it's a corner case that we allow because ${LINTER_NAME} is supposed to lint entire directories and the test suite doesn't support this corner case for 'bad' tests yet." + else + error "Failed to find any tests that are expected to fail for the Linter:[${LINTER_NAME}]!" + fatal "Validate logic and that tests that are expected to fail exist for linter: ${LINTER_NAME}" + fi + fi + + # Check if we ran 'good' tests + if [ "${GOOD_TEST_CASES_COUNT}" -eq 0 ]; then + error "Failed to find any tests that are expected to pass for the Linter:[${LINTER_NAME}]!" + fatal "Validate logic and that tests that are expected to pass exist for linter: ${LINTER_NAME}" + fi fi } From ada457273e5c4a88f8e072763602d0c2421da855 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 11 Jan 2023 10:51:18 -0500 Subject: [PATCH 71/82] Add terraform_fmt to inspec tests Signed-off-by: Brett Logan --- test/inspec/super-linter/controls/super_linter.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/test/inspec/super-linter/controls/super_linter.rb b/test/inspec/super-linter/controls/super_linter.rb index 9d3e60dceaa..6ec4d6894f5 100644 --- a/test/inspec/super-linter/controls/super_linter.rb +++ b/test/inspec/super-linter/controls/super_linter.rb @@ -149,6 +149,7 @@ { linter_name: "standard"}, { linter_name: "stylelint"}, { linter_name: "tekton-lint"}, + { linter_name: "terraform_fmt", version_command: "terraform fmt --version"} { linter_name: "terragrunt"}, { linter_name: "terrascan", version_option: "version"}, { linter_name: "tflint"}, From 6cc86ad0309b1b2d37234e7d2af69ae71479e348 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 11 Jan 2023 11:14:22 -0500 Subject: [PATCH 72/82] Add missing comma Signed-off-by: Brett Logan --- test/inspec/super-linter/controls/super_linter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/inspec/super-linter/controls/super_linter.rb b/test/inspec/super-linter/controls/super_linter.rb index 6ec4d6894f5..42393ef097e 100644 --- a/test/inspec/super-linter/controls/super_linter.rb +++ b/test/inspec/super-linter/controls/super_linter.rb @@ -149,7 +149,7 @@ { linter_name: "standard"}, { linter_name: "stylelint"}, { linter_name: "tekton-lint"}, - { linter_name: "terraform_fmt", version_command: "terraform fmt --version"} + { linter_name: "terraform_fmt", version_command: "terraform fmt --version"}, { linter_name: "terragrunt"}, { linter_name: "terrascan", version_option: "version"}, { linter_name: "tflint"}, From 58a5e5c4b034be831f1f71a18d5ffa8cf623abab Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Wed, 11 Jan 2023 11:45:12 -0500 Subject: [PATCH 73/82] Fix inspec test linter_name for terraform fmt Signed-off-by: Brett Logan --- test/inspec/super-linter/controls/super_linter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/inspec/super-linter/controls/super_linter.rb b/test/inspec/super-linter/controls/super_linter.rb index 42393ef097e..698ef311855 100644 --- a/test/inspec/super-linter/controls/super_linter.rb +++ b/test/inspec/super-linter/controls/super_linter.rb @@ -149,7 +149,7 @@ { linter_name: "standard"}, { linter_name: "stylelint"}, { linter_name: "tekton-lint"}, - { linter_name: "terraform_fmt", version_command: "terraform fmt --version"}, + { linter_name: "terraform"}, { linter_name: "terragrunt"}, { linter_name: "terrascan", version_option: "version"}, { linter_name: "tflint"}, From 094f6fd78d4cf47797761307db25b04eab496c6a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 13:00:35 +0000 Subject: [PATCH 74/82] Bump cljkondo/clj-kondo from 2022.12.10-alpine to 2023.01.12-alpine Bumps cljkondo/clj-kondo from 2022.12.10-alpine to 2023.01.12-alpine. --- updated-dependencies: - dependency-name: cljkondo/clj-kondo dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f6caad54489..2ec8af6cb6f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ FROM alpine/terragrunt:1.3.6 as terragrunt FROM tenable/terrascan:1.17.1 as terrascan FROM assignuser/chktex-alpine:v0.1.1 as chktex -FROM cljkondo/clj-kondo:2022.12.10-alpine as clj-kondo +FROM cljkondo/clj-kondo:2023.01.12-alpine as clj-kondo FROM dotenvlinter/dotenv-linter:3.3.0 as dotenv-linter FROM ghcr.io/awkbar-devops/clang-format:v1.0.2 as clang-format FROM ghcr.io/terraform-linters/tflint-bundle:v0.44.1.0 as tflint From 46bb46783ec0203f66c7344e36540f10bca141d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 13:00:40 +0000 Subject: [PATCH 75/82] Bump alpine from 3.17.0 to 3.17.1 Bumps alpine from 3.17.0 to 3.17.1. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2ec8af6cb6f..80b9a9dd6ce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -219,7 +219,7 @@ RUN ./build-venvs.sh ################################################################################ # Grab small clean image to build slim ################################### ################################################################################ -FROM alpine:3.17.0 as slim +FROM alpine:3.17.1 as slim ############################ # Get the build arguements # From 76f9f534ab90c15be3c226a86e1d59acd4f4275b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 13:00:41 +0000 Subject: [PATCH 76/82] Bump rubocop from 1.42.0 to 1.43.0 in /dependencies Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.42.0 to 1.43.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.42.0...v1.43.0) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- dependencies/Gemfile | 2 +- dependencies/Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dependencies/Gemfile b/dependencies/Gemfile index 63431108a76..6bbd2e64e86 100644 --- a/dependencies/Gemfile +++ b/dependencies/Gemfile @@ -4,7 +4,7 @@ source "https://rubygems.org" git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } -gem "rubocop", "~> 1.42.0" +gem "rubocop", "~> 1.43.0" gem "rubocop-github", "~> 0.20.0" gem "rubocop-minitest", "~> 0.25.1" gem "rubocop-performance", "~>1.15.2" diff --git a/dependencies/Gemfile.lock b/dependencies/Gemfile.lock index ec924ffebcf..a08e8771530 100644 --- a/dependencies/Gemfile.lock +++ b/dependencies/Gemfile.lock @@ -19,16 +19,16 @@ GEM rainbow (3.1.1) regexp_parser (2.6.1) rexml (3.2.5) - rubocop (1.42.0) + rubocop (1.43.0) json (~> 2.3) parallel (~> 1.10) - parser (>= 3.1.2.1) + parser (>= 3.2.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) rubocop-ast (>= 1.24.1, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 3.0) + unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.24.1) parser (>= 3.1.1.0) rubocop-github (0.20.0) @@ -57,7 +57,7 @@ PLATFORMS ruby DEPENDENCIES - rubocop (~> 1.42.0) + rubocop (~> 1.43.0) rubocop-github (~> 0.20.0) rubocop-minitest (~> 0.25.1) rubocop-performance (~> 1.15.2) From 071223fbde067a57e2628282d97db2cde46d0083 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 13:00:50 +0000 Subject: [PATCH 77/82] Bump rubocop-minitest from 0.25.1 to 0.26.0 in /dependencies Bumps [rubocop-minitest](https://github.com/rubocop/rubocop-minitest) from 0.25.1 to 0.26.0. - [Release notes](https://github.com/rubocop/rubocop-minitest/releases) - [Changelog](https://github.com/rubocop/rubocop-minitest/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-minitest/compare/v0.25.1...v0.26.0) --- updated-dependencies: - dependency-name: rubocop-minitest dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- dependencies/Gemfile | 2 +- dependencies/Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dependencies/Gemfile b/dependencies/Gemfile index 6bbd2e64e86..26fea82b640 100644 --- a/dependencies/Gemfile +++ b/dependencies/Gemfile @@ -6,7 +6,7 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } gem "rubocop", "~> 1.43.0" gem "rubocop-github", "~> 0.20.0" -gem "rubocop-minitest", "~> 0.25.1" +gem "rubocop-minitest", "~> 0.26.0" gem "rubocop-performance", "~>1.15.2" gem "rubocop-rails", "~> 2.17" gem "rubocop-rake", "~> 0.6.0" diff --git a/dependencies/Gemfile.lock b/dependencies/Gemfile.lock index a08e8771530..0b1957a881e 100644 --- a/dependencies/Gemfile.lock +++ b/dependencies/Gemfile.lock @@ -35,7 +35,7 @@ GEM rubocop (>= 1.37) rubocop-performance (>= 1.15) rubocop-rails (>= 2.17) - rubocop-minitest (0.25.1) + rubocop-minitest (0.26.0) rubocop (>= 0.90, < 2.0) rubocop-performance (1.15.2) rubocop (>= 1.7.0, < 2.0) @@ -59,7 +59,7 @@ PLATFORMS DEPENDENCIES rubocop (~> 1.43.0) rubocop-github (~> 0.20.0) - rubocop-minitest (~> 0.25.1) + rubocop-minitest (~> 0.26.0) rubocop-performance (~> 1.15.2) rubocop-rails (~> 2.17) rubocop-rake (~> 0.6.0) From bb170af75d406d562ae56771946053adeed41ca6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 13:01:00 +0000 Subject: [PATCH 78/82] Bump rubocop-rspec from 2.16.0 to 2.18.0 in /dependencies Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.16.0 to 2.18.0. - [Release notes](https://github.com/rubocop/rubocop-rspec/releases) - [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.16.0...v2.18.0) --- updated-dependencies: - dependency-name: rubocop-rspec dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- dependencies/Gemfile | 2 +- dependencies/Gemfile.lock | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dependencies/Gemfile b/dependencies/Gemfile index 26fea82b640..7276cc23548 100644 --- a/dependencies/Gemfile +++ b/dependencies/Gemfile @@ -10,4 +10,4 @@ gem "rubocop-minitest", "~> 0.26.0" gem "rubocop-performance", "~>1.15.2" gem "rubocop-rails", "~> 2.17" gem "rubocop-rake", "~> 0.6.0" -gem "rubocop-rspec", "~> 2.16.0" +gem "rubocop-rspec", "~> 2.18.0" diff --git a/dependencies/Gemfile.lock b/dependencies/Gemfile.lock index 0b1957a881e..be71ca92d48 100644 --- a/dependencies/Gemfile.lock +++ b/dependencies/Gemfile.lock @@ -31,6 +31,8 @@ GEM unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.24.1) parser (>= 3.1.1.0) + rubocop-capybara (2.17.0) + rubocop (~> 1.41) rubocop-github (0.20.0) rubocop (>= 1.37) rubocop-performance (>= 1.15) @@ -46,8 +48,9 @@ GEM rubocop (>= 1.33.0, < 2.0) rubocop-rake (0.6.0) rubocop (~> 1.0) - rubocop-rspec (2.16.0) + rubocop-rspec (2.18.0) rubocop (~> 1.33) + rubocop-capybara ruby-progressbar (1.11.0) tzinfo (2.0.5) concurrent-ruby (~> 1.0) @@ -63,7 +66,7 @@ DEPENDENCIES rubocop-performance (~> 1.15.2) rubocop-rails (~> 2.17) rubocop-rake (~> 0.6.0) - rubocop-rspec (~> 2.16.0) + rubocop-rspec (~> 2.18.0) BUNDLED WITH 2.3.5 From fd53b78588cd4e229bbd3d250d1336a32f4db127 Mon Sep 17 00:00:00 2001 From: Super-Linter Automation Date: Mon, 16 Jan 2023 13:17:46 +0000 Subject: [PATCH 79/82] Update Python dependencies --- dependencies/python/ansible-lint.txt | 4 ++-- dependencies/python/cfn-lint.txt | 12 ++++++------ dependencies/python/snakemake.txt | 12 ++++++------ dependencies/python/sqlfluff.txt | 2 +- dependencies/python/yamllint.txt | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/dependencies/python/ansible-lint.txt b/dependencies/python/ansible-lint.txt index 81b1b3b1952..dc77976bd04 100644 --- a/dependencies/python/ansible-lint.txt +++ b/dependencies/python/ansible-lint.txt @@ -21,10 +21,10 @@ Pygments==2.14.0 pyrsistent==0.19.3 PyYAML==6.0 resolvelib==0.8.1 -rich==13.0.1 +rich==13.1.0 ruamel.yaml==0.17.21 ruamel.yaml.clib==0.2.7 subprocess-tee==0.4.1 tomli==2.0.1 wcmatch==8.4.1 -yamllint==1.28.0 +yamllint==1.29.0 diff --git a/dependencies/python/cfn-lint.txt b/dependencies/python/cfn-lint.txt index fba303cb8c2..d5e6cf5b617 100644 --- a/dependencies/python/cfn-lint.txt +++ b/dependencies/python/cfn-lint.txt @@ -1,8 +1,8 @@ attrs==22.2.0 -aws-sam-translator==1.56.0 -boto3==1.26.45 -botocore==1.29.45 -cfn-lint==0.72.6 +aws-sam-translator==1.57.0 +boto3==1.26.50 +botocore==1.29.50 +cfn-lint==0.72.8 jmespath==1.0.1 jschema-to-python==1.2.3 jsonpatch==1.32 @@ -11,7 +11,7 @@ jsonpointer==2.3 jsonschema==4.17.3 junit-xml==1.9 networkx==2.8.8 -pbr==5.11.0 +pbr==5.11.1 pydantic==1.10.4 pyrsistent==0.19.3 python-dateutil==2.8.2 @@ -20,4 +20,4 @@ s3transfer==0.6.0 sarif-om==1.0.4 six==1.16.0 typing_extensions==4.4.0 -urllib3==1.26.13 +urllib3==1.26.14 diff --git a/dependencies/python/snakemake.txt b/dependencies/python/snakemake.txt index 8bd0d886a53..504dfa7cc9c 100644 --- a/dependencies/python/snakemake.txt +++ b/dependencies/python/snakemake.txt @@ -1,12 +1,12 @@ appdirs==1.4.4 attrs==22.2.0 certifi==2022.12.7 -charset-normalizer==2.1.1 +charset-normalizer==3.0.1 ConfigArgParse==1.5.3 connection-pool==0.0.3 datrie==0.8.2 docutils==0.19 -dpath==2.1.3 +dpath==2.1.4 fastjsonschema==2.16.2 gitdb==4.0.10 GitPython==3.1.30 @@ -15,14 +15,14 @@ Jinja2==3.1.2 jsonschema==4.17.3 jupyter_core==5.1.3 MarkupSafe==2.1.1 -nbformat==5.7.1 +nbformat==5.7.3 plac==1.3.5 platformdirs==2.6.2 psutil==5.9.4 PuLP==2.7.0 pyrsistent==0.19.3 PyYAML==6.0 -requests==2.28.1 +requests==2.28.2 reretry==0.11.8 smart-open==6.3.0 smmap==5.0.0 @@ -30,8 +30,8 @@ snakemake==7.19.1 stopit==1.1.2 tabulate==0.9.0 throttler==1.2.2 -toposort==1.7 +toposort==1.9 traitlets==5.8.1 -urllib3==1.26.13 +urllib3==1.26.14 wrapt==1.14.1 yte==1.5.1 diff --git a/dependencies/python/sqlfluff.txt b/dependencies/python/sqlfluff.txt index beb71abad26..1788900d7a0 100644 --- a/dependencies/python/sqlfluff.txt +++ b/dependencies/python/sqlfluff.txt @@ -12,7 +12,7 @@ packaging==23.0 pathspec==0.10.3 pluggy==1.0.0 Pygments==2.14.0 -pytest==7.2.0 +pytest==7.2.1 PyYAML==6.0 regex==2022.10.31 sqlfluff==1.4.5 diff --git a/dependencies/python/yamllint.txt b/dependencies/python/yamllint.txt index 44eb81bc682..94b36007f19 100644 --- a/dependencies/python/yamllint.txt +++ b/dependencies/python/yamllint.txt @@ -1,3 +1,3 @@ pathspec==0.10.3 PyYAML==6.0 -yamllint==1.28.0 +yamllint==1.29.0 From 66610f7cc2a9465791484e3324b14f61279ad29e Mon Sep 17 00:00:00 2001 From: Super-Linter Automation Date: Mon, 16 Jan 2023 13:16:51 +0000 Subject: [PATCH 80/82] Update NPM dependencies --- dependencies/package-lock.json | 853 ++++++++++++++++++++++++--------- dependencies/package.json | 18 +- 2 files changed, 630 insertions(+), 241 deletions(-) diff --git a/dependencies/package-lock.json b/dependencies/package-lock.json index ab262583cde..df274af2268 100644 --- a/dependencies/package-lock.json +++ b/dependencies/package-lock.json @@ -10,26 +10,26 @@ "@react-native-community/eslint-config": "^3.2.0", "@react-native-community/eslint-plugin": "^1.3.0", "@stoplight/spectral": "^6.5.0", - "@typescript-eslint/eslint-plugin": "^5.48.0", - "@typescript-eslint/parser": "^5.48.0", - "asl-validator": "^3.0.8", + "@typescript-eslint/eslint-plugin": "^5.48.1", + "@typescript-eslint/parser": "^5.48.1", + "asl-validator": "^3.1.0", "axios": "^1.2.2", "babel-eslint": "^10.1.0", - "eslint": "^8.31.0", + "eslint": "^8.32.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-prettier": "^8.6.0", "eslint-plugin-jest": "^27.2.1", "eslint-plugin-json": "^3.1.0", "eslint-plugin-jsonc": "^2.6.0", - "eslint-plugin-jsx-a11y": "^6.6.1", + "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.31.11", + "eslint-plugin-react": "^7.32.0", "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-vue": "^9.8.0", + "eslint-plugin-vue": "^9.9.0", "gherkin-lint": "^4.2.2", "htmlhint": "^1.1.4", - "immer": "^9.0.17", + "immer": "^9.0.18", "ini": "^3.0.1", "jscpd": "^3.5.3", "lodash": "^4.17.21", @@ -37,7 +37,7 @@ "node-fetch": "^3.3.0", "npm-groovy-lint": "^11.1.1", "postcss-less": "^6.0.0", - "prettier": "^2.8.2", + "prettier": "^2.8.3", "prettyjson": "^1.2.5", "pug": "^3.0.2", "sql-lint": "1.0.0", @@ -437,23 +437,11 @@ } }, "node_modules/@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", "dependencies": { - "regenerator-runtime": "^0.13.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.0.tgz", - "integrity": "sha512-G5FaGZOWORq9zthDjIrjib5XlcddeqLbIiDO3YQsut6j7aGf76xn0umUC/pA6+nApk3hQJF4JzLzg5PCl6ewJg==", - "dependencies": { - "core-js-pure": "^3.20.2", - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" }, "engines": { "node": ">=6.9.0" @@ -1904,13 +1892,13 @@ "integrity": "sha512-BgeaZuElf7DEYZhWYDTc/XcLZXdVgFkVSTa13BqKvbnmUrxr3TJFKofUxCtDO9UQOdhnV+HPOESdHiHKZOJV1A==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz", - "integrity": "sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz", + "integrity": "sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==", "dependencies": { - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/type-utils": "5.48.0", - "@typescript-eslint/utils": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/type-utils": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -1936,13 +1924,13 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz", - "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz", + "integrity": "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==", "dependencies": { - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "debug": "^4.3.4" }, "engines": { @@ -1962,12 +1950,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz", - "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz", + "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==", "dependencies": { - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/visitor-keys": "5.48.0" + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1978,12 +1966,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz", - "integrity": "sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz", + "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==", "dependencies": { - "@typescript-eslint/typescript-estree": "5.48.0", - "@typescript-eslint/utils": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2004,9 +1992,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz", - "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz", + "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2016,12 +2004,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz", - "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz", + "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==", "dependencies": { - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/visitor-keys": "5.48.0", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2042,15 +2030,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.0.tgz", - "integrity": "sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz", + "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==", "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -2067,11 +2055,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz", - "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz", + "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==", "dependencies": { - "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/types": "5.48.1", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -2250,17 +2238,45 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" + "deep-equal": "^2.0.5" + } + }, + "node_modules/aria-query/node_modules/deep-equal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "dependencies": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" }, - "engines": { - "node": ">=6.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/aria-query/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, "node_modules/array-includes": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", @@ -2363,9 +2379,9 @@ } }, "node_modules/asl-validator": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-3.0.8.tgz", - "integrity": "sha512-ku2hkt137ebImA6DNySVoBtymffl/62TQHWKBb54yI3twrcsQyi78fPtvRi+PMob89vLeb0BbGezr5+4rQcJ7Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-3.1.0.tgz", + "integrity": "sha512-J2OmT6lkj2RHojDLWyqh33BNCBfpOIAEl1z01cd/4WiGt8Sjgqx+gbX7WsgVKGS4uF/pGwc1EkrZvm0mSRMcWA==", "dependencies": { "ajv": "^8.11.0", "asl-path-validator": "^0.11.0", @@ -2439,10 +2455,21 @@ "node": ">= 4.0.0" } }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/axe-core": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.5.2.tgz", - "integrity": "sha512-u2MVsXfew5HBvjsczCv+xlwdNnB1oQR9HlAcsejZttNjKKSkeDNVwB1vMThIUIFI9GoT57Vtk8iQLwqOfAkboA==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz", + "integrity": "sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==", "engines": { "node": ">=4" } @@ -2458,9 +2485,44 @@ } }, "node_modules/axobject-query": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/axobject-query/node_modules/deep-equal": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "dependencies": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axobject-query/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/babel-eslint": { "version": "10.1.0", @@ -2951,16 +3013,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/core-js-pure": { - "version": "3.22.6", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.6.tgz", - "integrity": "sha512-u5yG2VL6NKXz9BZHr9RAm6eWD1DTNjG7jJnJgLGR+Im0whdPcPXqwqxd+dcUrZvpvPan5KMgn/3pI+Q/aGqPOA==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -3371,6 +3423,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, "node_modules/es-shim-unscopables": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", @@ -3491,9 +3567,9 @@ } }, "node_modules/eslint": { - "version": "8.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", - "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", + "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", "dependencies": { "@eslint/eslintrc": "^1.4.1", "@humanwhocodes/config-array": "^0.11.8", @@ -3905,22 +3981,25 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", "dependencies": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", "semver": "^6.3.0" }, "engines": { @@ -4002,9 +4081,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.31.11", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", - "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.0.tgz", + "integrity": "sha512-vSBi1+SrPiLZCGvxpiZIa28fMEUaMjXtCplrvxcIxGzmFiYdsXQDwInEjuv5/i/2CTTxbkS87tE8lsQ0Qxinbw==", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", @@ -4018,7 +4097,7 @@ "object.hasown": "^1.1.2", "object.values": "^1.1.6", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", + "resolve": "^2.0.0-next.4", "semver": "^6.3.0", "string.prototype.matchall": "^4.0.8" }, @@ -4069,12 +4148,16 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4089,9 +4172,9 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.8.0.tgz", - "integrity": "sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==", + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.9.0.tgz", + "integrity": "sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ==", "dependencies": { "eslint-utils": "^3.0.0", "natural-compare": "^1.4.0", @@ -4625,6 +4708,14 @@ } } }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -5114,6 +5205,17 @@ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=" }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -5381,9 +5483,9 @@ } }, "node_modules/immer": { - "version": "9.0.17", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.17.tgz", - "integrity": "sha512-+hBruaLSQvkPfxRiTLK/mi4vLH+/VQS6z2KJahdoxlleFOI8ARqzOF17uy12eFDlqWmPoygwc5evgwcp+dlHhg==", + "version": "9.0.18", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.18.tgz", + "integrity": "sha512-eAPNpsj7Ax1q6Y/3lm2PmlwRcFzpON7HSNQ3ru5WQH1/PSpnyed/HpNOELl2CxLKoj4r+bAHgdyKqW5gc2Se1A==", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -5451,11 +5553,11 @@ } }, "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", "dependencies": { - "get-intrinsic": "^1.1.0", + "get-intrinsic": "^1.1.3", "has": "^1.0.3", "side-channel": "^1.0.4" }, @@ -5516,6 +5618,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-array-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", + "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -5715,6 +5830,14 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -5813,6 +5936,14 @@ "node": ">=6" } }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -5863,11 +5994,37 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -5879,6 +6036,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -7916,9 +8085,9 @@ } }, "node_modules/prettier": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz", - "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", + "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", "bin": { "prettier": "bin-prettier.js" }, @@ -9106,6 +9275,17 @@ "node": ">= 0.8" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -10598,6 +10778,39 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/winreg": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz", @@ -11106,20 +11319,11 @@ "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==" }, "@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", - "requires": { - "regenerator-runtime": "^0.13.10" - } - }, - "@babel/runtime-corejs3": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.0.tgz", - "integrity": "sha512-G5FaGZOWORq9zthDjIrjib5XlcddeqLbIiDO3YQsut6j7aGf76xn0umUC/pA6+nApk3hQJF4JzLzg5PCl6ewJg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", "requires": { - "core-js-pure": "^3.20.2", - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" } }, "@babel/template": { @@ -12327,13 +12531,13 @@ "integrity": "sha512-BgeaZuElf7DEYZhWYDTc/XcLZXdVgFkVSTa13BqKvbnmUrxr3TJFKofUxCtDO9UQOdhnV+HPOESdHiHKZOJV1A==" }, "@typescript-eslint/eslint-plugin": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz", - "integrity": "sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz", + "integrity": "sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==", "requires": { - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/type-utils": "5.48.0", - "@typescript-eslint/utils": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/type-utils": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -12343,48 +12547,48 @@ } }, "@typescript-eslint/parser": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz", - "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz", + "integrity": "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==", "requires": { - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz", - "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz", + "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==", "requires": { - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/visitor-keys": "5.48.0" + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1" } }, "@typescript-eslint/type-utils": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz", - "integrity": "sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz", + "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==", "requires": { - "@typescript-eslint/typescript-estree": "5.48.0", - "@typescript-eslint/utils": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz", - "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==" + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz", + "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==" }, "@typescript-eslint/typescript-estree": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz", - "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz", + "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==", "requires": { - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/visitor-keys": "5.48.0", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -12393,26 +12597,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.0.tgz", - "integrity": "sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz", + "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==", "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz", - "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz", + "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==", "requires": { - "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/types": "5.48.1", "eslint-visitor-keys": "^3.3.0" } }, @@ -12530,12 +12734,42 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" + "deep-equal": "^2.0.5" + }, + "dependencies": { + "deep-equal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "requires": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } } }, "array-includes": { @@ -12616,9 +12850,9 @@ } }, "asl-validator": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-3.0.8.tgz", - "integrity": "sha512-ku2hkt137ebImA6DNySVoBtymffl/62TQHWKBb54yI3twrcsQyi78fPtvRi+PMob89vLeb0BbGezr5+4rQcJ7Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/asl-validator/-/asl-validator-3.1.0.tgz", + "integrity": "sha512-J2OmT6lkj2RHojDLWyqh33BNCBfpOIAEl1z01cd/4WiGt8Sjgqx+gbX7WsgVKGS4uF/pGwc1EkrZvm0mSRMcWA==", "requires": { "ajv": "^8.11.0", "asl-path-validator": "^0.11.0", @@ -12674,10 +12908,15 @@ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, "axe-core": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.5.2.tgz", - "integrity": "sha512-u2MVsXfew5HBvjsczCv+xlwdNnB1oQR9HlAcsejZttNjKKSkeDNVwB1vMThIUIFI9GoT57Vtk8iQLwqOfAkboA==" + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz", + "integrity": "sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==" }, "axios": { "version": "1.2.2", @@ -12690,9 +12929,43 @@ } }, "axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "requires": { + "deep-equal": "^2.0.5" + }, + "dependencies": { + "deep-equal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "requires": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } }, "babel-eslint": { "version": "10.1.0", @@ -13034,11 +13307,6 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==" }, - "core-js-pure": { - "version": "3.22.6", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.6.tgz", - "integrity": "sha512-u5yG2VL6NKXz9BZHr9RAm6eWD1DTNjG7jJnJgLGR+Im0whdPcPXqwqxd+dcUrZvpvPan5KMgn/3pI+Q/aGqPOA==" - }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -13351,6 +13619,29 @@ "has-property-descriptors": "^1.0.0" } }, + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, "es-shim-unscopables": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", @@ -13434,9 +13725,9 @@ } }, "eslint": { - "version": "8.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", - "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", + "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", "requires": { "@eslint/eslintrc": "^1.4.1", "@humanwhocodes/config-array": "^0.11.8", @@ -13778,22 +14069,25 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", "requires": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", "semver": "^6.3.0" }, "dependencies": { @@ -13841,9 +14135,9 @@ "requires": {} }, "eslint-plugin-react": { - "version": "7.31.11", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", - "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.0.tgz", + "integrity": "sha512-vSBi1+SrPiLZCGvxpiZIa28fMEUaMjXtCplrvxcIxGzmFiYdsXQDwInEjuv5/i/2CTTxbkS87tE8lsQ0Qxinbw==", "requires": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", @@ -13857,7 +14151,7 @@ "object.hasown": "^1.1.2", "object.values": "^1.1.6", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", + "resolve": "^2.0.0-next.4", "semver": "^6.3.0", "string.prototype.matchall": "^4.0.8" }, @@ -13871,12 +14165,13 @@ } }, "resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "semver": { @@ -13907,9 +14202,9 @@ "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==" }, "eslint-plugin-vue": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.8.0.tgz", - "integrity": "sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==", + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.9.0.tgz", + "integrity": "sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ==", "requires": { "eslint-utils": "^3.0.0", "natural-compare": "^1.4.0", @@ -14204,6 +14499,14 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, "form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -14575,6 +14878,14 @@ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=" }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -14763,9 +15074,9 @@ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" }, "immer": { - "version": "9.0.17", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.17.tgz", - "integrity": "sha512-+hBruaLSQvkPfxRiTLK/mi4vLH+/VQS6z2KJahdoxlleFOI8ARqzOF17uy12eFDlqWmPoygwc5evgwcp+dlHhg==" + "version": "9.0.18", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.18.tgz", + "integrity": "sha512-eAPNpsj7Ax1q6Y/3lm2PmlwRcFzpON7HSNQ3ru5WQH1/PSpnyed/HpNOELl2CxLKoj4r+bAHgdyKqW5gc2Se1A==" }, "import-fresh": { "version": "3.3.0", @@ -14811,11 +15122,11 @@ "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==" }, "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", "requires": { - "get-intrinsic": "^1.1.0", + "get-intrinsic": "^1.1.3", "has": "^1.0.3", "side-channel": "^1.0.4" } @@ -14856,6 +15167,16 @@ "has-tostringtag": "^1.0.0" } }, + "is-array-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", + "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-typed-array": "^1.1.10" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -14997,6 +15318,11 @@ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -15062,6 +15388,11 @@ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==" }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" + }, "is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -15091,11 +15422,28 @@ "has-symbols": "^1.0.2" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -15104,6 +15452,15 @@ "call-bind": "^1.0.2" } }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -16611,9 +16968,9 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, "prettier": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz", - "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==" + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", + "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==" }, "prettier-linter-helpers": { "version": "1.0.0", @@ -17501,6 +17858,14 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "requires": { + "internal-slot": "^1.0.4" + } + }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -18585,6 +18950,30 @@ "is-symbol": "^1.0.3" } }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, "winreg": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz", diff --git a/dependencies/package.json b/dependencies/package.json index eec80bf8044..858f5a25ea4 100644 --- a/dependencies/package.json +++ b/dependencies/package.json @@ -3,12 +3,12 @@ "dependencies": { "@coffeelint/cli": "^5.2.11", "@stoplight/spectral": "^6.5.0", - "@typescript-eslint/eslint-plugin": "^5.48.0", - "@typescript-eslint/parser": "^5.48.0", - "asl-validator": "^3.0.8", + "@typescript-eslint/eslint-plugin": "^5.48.1", + "@typescript-eslint/parser": "^5.48.1", + "asl-validator": "^3.1.0", "axios": "^1.2.2", "babel-eslint": "^10.1.0", - "eslint": "^8.31.0", + "eslint": "^8.32.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-prettier": "^8.6.0", @@ -17,21 +17,21 @@ "eslint-plugin-jest": "^27.2.1", "eslint-plugin-json": "^3.1.0", "eslint-plugin-jsonc": "^2.6.0", - "eslint-plugin-jsx-a11y": "^6.6.1", + "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.31.11", + "eslint-plugin-react": "^7.32.0", "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-vue": "^9.8.0", + "eslint-plugin-vue": "^9.9.0", "gherkin-lint": "^4.2.2", "htmlhint": "^1.1.4", - "immer": "^9.0.17", + "immer": "^9.0.18", "ini": "^3.0.1", "jscpd": "^3.5.3", "lodash": "^4.17.21", "markdownlint-cli": "^0.33.0", "node-fetch": "^3.3.0", "npm-groovy-lint": "^11.1.1", - "prettier": "^2.8.2", + "prettier": "^2.8.3", "prettyjson": "^1.2.5", "pug": "^3.0.2", "sql-lint": "1.0.0", From bd1439f8463ddfc70cedd85946c361ae75982915 Mon Sep 17 00:00:00 2001 From: Super-Linter Automation Date: Tue, 17 Jan 2023 01:15:09 +0000 Subject: [PATCH 81/82] Update NPM dependencies --- dependencies/package-lock.json | 178 ++++++++++++++++----------------- dependencies/package.json | 6 +- 2 files changed, 92 insertions(+), 92 deletions(-) diff --git a/dependencies/package-lock.json b/dependencies/package-lock.json index df274af2268..ee906661d4e 100644 --- a/dependencies/package-lock.json +++ b/dependencies/package-lock.json @@ -10,8 +10,8 @@ "@react-native-community/eslint-config": "^3.2.0", "@react-native-community/eslint-plugin": "^1.3.0", "@stoplight/spectral": "^6.5.0", - "@typescript-eslint/eslint-plugin": "^5.48.1", - "@typescript-eslint/parser": "^5.48.1", + "@typescript-eslint/eslint-plugin": "^5.48.2", + "@typescript-eslint/parser": "^5.48.2", "asl-validator": "^3.1.0", "axios": "^1.2.2", "babel-eslint": "^10.1.0", @@ -24,7 +24,7 @@ "eslint-plugin-jsonc": "^2.6.0", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.32.0", + "eslint-plugin-react": "^7.32.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-vue": "^9.9.0", "gherkin-lint": "^4.2.2", @@ -1892,13 +1892,13 @@ "integrity": "sha512-BgeaZuElf7DEYZhWYDTc/XcLZXdVgFkVSTa13BqKvbnmUrxr3TJFKofUxCtDO9UQOdhnV+HPOESdHiHKZOJV1A==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz", - "integrity": "sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz", + "integrity": "sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==", "dependencies": { - "@typescript-eslint/scope-manager": "5.48.1", - "@typescript-eslint/type-utils": "5.48.1", - "@typescript-eslint/utils": "5.48.1", + "@typescript-eslint/scope-manager": "5.48.2", + "@typescript-eslint/type-utils": "5.48.2", + "@typescript-eslint/utils": "5.48.2", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -1924,13 +1924,13 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz", - "integrity": "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.2.tgz", + "integrity": "sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==", "dependencies": { - "@typescript-eslint/scope-manager": "5.48.1", - "@typescript-eslint/types": "5.48.1", - "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/scope-manager": "5.48.2", + "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/typescript-estree": "5.48.2", "debug": "^4.3.4" }, "engines": { @@ -1950,12 +1950,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz", - "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz", + "integrity": "sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==", "dependencies": { - "@typescript-eslint/types": "5.48.1", - "@typescript-eslint/visitor-keys": "5.48.1" + "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/visitor-keys": "5.48.2" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1966,12 +1966,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz", - "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz", + "integrity": "sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==", "dependencies": { - "@typescript-eslint/typescript-estree": "5.48.1", - "@typescript-eslint/utils": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.2", + "@typescript-eslint/utils": "5.48.2", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -1992,9 +1992,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz", - "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.2.tgz", + "integrity": "sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2004,12 +2004,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz", - "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz", + "integrity": "sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==", "dependencies": { - "@typescript-eslint/types": "5.48.1", - "@typescript-eslint/visitor-keys": "5.48.1", + "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/visitor-keys": "5.48.2", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2030,15 +2030,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz", - "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.2.tgz", + "integrity": "sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==", "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.48.1", - "@typescript-eslint/types": "5.48.1", - "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/scope-manager": "5.48.2", + "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/typescript-estree": "5.48.2", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -2055,11 +2055,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz", - "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz", + "integrity": "sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==", "dependencies": { - "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/types": "5.48.2", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -4081,9 +4081,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.0.tgz", - "integrity": "sha512-vSBi1+SrPiLZCGvxpiZIa28fMEUaMjXtCplrvxcIxGzmFiYdsXQDwInEjuv5/i/2CTTxbkS87tE8lsQ0Qxinbw==", + "version": "7.32.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.1.tgz", + "integrity": "sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", @@ -12531,13 +12531,13 @@ "integrity": "sha512-BgeaZuElf7DEYZhWYDTc/XcLZXdVgFkVSTa13BqKvbnmUrxr3TJFKofUxCtDO9UQOdhnV+HPOESdHiHKZOJV1A==" }, "@typescript-eslint/eslint-plugin": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz", - "integrity": "sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz", + "integrity": "sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==", "requires": { - "@typescript-eslint/scope-manager": "5.48.1", - "@typescript-eslint/type-utils": "5.48.1", - "@typescript-eslint/utils": "5.48.1", + "@typescript-eslint/scope-manager": "5.48.2", + "@typescript-eslint/type-utils": "5.48.2", + "@typescript-eslint/utils": "5.48.2", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -12547,48 +12547,48 @@ } }, "@typescript-eslint/parser": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz", - "integrity": "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.2.tgz", + "integrity": "sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==", "requires": { - "@typescript-eslint/scope-manager": "5.48.1", - "@typescript-eslint/types": "5.48.1", - "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/scope-manager": "5.48.2", + "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/typescript-estree": "5.48.2", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz", - "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz", + "integrity": "sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==", "requires": { - "@typescript-eslint/types": "5.48.1", - "@typescript-eslint/visitor-keys": "5.48.1" + "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/visitor-keys": "5.48.2" } }, "@typescript-eslint/type-utils": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz", - "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz", + "integrity": "sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==", "requires": { - "@typescript-eslint/typescript-estree": "5.48.1", - "@typescript-eslint/utils": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.2", + "@typescript-eslint/utils": "5.48.2", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz", - "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==" + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.2.tgz", + "integrity": "sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==" }, "@typescript-eslint/typescript-estree": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz", - "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz", + "integrity": "sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==", "requires": { - "@typescript-eslint/types": "5.48.1", - "@typescript-eslint/visitor-keys": "5.48.1", + "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/visitor-keys": "5.48.2", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -12597,26 +12597,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz", - "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.2.tgz", + "integrity": "sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==", "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.48.1", - "@typescript-eslint/types": "5.48.1", - "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/scope-manager": "5.48.2", + "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/typescript-estree": "5.48.2", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz", - "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==", + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz", + "integrity": "sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==", "requires": { - "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/types": "5.48.2", "eslint-visitor-keys": "^3.3.0" } }, @@ -14135,9 +14135,9 @@ "requires": {} }, "eslint-plugin-react": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.0.tgz", - "integrity": "sha512-vSBi1+SrPiLZCGvxpiZIa28fMEUaMjXtCplrvxcIxGzmFiYdsXQDwInEjuv5/i/2CTTxbkS87tE8lsQ0Qxinbw==", + "version": "7.32.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.1.tgz", + "integrity": "sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==", "requires": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", diff --git a/dependencies/package.json b/dependencies/package.json index 858f5a25ea4..b711ddb85c4 100644 --- a/dependencies/package.json +++ b/dependencies/package.json @@ -3,8 +3,8 @@ "dependencies": { "@coffeelint/cli": "^5.2.11", "@stoplight/spectral": "^6.5.0", - "@typescript-eslint/eslint-plugin": "^5.48.1", - "@typescript-eslint/parser": "^5.48.1", + "@typescript-eslint/eslint-plugin": "^5.48.2", + "@typescript-eslint/parser": "^5.48.2", "asl-validator": "^3.1.0", "axios": "^1.2.2", "babel-eslint": "^10.1.0", @@ -19,7 +19,7 @@ "eslint-plugin-jsonc": "^2.6.0", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.32.0", + "eslint-plugin-react": "^7.32.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-vue": "^9.9.0", "gherkin-lint": "^4.2.2", From 454ba4482ce2cd0c505bc592e83c06e1e37ade61 Mon Sep 17 00:00:00 2001 From: Brett Logan Date: Mon, 16 Jan 2023 20:48:32 -0500 Subject: [PATCH 82/82] Release v4.10.1 Signed-off-by: Brett Logan --- action.yml | 2 +- slim/action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 9a624f5939d..a50d928d4ec 100644 --- a/action.yml +++ b/action.yml @@ -4,7 +4,7 @@ author: 'GitHub' description: 'It is a simple combination of various linters, written in bash, to help validate your source code.' runs: using: 'docker' - image: 'docker://ghcr.io/github/super-linter:v4.10.0' + image: 'docker://ghcr.io/github/super-linter:v4.10.1' branding: icon: 'check-square' color: 'white' diff --git a/slim/action.yml b/slim/action.yml index 4eae2fe789c..65281d487f8 100644 --- a/slim/action.yml +++ b/slim/action.yml @@ -4,7 +4,7 @@ author: 'GitHub' description: 'It is a simple combination of various linters, written in bash, to help validate your source code.' runs: using: 'docker' - image: 'docker://ghcr.io/github/super-linter:slim-v4.10.0' + image: 'docker://ghcr.io/github/super-linter:slim-v4.10.1' branding: icon: 'check-square' color: 'white'