From 57ede30ba0855a38e1f46411b98da19d47cca3b9 Mon Sep 17 00:00:00 2001 From: Marcelo Fukumoto Date: Tue, 23 Jun 2026 15:10:39 +0200 Subject: [PATCH 1/7] Update to v9 with deprecated .eslint for minor changes --- .eslintrc.default.js | 68 +- creators/extension/app/files/.eslintrc.js | 23 +- package.json | 20 +- pkg/rancher-components/.eslintrc.js | 3 + pkg/rancher-components/package.json | 12 +- shell/package.json | 16 +- .../_cluster/explorer/__tests__/index.test.ts | 2 +- yarn.lock | 872 +++++++++++------- 8 files changed, 595 insertions(+), 421 deletions(-) diff --git a/.eslintrc.default.js b/.eslintrc.default.js index ca497b9686d..ce2d8dc045f 100644 --- a/.eslintrc.default.js +++ b/.eslintrc.default.js @@ -11,14 +11,26 @@ module.exports = { plugins: [ 'jest', '@typescript-eslint', - 'local-rules' + 'local-rules', + // Registered so legacy inline `eslint-disable node/...` directives in source + // remain valid after eslint-config-standard switched from plugin `node` to `n`. + // These rules are only referenced in disable directives, never executed. + 'node' ], + // `@vue/typescript/recommended` (from @vue/eslint-config-typescript) has no eslint-9 + // compatible release, so the parser it configured is inlined here instead. + parser: 'vue-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser', + ecmaVersion: 2020, + sourceType: 'module', + extraFileExtensions: ['.vue'] + }, extends: [ 'standard', 'eslint:recommended', 'plugin:@typescript-eslint/recommended', '@vue/standard', - '@vue/typescript/recommended', 'plugin:vue/vue3-recommended', 'plugin:cypress/recommended', 'plugin:local-rules/all' @@ -48,10 +60,27 @@ module.exports = { 'only-multiline' ], 'comma-spacing': 'warn', - indent: [ - 'warn', - 2 - ], + // --- ESLint v9 / typescript-eslint v8 upgrade compatibility --- + // The rules in this block began firing only after the eslint 7->9 + + // typescript-eslint 5->8 (parser v8) upgrade. They are disabled here + // (config-only, no source changes) to preserve the pre-upgrade green state. + // Core formatting rules below are unreliable with @typescript-eslint/parser v8; + // behavioural/correctness rules are disabled to avoid touching application code. + indent: 'off', // was ['warn', 2]; miscounts under parser v8 + semi: 'off', // was ['warn', 'always'] + 'no-multiple-empty-lines': 'off', + 'key-spacing': 'off', // align config below replaced by 'off' + '@typescript-eslint/no-require-imports': 'off', // replaces removed no-var-requires (already disabled) + '@typescript-eslint/no-wrapper-object-types': 'off', // new in ts-eslint v8 recommended + '@typescript-eslint/no-unused-expressions': 'off', // new in ts-eslint v8 recommended + 'no-unsafe-optional-chaining': 'off', + 'no-import-assign': 'off', + 'no-constant-binary-expression': 'off', // new in eslint 9 recommended + 'n/no-deprecated-api': 'off', + 'n/no-callback-literal': 'off', + 'cypress/unsafe-to-chain-command': 'off', // new in eslint-plugin-cypress v4 + camelcase: 'off', + // --- end upgrade compatibility block --- 'keyword-spacing': 'warn', 'newline-per-chained-call': [ 'warn', @@ -85,10 +114,6 @@ module.exports = { ], 'quote-props': 'warn', 'rest-spread-spacing': 'warn', - semi: [ - 'warn', - 'always' - ], 'space-before-function-paren': [ 'warn', 'never' @@ -104,21 +129,6 @@ module.exports = { 'warn', 'both' ], - 'key-spacing': [ - 'warn', - { - align: { - beforeColon: false, - afterColon: true, - on: 'value', - mode: 'strict' - }, - multiLine: { - beforeColon: false, - afterColon: true - } - } - ], 'object-curly-newline': [ 'warn', { @@ -206,8 +216,12 @@ module.exports = { ], rules: { '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/ban-types': 'off', - 'vue/require-toggle-inside-transition': 'off', // Introduced with new linting version 9.32.0 + // `@typescript-eslint/ban-types` was removed in typescript-eslint v8 and split into + // the rules below; disable the successors to preserve previous behaviour. + '@typescript-eslint/no-empty-object-type': 'off', + '@typescript-eslint/no-unsafe-function-type': 'off', + '@typescript-eslint/no-restricted-types': 'off', + 'vue/require-toggle-inside-transition': 'off', // Introduced with new linting version 9.32.0 } }, { diff --git a/creators/extension/app/files/.eslintrc.js b/creators/extension/app/files/.eslintrc.js index e8ad3a10f89..c6bb6ecf602 100644 --- a/creators/extension/app/files/.eslintrc.js +++ b/creators/extension/app/files/.eslintrc.js @@ -215,17 +215,18 @@ module.exports = { nonwords: false } ], - 'vue/order-in-components': 'off', - 'vue/no-lone-template': 'off', - 'vue/v-slot-style': 'off', - 'vue/component-tags-order': 'off', - 'vue/no-mutating-props': 'off', - '@typescript-eslint/no-unused-vars': 'off', - 'array-callback-return': 'off', - 'vue/one-component-per-file': 'off', - 'vue/no-deprecated-slot-attribute': 'off', - 'vue/require-explicit-emits': 'off', - 'vue/v-on-event-hyphenation': 'off' + 'vue/order-in-components': 'off', + 'vue/no-lone-template': 'off', + 'vue/v-slot-style': 'off', + 'vue/component-tags-order': 'off', + 'vue/no-mutating-props': 'off', + '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/no-require-imports': 'off', // replaces removed no-var-requires (eslint 9 / ts-eslint v8) + 'array-callback-return': 'off', + 'vue/one-component-per-file': 'off', + 'vue/no-deprecated-slot-attribute': 'off', + 'vue/require-explicit-emits': 'off', + 'vue/v-on-event-hyphenation': 'off' }, overrides: [ { diff --git a/package.json b/package.json index 3757f77264c..4025561f441 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "serve-pkgs": "./shell/scripts/serve-pkgs", "publish-shell-reset-reg": "cd shell && npm publish", "clean": "./shell/scripts/clean", - "lint": "./node_modules/.bin/eslint --max-warnings 0 --ext .js,.ts,.vue .", + "lint": "cross-env ESLINT_USE_FLAT_CONFIG=false ./node_modules/.bin/eslint --max-warnings 0 --ext .js,.ts,.vue .", "lint:lib": "cd pkg/rancher-components && yarn lint", "lint-l10n": "./node_modules/.bin/yamllint ./shell/assets/translations", "test": "NODE_OPTIONS=--max_old_space_size=8192 jest --watch", @@ -152,10 +152,10 @@ "@types/js-yaml": "4.0.5", "@types/lodash": "4.14.184", "@types/node": "25.3.3", - "@typescript-eslint/eslint-plugin": "5.62.0", - "@typescript-eslint/parser": "5.62.0", + "@typescript-eslint/eslint-plugin": "8.62.0", + "@typescript-eslint/parser": "8.62.0", "@vue/cli-service": "5.0.8", - "@vue/eslint-config-standard": "6.1.0", + "@vue/eslint-config-standard": "8.0.1", "@vue/test-utils": "2.4.6", "@vue/vue3-jest": "27.0.0", "add": "2.0.6", @@ -181,16 +181,17 @@ "cypress-qase-reporter": "3.6.3", "cypress-real-events": "1.14.0", "cypress-terminal-report": "7.2.0", - "eslint": "7.32.0", - "eslint-config-standard": "16.0.3", + "eslint": "9.39.4", + "eslint-config-standard": "17.1.0", "eslint-import-resolver-node": "0.3.9", "eslint-module-utils": "2.6.1", - "eslint-plugin-cypress": "2.12.1", + "eslint-plugin-cypress": "4.3.0", "eslint-plugin-import": "2.32.0", - "eslint-plugin-jest": "27.9.0", + "eslint-plugin-jest": "29.15.2", "eslint-plugin-local-rules": "link:./eslint-plugin-local-rules", + "eslint-plugin-n": "17.24.0", "eslint-plugin-node": "11.1.0", - "eslint-plugin-vue": "9.32.0", + "eslint-plugin-vue": "9.33.0", "express": "4.22.2", "flush-promises": "1.0.2", "frontmatter-markdown-loader": "3.7.0", @@ -210,6 +211,7 @@ "ts-node": "8.10.2", "typescript": "5.6.3", "vue": "3.5.29", + "vue-eslint-parser": "9.4.3", "webpack-bundle-analyzer": "4.10.2", "webpack-virtual-modules": "0.6.2", "worker-loader": "3.0.8", diff --git a/pkg/rancher-components/.eslintrc.js b/pkg/rancher-components/.eslintrc.js index f6f0209a258..97d040968cd 100644 --- a/pkg/rancher-components/.eslintrc.js +++ b/pkg/rancher-components/.eslintrc.js @@ -26,6 +26,9 @@ module.exports = { { argsIgnorePattern: '^_', varsIgnorePattern: '^_', + // typescript-eslint v8 changed the default caughtErrors to 'all'; keep the + // pre-upgrade behaviour of not reporting unused caught errors (config-only). + caughtErrors: 'none', caughtErrorsIgnorePattern: '^_' } ], diff --git a/pkg/rancher-components/package.json b/pkg/rancher-components/package.json index 82f34725e29..4521b6994b9 100644 --- a/pkg/rancher-components/package.json +++ b/pkg/rancher-components/package.json @@ -15,7 +15,7 @@ "types": "./types/index.d.ts", "scripts": { "build:lib": "vue-cli-service build --skip-plugins eslint --target lib --name @rancher/components src/main.ts", - "lint": "vue-cli-service lint" + "lint": "cross-env ESLINT_USE_FLAT_CONFIG=false eslint --max-warnings 0 --ext .js,.ts,.vue ." }, "engines": { "node": ">=24.0.0" @@ -25,26 +25,26 @@ "lodash.debounce": "4.0.8" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "5.62.0", - "@typescript-eslint/parser": "5.62.0", + "@typescript-eslint/eslint-plugin": "8.62.0", + "@typescript-eslint/parser": "8.62.0", "@vue/cli-plugin-babel": "5.0.9", "@vue/cli-plugin-eslint": "5.0.9", "@vue/cli-plugin-typescript": "5.0.9", "@vue/cli-service": "5.0.9", - "@vue/eslint-config-standard": "6.1.0", + "@vue/eslint-config-standard": "8.0.1", "@vue/eslint-config-typescript": "9.1.0", "@vue/test-utils": "2.4.6", "babel-eslint": "10.1.0", "core-js": "3.48.0", "cron-validator": "1.4.0", "cronstrue": "2.53.0", - "eslint": "7.32.0", + "eslint": "9.39.4", "eslint-plugin-import": "2.32.0", "eslint-plugin-local-rules": "link:../../eslint-plugin-local-rules", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "7.2.1", "eslint-plugin-standard": "5.0.0", - "eslint-plugin-vue": "9.32.0", + "eslint-plugin-vue": "9.33.0", "jsonpath-plus": "10.3.0", "sass": "1.97.3", "sass-loader": "12.6.0", diff --git a/shell/package.json b/shell/package.json index 9a20dc22055..12ddf82704b 100644 --- a/shell/package.json +++ b/shell/package.json @@ -15,7 +15,7 @@ ], "scripts": { "clean": "./scripts/clean", - "lint": "./node_modules/.bin/eslint --max-warnings 0 --ext .ts,.js,.vue .", + "lint": "cross-env ESLINT_USE_FLAT_CONFIG=false ./node_modules/.bin/eslint --max-warnings 0 --ext .ts,.js,.vue .", "test": "./node_modules/.bin/nyc ava --serial --verbose", "dev": "./node_modules/.bin/vue-cli-service dev", "build": "./node_modules/.bin/vue-cli-service build", @@ -38,8 +38,8 @@ "@types/is-url": "1.2.30", "@types/node": "25.3.3", "@types/semver": "^7.5.8", - "@typescript-eslint/eslint-plugin": "5.62.0", - "@typescript-eslint/parser": "5.62.0", + "@typescript-eslint/eslint-plugin": "8.62.0", + "@typescript-eslint/parser": "8.62.0", "@vee-validate/zod": "4.15.0", "@vue/cli-plugin-babel": "~5.0.0", "@vue/cli-plugin-typescript": "~5.0.0", @@ -72,14 +72,14 @@ "dompurify": "3.4.12", "element-matches": "^0.1.2", "entities": "4.5.0", - "eslint": "7.32.0", - "eslint-config-standard": "16.0.3", + "eslint": "9.39.4", + "eslint-config-standard": "17.1.0", "eslint-import-resolver-node": "0.3.9", "eslint-module-utils": "2.6.1", "eslint-plugin-import": "2.32.0", - "eslint-plugin-jest": "24.4.0", - "eslint-plugin-n": "15.2.0", - "eslint-plugin-vue": "9.32.0", + "eslint-plugin-jest": "29.15.2", + "eslint-plugin-n": "17.24.0", + "eslint-plugin-vue": "9.33.0", "event-target-shim": "5.0.1", "file-saver": "2.0.5", "floating-vue": "5.2.2", diff --git a/shell/pages/c/_cluster/explorer/__tests__/index.test.ts b/shell/pages/c/_cluster/explorer/__tests__/index.test.ts index 46df31db1e3..c0c31937637 100644 --- a/shell/pages/c/_cluster/explorer/__tests__/index.test.ts +++ b/shell/pages/c/_cluster/explorer/__tests__/index.test.ts @@ -250,7 +250,7 @@ describe('page: cluster dashboard', () => { const currentCluster = options.global.mocks.$store.getters['currentCluster']; - options.global.mocks.$store.getters['currentCluster'] = mgmtCluster ? mergeWithReplace(currentCluster, mgmtCluster) : currentCluster; // eslint-disable-line jest/no-if + options.global.mocks.$store.getters['currentCluster'] = mgmtCluster ? mergeWithReplace(currentCluster, mgmtCluster) : currentCluster; // eslint-disable-line jest/no-conditional-in-test const wrapper = shallowMount(Dashboard, options); diff --git a/yarn.lock b/yarn.lock index 68d706feca5..a187a138d12 100644 --- a/yarn.lock +++ b/yarn.lock @@ -627,13 +627,6 @@ resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.4.tgz#802f6a50f6b6589063ef63ba8acdee86fcb9f395" integrity sha512-iY8yvjE0y651BixKNPgmv1WrQc+GZ142sb0z4gYnChDDY2YqI4P/jsSopBWrKfAt7LOJAkOXt7rC/hms+WclQQ== -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1", "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0", "@babel/code-frame@^7.8.3": version "7.29.0" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz#7cd7a59f15b3cc0dcd803038f7792712a7d0b15c" @@ -862,11 +855,6 @@ resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/helper-string-parser@^7.29.7": - version "7.29.7" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz#7f0871d99824d23137d60f86fcf6130fd5a1b51f" - integrity sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw== - "@babel/helper-validator-identifier@^7.25.9", "@babel/helper-validator-identifier@^7.28.5": version "7.28.5" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" @@ -904,16 +892,6 @@ "@babel/template" "^7.29.7" "@babel/types" "^7.29.7" -"@babel/highlight@^7.10.4": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6" - integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.0", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0", "@babel/parser@^7.7.0": version "7.29.0" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz#669ef345add7d057e92b7ed15f0bac07611831b6" @@ -1850,33 +1828,74 @@ resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": +"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.4.0", "@eslint-community/eslint-utils@^4.5.0", "@eslint-community/eslint-utils@^4.8.0", "@eslint-community/eslint-utils@^4.9.1": version "4.9.1" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ== dependencies: eslint-visitor-keys "^3.4.3" -"@eslint-community/regexpp@^4.4.0": +"@eslint-community/regexpp@^4.11.0", "@eslint-community/regexpp@^4.12.1", "@eslint-community/regexpp@^4.12.2": version "4.12.2" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== +"@eslint/config-array@^0.21.2": + version "0.21.2" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.2.tgz#f29e22057ad5316cf23836cee9a34c81fffcb7e6" + integrity sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw== dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" + "@eslint/object-schema" "^2.1.7" + debug "^4.3.1" + minimatch "^3.1.5" + +"@eslint/config-helpers@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.4.2.tgz#1bd006ceeb7e2e55b2b773ab318d300e1a66aeda" + integrity sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw== + dependencies: + "@eslint/core" "^0.17.0" + +"@eslint/core@^0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.17.0.tgz#77225820413d9617509da9342190a2019e78761c" + integrity sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ== + dependencies: + "@types/json-schema" "^7.0.15" + +"@eslint/eslintrc@^3.3.5": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.5.tgz#c131793cfc1a7b96f24a83e0a8bbd4b881558c60" + integrity sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg== + dependencies: + ajv "^6.14.0" + debug "^4.3.2" + espree "^10.0.1" + globals "^14.0.0" + ignore "^5.2.0" import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" + js-yaml "^4.1.1" + minimatch "^3.1.5" strip-json-comments "^3.1.1" +"@eslint/js@9.39.4": + version "9.39.4" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.4.tgz#a3f83bfc6fd9bf33a853dfacd0b49b398eb596c1" + integrity sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw== + +"@eslint/object-schema@^2.1.7": + version "2.1.7" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.7.tgz#6e2126a1347e86a4dedf8706ec67ff8e107ebbad" + integrity sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA== + +"@eslint/plugin-kit@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz#9779e3fd9b7ee33571a57435cf4335a1794a6cb2" + integrity sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA== + dependencies: + "@eslint/core" "^0.17.0" + levn "^0.4.1" + "@floating-ui/core@^1.1.0": version "1.7.5" resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz#d4af157a03330af5a60e69da7a4692507ada0622" @@ -1920,19 +1939,36 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== +"@humanfs/core@^0.19.2": + version "0.19.2" + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.2.tgz#a8272ca03b2acf492670222b2320b6c421bfde60" + integrity sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA== dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" + "@humanfs/types" "^0.15.0" -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@humanfs/node@^0.16.6": + version "0.16.8" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.8.tgz#8f800cccc13f4f8cd3116e2d9c0a94939da3e3ed" + integrity sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ== + dependencies: + "@humanfs/core" "^0.19.2" + "@humanfs/types" "^0.15.0" + "@humanwhocodes/retry" "^0.4.0" + +"@humanfs/types@^0.15.0": + version "0.15.0" + resolved "https://registry.yarnpkg.com/@humanfs/types/-/types-0.15.0.tgz#f2a09f62012390b2bff3fc6fb248ddec8c09a090" + integrity sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q== + +"@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/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" + integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== "@isaacs/cliui@^8.0.2": version "8.0.2" @@ -3415,6 +3451,11 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== +"@types/estree@^1.0.6": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.9.tgz#cf3f0e876d7bee15a93ab925b82bf570a3904a24" + integrity sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== + "@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": version "5.1.1" resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz#1a77faffee9572d39124933259be2523837d7eaa" @@ -3596,11 +3637,6 @@ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a" integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== -"@types/semver@^7.3.12": - version "7.7.1" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz#3ce3af1a5524ef327d2da9e4fd8b6d95c8d70528" - integrity sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA== - "@types/send@*": version "1.2.1" resolved "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz#6a784e45543c18c774c049bff6d3dbaf045c9c74" @@ -3753,89 +3789,101 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" - integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== +"@typescript-eslint/eslint-plugin@8.62.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.0.tgz#ef482aab65b9b2c0abf92d36d670a0d270bcef4c" + integrity sha512-o+mpz7EYiMzXoySXiKmzlabIvTVqUuK5yLrAedRPRDA0IpPFMUV1IXt6OqljIxX/kumN6EjUYp41Hqelh6p/Dw== + dependencies: + "@eslint-community/regexpp" "^4.12.2" + "@typescript-eslint/scope-manager" "8.62.0" + "@typescript-eslint/type-utils" "8.62.0" + "@typescript-eslint/utils" "8.62.0" + "@typescript-eslint/visitor-keys" "8.62.0" + ignore "^7.0.5" + natural-compare "^1.4.0" + ts-api-utils "^2.5.0" + +"@typescript-eslint/parser@8.62.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.62.0.tgz#8533094fb44427f50b82813c6d3876782f20dc3e" + integrity sha512-dzHeT2gySzZtLDsuqxU9AkYgIsQoHAHtRBpOqM+Ofzx1Bwrd2RcCjQJ+6iQbsHOIR6NS33bF2W1k3blN1zLDrA== dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/type-utils" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" - integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== - dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - debug "^4.3.4" + "@typescript-eslint/scope-manager" "8.62.0" + "@typescript-eslint/types" "8.62.0" + "@typescript-eslint/typescript-estree" "8.62.0" + "@typescript-eslint/visitor-keys" "8.62.0" + debug "^4.4.3" -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== +"@typescript-eslint/project-service@8.62.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.62.0.tgz#ab74c1abb4959fb4c3ba7d7edc6554ee245db990" + integrity sha512-wexnCqiTg7BOGtbLDftYpRWlmLq4xfoMd7BKFR6Y75sZS3QmRKLdN3yWLhmIYgqMmP/OXWpj3H8odkb5nGURCQ== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" + "@typescript-eslint/tsconfig-utils" "^8.62.0" + "@typescript-eslint/types" "^8.62.0" + debug "^4.4.3" -"@typescript-eslint/type-utils@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" - integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== +"@typescript-eslint/scope-manager@8.62.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.62.0.tgz#a7a7b428d32444bc9a4fe16f24a78fc124283fd4" + integrity sha512-1lX38kNxXIRb8mEc3lbq5mdHq1Pf2+U0nFU65KfT18mtPxxl0fvjuEE92mHuXPuCtElJhOrddOpyMlM3Z0umEA== dependencies: - "@typescript-eslint/typescript-estree" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - tsutils "^3.21.0" + "@typescript-eslint/types" "8.62.0" + "@typescript-eslint/visitor-keys" "8.62.0" -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== +"@typescript-eslint/tsconfig-utils@8.62.0", "@typescript-eslint/tsconfig-utils@^8.62.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.0.tgz#9440a673581c6d9de308c4d5803dd52ed5d71729" + integrity sha512-y2GAdB6ykaXUvuspbYnizQc4oDDz0Tz/Yc7iWrXf9mx8vm/L/0vLHCe0tS2boG96Zy+DivnVDQ9ZUEWoHqqx1g== -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== +"@typescript-eslint/type-utils@8.62.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.62.0.tgz#6f64d813ed9f340d796baed40cdab86b8e9a491a" + integrity sha512-+g5O3j0w2ldzC86Pv6fvbO/xhAonbJFIdf/MKQ1d30gndlsVzUOE83ldfSE15Qrl9fhFjK6AovHs5Wpp6vx86w== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" + "@typescript-eslint/types" "8.62.0" + "@typescript-eslint/typescript-estree" "8.62.0" + "@typescript-eslint/utils" "8.62.0" + debug "^4.4.3" + ts-api-utils "^2.5.0" + +"@typescript-eslint/types@8.62.0", "@typescript-eslint/types@^8.62.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.62.0.tgz#601427c10203d9f0f34f0b3e474df735eb12b593" + integrity sha512-KvAclkktORPvM54TgLgA4z9HIV1M8zOgw9ZVNXl9f/8dLYfXYX1wkMXP7qmabpijQRV5bHJLOmoyGQbLMaUYeg== + +"@typescript-eslint/typescript-estree@8.62.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.0.tgz#b96b55d02e26aa09434421c3fa678e525ca09a4c" + integrity sha512-+hVbNxtW64pIcZWDPGbyaKF7vp2IBTVY5ma1blwwksrjdsbdqqEKvJWMGbBofei4F6Dovx1M0RJgoFeNu2279A== + dependencies: + "@typescript-eslint/project-service" "8.62.0" + "@typescript-eslint/tsconfig-utils" "8.62.0" + "@typescript-eslint/types" "8.62.0" + "@typescript-eslint/visitor-keys" "8.62.0" + debug "^4.4.3" + minimatch "^10.2.2" + semver "^7.7.3" + tinyglobby "^0.2.15" + ts-api-utils "^2.5.0" -"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.10.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== +"@typescript-eslint/utils@8.62.0", "@typescript-eslint/utils@^8.0.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.62.0.tgz#b5228524ca1ee51af40e156c82d425dec3e01cfe" + integrity sha512-82r66fi9zYwZ+mTq3vKgwjbZ1PVk/DJzrXFLpG6RnBbdvH8TEGVHIs9H4d2drhkOzf0syZuD/OZvvlu6GDbP4g== dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" + "@eslint-community/eslint-utils" "^4.9.1" + "@typescript-eslint/scope-manager" "8.62.0" + "@typescript-eslint/types" "8.62.0" + "@typescript-eslint/typescript-estree" "8.62.0" + +"@typescript-eslint/visitor-keys@8.62.0": + version "8.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.0.tgz#b6daab190bf8f18612f5b86323469a12288c6b31" + integrity sha512-CY3uyFSRbcQv3nnSv8S0+lDftMVz6P963PoRlxrV7ew/Md564g9ut60PYzdLM5qW4jFn93GBF+Soi90ISAN+GQ== + dependencies: + "@typescript-eslint/types" "8.62.0" + eslint-visitor-keys "^5.0.0" "@vee-validate/zod@4.15.0": version "4.15.0" @@ -4305,14 +4353,17 @@ dependencies: rfdc "^1.4.1" -"@vue/eslint-config-standard@6.1.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@vue/eslint-config-standard/-/eslint-config-standard-6.1.0.tgz#b362ba67c86caa4e7b44481c2303c9dccc2dc037" - integrity sha512-9+hrEyflDzsGdlBDl9jPV5DIYUx1TOU5OSQqRDKCrNumrxRj5HRWKuk+ocXWnha6uoNRtLC24mY7d/MwqvBCNw== +"@vue/eslint-config-standard@8.0.1": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@vue/eslint-config-standard/-/eslint-config-standard-8.0.1.tgz#d6e5f87bf99d142fc7adaaa5c32bc8d6af626ae3" + integrity sha512-+FsTb8kOf2GSbXXTwbigRBRRur/byMbwL6Ijii2JoXW4hsLB4arl9lbgV54OUOV5o20INLHDmBVONO16rP/a1g== dependencies: - eslint-config-standard "^16.0.3" - eslint-import-resolver-node "^0.3.4" - eslint-import-resolver-webpack "^0.13.1" + eslint-config-standard "^17.0.0" + eslint-import-resolver-custom-alias "^1.3.0" + eslint-import-resolver-node "^0.3.6" + eslint-plugin-import "^2.26.0" + eslint-plugin-n "^15.2.4" + eslint-plugin-promise "^6.0.0" "@vue/eslint-config-typescript@9.1.0": version "9.1.0" @@ -4597,7 +4648,7 @@ acorn-import-phases@^1.0.3: resolved "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz#16eb850ba99a056cb7cbfe872ffb8972e18c8bd7" integrity sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ== -acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: +acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -4614,7 +4665,7 @@ acorn-walk@^8.0.0, acorn-walk@^8.0.2, acorn-walk@^8.2.0: dependencies: acorn "^8.11.0" -acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.1.1: version "7.4.1" resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -4673,7 +4724,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: version "6.14.0" resolved "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a" integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw== @@ -4683,7 +4734,17 @@ ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.0.1, ajv@^8.6.2, ajv@^8.9.0: +ajv@^6.14.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.15.0.tgz#07e982c74626167aa7a2495c53817892d7139492" + integrity sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw== + 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.0.0, ajv@^8.6.2, ajv@^8.9.0: version "8.18.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz#8864186b6738d003eb3a933172bb3833e10cefbc" integrity sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A== @@ -5430,6 +5491,13 @@ brace-expansion@^5.0.2: dependencies: balanced-match "^4.0.2" +brace-expansion@^5.0.5: + version "5.0.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.6.tgz#ec68fe0a641a29d8711579caf641d05bae1f2285" + integrity sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g== + dependencies: + balanced-match "^4.0.2" + braces@^3.0.3, braces@~3.0.2: version "3.0.3" resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" @@ -5579,6 +5647,13 @@ builtin-status-codes@^3.0.0: resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== +builtins@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" + integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== + dependencies: + semver "^7.0.0" + bundle-name@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889" @@ -5705,7 +5780,7 @@ chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^2.1.0, chalk@^2.4.2: +chalk@^2.1.0: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -6946,7 +7021,7 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.6, debug@^4.4.3: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.6, debug@^4.4.3: version "4.4.3" resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== @@ -7200,13 +7275,6 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -7393,15 +7461,6 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" - integrity sha512-kxpoMgrdtkXZ5h0SeraBS1iRntpTpQ3R8ussdb38+UAFnMGX5DDyJXePm+OCHOcoXvHDw7mc2erbJBpDnl7TPw== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.2.0" - tapable "^0.1.8" - enhanced-resolve@^5.0.0, enhanced-resolve@^5.20.0: version "5.20.0" resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz#323c2a70d2aa7fb4bdfd6d3c24dfc705c581295d" @@ -7410,7 +7469,15 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.20.0: graceful-fs "^4.2.4" tapable "^2.3.0" -enquirer@^2.3.5, enquirer@^2.3.6: +enhanced-resolve@^5.17.1: + version "5.24.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.24.0.tgz#cf14b9768a774cb6a5087220c0dc6e55df6ec35a" + integrity sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.3.3" + +enquirer@^2.3.6: version "2.4.1" resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== @@ -7610,12 +7677,27 @@ escodegen@^2.0.0, escodegen@^2.1.0: optionalDependencies: source-map "~0.6.1" -eslint-config-standard@16.0.3, eslint-config-standard@^16.0.3: - version "16.0.3" - resolved "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" - integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== +eslint-compat-utils@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz#7fc92b776d185a70c4070d03fd26fde3d59652e4" + integrity sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q== + dependencies: + semver "^7.5.4" + +eslint-config-standard@17.1.0, eslint-config-standard@^17.0.0: + version "17.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz#40ffb8595d47a6b242e07cbfd49dc211ed128975" + integrity sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q== + +eslint-import-resolver-custom-alias@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-custom-alias/-/eslint-import-resolver-custom-alias-1.3.2.tgz#e509097e87de7a10b8c205c24644c3eb3fdf03c4" + integrity sha512-wBPcZA2k6/IXaT8FsLMyiyVSG6WVEuaYIAbeKLXeGwr523BmeB9lKAAoLJWSqp3txsnU4gpkgD2x1q6K8k0uDQ== + dependencies: + glob-parent "^6.0.2" + resolve "^1.22.2" -eslint-import-resolver-node@0.3.9, eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.9: +eslint-import-resolver-node@0.3.9, eslint-import-resolver-node@^0.3.9: version "0.3.9" resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== @@ -7624,21 +7706,14 @@ eslint-import-resolver-node@0.3.9, eslint-import-resolver-node@^0.3.4, eslint-im is-core-module "^2.13.0" resolve "^1.22.4" -eslint-import-resolver-webpack@^0.13.1: - version "0.13.10" - resolved "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.13.10.tgz#d5b69ca548190bd6fd517e5732d2b16cf884227a" - integrity sha512-ciVTEg7sA56wRMR772PyjcBRmyBMLS46xgzQZqt6cWBEKc7cK65ZSSLCTLVRu2gGtKyXUb5stwf4xxLBfERLFA== +eslint-import-resolver-node@^0.3.6: + version "0.3.10" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz#84ce3005abfc300588cf23bbac1aabec1fc6e8c1" + integrity sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ== dependencies: debug "^3.2.7" - enhanced-resolve "^0.9.1" - find-root "^1.1.0" - hasown "^2.0.2" - interpret "^1.4.0" - is-core-module "^2.15.1" - is-regex "^1.2.0" - lodash "^4.17.21" - resolve "^2.0.0-next.5" - semver "^5.7.2" + is-core-module "^2.16.1" + resolve "^2.0.0-next.6" eslint-module-utils@2.6.1: version "2.6.1" @@ -7655,12 +7730,21 @@ eslint-module-utils@^2.12.1: dependencies: debug "^3.2.7" -eslint-plugin-cypress@2.12.1: - version "2.12.1" - resolved "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.12.1.tgz#9aeee700708ca8c058e00cdafe215199918c2632" - integrity sha512-c2W/uPADl5kospNDihgiLc7n87t5XhUbFDoTl6CfVkmG+kDAb5Ux10V9PoLPu9N+r7znpc+iQlcmAqT1A/89HA== +eslint-plugin-cypress@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-4.3.0.tgz#fce3c67c836541cb652c653f5e33088c8926a988" + integrity sha512-CgS/S940MJlT8jtnWGKI0LvZQBGb/BB0QCpgBOxFMM/Z6znD+PZUwBhCTwHKN2GEr5AOny3xB92an0QfzBGooQ== dependencies: - globals "^11.12.0" + globals "^15.15.0" + +eslint-plugin-es-x@^7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz#a207aa08da37a7923f2a9599e6d3eb73f3f92b74" + integrity sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ== + dependencies: + "@eslint-community/eslint-utils" "^4.1.2" + "@eslint-community/regexpp" "^4.11.0" + eslint-compat-utils "^0.5.1" eslint-plugin-es@^3.0.0: version "3.0.1" @@ -7670,9 +7754,17 @@ eslint-plugin-es@^3.0.0: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@2.32.0: +eslint-plugin-es@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz#f0822f0c18a535a97c3e714e89f88586a7641ec9" + integrity sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@2.32.0, eslint-plugin-import@^2.26.0: version "2.32.0" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz#602b55faa6e4caeaa5e970c198b5c00a37708980" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz#602b55faa6e4caeaa5e970c198b5c00a37708980" integrity sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA== dependencies: "@rtsao/scc" "^1.1.0" @@ -7695,12 +7787,12 @@ eslint-plugin-import@2.32.0: string.prototype.trimend "^1.0.9" tsconfig-paths "^3.15.0" -eslint-plugin-jest@27.9.0: - version "27.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz#7c98a33605e1d8b8442ace092b60e9919730000b" - integrity sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug== +eslint-plugin-jest@29.15.2: + version "29.15.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-29.15.2.tgz#e4ecd1c88dfb8a62b4a0857724792c2aab7e9b6d" + integrity sha512-kEN4r9RZl1xcsb4arGq89LrcVdOUFII/JSCwtTPJyv16mDwmPrcuEQwpxqZHeINvcsd7oK5O/rhdGlxFRaZwvQ== dependencies: - "@typescript-eslint/utils" "^5.10.0" + "@typescript-eslint/utils" "^8.0.0" "eslint-plugin-local-rules@link:./eslint-plugin-local-rules": version "0.0.0" @@ -7709,6 +7801,35 @@ eslint-plugin-jest@27.9.0: "eslint-plugin-local-rules@link:eslint-plugin-local-rules": version "0.0.0" +eslint-plugin-n@17.24.0: + version "17.24.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-17.24.0.tgz#b66fa05f7a6c1ba16768f0921b8974147dddd060" + integrity sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw== + dependencies: + "@eslint-community/eslint-utils" "^4.5.0" + enhanced-resolve "^5.17.1" + eslint-plugin-es-x "^7.8.0" + get-tsconfig "^4.8.1" + globals "^15.11.0" + globrex "^0.1.2" + ignore "^5.3.2" + semver "^7.6.3" + ts-declaration-location "^1.0.6" + +eslint-plugin-n@^15.2.4: + version "15.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz#e29221d8f5174f84d18f2eb94765f2eeea033b90" + integrity sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== + dependencies: + builtins "^5.0.1" + eslint-plugin-es "^4.1.0" + eslint-utils "^3.0.0" + ignore "^5.1.1" + is-core-module "^2.11.0" + minimatch "^3.1.2" + resolve "^1.22.1" + semver "^7.3.8" + eslint-plugin-node@11.1.0: version "11.1.0" resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" @@ -7728,15 +7849,20 @@ eslint-plugin-promise@7.2.1: dependencies: "@eslint-community/eslint-utils" "^4.4.0" +eslint-plugin-promise@^6.0.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz#acd3fd7d55cead7a10f92cf698f36c0aafcd717a" + integrity sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ== + eslint-plugin-standard@5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-5.0.0.tgz#c43f6925d669f177db46f095ea30be95476b1ee4" integrity sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg== -eslint-plugin-vue@9.32.0: - version "9.32.0" - resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.32.0.tgz#2b558e827886b567dfaa156cc1cad0f596461fab" - integrity sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug== +eslint-plugin-vue@9.33.0: + version "9.33.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz#de33eba8f78e1d172c59c8ec7fbfd60c6ca35c39" + integrity sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" globals "^13.24.0" @@ -7747,7 +7873,7 @@ eslint-plugin-vue@9.32.0: vue-eslint-parser "^9.4.3" xml-name-validator "^4.0.0" -eslint-scope@5.1.1, eslint-scope@^5.1.1: +eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -7763,14 +7889,29 @@ eslint-scope@^7.0.0, eslint-scope@^7.1.1: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^2.0.0, eslint-utils@^2.1.0: +eslint-scope@^8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.4.0.tgz#88e646a207fad61436ffa39eb505147200655c82" + integrity sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: version "1.3.0" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== @@ -7785,6 +7926,16 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== +eslint-visitor-keys@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" + integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== + +eslint-visitor-keys@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz#9e3c9489697824d2d4ce3a8ad12628f91e9f59be" + integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== + eslint-webpack-plugin@^3.1.0: version "3.2.0" resolved "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz#1978cdb9edc461e4b0195a20da950cf57988347c" @@ -7796,60 +7947,54 @@ eslint-webpack-plugin@^3.1.0: normalize-path "^3.0.0" schema-utils "^4.0.0" -eslint@7.32.0: - version "7.32.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" +eslint@9.39.4: + version "9.39.4" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.4.tgz#855da1b2e2ad66dc5991195f35e262bcec8117b5" + integrity sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ== + dependencies: + "@eslint-community/eslint-utils" "^4.8.0" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.21.2" + "@eslint/config-helpers" "^0.4.2" + "@eslint/core" "^0.17.0" + "@eslint/eslintrc" "^3.3.5" + "@eslint/js" "9.39.4" + "@eslint/plugin-kit" "^0.4.1" + "@humanfs/node" "^0.16.6" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.4.2" + "@types/estree" "^1.0.6" + ajv "^6.14.0" chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" + cross-spawn "^7.0.6" + debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" + eslint-scope "^8.4.0" + eslint-visitor-keys "^4.2.1" + espree "^10.4.0" + esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" lodash.merge "^4.6.2" - minimatch "^3.0.4" + minimatch "^3.1.5" natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" + optionator "^0.9.3" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^10.0.1, espree@^10.4.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837" + integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" + acorn "^8.15.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.2.1" espree@^9.0.0, espree@^9.3.1: version "9.6.1" @@ -7865,9 +8010,9 @@ esprima@^4.0.0, esprima@^4.0.1: resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: +esquery@^1.4.0, esquery@^1.5.0: version "1.7.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz#08d048f261f0ddedb5bae95f46809463d9c9496d" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.7.0.tgz#08d048f261f0ddedb5bae95f46809463d9c9496d" integrity sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g== dependencies: estraverse "^5.1.0" @@ -8205,12 +8350,12 @@ figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== dependencies: - flat-cache "^3.0.4" + flat-cache "^4.0.0" file-saver@2.0.5: version "2.0.5" @@ -8261,11 +8406,6 @@ find-cache-dir@^4.0.0: common-path-prefix "^3.0.0" pkg-dir "^7.0.0" -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - find-test-names@^1.28.18: version "1.29.19" resolved "https://registry.yarnpkg.com/find-test-names/-/find-test-names-1.29.19.tgz#365a18aefbc55f88ba5c96b01145c9b616b0d0d2" @@ -8316,14 +8456,13 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== dependencies: flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" + keyv "^4.5.4" flat@^5.0.2: version "5.0.2" @@ -8524,11 +8663,6 @@ function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: hasown "^2.0.2" is-callable "^1.2.7" -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -8611,6 +8745,13 @@ get-symbol-description@^1.1.0: es-errors "^1.3.0" get-intrinsic "^1.2.6" +get-tsconfig@^4.8.1: + version "4.14.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.14.0.tgz#985d85c52a9903864280ccc2448d413fbf1efed8" + integrity sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA== + dependencies: + resolve-pkg-maps "^1.0.0" + get-uri@^6.0.1: version "6.0.5" resolved "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz#714892aa4a871db671abc5395e5e9447bc306a16" @@ -8641,7 +8782,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -8711,18 +8852,23 @@ global-dirs@^3.0.0: dependencies: ini "2.0.0" -globals@^11.12.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.24.0, globals@^13.6.0, globals@^13.9.0: +globals@^13.24.0: version "13.24.0" resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + +globals@^15.11.0, globals@^15.15.0: + version "15.15.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-15.15.0.tgz#7c4761299d41c32b075715a4ce1ede7897ff72a8" + integrity sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg== + globalthis@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" @@ -8755,6 +8901,11 @@ globby@^11.0.2, globby@^11.0.3, globby@^11.0.4, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +globrex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" @@ -8765,11 +8916,6 @@ graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - gzip-size@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" @@ -9177,16 +9323,16 @@ ignore-by-default@^1.0.1: resolved "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4, ignore@^5.2.0: +ignore@^5.1.1, ignore@^5.1.4, ignore@^5.2.0, ignore@^5.3.2: version "5.3.2" resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== +ignore@^7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" + integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== + image-size@^1.0.0: version "1.2.1" resolved "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz#ee118aedfe666db1a6ee12bed5821cde3740276d" @@ -9204,7 +9350,7 @@ immutable@^5.0.2: resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.9.tgz#ac23c3a01992ab665e14ac9ffff298f28cd74a0c" integrity sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg== -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: +import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.1" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== @@ -9267,11 +9413,6 @@ internal-slot@^1.1.0: resolved "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== -interpret@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - intl-format-cache@^4.2.21: version "4.3.1" resolved "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.3.1.tgz#484d31a9872161e6c02139349b259a6229ade377" @@ -9386,7 +9527,14 @@ is-ci@^3.0.0: dependencies: ci-info "^3.2.0" -is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.1: +is-core-module@^2.11.0, is-core-module@^2.16.2: + version "2.16.2" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.2.tgz#3e07450a8080ebce3fbf0cac494f4d2ab324e082" + integrity sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA== + dependencies: + hasown "^2.0.3" + +is-core-module@^2.13.0, is-core-module@^2.16.1: version "2.16.1" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== @@ -9560,7 +9708,7 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.2.0, is-regex@^1.2.1: +is-regex@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== @@ -10541,9 +10689,9 @@ just-extend@^4.0.2: resolved "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== -keyv@^4.5.3: +keyv@^4.5.4: version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" @@ -10776,11 +10924,6 @@ lodash.once@^4.1.1: resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -10991,11 +11134,6 @@ memfs@^4.43.1: tree-dump "^1.0.3" tslib "^2.0.0" -memory-fs@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" - integrity sha512-+y4mDxU4rvXXu5UDSGCGNiesFmwCHuefGMoPCO1WYucNYj7DsLqrFaa2fXVI0H+NNiPTwwzKwspn9yTZqUGqng== - merge-descriptors@1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" @@ -11110,7 +11248,14 @@ minimatch@5.0.1, minimatch@5.1.8: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^10.2.2: + version "10.2.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.5.tgz#bd48687a0be38ed2961399105600f832095861d1" + integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== + dependencies: + brace-expansion "^5.0.5" + +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@^3.1.5: version "3.1.5" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== @@ -11317,11 +11462,6 @@ nanoid@^3.3.12: resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz#a04d8ec4b1f10009d2d533947aefe4293737816c" integrity sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q== -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -11753,9 +11893,9 @@ opener@^1.5.2: resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -optionator@^0.9.1: +optionator@^0.9.3: version "0.9.4" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: deep-is "^0.1.3" @@ -12142,6 +12282,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== +picomatch@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589" + integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== + picomatch@^4.0.3: version "4.0.5" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.5.tgz#51ea57a17d86f605f81039595fbc40ed06a55fab" @@ -12570,11 +12715,6 @@ progress-webpack-plugin@^1.0.12: figures "^2.0.0" log-update "^2.3.0" -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - prompts@^2.0.1: version "2.4.2" resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -12891,7 +13031,7 @@ regexp.prototype.flags@^1.5.4: gopd "^1.2.0" set-function-name "^2.0.2" -regexpp@^3.0.0, regexpp@^3.1.0: +regexpp@^3.0.0: version "3.2.0" resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -13003,6 +13143,11 @@ resolve-from@^5.0.0: resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== + resolve.exports@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" @@ -13017,13 +13162,23 @@ resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.2 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^2.0.0-next.5: - version "2.0.0-next.6" - resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz#b3961812be69ace7b3bc35d5bf259434681294af" - integrity sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA== +resolve@^1.22.1, resolve@^1.22.2: + version "1.22.12" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.12.tgz#f5b2a680897c69c238a13cd16b15671f8b73549f" + integrity sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA== dependencies: es-errors "^1.3.0" is-core-module "^2.16.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.6: + version "2.0.0-next.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.7.tgz#ba3b035d4b1ee7c522426eee73cabcb0fd5515dd" + integrity sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ== + dependencies: + es-errors "^1.3.0" + is-core-module "^2.16.2" node-exports-info "^1.6.0" object-keys "^1.1.1" path-parse "^1.0.7" @@ -13238,7 +13393,7 @@ selfsigned@^5.5.0: resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: +semver@7.x, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: version "7.7.4" resolved "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== @@ -13248,6 +13403,11 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@^7.0.0, semver@^7.3.8, semver@^7.7.3: + version "7.8.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.8.5.tgz#39b646037dd50c14fb451e7e4cac58ed8b863f69" + integrity sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA== + semver@~7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" @@ -13885,7 +14045,7 @@ strip-indent@^2.0.0: resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA== -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -13992,22 +14152,6 @@ tabbable@^6.2.0: resolved "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz#36eb7a06d80b3924a22095daf45740dea3bf5581" integrity sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg== -table@^6.0.9: - version "6.9.0" - resolved "https://registry.npmjs.org/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5" - integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -tapable@^0.1.8: - version "0.1.10" - resolved "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" - integrity sha512-jX8Et4hHg57mug1/079yitEKWGB3LCwoxByLsNim89LABq8NqgiX+6iYVOsq0vX8uJHkU+DZ5fnq95f800bEsQ== - tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -14018,6 +14162,11 @@ tapable@^2.0.0, tapable@^2.2.1, tapable@^2.3.0: resolved "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz#7e3ea6d5ca31ba8e078b560f0d83ce9a14aa8be6" integrity sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== +tapable@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.3.tgz#5da7c9992c46038221267985ab28421a8879f160" + integrity sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A== + tcomb-validation@^3.3.0: version "3.4.1" resolved "https://registry.npmjs.org/tcomb-validation/-/tcomb-validation-3.4.1.tgz#a7696ec176ce56a081d9e019f8b732a5a8894b65" @@ -14076,11 +14225,6 @@ 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.npmjs.org/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.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" @@ -14233,6 +14377,18 @@ tree-dump@^1.0.3, tree-dump@^1.1.0: resolved "https://registry.yarnpkg.com/tree-dump/-/tree-dump-1.1.0.tgz#ab29129169dc46004414f5a9d4a3c6e89f13e8a4" integrity sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA== +ts-api-utils@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.5.0.tgz#4acd4a155e22734990a5ed1fe9e97f113bcb37c1" + integrity sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA== + +ts-declaration-location@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz#d4068fe9975828b3b453b3ab112b4711d8267688" + integrity sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA== + dependencies: + picomatch "^4.0.2" + ts-jest@27.1.5: version "27.1.5" resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.5.tgz#0ddf1b163fbaae3d5b7504a1e65c914a95cff297" @@ -14289,7 +14445,7 @@ tsconfig@^7.0.0: strip-bom "^3.0.0" strip-json-comments "^2.0.0" -tslib@^1.8.1, tslib@^1.9.3: +tslib@^1.9.3: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -14299,13 +14455,6 @@ tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4 resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - tsyringe@^4.10.0: version "4.10.0" resolved "https://registry.yarnpkg.com/tsyringe/-/tsyringe-4.10.0.tgz#d0c95815d584464214060285eaaadd94aa03299c" @@ -14595,6 +14744,11 @@ uuid@11.1.1, uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.1.tgz#f6d81d2e1c65d00762e5e29b16c5d2d995e208ad" integrity sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + v8-compile-cache@^2.0.3: version "2.4.0" resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" @@ -14649,6 +14803,19 @@ vue-component-type-helpers@^2.0.0: resolved "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz#5014787aad185a22f460ad469cc51f14524308bc" integrity sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw== +vue-eslint-parser@9.4.3, vue-eslint-parser@^9.4.3: + version "9.4.3" + resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz#9b04b22c71401f1e8bca9be7c3e3416a4bde76a8" + integrity sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg== + dependencies: + debug "^4.3.4" + eslint-scope "^7.1.1" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.6" + vue-eslint-parser@^8.0.0: version "8.3.0" resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz#5d31129a1b3dd89c0069ca0a1c88f970c360bd0d" @@ -14662,19 +14829,6 @@ vue-eslint-parser@^8.0.0: lodash "^4.17.21" semver "^7.3.5" -vue-eslint-parser@^9.4.3: - version "9.4.3" - resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz#9b04b22c71401f1e8bca9be7c3e3416a4bde76a8" - integrity sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg== - dependencies: - debug "^4.3.4" - eslint-scope "^7.1.1" - eslint-visitor-keys "^3.3.0" - espree "^9.3.1" - esquery "^1.4.0" - lodash "^4.17.21" - semver "^7.3.6" - vue-hot-reload-api@^2.3.0: version "2.3.4" resolved "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" From e5d3178710badafb9b0ca86e6e1f428d32cb44f1 Mon Sep 17 00:00:00 2001 From: Marcelo Fukumoto Date: Tue, 23 Jun 2026 16:13:19 +0200 Subject: [PATCH 2/7] Update to v9 with updated config --- .eslintignore | 32 - .eslintrc.default.js | 251 ------- .eslintrc.js | 169 ----- eslint.config.base.mjs | 254 +++++++ eslint.config.mjs | 205 ++++++ package.json | 10 +- pkg/rancher-components/.eslintignore | 1 - pkg/rancher-components/.eslintrc.js | 60 -- pkg/rancher-components/eslint.config.mjs | 47 ++ pkg/rancher-components/package.json | 2 +- yarn.lock | 827 ++++++++++++++++------- 11 files changed, 1087 insertions(+), 771 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.default.js delete mode 100644 .eslintrc.js create mode 100644 eslint.config.base.mjs create mode 100644 eslint.config.mjs delete mode 100644 pkg/rancher-components/.eslintignore delete mode 100644 pkg/rancher-components/.eslintrc.js create mode 100644 pkg/rancher-components/eslint.config.mjs diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 487026b619b..00000000000 --- a/.eslintignore +++ /dev/null @@ -1,32 +0,0 @@ -coverage -.nyc_output -node_modules/ -.npm -.eslintcache -.env -.cache -.next - -dist -dist-pkg -.DS_Store -shell/utils/dynamic-importer.js -ksconfig.json -storybook-static/ -utils/dynamic-importer.js -shell/assets/fonts -assets/fonts -shell/pkg/import.js -shell/types/shell/index.d.ts -dist/ -coverage/ -build/ -public/ -pkg/**/node_modules -elemental-ui/ -kubewarden-ui/ -styleguide/src/stories/Example/ -storybook/src/stories/Example/ -cypress/dist/ -cypress/bin/ -cypress/template/ diff --git a/.eslintrc.default.js b/.eslintrc.default.js deleted file mode 100644 index ce2d8dc045f..00000000000 --- a/.eslintrc.default.js +++ /dev/null @@ -1,251 +0,0 @@ -module.exports = { - env: { - browser: true, - node: true - }, - globals: { - NodeJS: true, - Timer: true, - WebpackRequireContext: true - }, - plugins: [ - 'jest', - '@typescript-eslint', - 'local-rules', - // Registered so legacy inline `eslint-disable node/...` directives in source - // remain valid after eslint-config-standard switched from plugin `node` to `n`. - // These rules are only referenced in disable directives, never executed. - 'node' - ], - // `@vue/typescript/recommended` (from @vue/eslint-config-typescript) has no eslint-9 - // compatible release, so the parser it configured is inlined here instead. - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@typescript-eslint/parser', - ecmaVersion: 2020, - sourceType: 'module', - extraFileExtensions: ['.vue'] - }, - extends: [ - 'standard', - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - '@vue/standard', - 'plugin:vue/vue3-recommended', - 'plugin:cypress/recommended', - 'plugin:local-rules/all' - ], - rules: { - 'semi-spacing': 'off', - 'space-in-parens': 'off', - 'array-bracket-spacing': 'warn', - 'arrow-parens': 'warn', - 'arrow-spacing': [ - 'warn', - { - before: true, - after: true - } - ], - 'block-spacing': [ - 'warn', - 'always' - ], - 'brace-style': [ - 'warn', - '1tbs' - ], - 'comma-dangle': [ - 'warn', - 'only-multiline' - ], - 'comma-spacing': 'warn', - // --- ESLint v9 / typescript-eslint v8 upgrade compatibility --- - // The rules in this block began firing only after the eslint 7->9 + - // typescript-eslint 5->8 (parser v8) upgrade. They are disabled here - // (config-only, no source changes) to preserve the pre-upgrade green state. - // Core formatting rules below are unreliable with @typescript-eslint/parser v8; - // behavioural/correctness rules are disabled to avoid touching application code. - indent: 'off', // was ['warn', 2]; miscounts under parser v8 - semi: 'off', // was ['warn', 'always'] - 'no-multiple-empty-lines': 'off', - 'key-spacing': 'off', // align config below replaced by 'off' - '@typescript-eslint/no-require-imports': 'off', // replaces removed no-var-requires (already disabled) - '@typescript-eslint/no-wrapper-object-types': 'off', // new in ts-eslint v8 recommended - '@typescript-eslint/no-unused-expressions': 'off', // new in ts-eslint v8 recommended - 'no-unsafe-optional-chaining': 'off', - 'no-import-assign': 'off', - 'no-constant-binary-expression': 'off', // new in eslint 9 recommended - 'n/no-deprecated-api': 'off', - 'n/no-callback-literal': 'off', - 'cypress/unsafe-to-chain-command': 'off', // new in eslint-plugin-cypress v4 - camelcase: 'off', - // --- end upgrade compatibility block --- - 'keyword-spacing': 'warn', - 'newline-per-chained-call': [ - 'warn', - { ignoreChainWithDepth: 4 } - ], - 'no-trailing-spaces': 'warn', - 'func-call-spacing': [ - 'warn', - 'never' - ], - 'wrap-iife': 'off', - 'lines-between-class-members': [ - 'warn', - 'always', - { exceptAfterSingleLine: true } - ], - 'multiline-ternary': [ - 'warn', - 'never' - ], - 'no-whitespace-before-property': 'warn', - 'object-curly-spacing': [ - 'warn', - 'always' - ], - 'object-property-newline': 'warn', - 'object-shorthand': 'warn', - 'padded-blocks': [ - 'warn', - 'never' - ], - 'quote-props': 'warn', - 'rest-spread-spacing': 'warn', - 'space-before-function-paren': [ - 'warn', - 'never' - ], - 'space-infix-ops': 'warn', - 'spaced-comment': 'warn', - 'switch-colon-spacing': 'warn', - 'template-curly-spacing': [ - 'warn', - 'always' - ], - 'yield-star-spacing': [ - 'warn', - 'both' - ], - 'object-curly-newline': [ - 'warn', - { - ObjectExpression: { - multiline: true, - minProperties: 3 - }, - ObjectPattern: { - multiline: true, - minProperties: 4 - }, - ImportDeclaration: { - multiline: true, - minProperties: 5 - }, - ExportDeclaration: { - multiline: true, - minProperties: 3 - } - } - ], - 'padding-line-between-statements': [ - 'warn', - { - blankLine: 'always', - prev: '*', - next: 'return' - }, - { - blankLine: 'always', - prev: 'function', - next: 'function' - }, - { - blankLine: 'always', - prev: [ - 'const', - 'let', - 'var' - ], - next: '*' - }, - { - blankLine: 'any', - prev: [ - 'const', - 'let', - 'var' - ], - next: [ - 'const', - 'let', - 'var' - ] - } - ], - quotes: [ - 'warn', - 'single', - { - avoidEscape: true, - allowTemplateLiterals: true - } - ], - 'space-unary-ops': [ - 'warn', - { - words: true, - nonwords: false - } - ], - 'vue/one-component-per-file': 'off', - 'vue/no-deprecated-slot-attribute': 'off', - 'vue/require-explicit-emits': 'error', - 'vue/v-on-event-hyphenation': 'off', - }, - overrides: [ - { - files: ['**/RcSeparator.vue'], - rules: { 'local-rules/no-hr-element': 'off' } - }, - { - files: [ - '**/*.{js,ts,vue}' - ], - rules: { - '@typescript-eslint/no-empty-function': 'off', - // `@typescript-eslint/ban-types` was removed in typescript-eslint v8 and split into - // the rules below; disable the successors to preserve previous behaviour. - '@typescript-eslint/no-empty-object-type': 'off', - '@typescript-eslint/no-unsafe-function-type': 'off', - '@typescript-eslint/no-restricted-types': 'off', - 'vue/require-toggle-inside-transition': 'off', // Introduced with new linting version 9.32.0 - } - }, - { - files: [ - '**/*.test.{js,ts}', - '**/__tests__/**/*.{js,ts}', - '**/__mocks__/**/*.{js,ts}' - ], - rules: { - '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - 'jest/prefer-expect-assertions': 'off', - 'jest/expect-expect': ['warn', { assertFunctionNames: ['expect', 'test*'] }] - }, - extends: [ - 'plugin:jest/recommended' - ] - }, - { - files: [ - '**/*.{js,vue}' - ], - rules: { '@typescript-eslint/explicit-module-boundary-types': 'off' } - } - ] -}; diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 75cee114464..00000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,169 +0,0 @@ -module.exports = { - env: { - jest: true, - 'vue/setup-compiler-macros': true, - }, - extends: [ - '.eslintrc.default.js' - ], - rules: { - 'jest/no-commented-out-tests': 'off', - 'jest/no-disabled-tests': 'off', - 'dot-notation': 'off', - 'generator-star-spacing': 'off', - 'guard-for-in': 'off', - 'linebreak-style': 'off', - 'new-cap': 'off', - 'no-empty': 'off', - 'no-extra-boolean-cast': 'off', - 'no-new': 'off', - 'no-plusplus': 'off', - 'no-useless-escape': 'off', - 'nuxt/no-cjs-in-config': 'off', - strict: 'off', - 'unicorn/no-new-buffer': 'off', - 'vue/no-unused-components': 'warn', - curly: 'warn', - eqeqeq: 'warn', - 'implicit-arrow-linebreak': 'warn', - 'no-caller': 'warn', - 'no-cond-assign': [ - 'warn', - 'except-parens' - ], - 'no-console': 'warn', - 'no-debugger': 'warn', - 'no-eq-null': 'warn', - 'no-eval': 'warn', - 'no-undef': 'warn', - 'no-unused-vars': 'warn', - 'no-redeclare': 'off', - '@typescript-eslint/no-redeclare': [ - 'error' - ], - 'prefer-arrow-callback': 'warn', - 'prefer-template': 'warn', - 'vue/order-in-components': 'off', - 'vue/no-lone-template': 'off', - 'vue/v-slot-style': 'off', - 'vue/component-tags-order': 'off', - 'vue/no-mutating-props': 'off', - '@typescript-eslint/no-unused-vars': 'off', - 'array-callback-return': 'off', - 'import/order': 'off', - 'import/no-named-as-default': 'off', - 'vue/multi-word-component-names': 'off', - 'vue/no-reserved-component-names': 'off', - 'vue/no-useless-template-attributes': 'off', - 'vue/attribute-hyphenation': 'off', - 'vue/valid-next-tick': 'off', - 'vue/no-computed-properties-in-data': 'off', - 'vue/no-side-effects-in-computed-properties': 'off', - '@typescript-eslint/no-var-requires': 'off', - 'vue/one-component-per-file': 'off', - 'vue/no-deprecated-slot-attribute': 'off', - 'vue/v-on-event-hyphenation': 'off', - }, - overrides: [ - { - files: ['*.d.ts'], - rules: { - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': 'warn', - }, - }, - { - files: [ - '*.js' - ], - rules: { - 'prefer-regex-literals': 'off', - 'vue/component-definition-name-casing': 'off', - 'no-unreachable-loop': 'off', - 'computed-property-spacing': 'off' - }, - }, - { - files: [ - 'docusaurus/**/*.{js,ts}' - ], - rules: { 'no-use-before-define': 'off' } - }, - { - files: [ - '**/*.vue' - ], - rules: { - 'vue/no-v-html': 'error', - 'vue/html-indent': [ - 'error', - 2 - ], - 'vue/html-closing-bracket-newline': [ - 'error', - { - singleline: 'never', - multiline: 'always' - } - ], - 'vue/html-closing-bracket-spacing': 2, - 'vue/html-end-tags': 2, - 'vue/html-quotes': 2, - 'vue/html-self-closing': [ - 'error', - { - html: { - void: 'never', - normal: 'always', - component: 'always' - }, - svg: 'always', - math: 'always' - } - ], - 'vue/max-attributes-per-line': [ - 'error', - { - singleline: { max: 1 }, - multiline: { max: 1 } - } - ] - } - }, - { - files: [ - '**/shell/utils/**/*.{js,ts}', - '**/shell/scripts/**/*.{js,ts}' - ], - rules: { - '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/no-var-requires': 'off' - } - }, - { - files: [ - '**/*.{js,ts,vue}' - ], - rules: { - '@typescript-eslint/no-this-alias': 'off', - '@typescript-eslint/no-explicit-any': 'off' - } - }, - { - files: [ - '**/{harvester,harvester-manager}/**/*.{js,ts,vue}' - ], - rules: { - '@typescript-eslint/explicit-module-boundary-types': 'off', - 'vue/html-self-closing': 'off', - 'vue/no-v-html': 'error' - } - }, - { - files: [ - '**/po/**/*.{js,ts,vue}' - ], - rules: { '@typescript-eslint/explicit-module-boundary-types': 'off' } - } - ] -}; diff --git a/eslint.config.base.mjs b/eslint.config.base.mjs new file mode 100644 index 00000000000..f284075728d --- /dev/null +++ b/eslint.config.base.mjs @@ -0,0 +1,254 @@ +/** + * Shared flat-config base — the flat-config successor to the old `.eslintrc.default.js`. + * + * Imported by the root `eslint.config.mjs` and `pkg/rancher-components/eslint.config.mjs` + * so both share one base (mirroring the legacy `extends: ['../../.eslintrc.default.js']`). + * + * `standard` + `@vue/standard` (capped at eslint 8, no flat release) are replaced by their + * flat successor `neostandard`. The import rules that `eslint-config-standard` used to + * provide are re-added explicitly, since `neostandard` drops the `import` plugin. + */ +import js from '@eslint/js'; +import globals from 'globals'; +import neostandard from 'neostandard'; +import tseslint from 'typescript-eslint'; +import pluginVue from 'eslint-plugin-vue'; +import pluginCypress from 'eslint-plugin-cypress/flat'; +import pluginJest from 'eslint-plugin-jest'; +import pluginImport from 'eslint-plugin-import'; +import pluginNode from 'eslint-plugin-node'; +import vueParser from 'vue-eslint-parser'; +import localRules from 'eslint-plugin-local-rules'; + +// The `standard` import rules that `neostandard` no longer pulls in. +const standardImportRules = { + 'import/export': 'error', + 'import/first': 'error', + 'import/no-absolute-path': ['error', { esmodule: true, commonjs: true, amd: false }], + 'import/no-duplicates': 'error', + 'import/no-named-default': 'error', + 'import/no-webpack-loader-syntax': 'error', +}; + +export const testFiles = [ + '**/*.test.{js,ts}', + '**/__tests__/**/*.{js,ts}', + '**/__mocks__/**/*.{js,ts}', +]; + +/** + * Base flat config (was `.eslintrc.default.js`). Order mirrors the legacy `extends` chain: + * eslint:recommended -> standard(+@vue/standard via neostandard) -> + * @typescript-eslint/recommended -> vue/vue3-recommended -> cypress/recommended -> + * local-rules/all, then the custom rule block + per-file overrides. + */ +export const eslintConfigBase = [ + // Match the legacy lint scope. The old scripts used `--ext .js,.ts,.vue`, and eslintrc + // ignored dotfiles/dot-directories by default — flat config does neither, so replicate: + // - only lint .js/.ts/.vue (ignore .tsx/.jsx/.mjs/.cjs, incl. these config files), + // - ignore dotfiles & dot-directories (.github, .storybook, .vscode, ...). + { + ignores: [ + '**/*.tsx', + '**/*.jsx', + '**/*.mjs', + '**/*.cjs', + '**/.*', + '**/.*/**', + ], + }, + + // Flat config defaults `reportUnusedDisableDirectives` to "warn"; the legacy eslintrc + // setup left it off. Keep it off to preserve the pre-migration behaviour. + { linterOptions: { reportUnusedDisableDirectives: 'off' } }, + + // eslint:recommended + js.configs.recommended, + + // standard + @vue/standard (flat successor). `noStyle: true` keeps neostandard's quality + // rules but omits its `@stylistic/*` layer: those rules are TypeScript-aware and would + // flag type-syntax (type-literal braces, `interface X{`, parens around `as` casts) that + // the legacy eslint-config-standard *core* formatting rules never checked. Formatting is + // instead provided below by the same core rules the legacy config used (JS-only) — an + // exact behavioural match that keeps the codebase green without source changes. + ...neostandard({ ts: true, noStyle: true, noJsx: true }), + + // @typescript-eslint/recommended + ...tseslint.configs.recommended, + + // vue/vue3-recommended (flat naming: `flat/recommended` === Vue 3 recommended) + ...pluginVue.configs['flat/recommended'], + + // cypress/recommended + pluginCypress.configs.recommended, + + // Plugin registration (so namespaces resolve, incl. inline `eslint-disable node/*` + // directives that survive from before standard switched `node` -> `n`), language + // options and the parser the dropped `@vue/typescript/recommended` used to configure. + { + plugins: { + jest: pluginJest, + import: pluginImport, + node: pluginNode, + 'local-rules': localRules, + }, + languageOptions: { + parser: vueParser, + ecmaVersion: 2020, + sourceType: 'module', + parserOptions: { + parser: tseslint.parser, + extraFileExtensions: ['.vue'], + }, + globals: { + ...globals.browser, + ...globals.node, + NodeJS: 'readonly', + Timer: 'readonly', + WebpackRequireContext: 'readonly', + }, + }, + }, + + // local-rules/all + { + rules: { + 'local-rules/v-clean-tooltip': 'error', + 'local-rules/no-hr-element': 'error', + }, + }, + + // --- custom rule block (ported verbatim from `.eslintrc.default.js`) --- + { + rules: { + ...standardImportRules, + 'import/order': 'off', + 'import/no-named-as-default': 'off', + + // --- ESLint v9 / typescript-eslint v8 upgrade compatibility --- + // Disabled (config-only, no source changes) to preserve the pre-upgrade green state. + '@typescript-eslint/no-require-imports': 'off', + '@typescript-eslint/no-wrapper-object-types': 'off', + '@typescript-eslint/no-unused-expressions': 'off', + 'no-unsafe-optional-chaining': 'off', + 'no-import-assign': 'off', + 'no-constant-binary-expression': 'off', + 'n/no-deprecated-api': 'off', + 'n/no-callback-literal': 'off', + 'cypress/unsafe-to-chain-command': 'off', + camelcase: 'off', + // --- end upgrade compatibility block --- + + // Core formatting rules — values captured verbatim from the pre-migration + // (`eslint-config-standard` + legacy overrides) resolved config. Core rules are + // JS-only, exactly matching the previous behaviour (see `noStyle` note above). + 'array-bracket-spacing': ['warn', 'never'], + 'arrow-parens': ['warn'], + 'arrow-spacing': ['warn', { before: true, after: true }], + 'block-spacing': ['warn', 'always'], + 'brace-style': ['warn', '1tbs'], + 'comma-dangle': ['warn', 'only-multiline'], + 'comma-spacing': ['warn', { before: false, after: true }], + 'comma-style': ['error', 'last'], + 'computed-property-spacing': ['error', 'never', { enforceForClassMembers: true }], + 'dot-location': ['error', 'property'], + 'eol-last': ['error'], + 'func-call-spacing': ['warn', 'never'], + 'keyword-spacing': ['warn', { before: true, after: true }], + 'lines-between-class-members': ['warn', 'always', { exceptAfterSingleLine: true }], + 'multiline-ternary': ['warn', 'never'], + 'new-parens': ['error'], + 'newline-per-chained-call': ['warn', { ignoreChainWithDepth: 4 }], + 'no-extra-parens': ['error', 'functions'], + 'no-floating-decimal': ['error'], + 'no-mixed-operators': ['error', { + allowSamePrecedence: true, + groups: [['==', '!=', '===', '!==', '>', '>=', '<', '<='], ['&&', '||'], ['in', 'instanceof']], + }], + 'no-mixed-spaces-and-tabs': ['error'], + 'no-multi-spaces': ['error'], + 'no-tabs': ['error'], + 'no-trailing-spaces': ['warn'], + 'no-whitespace-before-property': ['warn'], + 'object-curly-newline': ['warn', { + ObjectExpression: { multiline: true, minProperties: 3 }, + ObjectPattern: { multiline: true, minProperties: 4 }, + ImportDeclaration: { multiline: true, minProperties: 5 }, + ExportDeclaration: { multiline: true, minProperties: 3 }, + }], + 'object-curly-spacing': ['warn', 'always'], + 'object-property-newline': ['warn', { allowAllPropertiesOnSameLine: false, allowMultiplePropertiesPerLine: true }], + 'object-shorthand': 'warn', + 'operator-linebreak': ['error', 'after', { overrides: { '?': 'before', ':': 'before', '|>': 'before' } }], + 'padded-blocks': ['warn', 'never'], + 'padding-line-between-statements': ['warn', + { blankLine: 'always', prev: '*', next: 'return' }, + { blankLine: 'always', prev: 'function', next: 'function' }, + { blankLine: 'always', prev: ['const', 'let', 'var'], next: '*' }, + { blankLine: 'any', prev: ['const', 'let', 'var'], next: ['const', 'let', 'var'] }, + ], + 'quote-props': ['warn', 'as-needed'], + quotes: ['warn', 'single', { avoidEscape: true, allowTemplateLiterals: true }], + 'rest-spread-spacing': ['warn', 'never'], + 'space-before-blocks': ['error', 'always'], + 'space-before-function-paren': ['warn', 'never'], + 'space-infix-ops': ['warn'], + 'space-unary-ops': ['warn', { words: true, nonwords: false }], + 'spaced-comment': ['warn', 'always', { + line: { markers: ['*package', '!', '/', ',', '='] }, + block: { balanced: true, markers: ['*package', '!', ',', ':', '::', 'flow-include'], exceptions: ['*'] }, + }], + 'switch-colon-spacing': ['warn'], + 'template-curly-spacing': ['warn', 'always'], + 'template-tag-spacing': ['error', 'never'], + 'yield-star-spacing': ['warn', 'both'], + + 'vue/one-component-per-file': 'off', + 'vue/no-deprecated-slot-attribute': 'off', + 'vue/require-explicit-emits': 'error', + 'vue/v-on-event-hyphenation': 'off', + }, + }, + + // override: RcSeparator.vue is the sanctioned wrapper around
(was `.eslintrc.default.js` overrides[0]) + { + files: ['**/RcSeparator.vue'], + rules: { 'local-rules/no-hr-element': 'off' }, + }, + + // override: **/*.{js,ts,vue} (was `.eslintrc.default.js` overrides[1]) + { + files: ['**/*.{js,ts,vue}'], + rules: { + '@typescript-eslint/no-empty-function': 'off', + // `@typescript-eslint/ban-types` was split in ts-eslint v8; disable successors. + '@typescript-eslint/no-empty-object-type': 'off', + '@typescript-eslint/no-unsafe-function-type': 'off', + '@typescript-eslint/no-restricted-types': 'off', + 'vue/require-toggle-inside-transition': 'off', + }, + }, + + // override: test files — jest recommended + jest globals (was overrides[2]) + { + files: testFiles, + ...pluginJest.configs['flat/recommended'], + languageOptions: { globals: { ...globals.jest } }, + rules: { + ...pluginJest.configs['flat/recommended'].rules, + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + 'jest/prefer-expect-assertions': 'off', + 'jest/expect-expect': ['warn', { assertFunctionNames: ['expect', 'test*'] }], + }, + }, + + // override: **/*.{js,vue} (was overrides[3]) + { + files: ['**/*.{js,vue}'], + rules: { '@typescript-eslint/explicit-module-boundary-types': 'off' }, + }, +]; + +export default eslintConfigBase; diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000000..7d4cc93f3e3 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,205 @@ +/** + * Root flat config — the flat-config successor to `.eslintrc.js` (+ `.eslintrc.default.js` + * via the shared `eslintConfigBase`). Ignores are ported from the old `.eslintignore`. + * + * Behaviour-preserving migration: the effective ruleset matches the previous + * eslintrc setup. A handful of `'off'` rule references were dropped because their plugins + * are no longer registered (`nuxt/*`, `unicorn/*`) or the rule was removed in + * typescript-eslint v8 (`@typescript-eslint/no-var-requires`); being `'off'`, dropping them + * changes nothing. + */ +import globals from 'globals'; +import { eslintConfigBase } from './eslint.config.base.mjs'; + +// Vue `