diff --git a/packages/vue-pacer-devtools/eslint.config.js b/packages/vue-pacer-devtools/eslint.config.js index 6f7e1f4a3..65e983319 100644 --- a/packages/vue-pacer-devtools/eslint.config.js +++ b/packages/vue-pacer-devtools/eslint.config.js @@ -1,6 +1,16 @@ // @ts-check +import pluginVue from 'eslint-plugin-vue' import { defineConfig } from 'eslint/config' import rootConfig from '../../eslint.config.js' -export default defineConfig([...rootConfig]) +export default defineConfig([ + ...rootConfig, + ...pluginVue.configs['flat/recommended'], + { + files: ['src/VuePacerDevtools.tsx'], + rules: { + 'vue/one-component-per-file': 'off', + }, + }, +]) diff --git a/packages/vue-pacer-devtools/package.json b/packages/vue-pacer-devtools/package.json index 4556aabe3..6f31e2dd6 100644 --- a/packages/vue-pacer-devtools/package.json +++ b/packages/vue-pacer-devtools/package.json @@ -56,6 +56,8 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^6.0.9", - "vue": "^3.5.43" + "eslint-plugin-vue": "^10.11.1", + "vue": "^3.5.43", + "vue-eslint-parser": "^10.4.1" } } diff --git a/packages/vue-pacer/eslint.config.js b/packages/vue-pacer/eslint.config.js index 6f7e1f4a3..0091ae205 100644 --- a/packages/vue-pacer/eslint.config.js +++ b/packages/vue-pacer/eslint.config.js @@ -1,6 +1,16 @@ // @ts-check +import pluginVue from 'eslint-plugin-vue' import { defineConfig } from 'eslint/config' import rootConfig from '../../eslint.config.js' -export default defineConfig([...rootConfig]) +export default defineConfig([ + ...rootConfig, + ...pluginVue.configs['flat/recommended'], + { + files: ['tests/**'], + rules: { + 'vue/one-component-per-file': 'off', + }, + }, +]) diff --git a/packages/vue-pacer/package.json b/packages/vue-pacer/package.json index 049168072..c9c392525 100644 --- a/packages/vue-pacer/package.json +++ b/packages/vue-pacer/package.json @@ -64,7 +64,9 @@ }, "devDependencies": { "@vue/test-utils": "^2.5.1", - "vue": "^3.5.43" + "eslint-plugin-vue": "^10.11.1", + "vue": "^3.5.43", + "vue-eslint-parser": "^10.4.1" }, "peerDependencies": { "vue": "^3.3.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ffb8eb0a5..d2bd77793 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10970,9 +10970,15 @@ importers: '@vue/test-utils': specifier: ^2.5.1 version: 2.5.1(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@6.0.3)) + eslint-plugin-vue: + specifier: ^10.11.1 + version: 10.11.1(@stylistic/eslint-plugin@5.10.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1)))(@typescript-eslint/parser@8.71.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(vue-eslint-parser@10.4.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)) vue: specifier: ^3.5.43 version: 3.5.43(typescript@6.0.3) + vue-eslint-parser: + specifier: ^10.4.1 + version: 10.4.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) packages/vue-pacer-devtools: dependencies: @@ -10986,9 +10992,15 @@ importers: '@vitejs/plugin-vue': specifier: ^6.0.9 version: 6.0.9(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(terser@5.51.2)(yaml@2.9.1))(vue@3.5.43(typescript@6.0.3)) + eslint-plugin-vue: + specifier: ^10.11.1 + version: 10.11.1(@typescript-eslint/parser@8.58.0(eslint@10.12.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(vue-eslint-parser@10.4.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)) vue: specifier: ^3.5.43 version: 3.5.43(typescript@6.0.3) + vue-eslint-parser: + specifier: ^10.4.1 + version: 10.4.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) packages: @@ -16679,6 +16691,20 @@ packages: '@typescript-eslint/eslint-plugin': optional: true + eslint-plugin-vue@10.11.1: + resolution: {integrity: sha512-pasVXhl7wUmIvhujoqs/m0mJ9r59QW1IR9XXYKGR0FETzSM+Hhlf4qKIYgWiDDP+9YKv4YfbwskD7LqIdVcgQw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + '@typescript-eslint/parser': ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + vue-eslint-parser: ^10.3.0 + peerDependenciesMeta: + '@stylistic/eslint-plugin': + optional: true + '@typescript-eslint/parser': + optional: true + eslint-scope@8.4.0: resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -19697,6 +19723,12 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + vue-eslint-parser@10.4.1: + resolution: {integrity: sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + vue-tsc@3.3.12: resolution: {integrity: sha512-kbpaz18O9jPVkXVHD1BEjpUXM6WhXSu+62L1sGGr6Wbzd8GbvkBQWjoj3KZ/C0aq2MZllce7UdtWzwCIYsBMGA==} hasBin: true @@ -21731,6 +21763,11 @@ snapshots: eslint: 10.12.0(jiti@2.7.0)(supports-color@7.2.0) eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.10.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))': + dependencies: + eslint: 10.12.0(jiti@2.7.0)(supports-color@8.1.1) + eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.12.2': {} '@eslint-react/ast@5.20.8(eslint@10.12.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': @@ -21827,6 +21864,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/config-array@0.23.5(supports-color@8.1.1)': + dependencies: + '@eslint/object-schema': 3.0.5 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 10.2.6 + transitivePeerDependencies: + - supports-color + '@eslint/config-helpers@0.7.0': dependencies: '@eslint/core': 1.2.1 @@ -23276,6 +23321,17 @@ snapshots: estraverse: 5.3.0 picomatch: 4.0.7 + '@stylistic/eslint-plugin@5.10.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))': + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1)) + '@typescript-eslint/types': 8.71.0 + eslint: 10.12.0(jiti@2.7.0)(supports-color@8.1.1) + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + estraverse: 5.3.0 + picomatch: 4.0.7 + optional: true + '@sveltejs/acorn-typescript@1.0.13(acorn@8.18.0)': dependencies: acorn: 8.18.0 @@ -23891,6 +23947,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.71.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.71.0 + '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/typescript-estree': 8.71.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.71.0 + debug: 4.4.3(supports-color@8.1.1) + eslint: 10.12.0(jiti@2.7.0)(supports-color@8.1.1) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + optional: true + '@typescript-eslint/project-service@8.58.0(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) @@ -23928,6 +23997,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.71.0(supports-color@8.1.1)(typescript@6.0.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) + '@typescript-eslint/types': 8.71.0 + debug: 4.4.3(supports-color@8.1.1) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + optional: true + '@typescript-eslint/scope-manager@8.58.0': dependencies: '@typescript-eslint/types': 8.58.0 @@ -24060,6 +24139,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.71.0(supports-color@8.1.1)(typescript@6.0.3)': + dependencies: + '@typescript-eslint/project-service': 8.71.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) + '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/visitor-keys': 8.71.0 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 10.2.6 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + optional: true + '@typescript-eslint/utils@8.58.0(eslint@10.12.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)(supports-color@7.2.0)) @@ -25883,6 +25978,33 @@ snapshots: optionalDependencies: '@typescript-eslint/eslint-plugin': 8.58.0(@typescript-eslint/parser@8.58.0(eslint@10.12.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + eslint-plugin-vue@10.11.1(@stylistic/eslint-plugin@5.10.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1)))(@typescript-eslint/parser@8.71.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(vue-eslint-parser@10.4.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)): + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1)) + eslint: 10.12.0(jiti@2.7.0)(supports-color@8.1.1) + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 7.1.6 + semver: 7.8.5 + vue-eslint-parser: 10.4.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) + xml-name-validator: 5.0.0 + optionalDependencies: + '@stylistic/eslint-plugin': 5.10.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1)) + '@typescript-eslint/parser': 8.71.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + + eslint-plugin-vue@10.11.1(@typescript-eslint/parser@8.58.0(eslint@10.12.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(vue-eslint-parser@10.4.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)): + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1)) + eslint: 10.12.0(jiti@2.7.0)(supports-color@8.1.1) + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 7.1.6 + semver: 7.8.5 + vue-eslint-parser: 10.4.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1) + xml-name-validator: 5.0.0 + optionalDependencies: + '@typescript-eslint/parser': 8.58.0(eslint@10.12.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 @@ -25938,6 +26060,43 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1): + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.5(supports-color@8.1.1) + '@eslint/config-helpers': 0.7.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.3 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.9 + ajv: 6.15.0 + cross-spawn: 7.0.6 + debug: 4.4.3(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 11.1.5 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + minimatch: 10.2.6 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.7.0 + transitivePeerDependencies: + - supports-color + esm-env@1.2.2: {} espree@10.4.0: @@ -29526,6 +29685,18 @@ snapshots: transitivePeerDependencies: - supports-color + vue-eslint-parser@10.4.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1): + dependencies: + debug: 4.4.3(supports-color@8.1.1) + eslint: 10.12.0(jiti@2.7.0)(supports-color@8.1.1) + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 + semver: 7.8.5 + transitivePeerDependencies: + - supports-color + vue-tsc@3.3.12(typescript@6.0.3): dependencies: '@volar/typescript': 2.4.28(typescript@6.0.3)