From 2760d40806bcef821df5d61381d8327f8f79eb86 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Mon, 19 Jun 2023 11:08:40 +0200 Subject: [PATCH 01/25] initial sonarqube integration --- .github/workflows/golangci-lint.yml | 9 ++++ .github/workflows/relay.yml | 14 ++++- .github/workflows/sonar-scan.yml | 82 +++++++++++++++++++++++++++++ sonar-project.properties | 13 +++++ 4 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/sonar-scan.yml create mode 100644 sonar-project.properties diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 7a9f16d0f..1c3824f0f 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -35,3 +35,12 @@ jobs: # Optional: if set to true then the action don't cache or restore ~/.cache/go-build. # skip-build-cache: true + - name: Print lint report artifact + if: always() + run: test -f golangci-lint-report.xml || true + - name: Store lint report artifact + if: always() + uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 + with: + name: golangci-lint-report + path: golangci-lint-report.xml diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml index 05f995d05..495a0e757 100644 --- a/.github/workflows/relay.yml +++ b/.github/workflows/relay.yml @@ -42,7 +42,17 @@ jobs: run: nix develop -c go build -v ./pkg/cosmos/... - name: Run unit tests - run: nix develop -c go test -v ./pkg/cosmos/... + run: nix develop -c go test -v -covermode=atomic ./pkg/cosmos/... -coverpkg=./... -coverprofile=coverage.txt "$1" | tee "$OUTPUT_FILE" - name: Run tests with the race detector enabled - run: nix develop -c go test -v ./pkg/cosmos/... -race -count=10 + run: nix develop -c go test -v ./pkg/cosmos/... -race -count=10 -coverpkg=./... -coverprofile=race_coverage.txt "$1" | tee "$OUTPUT_FILE" + + - name: Upload Go test results + if: always() + uses: actions/upload-artifact@v3 + with: + name: go-test-results + path: | + ./output.txt + ./coverage.txt + ./race_coverage.txt diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml new file mode 100644 index 000000000..c640f84c6 --- /dev/null +++ b/.github/workflows/sonar-scan.yml @@ -0,0 +1,82 @@ +name: SonarQube Scan + +on: + push: + branches: + - develop + pull_request: + +jobs: + wait_for_workflows: + name: Wait for workflows + runs-on: ubuntu-latest + if: always() + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha || github.event.merge_group.head_sha }} + + - name: Wait for Workflows + id: wait + uses: smartcontractkit/chainlink-github-actions/utils/wait-for-workflows@feat/wait-action + with: + max-timeout: "900" + polling-interval: "30" + exclude-workflow-names: "" + exclude-workflow-ids: "" + github-token: ${{ secrets.GITHUB_TOKEN }} + env: + DEBUG: "true" + + sonarqube: + name: SonarQube Scan + needs: [ wait_for_workflows ] + runs-on: ubuntu-latest + if: always() + steps: + - name: Check needs results + if: needs.wait_for_workflows.result != 'success' + run: exit 1 + + - name: Checkout the repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 # fetches all history for all tags and branches to provide more metadata for sonar reports + + - name: Download Golangci report + uses: dawidd6/action-download-artifact@v2.27.0 + with: + workflow: golangci-lint.yml + workflow_conclusion: "" + name_is_regexp: true + name: golangci-lint-report + if_no_artifact_found: warn + + - name: Download relay test reports + uses: dawidd6/action-download-artifact@v2.27.0 + with: + workflow: relay.yml + workflow_conclusion: "" + name_is_regexp: true + name: go-test-results + if_no_artifact_found: warn + + - name: Set SonarQube Report Paths + id: sonarqube_report_paths + shell: bash + run: | + echo "sonarqube_tests_report_paths=$(find -type f -name 'output.txt' -printf "%p,")" >> $GITHUB_OUTPUT + echo "sonarqube_coverage_report_paths=$(find -type f -name '*coverage.txt' -printf "%p,")" >> $GITHUB_OUTPUT + echo "sonarqube_golangci_report_paths=$(find -type f -name 'golangci-lint-report.xml' -printf "%p,")" >> $GITHUB_OUTPUT + + - name: SonarQube Scan + uses: sonarsource/sonarqube-scan-action@a6ba0aafc293e03de5437af7edbc97f7d3ebc91a # v1.2.0 + with: + args: > + -Dsonar.go.tests.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_tests_report_paths }} + -Dsonar.go.coverage.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_coverage_report_paths }} + -Dsonar.go.golangci-lint.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_golangci_report_paths }} + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 000000000..291b9f004 --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,13 @@ +# required (may be found under "Project Information" in SonarQube) +sonar.projectKey=smartcontractkit_chainlink-cosmos +sonar.sources=. + +# Full exclusions from the static analysis +sonar.exclusions=**/node_modules/**/*, **/docs/**/*, **/examples/**/*, **/*.config.ts, **/*.config.js, **/*.txt, target/ +# Coverage exclusions +sonar.coverage.exclusions=**/*.test.ts, **/*_test.go, **/contracts/**/tests/**/*, **/integration-tests/**/* + +# Tests' root folder, inclusions (tests to check and count) and exclusions +sonar.tests=. +sonar.test.inclusions=**/*_test.go, **/*.test.ts, **/contracts/**/tests/**/* +sonar.test.exclusions=**/integration-tests/* \ No newline at end of file From 340872c5121a2207b404590a4d9073b6ee428708 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Mon, 19 Jun 2023 14:01:26 +0200 Subject: [PATCH 02/25] adjust --- .github/workflows/sonar-scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index c640f84c6..dd3791091 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -19,7 +19,7 @@ jobs: - name: Wait for Workflows id: wait - uses: smartcontractkit/chainlink-github-actions/utils/wait-for-workflows@feat/wait-action + uses: smartcontractkit/chainlink-github-actions/utils/wait-for-workflows@main with: max-timeout: "900" polling-interval: "30" From 748be3dc02253726a37731179afb234bcf085774 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Mon, 19 Jun 2023 14:25:44 +0200 Subject: [PATCH 03/25] switch branch --- .github/workflows/sonar-scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index dd3791091..e7beb6425 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -3,7 +3,7 @@ name: SonarQube Scan on: push: branches: - - develop + - main pull_request: jobs: From 06e210645fb8e4a34fd6adecb7514bdf8cd2532e Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Mon, 19 Jun 2023 14:26:08 +0200 Subject: [PATCH 04/25] tests linting --- cmd/execute_script/main.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/execute_script/main.go b/cmd/execute_script/main.go index 089fe345c..8855da5ae 100644 --- a/cmd/execute_script/main.go +++ b/cmd/execute_script/main.go @@ -20,6 +20,7 @@ package main // } func main() { + var unusedVar int // privKey, addr, err := testutil.CreateKeyFromMnemonic("TODO TERRA WALLET MNEMONIC") // panicErr(err) From 8d74c0935637bbb237f36c4fef3c1542f22a98a9 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Mon, 19 Jun 2023 14:50:43 +0200 Subject: [PATCH 05/25] add exclusion --- .github/workflows/sonar-scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index e7beb6425..1fc132ed8 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -23,7 +23,7 @@ jobs: with: max-timeout: "900" polling-interval: "30" - exclude-workflow-names: "" + exclude-workflow-names: "e2e_tests_custom_cl" exclude-workflow-ids: "" github-token: ${{ secrets.GITHUB_TOKEN }} env: From 800ee417c14f1ab2fae459c718787ff48a70f6b7 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Mon, 19 Jun 2023 15:18:36 +0200 Subject: [PATCH 06/25] revert unused var --- cmd/execute_script/main.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cmd/execute_script/main.go b/cmd/execute_script/main.go index 8855da5ae..089fe345c 100644 --- a/cmd/execute_script/main.go +++ b/cmd/execute_script/main.go @@ -20,7 +20,6 @@ package main // } func main() { - var unusedVar int // privKey, addr, err := testutil.CreateKeyFromMnemonic("TODO TERRA WALLET MNEMONIC") // panicErr(err) From 6b79d25243b026ee3fae7131447e7d7ade8fbff9 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Tue, 20 Jun 2023 11:53:56 +0200 Subject: [PATCH 07/25] remove unnecessary piped instruction --- .github/workflows/relay.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml index 495a0e757..01438e5c2 100644 --- a/.github/workflows/relay.yml +++ b/.github/workflows/relay.yml @@ -42,7 +42,7 @@ jobs: run: nix develop -c go build -v ./pkg/cosmos/... - name: Run unit tests - run: nix develop -c go test -v -covermode=atomic ./pkg/cosmos/... -coverpkg=./... -coverprofile=coverage.txt "$1" | tee "$OUTPUT_FILE" + run: nix develop -c go test -v -covermode=atomic ./pkg/cosmos/... -coverpkg=./... -coverprofile=coverage.txt - name: Run tests with the race detector enabled run: nix develop -c go test -v ./pkg/cosmos/... -race -count=10 -coverpkg=./... -coverprofile=race_coverage.txt "$1" | tee "$OUTPUT_FILE" From 5f18bbf3c50d0bca64a9942848e0de95cc32e312 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Thu, 22 Jun 2023 19:18:44 +0200 Subject: [PATCH 08/25] update --- .github/workflows/gauntlet.yml | 10 +++++++++- .github/workflows/golangci-lint.yml | 4 ++-- .github/workflows/relay.yml | 2 +- .github/workflows/sonar-scan.yml | 27 +++++++++++++++++---------- sonar-project.properties | 2 +- 5 files changed, 30 insertions(+), 15 deletions(-) diff --git a/.github/workflows/gauntlet.yml b/.github/workflows/gauntlet.yml index 7b21ec621..6cb8792d3 100644 --- a/.github/workflows/gauntlet.yml +++ b/.github/workflows/gauntlet.yml @@ -75,4 +75,12 @@ jobs: run: make contracts_compile - run: nix develop -c yarn install --frozen-lockfile - - run: nix develop -c yarn test:ci + - run: nix develop -c yarn test:ci --coverage + + - name: Upload test coverage report + if: always() + uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 + with: + name: typescript-test-coverage + path: ./coverage/lcov.info + diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 1c3824f0f..c13a6c4c6 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -25,7 +25,7 @@ jobs: # working-directory: somedir # Optional: golangci-lint command line arguments. - args: --timeout=5m0s --tests=false + args: --timeout=5m0s --tests=false --out-format checkstyle:golangci-lint-report.xml # Optional: show only new issues if it's a pull request. The default value is `false`. only-new-issues: true @@ -37,7 +37,7 @@ jobs: # skip-build-cache: true - name: Print lint report artifact if: always() - run: test -f golangci-lint-report.xml || true + run: test -f golangci-lint-report.xml && cat golangci-lint-report.xml || true - name: Store lint report artifact if: always() uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml index 01438e5c2..276e98c82 100644 --- a/.github/workflows/relay.yml +++ b/.github/workflows/relay.yml @@ -45,7 +45,7 @@ jobs: run: nix develop -c go test -v -covermode=atomic ./pkg/cosmos/... -coverpkg=./... -coverprofile=coverage.txt - name: Run tests with the race detector enabled - run: nix develop -c go test -v ./pkg/cosmos/... -race -count=10 -coverpkg=./... -coverprofile=race_coverage.txt "$1" | tee "$OUTPUT_FILE" + run: nix develop -c go test -v ./pkg/cosmos/... -race -count=10 -coverpkg=./... -coverprofile=race_coverage.txt - name: Upload Go test results if: always() diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index 1fc132ed8..3017a0bb1 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -23,7 +23,7 @@ jobs: with: max-timeout: "900" polling-interval: "30" - exclude-workflow-names: "e2e_tests_custom_cl" + exclude-workflow-names: "CodeQL,release_contracts,contracts,Integration Tests Publish,e2e_tests_custom_cl" exclude-workflow-ids: "" github-token: ${{ secrets.GITHUB_TOKEN }} env: @@ -35,10 +35,6 @@ jobs: runs-on: ubuntu-latest if: always() steps: - - name: Check needs results - if: needs.wait_for_workflows.result != 'success' - run: exit 1 - - name: Checkout the repo uses: actions/checkout@v3 with: @@ -61,22 +57,33 @@ jobs: name_is_regexp: true name: go-test-results if_no_artifact_found: warn + + - name: Download gauntlet test reports + uses: dawidd6/action-download-artifact@v2.27.0 + with: + workflow: gauntlet.yml + workflow_conclusion: "" + name_is_regexp: true + name: typescript-test-coverage + if_no_artifact_found: warn - name: Set SonarQube Report Paths id: sonarqube_report_paths shell: bash run: | - echo "sonarqube_tests_report_paths=$(find -type f -name 'output.txt' -printf "%p,")" >> $GITHUB_OUTPUT - echo "sonarqube_coverage_report_paths=$(find -type f -name '*coverage.txt' -printf "%p,")" >> $GITHUB_OUTPUT - echo "sonarqube_golangci_report_paths=$(find -type f -name 'golangci-lint-report.xml' -printf "%p,")" >> $GITHUB_OUTPUT + echo "sonarqube_go_tests_report_paths=$(find . -type f -name 'output.txt' -printf "%p,")" >> $GITHUB_OUTPUT + echo "sonarqube_go_coverage_report_paths=$(find . -type f -name '*coverage.txt' -printf "%p,")" >> $GITHUB_OUTPUT + echo "sonarqube_golangci_report_paths=$(find -type . f -name 'golangci-lint-report.xml' -printf "%p,")" >> $GITHUB_OUTPUT + echo "sonarqube_ts_js_coverage_report_paths=$(find . -type f -name 'lcov.info' -printf "%p,")" >> $GITHUB_OUTPUT - name: SonarQube Scan uses: sonarsource/sonarqube-scan-action@a6ba0aafc293e03de5437af7edbc97f7d3ebc91a # v1.2.0 with: args: > - -Dsonar.go.tests.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_tests_report_paths }} - -Dsonar.go.coverage.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_coverage_report_paths }} + -Dsonar.go.tests.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_go_tests_report_paths }} + -Dsonar.go.coverage.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_go_coverage_report_paths }} -Dsonar.go.golangci-lint.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_golangci_report_paths }} + -Dsonar.javascript.lcov.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_ts_js_coverage_report_paths }} env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties index 291b9f004..791ae7f3f 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -3,7 +3,7 @@ sonar.projectKey=smartcontractkit_chainlink-cosmos sonar.sources=. # Full exclusions from the static analysis -sonar.exclusions=**/node_modules/**/*, **/docs/**/*, **/examples/**/*, **/*.config.ts, **/*.config.js, **/*.txt, target/ +sonar.exclusions=**/node_modules/**/*, **/target/**/*, **/coverage/**/*, **/docs/**/*, **/contracts/**/*, **/examples/**/*, **/scripts/**/*, **/*.config.ts, **/*.config.js, **/*.txt, # Coverage exclusions sonar.coverage.exclusions=**/*.test.ts, **/*_test.go, **/contracts/**/tests/**/*, **/integration-tests/**/* From 800eab65de34423748ca779197e97266f8eff028 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Thu, 22 Jun 2023 19:28:56 +0200 Subject: [PATCH 09/25] fix typo --- .github/workflows/sonar-scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index 3017a0bb1..15e418331 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -73,7 +73,7 @@ jobs: run: | echo "sonarqube_go_tests_report_paths=$(find . -type f -name 'output.txt' -printf "%p,")" >> $GITHUB_OUTPUT echo "sonarqube_go_coverage_report_paths=$(find . -type f -name '*coverage.txt' -printf "%p,")" >> $GITHUB_OUTPUT - echo "sonarqube_golangci_report_paths=$(find -type . f -name 'golangci-lint-report.xml' -printf "%p,")" >> $GITHUB_OUTPUT + echo "sonarqube_golangci_report_paths=$(find . -type f -name 'golangci-lint-report.xml' -printf "%p,")" >> $GITHUB_OUTPUT echo "sonarqube_ts_js_coverage_report_paths=$(find . -type f -name 'lcov.info' -printf "%p,")" >> $GITHUB_OUTPUT - name: SonarQube Scan From 8ae6ce3ecd4e0c95c00163addb7df8e5f5e99046 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Fri, 23 Jun 2023 09:39:55 +0200 Subject: [PATCH 10/25] increase max timeout --- .github/workflows/sonar-scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index 15e418331..380f1ed9c 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -21,7 +21,7 @@ jobs: id: wait uses: smartcontractkit/chainlink-github-actions/utils/wait-for-workflows@main with: - max-timeout: "900" + max-timeout: "1200" polling-interval: "30" exclude-workflow-names: "CodeQL,release_contracts,contracts,Integration Tests Publish,e2e_tests_custom_cl" exclude-workflow-ids: "" From 9f3eb5bf034d53fc29b0da2cf9a78444a3b23212 Mon Sep 17 00:00:00 2001 From: davidcauchi Date: Fri, 23 Jun 2023 13:33:39 +0200 Subject: [PATCH 11/25] update main branch --- .github/workflows/sonar-scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index 380f1ed9c..094e9d111 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -3,7 +3,7 @@ name: SonarQube Scan on: push: branches: - - main + - develop pull_request: jobs: From f7fc30c033077c789b7da0b9b2d83adf6618e2f8 Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Tue, 5 Sep 2023 14:10:15 +0200 Subject: [PATCH 12/25] Ported actions to Makefile --- .github/workflows/relay.yml | 4 ++-- Makefile | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml index 276e98c82..f64c7c1fe 100644 --- a/.github/workflows/relay.yml +++ b/.github/workflows/relay.yml @@ -42,10 +42,10 @@ jobs: run: nix develop -c go build -v ./pkg/cosmos/... - name: Run unit tests - run: nix develop -c go test -v -covermode=atomic ./pkg/cosmos/... -coverpkg=./... -coverprofile=coverage.txt + run: nix develop -c make test_relay_unit - name: Run tests with the race detector enabled - run: nix develop -c go test -v ./pkg/cosmos/... -race -count=10 -coverpkg=./... -coverprofile=race_coverage.txt + run: nix develop -c make test_relay_unit_race - name: Upload Go test results if: always() diff --git a/Makefile b/Makefile index 8a8b197a3..d48fa494e 100644 --- a/Makefile +++ b/Makefile @@ -92,9 +92,17 @@ artifacts_clean_wasmd: build: build_js build_contracts -test_relay_unit: +# Common build step +build_relay: go build -v ./pkg/cosmos/... - go test -v ./pkg/cosmos/... + +# Unit test without race detection +test_relay_unit: build_relay + go test -v -covermode=atomic ./pkg/cosmos/... -coverpkg=./... -coverprofile=coverage.txt + +# Unit test with race detection +test_relay_unit_race: build_relay + go test -v -covermode=atomic ./pkg/cosmos/... -race -count=10 -coverpkg=./... -coverprofile=race_coverage.txt # copied over from starknet, replace as needed From 847134f9dd20ff524e49c4cc8739e9045cab256d Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Tue, 5 Sep 2023 15:02:14 +0200 Subject: [PATCH 13/25] Excluded docker test --- .github/workflows/sonar-scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index 094e9d111..f958de5ac 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -23,7 +23,7 @@ jobs: with: max-timeout: "1200" polling-interval: "30" - exclude-workflow-names: "CodeQL,release_contracts,contracts,Integration Tests Publish,e2e_tests_custom_cl" + exclude-workflow-names: "CodeQL,release_contracts,contracts,Integration Tests Publish,e2e_tests_custom_cl,Integration Test (Docker)" exclude-workflow-ids: "" github-token: ${{ secrets.GITHUB_TOKEN }} env: From 06397406d578f59b1e13a17886d5a1b183374e0d Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Wed, 6 Sep 2023 14:04:56 +0200 Subject: [PATCH 14/25] Removed name is_regex --- .github/workflows/sonar-scan.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index f958de5ac..355e10716 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -45,7 +45,6 @@ jobs: with: workflow: golangci-lint.yml workflow_conclusion: "" - name_is_regexp: true name: golangci-lint-report if_no_artifact_found: warn @@ -54,7 +53,6 @@ jobs: with: workflow: relay.yml workflow_conclusion: "" - name_is_regexp: true name: go-test-results if_no_artifact_found: warn From 73e9abba46612b6ce27fda96836afe03e649e4e5 Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Mon, 11 Sep 2023 09:34:13 +0200 Subject: [PATCH 15/25] Excluding gauntlet --- sonar-project.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sonar-project.properties b/sonar-project.properties index 791ae7f3f..ebf013a66 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -9,5 +9,5 @@ sonar.coverage.exclusions=**/*.test.ts, **/*_test.go, **/contracts/**/tests/**/* # Tests' root folder, inclusions (tests to check and count) and exclusions sonar.tests=. -sonar.test.inclusions=**/*_test.go, **/*.test.ts, **/contracts/**/tests/**/* -sonar.test.exclusions=**/integration-tests/* \ No newline at end of file +sonar.test.inclusions=**/*_test.go, **/*.test.ts, **/contracts/**/tests/**/* +sonar.test.exclusions=**/integration-tests/*, **/packages-ts/* \ No newline at end of file From 14e9f099afe215cf42dd60abcfd21562246d9060 Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Mon, 11 Sep 2023 09:36:08 +0200 Subject: [PATCH 16/25] .gitignore fix --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e3c973e7f..b875270b1 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,7 @@ report.json .envrc bin -# test +# test & linter reports packages-ts/gauntlet-cosmos-contracts/codeIds/test* packages-ts/gauntlet-cosmos-contracts/networks/.env.test* tests/e2e/logs @@ -28,4 +28,8 @@ tmp-manifest-* .local-mock-server codegen devAccounts.json +*report.xml +*report.json +*.out +*coverage* From 898690a9c93d648f0926c2e42016c5160ba17c18 Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Tue, 12 Sep 2023 10:19:29 +0200 Subject: [PATCH 17/25] Adjusting report names --- .github/workflows/golangci-lint.yml | 14 -------------- .github/workflows/relay.yml | 5 ++--- Makefile | 2 +- 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index c13a6c4c6..33cb21882 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -18,23 +18,9 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: - # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version version: v${{ steps.tool-versions.outputs.golangci-lint_version }} - - # Optional: working directory, useful for monorepos - # working-directory: somedir - - # Optional: golangci-lint command line arguments. args: --timeout=5m0s --tests=false --out-format checkstyle:golangci-lint-report.xml - - # Optional: show only new issues if it's a pull request. The default value is `false`. only-new-issues: true - - # Optional: if set to true then the action don't cache or restore ~/go/pkg. - # skip-pkg-cache: true - - # Optional: if set to true then the action don't cache or restore ~/.cache/go-build. - # skip-build-cache: true - name: Print lint report artifact if: always() run: test -f golangci-lint-report.xml && cat golangci-lint-report.xml || true diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml index f64c7c1fe..1819840e7 100644 --- a/.github/workflows/relay.yml +++ b/.github/workflows/relay.yml @@ -53,6 +53,5 @@ jobs: with: name: go-test-results path: | - ./output.txt - ./coverage.txt - ./race_coverage.txt + ./pkg/unit_coverage.txt + ./pkg/race_coverage.txt diff --git a/Makefile b/Makefile index d48fa494e..ee50cebfe 100644 --- a/Makefile +++ b/Makefile @@ -98,7 +98,7 @@ build_relay: # Unit test without race detection test_relay_unit: build_relay - go test -v -covermode=atomic ./pkg/cosmos/... -coverpkg=./... -coverprofile=coverage.txt + go test -v -covermode=atomic ./pkg/cosmos/... -coverpkg=./... -coverprofile=unit_coverage.txt # Unit test with race detection test_relay_unit_race: build_relay From acc5d9f30bb56715c40b20de97169c72b5f3d5e9 Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Tue, 12 Sep 2023 11:08:07 +0200 Subject: [PATCH 18/25] Changed path for report --- .github/workflows/relay.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml index 1819840e7..6c22f6b3f 100644 --- a/.github/workflows/relay.yml +++ b/.github/workflows/relay.yml @@ -53,5 +53,5 @@ jobs: with: name: go-test-results path: | - ./pkg/unit_coverage.txt - ./pkg/race_coverage.txt + ./unit_coverage.txt + ./race_coverage.txt From 4dc60b4042f1e75103482e3402fb80560570f6e1 Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Wed, 13 Sep 2023 14:14:14 +0200 Subject: [PATCH 19/25] Adding test unused var --- .../src/commands/contracts/access_controller/addAccess.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts b/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts index e36afaaed..26bb6299d 100644 --- a/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts +++ b/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts @@ -11,6 +11,7 @@ type ContractInput = { } const makeCommandInput = async (flags: any, args: string[]): Promise => { + let unused_var = "test" return { address: flags.address, } From 4981a3e71b7ebaa559c79244e599a4112a6c98bb Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Thu, 21 Sep 2023 10:29:26 +0200 Subject: [PATCH 20/25] Added eslint --- .eslintrc.json | 21 ++ .github/workflows/gauntlet.yml | 26 ++ .github/workflows/sonar-scan.yml | 15 + .gitignore | 2 +- package.json | 6 +- yarn.lock | 457 ++++++++++++++++++++++++++++++- 6 files changed, 515 insertions(+), 12 deletions(-) create mode 100644 .eslintrc.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..fb7759b49 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,21 @@ +{ + "env": { + "browser": true, + "es2021": true + }, + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "ignorePatterns": ["./packages-ts/test/**", "**/node_modules/**"], + "plugins": [ + "@typescript-eslint" + ], + "rules": { + } +} diff --git a/.github/workflows/gauntlet.yml b/.github/workflows/gauntlet.yml index 6cb8792d3..44affa5da 100644 --- a/.github/workflows/gauntlet.yml +++ b/.github/workflows/gauntlet.yml @@ -44,6 +44,32 @@ jobs: - run: nix develop -c yarn install --frozen-lockfile - run: nix develop -c yarn lint:format + gauntlet_eslint: + name: Gauntlet ESLint + env: + CI: true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - name: Install Nix + uses: cachix/install-nix-action@29bd9290ef037a3ecbdafe83cbd2185e9dd0fa0a # v20 + with: + nix_path: nixpkgs=channel:nixos-unstable + extra_nix_config: "sandbox = false" + - name: Cache Nix + uses: cachix/cachix-action@v12 + with: + name: chainlink-cosmos + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + - run: nix develop -c yarn install --frozen-lockfile + - run: nix develop -c yarn eslint + - name: Upload eslint report + if: always() + uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 + with: + name: gauntlet-eslint-report + path: ./eslint-report.json + gauntlet_run_tests: name: Gauntlet Run Tests env: diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml index 355e10716..024206e64 100644 --- a/.github/workflows/sonar-scan.yml +++ b/.github/workflows/sonar-scan.yml @@ -65,6 +65,15 @@ jobs: name: typescript-test-coverage if_no_artifact_found: warn + - name: Download gauntlet eslint reports + uses: dawidd6/action-download-artifact@v2.27.0 + with: + workflow: gauntlet.yml + workflow_conclusion: "" + name_is_regexp: true + name: gauntlet-eslint-report + if_no_artifact_found: warn + - name: Set SonarQube Report Paths id: sonarqube_report_paths shell: bash @@ -72,8 +81,13 @@ jobs: echo "sonarqube_go_tests_report_paths=$(find . -type f -name 'output.txt' -printf "%p,")" >> $GITHUB_OUTPUT echo "sonarqube_go_coverage_report_paths=$(find . -type f -name '*coverage.txt' -printf "%p,")" >> $GITHUB_OUTPUT echo "sonarqube_golangci_report_paths=$(find . -type f -name 'golangci-lint-report.xml' -printf "%p,")" >> $GITHUB_OUTPUT + echo "sonarqube_eslint_report_paths=$(find -type f -name 'eslint-report.json' -printf "%p")" >> $GITHUB_OUTPUT echo "sonarqube_ts_js_coverage_report_paths=$(find . -type f -name 'lcov.info' -printf "%p,")" >> $GITHUB_OUTPUT + - name: Update ESLint report symlinks + continue-on-error: true + run: sed -i 's+/home/runner/work/feeds-manager/feeds-manager/+/github/workspace/+g' ${{ steps.sonarqube_report_paths.outputs.sonarqube_eslint_report_paths }} + - name: SonarQube Scan uses: sonarsource/sonarqube-scan-action@a6ba0aafc293e03de5437af7edbc97f7d3ebc91a # v1.2.0 with: @@ -81,6 +95,7 @@ jobs: -Dsonar.go.tests.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_go_tests_report_paths }} -Dsonar.go.coverage.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_go_coverage_report_paths }} -Dsonar.go.golangci-lint.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_golangci_report_paths }} + -Dsonar.eslint.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_eslint_report_paths }} -Dsonar.javascript.lcov.reportPaths=${{ steps.sonarqube_report_paths.outputs.sonarqube_ts_js_coverage_report_paths }} env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.gitignore b/.gitignore index b875270b1..45458d535 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,4 @@ devAccounts.json *report.json *.out *coverage* - +eslint-report.json diff --git a/package.json b/package.json index 91d43af42..964320053 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "scripts": { "preinstall": "node scripts/require-yarn.js", "gauntlet": "yarn build && node ./packages-ts/gauntlet-cosmos-contracts/dist/index.js", + "eslint": "eslint -f json -o eslint-report.json ./packages-ts || true", "lint": "tsc -b ./tsconfig.json", "test": "yarn build && yarn workspaces run test", "test:coverage": "yarn build && yarn test --collectCoverage", @@ -52,6 +53,9 @@ "prettier": "2.1.1", "ts-jest": "^26.4.3", "ts-node": "^8.3.0", - "typescript": "4.3.5" + "typescript": "4.3.5", + "@typescript-eslint/eslint-plugin": "^6.7.2", + "@typescript-eslint/parser": "^6.7.2", + "eslint": "^8.49.0" } } diff --git a/yarn.lock b/yarn.lock index c6b985b97..28c670caa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + "@ampproject/remapping@^2.0.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23" @@ -1686,6 +1691,38 @@ shelljs "0.8.5" wasm-ast-types "^0.26.1" +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.8.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.8.1.tgz#8c4bb756cc2aa7eaf13cfa5e69c83afb3260c20c" + integrity sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ== + +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.49.0.tgz#86f79756004a97fa4df866835093f1df3d03c333" + integrity sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w== + "@ethersproject/bytes@^5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" @@ -1706,6 +1743,25 @@ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== +"@humanwhocodes/config-array@^0.11.11": + version "0.11.11" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" + integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -2111,7 +2167,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -2319,6 +2375,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== +"@types/json-schema@^7.0.12": + version "7.0.13" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85" + integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== + "@types/lodash@^4.14.182": version "4.14.197" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.197.tgz#e95c5ddcc814ec3e84c891910a01e0c8a378c54b" @@ -2374,6 +2435,11 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.2.3.tgz#5798ecf1bec94eaa64db39ee52808ec0693315aa" integrity sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A== +"@types/semver@^7.5.0": + version "7.5.2" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.2.tgz#31f6eec1ed7ec23f4f05608d3a2d381df041f564" + integrity sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw== + "@types/stack-utils@^2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" @@ -2398,6 +2464,91 @@ dependencies: "@types/yargs-parser" "*" +"@typescript-eslint/eslint-plugin@^6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.2.tgz#f18cc75c9cceac8080a9dc2e7d166008c5207b9f" + integrity sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q== + dependencies: + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.7.2" + "@typescript-eslint/type-utils" "6.7.2" + "@typescript-eslint/utils" "6.7.2" + "@typescript-eslint/visitor-keys" "6.7.2" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@^6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.7.2.tgz#e0ae93771441b9518e67d0660c79e3a105497af4" + integrity sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw== + dependencies: + "@typescript-eslint/scope-manager" "6.7.2" + "@typescript-eslint/types" "6.7.2" + "@typescript-eslint/typescript-estree" "6.7.2" + "@typescript-eslint/visitor-keys" "6.7.2" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz#cf59a2095d2f894770c94be489648ad1c78dc689" + integrity sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw== + dependencies: + "@typescript-eslint/types" "6.7.2" + "@typescript-eslint/visitor-keys" "6.7.2" + +"@typescript-eslint/type-utils@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz#ed921c9db87d72fa2939fee242d700561454f367" + integrity sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ== + dependencies: + "@typescript-eslint/typescript-estree" "6.7.2" + "@typescript-eslint/utils" "6.7.2" + debug "^4.3.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/types@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.7.2.tgz#75a615a6dbeca09cafd102fe7f465da1d8a3c066" + integrity sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg== + +"@typescript-eslint/typescript-estree@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz#ce5883c23b581a5caf878af641e49dd0349238c7" + integrity sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ== + dependencies: + "@typescript-eslint/types" "6.7.2" + "@typescript-eslint/visitor-keys" "6.7.2" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.7.2.tgz#b9ef0da6f04932167a9222cb4ac59cb187165ebf" + integrity sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.7.2" + "@typescript-eslint/types" "6.7.2" + "@typescript-eslint/typescript-estree" "6.7.2" + semver "^7.5.4" + +"@typescript-eslint/visitor-keys@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz#4cb2bd786f1f459731b0ad1584c9f73e1c7a4d5c" + integrity sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ== + dependencies: + "@typescript-eslint/types" "6.7.2" + eslint-visitor-keys "^3.4.1" + abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" @@ -2411,6 +2562,11 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" @@ -2426,6 +2582,11 @@ acorn@^8.2.4: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== +acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -2433,6 +2594,16 @@ agent-base@6: dependencies: debug "4" +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + ajv@^8.6.3: version "8.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" @@ -2550,6 +2721,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -3197,7 +3373,7 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0: +cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -3284,6 +3460,13 @@ debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" +debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -3319,7 +3502,7 @@ deep-extend@^0.6.0: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@~0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== @@ -3408,6 +3591,13 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + domexception@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" @@ -3525,6 +3715,11 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" @@ -3537,12 +3732,91 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.49.0: + version "8.49.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.49.0.tgz#09d80a89bdb4edee2efcf6964623af1054bf6d42" + integrity sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "8.49.0" + "@humanwhocodes/config-array" "^0.11.11" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -estraverse@^5.2.0: +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -3692,7 +3966,7 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -3713,7 +3987,7 @@ fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -3739,6 +4013,13 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -3785,6 +4066,20 @@ find-yarn-workspace-root2@1.2.16: micromatch "^4.0.2" pkg-dir "^4.2.0" +flat-cache@^3.0.4: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.0.tgz#0e54ab4a1a60fe87e2946b6b00657f1c99e1af3f" + integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== + dependencies: + flatted "^3.2.7" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.7: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + follow-redirects@^1.14.0: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" @@ -3951,6 +4246,13 @@ glob-parent@^5.1.2: dependencies: is-glob "^4.0.1" +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-promise@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-4.2.2.tgz#15f44bcba0e14219cd93af36da6bb905ff007877" @@ -3998,6 +4300,13 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globals@^13.19.0: + version "13.22.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.22.0.tgz#0c9fcb9c48a2494fbb5edbfee644285543eba9d8" + integrity sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw== + dependencies: + type-fest "^0.20.2" + globalthis@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" @@ -4005,7 +4314,7 @@ globalthis@^1.0.1: dependencies: define-properties "^1.1.3" -globby@^11.0.0, globby@^11.0.4: +globby@^11.0.0, globby@^11.0.4, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -4032,6 +4341,11 @@ grapheme-splitter@^1.0.4: resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -4201,6 +4515,19 @@ ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + import-local@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" @@ -4444,7 +4771,7 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@^4.0.1, is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -4463,6 +4790,11 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -5034,6 +5366,13 @@ js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.6.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsdom@^16.4.0: version "16.7.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" @@ -5077,16 +5416,31 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + json-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + json-schema-traverse@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + json5@2.x, json5@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" @@ -5115,6 +5469,13 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +keyv@^4.5.3: + version "4.5.3" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" + integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + dependencies: + json-buffer "3.0.1" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -5159,6 +5520,14 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -5213,6 +5582,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.startcase@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" @@ -5420,7 +5794,7 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimatch@^3.1.1: +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -5737,6 +6111,18 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -5812,6 +6198,13 @@ pako@^2.0.2: resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -5968,6 +6361,11 @@ preferred-pm@^3.0.0: path-exists "^4.0.0" which-pm "2.0.0" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -6271,6 +6669,11 @@ resolve-cwd@^3.0.0: dependencies: resolve-from "^5.0.0" +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + resolve-from@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" @@ -6317,7 +6720,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@3.0.2, rimraf@^3.0.0: +rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -6434,6 +6837,13 @@ semver@^6.1.1, semver@^6.1.2, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -6774,6 +7184,11 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -6871,6 +7286,11 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + thenify-all@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" @@ -6978,6 +7398,11 @@ trim-newlines@^3.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== +ts-api-utils@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== + ts-jest@^26.4.3: version "26.5.6" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.6.tgz#c32e0746425274e1dfe333f43cd3c800e014ec35" @@ -7034,6 +7459,13 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -7051,6 +7483,11 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.21.3: version "0.21.3" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" From ae6d82f4536ab330a0c247ee6295573ef8ebc5f1 Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Thu, 21 Sep 2023 10:37:00 +0200 Subject: [PATCH 21/25] Adding ESLint --- .github/workflows/gauntlet.yml | 50 +++++++++++++++++----------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/gauntlet.yml b/.github/workflows/gauntlet.yml index 44affa5da..6c033bb63 100644 --- a/.github/workflows/gauntlet.yml +++ b/.github/workflows/gauntlet.yml @@ -44,31 +44,31 @@ jobs: - run: nix develop -c yarn install --frozen-lockfile - run: nix develop -c yarn lint:format - gauntlet_eslint: - name: Gauntlet ESLint - env: - CI: true - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - - name: Install Nix - uses: cachix/install-nix-action@29bd9290ef037a3ecbdafe83cbd2185e9dd0fa0a # v20 - with: - nix_path: nixpkgs=channel:nixos-unstable - extra_nix_config: "sandbox = false" - - name: Cache Nix - uses: cachix/cachix-action@v12 - with: - name: chainlink-cosmos - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - run: nix develop -c yarn install --frozen-lockfile - - run: nix develop -c yarn eslint - - name: Upload eslint report - if: always() - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 - with: - name: gauntlet-eslint-report - path: ./eslint-report.json + gauntlet_eslint: + name: Gauntlet ESLint + env: + CI: true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - name: Install Nix + uses: cachix/install-nix-action@29bd9290ef037a3ecbdafe83cbd2185e9dd0fa0a # v20 + with: + nix_path: nixpkgs=channel:nixos-unstable + extra_nix_config: "sandbox = false" + - name: Cache Nix + uses: cachix/cachix-action@v12 + with: + name: chainlink-cosmos + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + - run: nix develop -c yarn install --frozen-lockfile + - run: nix develop -c yarn eslint + - name: Upload eslint report + if: always() + uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 + with: + name: gauntlet-eslint-report + path: ./eslint-report.json gauntlet_run_tests: name: Gauntlet Run Tests From fc5befc45d17c5375825de15c04ded97435e8a9f Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Thu, 21 Sep 2023 10:42:22 +0200 Subject: [PATCH 22/25] Removed unused var --- .../src/commands/contracts/access_controller/addAccess.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts b/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts index 26bb6299d..e36afaaed 100644 --- a/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts +++ b/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts @@ -11,7 +11,6 @@ type ContractInput = { } const makeCommandInput = async (flags: any, args: string[]): Promise => { - let unused_var = "test" return { address: flags.address, } From f88069dfd01ac685658a378e3474431fd48a0c77 Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Thu, 21 Sep 2023 14:49:09 +0200 Subject: [PATCH 23/25] Adding code smell --- .../src/commands/contracts/access_controller/addAccess.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts b/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts index e36afaaed..1ace5a52d 100644 --- a/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts +++ b/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts @@ -22,6 +22,12 @@ const makeContractInput = async (input: CommandInput): Promise => } } +const makeContractInput1 = async (input: CommandInput): Promise => { + return { + address: input.address, + } +} + const validateInput = (input: CommandInput): boolean => { if (!AccAddress.validate(input.address)) { throw new Error(`Invalid address`) From c11d47e2d0e512f660c49efe9729c40176c24211 Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Thu, 21 Sep 2023 15:16:24 +0200 Subject: [PATCH 24/25] Removing duplicate method --- .../src/commands/contracts/access_controller/addAccess.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts b/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts index 1ace5a52d..e36afaaed 100644 --- a/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts +++ b/packages-ts/gauntlet-cosmos-contracts/src/commands/contracts/access_controller/addAccess.ts @@ -22,12 +22,6 @@ const makeContractInput = async (input: CommandInput): Promise => } } -const makeContractInput1 = async (input: CommandInput): Promise => { - return { - address: input.address, - } -} - const validateInput = (input: CommandInput): boolean => { if (!AccAddress.validate(input.address)) { throw new Error(`Invalid address`) From 74f8cf77001a3b38345457968daa5d7713b41b9d Mon Sep 17 00:00:00 2001 From: Damjan Smickovski Date: Thu, 21 Sep 2023 15:17:51 +0200 Subject: [PATCH 25/25] Removed eslint rule --- .eslintrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index fb7759b49..c448d0571 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -12,7 +12,7 @@ "ecmaVersion": "latest", "sourceType": "module" }, - "ignorePatterns": ["./packages-ts/test/**", "**/node_modules/**"], + "ignorePatterns": ["**/node_modules/**"], "plugins": [ "@typescript-eslint" ],