From 834a893fc181873adc94c654f942588dd73b114e Mon Sep 17 00:00:00 2001 From: rfprod Date: Fri, 23 Aug 2024 14:42:28 +0300 Subject: [PATCH] fix(linter): fix eslint configuration - [x] update eslint config according to changes to the rules; --- .eslintrc.js | 25 +--- .github/workflows/validate-pr.yml | 34 +++-- .../http-handlers.service.spec.ts | 6 +- package.json | 3 +- yarn.lock | 116 +++++++++++++++++- 5 files changed, 146 insertions(+), 38 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 5fd4a62c..4edbf4ed 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -14,6 +14,7 @@ module.exports = { plugins: [ 'prettier', '@nx/eslint-plugin', + '@stylistic', 'unicorn', // https://www.npmjs.com/package/eslint-plugin-unicorn ], @@ -239,9 +240,13 @@ module.exports = { ], rules: { '@nx/enforce-module-boundaries': ['error', nxModuleBoundaryRules], + '@stylistic/brace-style': 'error', + '@stylistic/comma-spacing': ['error', { before: false, after: true }], + '@stylistic/lines-between-class-members': ['error', 'always', { exceptAfterOverload: true }], + '@stylistic/quotes': ['error', 'single', { avoidEscape: true, allowTemplateLiterals: true }], '@typescript-eslint/await-thenable': 'error', '@typescript-eslint/ban-ts-comment': 'error', - '@typescript-eslint/ban-types': [ + '@typescript-eslint/no-restricted-types': [ 'error', { types: { @@ -253,8 +258,6 @@ module.exports = { }, }, ], - '@typescript-eslint/brace-style': ['error'], - '@typescript-eslint/comma-spacing': ['error'], '@typescript-eslint/consistent-type-definitions': 'error', '@typescript-eslint/default-param-last': ['error'], '@typescript-eslint/explicit-function-return-type': 'off', // keep off @@ -265,13 +268,6 @@ module.exports = { ignoredMethodNames: ['constructor'], }, ], - '@typescript-eslint/lines-between-class-members': [ - 'error', - 'always', - { - exceptAfterOverload: true, - }, - ], '@typescript-eslint/member-ordering': [ 'error', { @@ -325,7 +321,6 @@ module.exports = { '@typescript-eslint/no-for-in-array': 'error', '@typescript-eslint/no-shadow': 'error', '@typescript-eslint/no-this-alias': 'error', - '@typescript-eslint/no-throw-literal': 'error', '@typescript-eslint/no-unnecessary-type-arguments': 'error', '@typescript-eslint/no-unnecessary-type-assertion': [ 'error', @@ -394,14 +389,6 @@ module.exports = { ignoreStatic: true, }, ], - '@typescript-eslint/quotes': [ - 'error', - 'single', - { - avoidEscape: true, - allowTemplateLiterals: true, - }, - ], 'rxjs/ban-observables': 'off', // keep off 'rxjs/ban-operators': 'off', // keep off 'rxjs/no-async-subscribe': 'error', diff --git a/.github/workflows/validate-pr.yml b/.github/workflows/validate-pr.yml index 9b87a9ce..7fd95b40 100644 --- a/.github/workflows/validate-pr.yml +++ b/.github/workflows/validate-pr.yml @@ -23,6 +23,7 @@ jobs: projects-build: ${{ steps.check-projects-build.outputs.projects }} projects-build-storybook: ${{ steps.check-projects-build-storybook.outputs.projects }} changes: ${{ steps.check-changes.outputs.changes }} + success: ${{ steps.check.outputs.success || 'true' }} steps: - name: Checkout sources @@ -74,6 +75,11 @@ jobs: premerge: 'true' trunk: 'main' + - name: Set failure + id: check + if: failure() + run: echo "success=$(echo 'false')" >> $GITHUB_OUTPUT + lint: needs: checks runs-on: ubuntu-latest @@ -100,7 +106,7 @@ jobs: - name: Set failure id: check if: failure() - run: echo "success='false'" >> $GITHUB_OUTPUT + run: echo "success=$(echo 'false')" >> $GITHUB_OUTPUT lint-affected: needs: checks @@ -108,6 +114,8 @@ jobs: runs-on: ubuntu-latest strategy: + fail-fast: false + max-parallel: 40 matrix: projects: ${{ fromJSON(needs.checks.outputs.projects) }} @@ -136,7 +144,7 @@ jobs: - name: Set failure id: check if: failure() - run: echo "success='false'" >> $GITHUB_OUTPUT + run: echo "success=$(echo 'false')" >> $GITHUB_OUTPUT test: needs: checks @@ -163,7 +171,7 @@ jobs: - name: Set failure id: check if: failure() - run: echo "success='false'" >> $GITHUB_OUTPUT + run: echo "success=(echo 'false')" >> $GITHUB_OUTPUT test-affected: needs: checks @@ -171,6 +179,8 @@ jobs: runs-on: ubuntu-latest strategy: + fail-fast: false + max-parallel: 40 matrix: projects: ${{ fromJSON(needs.checks.outputs.projects) }} @@ -196,7 +206,7 @@ jobs: - name: Set failure id: check if: failure() - run: echo "success='false'" >> $GITHUB_OUTPUT + run: echo "success=(echo 'false')" >> $GITHUB_OUTPUT build: needs: checks @@ -222,7 +232,7 @@ jobs: - name: Set failure id: check if: failure() - run: echo "success='false'" >> $GITHUB_OUTPUT + run: echo "success=(echo 'false')" >> $GITHUB_OUTPUT build-affected: needs: checks @@ -230,6 +240,8 @@ jobs: runs-on: ubuntu-latest strategy: + fail-fast: false + max-parallel: 40 matrix: projects: ${{ fromJSON(needs.checks.outputs.projects-build) }} @@ -252,7 +264,7 @@ jobs: - name: Set failure id: check if: failure() - run: echo "success='false'" >> $GITHUB_OUTPUT + run: echo "success=(echo 'false')" >> $GITHUB_OUTPUT build-affected-storybook: needs: checks @@ -260,6 +272,8 @@ jobs: runs-on: ubuntu-latest strategy: + fail-fast: false + max-parallel: 40 matrix: projects: ${{ fromJSON(needs.checks.outputs.projects-build-storybook) }} @@ -276,16 +290,13 @@ jobs: - name: Setup environment uses: ./.github/actions/setup-environment - - name: Build affected - run: npx nx run-many --target build --projects origin/main - - name: Build storybook affected run: npx nx run-many --target build-storybook --projects ${{ matrix.projects }} - name: Set failure id: check if: failure() - run: echo "success='false'" >> $GITHUB_OUTPUT + run: echo "success=(echo 'false')" >> $GITHUB_OUTPUT premerge: needs: [checks, lint, lint-affected, test, test-affected, build, build-affected, build-affected-storybook] @@ -295,9 +306,10 @@ jobs: steps: - name: Check result run: | - if [[ "$LINT_RESULT" != "true" || "$LINT_AFFECTED_RESULT" != "true" || "$TEST_RESULT" != "true" || "$TEST_AFFECTED_RESULT" != "true" || "$BUILD_RESULT" != "true" || "$BUILD_AFFECTED_RESULT" != "true" || "$BUILD_AFFECTED_STORYBOOK_RESULT" != "true" ]]; then exit 1; fi + if [[ "$CHECKS_RESULT" != "true" || "$LINT_RESULT" != "true" || "$LINT_AFFECTED_RESULT" != "true" || "$TEST_RESULT" != "true" || "$TEST_AFFECTED_RESULT" != "true" || "$BUILD_RESULT" != "true" || "$BUILD_AFFECTED_RESULT" != "true" || "$BUILD_AFFECTED_STORYBOOK_RESULT" != "true" ]]; then exit 1; fi echo "### :rocket: Premerge checks succeeded" >> $GITHUB_STEP_SUMMARY env: + CHECKS_RESULT: ${{ needs.checks.outputs.success }} LINT_RESULT: ${{ needs.lint.outputs.success }} LINT_AFFECTED_RESULT: ${{ needs.lint-affected.outputs.success || 'true' }} TEST_RESULT: ${{ needs.test.outputs.success }} diff --git a/libs/client-store-http-progress/src/lib/services/http-handlers/http-handlers.service.spec.ts b/libs/client-store-http-progress/src/lib/services/http-handlers/http-handlers.service.spec.ts index c58512c3..f0f1d19b 100644 --- a/libs/client-store-http-progress/src/lib/services/http-handlers/http-handlers.service.spec.ts +++ b/libs/client-store-http-progress/src/lib/services/http-handlers/http-handlers.service.spec.ts @@ -3,14 +3,14 @@ import { HttpTestingController } from '@angular/common/http/testing'; import { TestBed, TestModuleMetadata, waitForAsync } from '@angular/core/testing'; import { Router } from '@angular/router'; import { ApolloLink, Operation, ServerError, ServerParseError } from '@apollo/client/core'; -import { GraphQLErrors, NetworkError } from '@apollo/client/errors'; +import { NetworkError } from '@apollo/client/errors'; import { ErrorResponse } from '@apollo/client/link/error'; import { flushHttpRequests, getTestBedConfig, newTestBedMetadata } from '@app/client-testing-unit'; import { AppTranslateModule } from '@app/client-translate'; import { HTTP_STATUS, IWebClientAppEnvironment, WEB_CLIENT_APP_ENV } from '@app/client-util'; import { Store } from '@ngrx/store'; import { Apollo, ApolloModule, gql } from 'apollo-angular'; -import { GraphQLError } from 'graphql'; +import { GraphQLError, GraphQLFormattedError } from 'graphql'; import { Observable, of, throwError } from 'rxjs'; import { catchError, finalize, tap } from 'rxjs/operators'; @@ -200,7 +200,7 @@ describe('AppHttpHandlersService', () => { }, }; const errorRes = { - graphQLErrors: [testErrorNoCode, testError], + graphQLErrors: >[testErrorNoCode, testError], networkError: void 0, }; service.gqlErrorLinkHandler(errorRes); diff --git a/package.json b/package.json index ab4e7726..7d3e3274 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@app/nx-ng-starter", - "version": "8.0.6", + "version": "8.0.7", "private": true, "description": "Monorepo starter: Nx, Angular, Angular Elements, Electron, NodeJS, NestJS, Firebase.", "license": "MIT", @@ -225,6 +225,7 @@ "@storybook/manager-api": "8.2.9", "@storybook/preview-api": "8.2.9", "@storybook/theming": "8.2.9", + "@stylistic/eslint-plugin": "2.6.4", "@swc-node/register": "1.10.9", "@swc/cli": "0.4.0", "@swc/core": "1.7.11", diff --git a/yarn.lock b/yarn.lock index b54fb5d8..e20e3577 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6047,6 +6047,55 @@ resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.2.9.tgz#6eb066f8957272c0bcb0078a8a9bc378ca9311d3" integrity sha512-OL0NFvowPX85N5zIYdgeKKaFm7V4Vgtci093vL3cDZT13LGH6GuEzJKkUFGuUGNPFlJc+EgTj0o6PYKrOLyQ6w== +"@stylistic/eslint-plugin-js@2.6.4", "@stylistic/eslint-plugin-js@^2.6.4": + version "2.6.4" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.6.4.tgz#52e2b89e1f0878aaeeca3be832287bc060d3a422" + integrity sha512-kx1hS3xTvzxZLdr/DCU/dLBE++vcP97sHeEFX2QXhk1Ipa4K1rzPOLw1HCbf4mU3s+7kHP5eYpDe+QteEOFLug== + dependencies: + "@types/eslint" "^9.6.0" + acorn "^8.12.1" + eslint-visitor-keys "^4.0.0" + espree "^10.1.0" + +"@stylistic/eslint-plugin-jsx@2.6.4": + version "2.6.4" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-2.6.4.tgz#8d02c91a26b781740bede271fbb6523cf6ab198d" + integrity sha512-bIvVhdtjmyu3S10V7QRIuawtCZSq9gRmzAX23ucjCOdSFzEwlq+di0IM0riBAvvQerrJL4SM6G3xgyPs8BSXIA== + dependencies: + "@stylistic/eslint-plugin-js" "^2.6.4" + "@types/eslint" "^9.6.0" + eslint-visitor-keys "^4.0.0" + espree "^10.1.0" + estraverse "^5.3.0" + picomatch "^4.0.2" + +"@stylistic/eslint-plugin-plus@2.6.4": + version "2.6.4" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-2.6.4.tgz#5447d72bd6754fb74d31ff268ae2cb91037f0406" + integrity sha512-EuRvtxhf7Hv8OoMIePulP/6rBJIgPTu1l5GAm1780WcF1Cl8bOZXIn84Pdac5pNv6lVlzCOFm8MD3VE+2YROuA== + dependencies: + "@types/eslint" "^9.6.0" + +"@stylistic/eslint-plugin-ts@2.6.4": + version "2.6.4" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-2.6.4.tgz#06f975ae5f1d866827b2495e0d93b9e005c0579c" + integrity sha512-yxL8Hj6WkObw1jfiLpBzKy5yfxY6vwlwO4miq34ySErUjUecPV5jxfVbOe4q1QDPKemQGPq93v7sAQS5PzM8lA== + dependencies: + "@stylistic/eslint-plugin-js" "2.6.4" + "@types/eslint" "^9.6.0" + "@typescript-eslint/utils" "^8.1.0" + +"@stylistic/eslint-plugin@2.6.4": + version "2.6.4" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-2.6.4.tgz#64071a1e3a356b0cf0adf7f9a9b9ebc24ed2cad8" + integrity sha512-euUGnjzH8EOqEYTGk9dB2OBINp0FX1nuO7/k4fO82zNRBIKZgJoDwTLM4Ce+Om6W1Qmh1PrZjCr4jh4tMEXGPQ== + dependencies: + "@stylistic/eslint-plugin-js" "2.6.4" + "@stylistic/eslint-plugin-jsx" "2.6.4" + "@stylistic/eslint-plugin-plus" "2.6.4" + "@stylistic/eslint-plugin-ts" "2.6.4" + "@types/eslint" "^9.6.0" + "@swc-node/core@^1.13.3": version "1.13.3" resolved "https://registry.yarnpkg.com/@swc-node/core/-/core-1.13.3.tgz#0821d01263f48314392d38d80ef1a03fef5f11b3" @@ -6650,7 +6699,7 @@ "@types/eslint" "*" "@types/estree" "*" -"@types/eslint@*": +"@types/eslint@*", "@types/eslint@^9.6.0": version "9.6.0" resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff" integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg== @@ -7238,6 +7287,14 @@ "@typescript-eslint/types" "8.1.0" "@typescript-eslint/visitor-keys" "8.1.0" +"@typescript-eslint/scope-manager@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.2.0.tgz#4a4bd7e7df5522acc8795c3b6f21e8c41b951138" + integrity sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw== + dependencies: + "@typescript-eslint/types" "8.2.0" + "@typescript-eslint/visitor-keys" "8.2.0" + "@typescript-eslint/type-utils@8.1.0": version "8.1.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.1.0.tgz#dbf5a4308166dfc37a36305390dea04a3a3b5048" @@ -7273,6 +7330,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.1.0.tgz#fbf1eaa668a7e444ac507732ca9d3c3468e5db9c" integrity sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog== +"@typescript-eslint/types@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.2.0.tgz#dfe9895a2812f7c6bf7af863054c22a67060420c" + integrity sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ== + "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" @@ -7314,6 +7376,20 @@ semver "^7.6.0" ts-api-utils "^1.3.0" +"@typescript-eslint/typescript-estree@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.2.0.tgz#fbdb93a1c7ac7f1f96ae2de4fc97cd64c60ae894" + integrity sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA== + dependencies: + "@typescript-eslint/types" "8.2.0" + "@typescript-eslint/visitor-keys" "8.2.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + "@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" @@ -7348,6 +7424,16 @@ "@typescript-eslint/types" "8.1.0" "@typescript-eslint/typescript-estree" "8.1.0" +"@typescript-eslint/utils@^8.1.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.2.0.tgz#02d442285925f28d520587185f295f932702e733" + integrity sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.2.0" + "@typescript-eslint/types" "8.2.0" + "@typescript-eslint/typescript-estree" "8.2.0" + "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" @@ -7372,6 +7458,14 @@ "@typescript-eslint/types" "8.1.0" eslint-visitor-keys "^3.4.3" +"@typescript-eslint/visitor-keys@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.2.0.tgz#f6abb3b6508898a117175ddc11f9b9869cc96834" + integrity sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q== + dependencies: + "@typescript-eslint/types" "8.2.0" + eslint-visitor-keys "^3.4.3" + "@ungap/custom-elements@1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@ungap/custom-elements/-/custom-elements-1.3.0.tgz#c1b7623887f774f274f308a1468098894826c2be" @@ -7733,7 +7827,7 @@ acorn-walk@^8.0.0, acorn-walk@^8.0.2, acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -acorn@^8.0.4, acorn@^8.1.0, acorn@^8.11.0, acorn@^8.11.3, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.0.4, acorn@^8.1.0, acorn@^8.11.0, acorn@^8.11.3, acorn@^8.12.0, acorn@^8.12.1, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: version "8.12.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== @@ -11776,6 +11870,11 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4 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-visitor-keys@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" + integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== + eslint@8.57.0: version "8.57.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" @@ -11820,6 +11919,15 @@ eslint@8.57.0: strip-ansi "^6.0.1" text-table "^0.2.0" +espree@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" + integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== + dependencies: + acorn "^8.12.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.0.0" + espree@^9.0.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" @@ -11853,7 +11961,7 @@ estraverse@^4.1.1: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0, estraverse@^5.2.0: +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -18413,7 +18521,7 @@ picomatch@4.0.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.1.tgz#68c26c8837399e5819edce48590412ea07f17a07" integrity sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg== -picomatch@4.0.2: +picomatch@4.0.2, picomatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==