From 36b1e148fa7f8ff507818717908b03dbc244e8d4 Mon Sep 17 00:00:00 2001 From: tommytrg Date: Mon, 14 Oct 2024 13:00:00 +0200 Subject: [PATCH] chore: upgrade eslint to v9 --- .eslintignore | 10 - .eslintrc.cjs | 52 -- electron/preload/index.ts | 1 + .../utils/overwriteWitnetNodeConfiguration.ts | 2 +- electron/walletManager.ts | 1 - eslint.config.mjs | 74 +++ package.json | 10 +- pnpm-lock.yaml | 470 +++++++++--------- src/api.js | 1 - src/components/FileUploader.vue | 2 +- src/components/RadonOperator.vue | 1 - src/components/Select.vue | 6 +- .../SendTransaction/DeployDataRequest.vue | 6 +- .../SendTransaction/SendValueTransferForm.vue | 2 - src/components/Sidebar.vue | 1 - src/components/Templates.vue | 2 +- src/components/Version.vue | 1 - src/components/card/Card.vue | 2 - .../card/EditorAggregationsTally.vue | 1 - src/directives.js | 8 +- src/main.ts | 8 +- src/services/FormValidation.js | 2 +- src/store/rad.js | 8 +- src/store/wallet.js | 20 +- src/utils.js | 4 +- tests/unit/.eslintrc.cjs | 18 - 26 files changed, 348 insertions(+), 365 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.cjs create mode 100644 eslint.config.mjs delete mode 100644 tests/unit/.eslintrc.cjs diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 1aae497ea..000000000 --- a/.eslintignore +++ /dev/null @@ -1,10 +0,0 @@ -/build/ -/dist/ -/dist_electron/ -/dist-electron/ -/tests/unit/coverage/ -/src/locales/** -/src/components.d.ts -.witnet-rust-testnet-*-wallet -genesis_block.json -auto-imports.d.ts \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 233e7fa6f..000000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,52 +0,0 @@ -const path = require('path') - -/* eslint-env node */ -require('@rushstack/eslint-patch/modern-module-resolution') - -module.exports = { - root: true, - env: { - node: true, - }, - plugins: ['import'], - extends: [ - 'plugin:vue/vue3-recommended', - 'eslint:recommended', - '@vue/eslint-config-typescript', - '@vue/eslint-config-prettier', - ], - parserOptions: { - ecmaVersion: 'latest', - }, - rules: { - 'import/extensions': [ - 'error', - { - vue: 'always', - js: 'ignorePackages', - scss: 'always', - svg: 'always', - }, - ], - 'vue/multi-word-component-names': 0, - 'vue/no-reserved-component-names': 0, - 'vue/require-explicit-emits': 0, - }, - settings: { - 'import/resolver': { - alias: { - map: [['@', path.resolve(__dirname, 'src')]], - extensions: ['.vue', '.js', '.ts', '.d.ts'], - }, - }, - 'vue-i18n': { - localeDir: path.resolve(__dirname, 'src', 'locales') + '/*.{json}', - messageSyntaxVersion: '^9.0.0', - }, - }, - overrides: [ - { - files: ['**/*.spec.js'], - }, - ], -} diff --git a/electron/preload/index.ts b/electron/preload/index.ts index af30fd1f3..b8db6d36d 100644 --- a/electron/preload/index.ts +++ b/electron/preload/index.ts @@ -165,6 +165,7 @@ const { appendLoading, removeLoading } = useLoading() domReady().then(appendLoading) window.onmessage = ev => { + // eslint-disable-next-line @typescript-eslint/no-unused-expressions ev.data.payload === 'removeLoading' && removeLoading() } diff --git a/electron/utils/overwriteWitnetNodeConfiguration.ts b/electron/utils/overwriteWitnetNodeConfiguration.ts index 01cec67c3..12b1b6403 100644 --- a/electron/utils/overwriteWitnetNodeConfiguration.ts +++ b/electron/utils/overwriteWitnetNodeConfiguration.ts @@ -28,7 +28,7 @@ const defaultConfig = { // Replace witnet nodes urls in witnet configuration file export function overwriteWitnetNodeConfiguration( - force: Boolean = false, + force: boolean = false, config: NodeConfig = defaultConfig, ) { const { diff --git a/electron/walletManager.ts b/electron/walletManager.ts index 8a41992cc..adca4c45b 100644 --- a/electron/walletManager.ts +++ b/electron/walletManager.ts @@ -48,7 +48,6 @@ export default async function sleep(t: number) { } interface GithubReleaseAsset { - // eslint-disable-next-line camelcase browser_download_url: string } diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..0f5d51cef --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,74 @@ +import path from 'path' + +import pluginVue from 'eslint-plugin-vue' +import vueTsEslintConfig from '@vue/eslint-config-typescript' +import skipFormatting from '@vue/eslint-config-prettier/skip-formatting' +import eslintPluginImport from 'eslint-plugin-import' + +export default [ + { + name: 'app/files-to-lint', + files: ['**/*.{js,cjs,mjs,ts,mts,vue}'], + }, + { + name: 'app/files-to-ignore', + ignores: [ + '**/.witnet-rust-testnet-*-wallet', + '**/auto-imports.d.ts', + '**/build/**', + '**/coverage/**', + '**/dist-electron/', + '**/dist-ssr/**', + '**/dist/**', + '**/src/components.d.ts', + '**/src/locales/**', + '/dist_electron/', + ], + }, + ...pluginVue.configs['flat/essential'], + ...vueTsEslintConfig(), + skipFormatting, + { + plugins: { + import: eslintPluginImport, + }, + rules: { + // Override import/extensions rule + 'import/extensions': [ + 'error', + { + vue: 'always', + js: 'ignorePackages', + scss: 'always', + svg: 'always', + }, + ], + // Disable specific Vue rules + 'vue/multi-word-component-names': 'off', + 'vue/no-reserved-component-names': 'off', + 'vue/require-explicit-emits': 'off', + 'vue/block-lang': 'off', + // TODO: remove this rule + '@typescript-eslint/no-explicit-any': 'off', + 'import/extensions': 'off', + }, + settings: { + 'import/resolver': { + alias: { + map: [['@', path.resolve('src')]], + extensions: ['.vue', '.js', '.ts', '.d.ts'], + }, + }, + 'vue-i18n': { + localeDir: path.resolve('src', 'locales') + '/*.{json}', + messageSyntaxVersion: '^9.0.0', + }, + }, + }, + { + files: ['**/*.cjs'], + rules: { + '@typescript-eslint/no-require-imports': 'off', + }, + }, +] diff --git a/package.json b/package.json index 97bdd95d0..d6bd5305f 100644 --- a/package.json +++ b/package.json @@ -25,10 +25,10 @@ "electron:serve:wallet": "vue-cli-service electron:serve --wallet", "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|ts|vue)' --locales './src/locales/**/*.json'", "lint:check": "pnpm lint:check:eslint && pnpm lint:check:prettier", - "lint:check:eslint": "pnpm lint:eslint --ext .js,.ts,.vue .", + "lint:check:eslint": "pnpm lint:eslint", "lint:check:prettier": "pnpm lint:prettier --check \"**/*.{ts,js,json,css,scss,vue,html}\"", "lint:eslint": "eslint", - "lint:fix:eslint": "pnpm lint:eslint --fix --ext .js,.ts,.vue .", + "lint:fix:eslint": "pnpm lint:eslint --fix", "lint:fix:prettier": "pnpm lint:prettier --write \"**/*.{ts,js,json,css,scss,vue,html}\"", "lint:prettier": "prettier --loglevel warn", "postinstall": "electron-builder install-app-deps", @@ -59,8 +59,8 @@ "@types/node": "^20.12.3", "@typescript-eslint/parser": "^8.8.1", "@vitejs/plugin-vue": "^5.1.4", - "@vue/eslint-config-prettier": "^9.0.0", - "@vue/eslint-config-typescript": "^13.0.0", + "@vue/eslint-config-prettier": "^10.0.0", + "@vue/eslint-config-typescript": "^14.0.0", "@vue/test-utils": "^2.4.5", "@vueuse/core": "^11.1.0", "autoprefixer": "^10.4.19", @@ -74,7 +74,7 @@ "electron-log": "^5.2.0", "electron-updater": "^6.3.9", "element-plus": "^2.7.3", - "eslint": "^8.57.0", + "eslint": "^9.12.0", "eslint-import-resolver-alias": "1.1.2", "eslint-plugin-import": "2.31.0", "eslint-plugin-node": "11.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0933dcd80..277cf4f72 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,16 +28,16 @@ devDependencies: version: 20.12.12 '@typescript-eslint/parser': specifier: ^8.8.1 - version: 8.8.1(eslint@8.57.0)(typescript@5.6.3) + version: 8.8.1(eslint@9.12.0)(typescript@5.6.3) '@vitejs/plugin-vue': specifier: ^5.1.4 version: 5.1.4(vite@5.4.8)(vue@3.5.11) '@vue/eslint-config-prettier': - specifier: ^9.0.0 - version: 9.0.0(eslint@8.57.0)(prettier@3.3.3) + specifier: ^10.0.0 + version: 10.0.0(eslint@9.12.0)(prettier@3.3.3) '@vue/eslint-config-typescript': - specifier: ^13.0.0 - version: 13.0.0(eslint-plugin-vue@9.28.0)(eslint@8.57.0)(typescript@5.6.3) + specifier: ^14.0.0 + version: 14.0.1(eslint-plugin-vue@9.28.0)(eslint@9.12.0)(typescript@5.6.3) '@vue/test-utils': specifier: ^2.4.5 version: 2.4.6 @@ -78,20 +78,20 @@ devDependencies: specifier: ^2.7.3 version: 2.7.3(vue@3.5.11) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.12.0 + version: 9.12.0 eslint-import-resolver-alias: specifier: 1.1.2 version: 1.1.2(eslint-plugin-import@2.31.0) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.8.1)(eslint@8.57.0) + version: 2.31.0(@typescript-eslint/parser@8.8.1)(eslint@9.12.0) eslint-plugin-node: specifier: 11.1.0 - version: 11.1.0(eslint@8.57.0) + version: 11.1.0(eslint@9.12.0) eslint-plugin-vue: specifier: 9.28.0 - version: 9.28.0(eslint@8.57.0) + version: 9.28.0(eslint@9.12.0) fs-extra: specifier: ^11.2.0 version: 11.2.0 @@ -1739,13 +1739,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + /@eslint-community/eslint-utils@4.4.0(eslint@9.12.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.57.0 + eslint: 9.12.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1754,14 +1754,35 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@eslint-community/regexpp@4.11.1: + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/config-array@0.18.0: + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.7 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/core@0.6.0: + resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + + /@eslint/eslintrc@3.1.0: + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 + debug: 4.3.7 + espree: 10.2.0 + globals: 14.0.0 ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -1771,9 +1792,21 @@ packages: - supports-color dev: true - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@eslint/js@9.12.0: + resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + + /@eslint/object-schema@2.1.4: + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + + /@eslint/plugin-kit@0.2.0: + resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + levn: 0.4.1 dev: true /@floating-ui/core@1.6.2: @@ -1826,15 +1859,17 @@ packages: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + /@humanfs/core@0.19.0: + resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==} + engines: {node: '>=18.18.0'} + dev: true + + /@humanfs/node@0.16.5: + resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==} + engines: {node: '>=18.18.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@humanfs/core': 0.19.0 + '@humanwhocodes/retry': 0.3.1 dev: true /@humanwhocodes/module-importer@1.0.1: @@ -1842,8 +1877,9 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@2.0.3: - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + /@humanwhocodes/retry@0.3.1: + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} dev: true /@intlify/bundle-utils@7.5.1(vue-i18n@9.13.1): @@ -2284,6 +2320,10 @@ packages: resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} dev: true + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true @@ -2351,24 +2391,24 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.6.3): - resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1)(eslint@9.12.0)(typescript@5.6.3): + resolution: {integrity: sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.6.3) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 8.57.0 + '@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0)(typescript@5.6.3) + '@typescript-eslint/utils': 8.8.1(eslint@9.12.0)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.8.1 + eslint: 9.12.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -2378,28 +2418,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.3): - resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.7 - eslint: 8.57.0 - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@8.8.1(eslint@8.57.0)(typescript@5.6.3): + /@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3): resolution: {integrity: sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: @@ -2414,20 +2433,12 @@ packages: '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.8.1 debug: 4.3.7 - eslint: 8.57.0 + eslint: 9.12.0 typescript: 5.6.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@7.18.0: - resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} - engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - dev: true - /@typescript-eslint/scope-manager@8.8.1: resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2436,58 +2447,30 @@ packages: '@typescript-eslint/visitor-keys': 8.8.1 dev: true - /@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.6.3): - resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/type-utils@8.8.1(eslint@9.12.0)(typescript@5.6.3): + resolution: {integrity: sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) + '@typescript-eslint/utils': 8.8.1(eslint@9.12.0)(typescript@5.6.3) debug: 4.3.7 - eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.6.3) typescript: 5.6.3 transitivePeerDependencies: + - eslint - supports-color dev: true - /@typescript-eslint/types@7.18.0: - resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} - engines: {node: ^18.18.0 || >=20.0.0} - dev: true - /@typescript-eslint/types@8.8.1: resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.3): - resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.7 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.3): resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2510,30 +2493,22 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.6.3): - resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/utils@8.8.1(eslint@9.12.0)(typescript@5.6.3): + resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) - eslint: 8.57.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) + '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) + eslint: 9.12.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@7.18.0: - resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} - engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.18.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@8.8.1: resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2542,10 +2517,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - /@vitejs/plugin-vue@5.1.4(vite@5.4.8)(vue@3.5.11): resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2705,37 +2676,38 @@ packages: resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} dev: true - /@vue/eslint-config-prettier@9.0.0(eslint@8.57.0)(prettier@3.3.3): - resolution: {integrity: sha512-z1ZIAAUS9pKzo/ANEfd2sO+v2IUalz7cM/cTLOZ7vRFOPk5/xuRKQteOu1DErFLAh/lYGXMVZ0IfYKlyInuDVg==} + /@vue/eslint-config-prettier@10.0.0(eslint@9.12.0)(prettier@3.3.3): + resolution: {integrity: sha512-iDEjsfT+UXQTJfe+4mstb/B5BSZ5RpL6FO3F97XxElIXdD04gkH+F7PR4fBMEVyJi4892G4LQVPQ8oXxVyp8Dw==} peerDependencies: - eslint: '>= 8.0.0' + eslint: '>= 8.21.0' prettier: '>= 3.0.0' dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.3) + eslint: 9.12.0 + eslint-config-prettier: 9.1.0(eslint@9.12.0) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@9.12.0)(prettier@3.3.3) prettier: 3.3.3 transitivePeerDependencies: - '@types/eslint' dev: true - /@vue/eslint-config-typescript@13.0.0(eslint-plugin-vue@9.28.0)(eslint@8.57.0)(typescript@5.6.3): - resolution: {integrity: sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg==} - engines: {node: ^18.18.0 || >=20.0.0} + /@vue/eslint-config-typescript@14.0.1(eslint-plugin-vue@9.28.0)(eslint@9.12.0)(typescript@5.6.3): + resolution: {integrity: sha512-jE5myCG9OiXQOuTSiwCqmM5ktGuiL/xI2SC1DUf+AntvFTDOW5+RZtGKw8L+Af5jlSe0k45RNVh0a/wklcckGQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 - eslint-plugin-vue: ^9.0.0 - typescript: '>=4.7.4' + eslint: ^9.10.0 + eslint-plugin-vue: ^9.28.0 + typescript: '>=4.8.4' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.6.3) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.6.3) - eslint: 8.57.0 - eslint-plugin-vue: 9.28.0(eslint@8.57.0) + '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1)(eslint@9.12.0)(typescript@5.6.3) + '@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.6.3) + eslint: 9.12.0 + eslint-plugin-vue: 9.28.0(eslint@9.12.0) typescript: 5.6.3 - vue-eslint-parser: 9.4.3(eslint@8.57.0) + typescript-eslint: 8.8.1(eslint@9.12.0)(typescript@5.6.3) + vue-eslint-parser: 9.4.3(eslint@9.12.0) transitivePeerDependencies: - supports-color dev: true @@ -2879,6 +2851,14 @@ packages: acorn: 8.11.3 dev: true + /acorn-jsx@5.3.2(acorn@8.12.1): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.12.1 + dev: true + /acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} @@ -3120,11 +3100,6 @@ packages: is-string: 1.0.7 dev: true - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - /array.prototype.findlastindex@1.2.5: resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} @@ -4030,13 +4005,6 @@ packages: p-limit: 3.1.0 dev: true - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: true @@ -4083,13 +4051,6 @@ packages: esutils: 2.0.3 dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - /dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} dependencies: @@ -4491,13 +4452,13 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier@9.1.0(eslint@8.57.0): + /eslint-config-prettier@9.1.0(eslint@9.12.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.57.0 + eslint: 9.12.0 dev: true /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0): @@ -4506,7 +4467,7 @@ packages: peerDependencies: eslint-plugin-import: '>=1.4.0' dependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.1)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.1)(eslint@9.12.0) dev: true /eslint-import-resolver-node@0.3.9: @@ -4519,7 +4480,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.12.0(@typescript-eslint/parser@8.8.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + /eslint-module-utils@2.12.0(@typescript-eslint/parser@8.8.1)(eslint-import-resolver-node@0.3.9)(eslint@9.12.0): resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: @@ -4540,26 +4501,26 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 8.8.1(eslint@8.57.0)(typescript@5.6.3) + '@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.6.3) debug: 3.2.7 - eslint: 8.57.0 + eslint: 9.12.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es@3.0.1(eslint@8.57.0): + /eslint-plugin-es@3.0.1(eslint@9.12.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.57.0 + eslint: 9.12.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1)(eslint@8.57.0): + /eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1)(eslint@9.12.0): resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: @@ -4570,16 +4531,16 @@ packages: optional: true dependencies: '@rtsao/scc': 1.1.0 - '@typescript-eslint/parser': 8.8.1(eslint@8.57.0)(typescript@5.6.3) + '@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.6.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 9.12.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.8.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.8.1)(eslint-import-resolver-node@0.3.9)(eslint@9.12.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -4596,14 +4557,14 @@ packages: - supports-color dev: true - /eslint-plugin-node@11.1.0(eslint@8.57.0): + /eslint-plugin-node@11.1.0(eslint@9.12.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.57.0 - eslint-plugin-es: 3.0.1(eslint@8.57.0) + eslint: 9.12.0 + eslint-plugin-es: 3.0.1(eslint@9.12.0) eslint-utils: 2.1.0 ignore: 5.3.1 minimatch: 3.1.2 @@ -4611,7 +4572,7 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.3): + /eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0)(eslint@9.12.0)(prettier@3.3.3): resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -4625,27 +4586,27 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint: 9.12.0 + eslint-config-prettier: 9.1.0(eslint@9.12.0) prettier: 3.3.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.2 dev: true - /eslint-plugin-vue@9.28.0(eslint@8.57.0): + /eslint-plugin-vue@9.28.0(eslint@9.12.0): resolution: {integrity: sha512-ShrihdjIhOTxs+MfWun6oJWuk+g/LAhN+CiuOl/jjkG3l0F2AuK5NMTaWqyvBgkFtpYmyks6P4603mLmhNJW8g==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - eslint: 8.57.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) + eslint: 9.12.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.16 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@8.57.0) + vue-eslint-parser: 9.4.3(eslint@9.12.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -4659,6 +4620,14 @@ packages: estraverse: 5.3.0 dev: true + /eslint-scope@8.1.0: + resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + /eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} @@ -4676,53 +4645,69 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /eslint-visitor-keys@4.1.0: + resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + + /eslint@9.12.0: + resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) + '@eslint-community/regexpp': 4.11.1 + '@eslint/config-array': 0.18.0 + '@eslint/core': 0.6.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.12.0 + '@eslint/plugin-kit': 0.2.0 + '@humanfs/node': 0.16.5 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 + '@humanwhocodes/retry': 0.3.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 + debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.1.0 + eslint-visitor-keys: 4.1.0 + espree: 10.2.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true + /espree@10.2.0: + resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 4.1.0 + dev: true + /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4864,11 +4849,11 @@ packages: pend: 1.2.0 dev: true - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + /file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 dev: true /filelist@1.0.4: @@ -4892,13 +4877,12 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 dev: true /flatted@3.3.1: @@ -5190,6 +5174,11 @@ packages: type-fest: 0.20.2 dev: true + /globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + dev: true + /globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -5198,18 +5187,6 @@ packages: gopd: 1.0.1 dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -5612,11 +5589,6 @@ packages: engines: {node: '>=0.12.0'} dev: true - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true @@ -6634,11 +6606,6 @@ packages: minipass: 7.1.1 dev: true - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - /pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: true @@ -7310,11 +7277,6 @@ packages: engines: {node: '>=6'} dev: true - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} @@ -7798,6 +7760,24 @@ packages: possible-typed-array-names: 1.0.0 dev: true + /typescript-eslint@8.8.1(eslint@9.12.0)(typescript@5.6.3): + resolution: {integrity: sha512-R0dsXFt6t4SAFjUSKFjMh4pXDtq04SsFKCVGDP3ZOzNP7itF0jBcZYU4fMsZr4y7O7V7Nc751dDeESbe4PbQMQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1)(eslint@9.12.0)(typescript@5.6.3) + '@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.6.3) + '@typescript-eslint/utils': 8.8.1(eslint@9.12.0)(typescript@5.6.3) + typescript: 5.6.3 + transitivePeerDependencies: + - eslint + - supports-color + dev: true + /typescript@5.6.3: resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} @@ -8245,14 +8225,14 @@ packages: vue: 3.5.11(typescript@5.6.3) dev: true - /vue-eslint-parser@9.4.3(eslint@8.57.0): + /vue-eslint-parser@9.4.3(eslint@9.12.0): resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.12.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 diff --git a/src/api.js b/src/api.js index 838096237..f31ea00f9 100644 --- a/src/api.js +++ b/src/api.js @@ -320,7 +320,6 @@ export function standardizeTransactions(response) { const transactions = response.result.transactions.map(transaction => { const transactionType = Object.keys(transaction.transaction.data)[0] const { inputs, outputs } = transaction.transaction.data[transactionType] - // eslint-disable-next-line camelcase const { hash, miner_fee, block, timestamp, data } = transaction.transaction const tally = data[transactionType].tally const type = transaction.type diff --git a/src/components/FileUploader.vue b/src/components/FileUploader.vue index 9bb841340..12f6df471 100644 --- a/src/components/FileUploader.vue +++ b/src/components/FileUploader.vue @@ -210,7 +210,7 @@ export default { this.$emit('error-uploading-file') this.error = true } - } catch (error) { + } catch { /** * Nofity file uploaded is not valid */ diff --git a/src/components/RadonOperator.vue b/src/components/RadonOperator.vue index b80645919..801b06953 100644 --- a/src/components/RadonOperator.vue +++ b/src/components/RadonOperator.vue @@ -100,7 +100,6 @@ export default { }, props: { showOutputType: { - // eslint-disable-next-line vue/no-boolean-default default: true, type: Boolean, }, diff --git a/src/components/Select.vue b/src/components/Select.vue index 1d3689088..378f2a185 100644 --- a/src/components/Select.vue +++ b/src/components/Select.vue @@ -218,7 +218,11 @@ export default { }, toggleOptions() { if (!this.disabled) { - this.areOptionsVisible ? this.hideOptions() : this.showOptions() + if (this.areOptionsVisible) { + this.hideOptions() + } else { + this.showOptions() + } } }, async showOptions() { diff --git a/src/components/SendTransaction/DeployDataRequest.vue b/src/components/SendTransaction/DeployDataRequest.vue index 17ab92ce3..1604a18c3 100644 --- a/src/components/SendTransaction/DeployDataRequest.vue +++ b/src/components/SendTransaction/DeployDataRequest.vue @@ -106,7 +106,11 @@ export default { id: this.template.id, locale: this.locale, }) - this.variables.length ? (this.stage = 0) : (this.stage = 1) + if (this.variables.length) { + this.stage = 0 + } else { + this.stage = 1 + } }, beforeUnmount() { if (this.createDataRequestError) { diff --git a/src/components/SendTransaction/SendValueTransferForm.vue b/src/components/SendTransaction/SendValueTransferForm.vue index 750542c12..ea7314761 100644 --- a/src/components/SendTransaction/SendValueTransferForm.vue +++ b/src/components/SendTransaction/SendValueTransferForm.vue @@ -182,8 +182,6 @@ export default { handler() { if (this.createVTTError) { this.clearError({ error: this.createVTTError.name }) - } else { - this.generatePosibleTransactions } }, deep: true, diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue index febb4f3d2..71d475293 100644 --- a/src/components/Sidebar.vue +++ b/src/components/Sidebar.vue @@ -88,7 +88,6 @@ export default { }, computed: { version() { - // eslint-disable-next-line no-undef return `v${__APP_VERSION__}` }, }, diff --git a/src/components/Templates.vue b/src/components/Templates.vue index 050097fe7..5cd8c320c 100644 --- a/src/components/Templates.vue +++ b/src/components/Templates.vue @@ -144,7 +144,7 @@ const readFile = () => { // clear file input to be able to try to load the same file twitce fileInput.value = null } - } catch (error) { + } catch { console.log('Error parsing json') } }, diff --git a/src/components/Version.vue b/src/components/Version.vue index 6cee96001..0c49a084c 100644 --- a/src/components/Version.vue +++ b/src/components/Version.vue @@ -7,7 +7,6 @@ export default { name: 'Version', computed: { version() { - // eslint-disable-next-line no-undef return `v${__APP_VERSION__ || 0}` }, }, diff --git a/src/components/card/Card.vue b/src/components/card/Card.vue index 3e04eb5d3..d1ad9540f 100644 --- a/src/components/card/Card.vue +++ b/src/components/card/Card.vue @@ -46,7 +46,6 @@ export default { }, padding: { type: Boolean, - // eslint-disable-next-line vue/no-boolean-default default: true, }, shadow: { @@ -55,7 +54,6 @@ export default { }, border: { type: Boolean, - // eslint-disable-next-line vue/no-boolean-default default: true, }, }, diff --git a/src/components/card/EditorAggregationsTally.vue b/src/components/card/EditorAggregationsTally.vue index ecd83e2be..7a3f5a243 100644 --- a/src/components/card/EditorAggregationsTally.vue +++ b/src/components/card/EditorAggregationsTally.vue @@ -65,7 +65,6 @@ export default { }, filtersSupported: { type: Boolean, - // eslint-disable-next-line vue/no-boolean-default default: true, }, results: { diff --git a/src/directives.js b/src/directives.js index 97bd5c68d..af702e278 100644 --- a/src/directives.js +++ b/src/directives.js @@ -12,8 +12,10 @@ Vue.directive('focus', { }, inserted: function (el) { // It focus the element and add support for element ui inputs - el.getElementsByTagName('input') - ? el.getElementsByTagName('input')[0].focus() - : el.focus() + if (el.getElementsByTagName('input')) { + el.getElementsByTagName('input')[0].focus() + } else { + el.focus() + } }, }) diff --git a/src/main.ts b/src/main.ts index 6094d7f64..7f848ad43 100644 --- a/src/main.ts +++ b/src/main.ts @@ -34,9 +34,11 @@ app.directive('focus', { }, mounted: function (el) { // It focus the element and add support for element ui inputs - el.getElementsByTagName('input') - ? el.getElementsByTagName('input')[0].focus() - : el.focus() + if (el.getElementsByTagName('input')) { + el.getElementsByTagName('input')[0].focus() + } else { + el.focus() + } }, }) diff --git a/src/services/FormValidation.js b/src/services/FormValidation.js index 9bc4e3e8a..5200617b6 100644 --- a/src/services/FormValidation.js +++ b/src/services/FormValidation.js @@ -68,7 +68,7 @@ export default class FormValidation { try { new BigNumber(value.replace(',', '.')) callback() - } catch (err) { + } catch { callback(new Error(t('validate_number'))) } } diff --git a/src/store/rad.js b/src/store/rad.js index 34ffbb7c9..4aec85adc 100644 --- a/src/store/rad.js +++ b/src/store/rad.js @@ -97,9 +97,11 @@ export default { }, toggleTryDataRequest(state) { state.autoTry = !state.autoTry - state.autoTry - ? this.dispatch('tryDataRequest') - : this.commit('clearDataRequestResult') + if (state.autoTry) { + this.dispatch('tryDataRequest') + } else { + this.commit('clearDataRequestResult') + } }, [SET_CURRENT_STAGE](state, { stage }) { state.currentStage = stage diff --git a/src/store/wallet.js b/src/store/wallet.js index 87a03cbba..59dff1855 100644 --- a/src/store/wallet.js +++ b/src/store/wallet.js @@ -781,7 +781,7 @@ export default { // FIXME: error has the following structure:["{\"available_balance\":0,\"total_balance\":0,\"transaction_value\":2397}","Wallet account has not enough balance"] try { usableBalance = JSON.parse(req.error.data[0][0]) - } catch (e) { + } catch { usableBalance = null } const availableBalance = context.state.balance.available @@ -848,7 +848,7 @@ export default { // FIXME: error has the following structure:["{\"available_balance\":0,\"total_balance\":0,\"transaction_value\":2397}","Wallet account has not enough balance"] try { usableBalance = JSON.parse(request.error.data[0][0]) - } catch (e) { + } catch { usableBalance = null } const availableBalance = context.state.balance.available @@ -1076,9 +1076,11 @@ export default { context.commit('clearMnemonics') context.commit('clearXprvInfo') context.commit('clearXprvBackupPassword') - params.sourceType === 'mnemonics' - ? router.push('/ftu/import-wallet') - : router.push('/ftu/import-xprv') + if (params.sourceType === 'mnemonics') { + router.push('/ftu/import-wallet') + } else { + router.push('/ftu/import-xprv') + } } }, @@ -1130,9 +1132,11 @@ export default { getUnit: async function (context) { const unit = localStorageWrapper.getUnitSettings() const defaultUnit = context.state.unit - unit - ? context.commit('setUnit', unit) - : context.commit('setUnit', defaultUnit) + if (unit) { + context.commit('setUnit', unit) + } else { + context.commit('setUnit', defaultUnit) + } }, getTheme: async function (context) { const theme = localStorageWrapper.getThemeSettings() diff --git a/src/utils.js b/src/utils.js index dd264838f..e1f801a61 100644 --- a/src/utils.js +++ b/src/utils.js @@ -411,7 +411,7 @@ export function isValidRadRequest(dr) { try { const radon = new Radon(dr) return radon.getMarkup() && radon.getMir() && radon.getJs() - } catch (e) { + } catch { return false } } @@ -420,7 +420,7 @@ export function isValidJson(string) { try { JSON.parse(string) return true - } catch (err) { + } catch { return false } } diff --git a/tests/unit/.eslintrc.cjs b/tests/unit/.eslintrc.cjs deleted file mode 100644 index 43f44c938..000000000 --- a/tests/unit/.eslintrc.cjs +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - globals: { - vi: true, - mount: false, - shallowMount: false, - createComponentMocks: false, - i18n: false, - nextTick: false, - getNormalizedFormRules: false, - sleep: false, - createMocks: true, - describe: true, - expect: true, - test: true, - flushPromises: true, - }, - rules: {}, -}