From 73b7e8ab3b23a810184fab56bc3c89b902bd97b0 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 25 Oct 2026 11:10:18 +0900 Subject: [PATCH] chore(svelte-pacer): add 'eslint-plugin-svelte' to lint '.svelte' files --- packages/svelte-pacer/eslint.config.js | 27 +++++++++- packages/svelte-pacer/package.json | 2 + pnpm-lock.yaml | 72 +++++++++++++++++++++++--- 3 files changed, 94 insertions(+), 7 deletions(-) diff --git a/packages/svelte-pacer/eslint.config.js b/packages/svelte-pacer/eslint.config.js index 6f7e1f4a3..687bb9472 100644 --- a/packages/svelte-pacer/eslint.config.js +++ b/packages/svelte-pacer/eslint.config.js @@ -1,6 +1,31 @@ // @ts-check +import tsParser from '@typescript-eslint/parser' +import pluginSvelte from 'eslint-plugin-svelte' import { defineConfig } from 'eslint/config' import rootConfig from '../../eslint.config.js' +import svelteConfig from './svelte.config.js' -export default defineConfig([...rootConfig]) +const config = defineConfig([ + ...rootConfig, + ...pluginSvelte.configs['recommended'], + { + files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'], + languageOptions: { + parserOptions: { + parser: tsParser, + extraFileExtensions: ['.svelte'], + svelteConfig, + }, + }, + }, + { + rules: { + 'svelte/block-lang': ['error', { script: ['ts'] }], + 'svelte/no-svelte-internal': 'error', + 'svelte/valid-compile': 'off', + }, + }, +]) + +export default config diff --git a/packages/svelte-pacer/package.json b/packages/svelte-pacer/package.json index 8b16b79de..c17d2b051 100644 --- a/packages/svelte-pacer/package.json +++ b/packages/svelte-pacer/package.json @@ -121,6 +121,8 @@ "devDependencies": { "@sveltejs/package": "^3.0.0", "@sveltejs/vite-plugin-svelte": "^7.3.1", + "@typescript-eslint/parser": "^8.71.0", + "eslint-plugin-svelte": "^3.23.0", "svelte": "^5.57.1" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2bd77793..6fd2504e0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10929,6 +10929,12 @@ importers: '@sveltejs/vite-plugin-svelte': specifier: ^7.3.1 version: 7.3.1(svelte@5.57.1(@typescript-eslint/types@8.66.0))(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.0)) + '@typescript-eslint/parser': + specifier: ^8.71.0 + version: 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-svelte: + specifier: ^3.23.0 + version: 3.23.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(svelte@5.57.1(@typescript-eslint/types@8.66.0)) svelte: specifier: ^5.57.1 version: 5.57.1(@typescript-eslint/types@8.66.0) @@ -10994,7 +11000,7 @@ importers: 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)) + version: 10.11.1(@typescript-eslint/parser@8.58.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) @@ -23935,6 +23941,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.58.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.58.0 + '@typescript-eslint/types': 8.58.0 + '@typescript-eslint/typescript-estree': 8.58.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.58.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/parser@8.71.0(eslint@10.12.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/scope-manager': 8.71.0 @@ -23958,7 +23977,6 @@ snapshots: 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: @@ -23969,6 +23987,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.58.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/project-service@8.66.0(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) @@ -24005,7 +24033,6 @@ snapshots: typescript: 6.0.3 transitivePeerDependencies: - supports-color - optional: true '@typescript-eslint/scope-manager@8.58.0': dependencies: @@ -24093,6 +24120,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.58.0(supports-color@8.1.1)(typescript@6.0.3)': + dependencies: + '@typescript-eslint/project-service': 8.58.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.58.0(typescript@6.0.3) + '@typescript-eslint/types': 8.58.0 + '@typescript-eslint/visitor-keys': 8.58.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/typescript-estree@8.66.0(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/project-service': 8.66.0(supports-color@7.2.0)(typescript@6.0.3) @@ -24153,7 +24196,6 @@ snapshots: 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: @@ -25972,6 +26014,24 @@ snapshots: transitivePeerDependencies: - ts-node + eslint-plugin-svelte@3.23.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(svelte@5.57.1(@typescript-eslint/types@8.66.0)): + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1)) + '@jridgewell/sourcemap-codec': 1.6.0 + eslint: 10.12.0(jiti@2.7.0)(supports-color@8.1.1) + esutils: 2.0.3 + globals: 16.5.0 + known-css-properties: 0.37.0 + postcss: 8.5.28 + postcss-load-config: 3.1.4(postcss@8.5.28) + postcss-safe-parser: 7.0.1(postcss@8.5.28) + semver: 7.8.5 + svelte-eslint-parser: 1.8.1(svelte@5.57.1(@typescript-eslint/types@8.66.0)) + optionalDependencies: + svelte: 5.57.1(@typescript-eslint/types@8.66.0) + transitivePeerDependencies: + - ts-node + eslint-plugin-unused-imports@4.4.1(@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@10.12.0(jiti@2.7.0)(supports-color@7.2.0)): dependencies: eslint: 10.12.0(jiti@2.7.0)(supports-color@7.2.0) @@ -25992,7 +26052,7 @@ snapshots: '@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)): + eslint-plugin-vue@10.11.1(@typescript-eslint/parser@8.58.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) @@ -26003,7 +26063,7 @@ snapshots: 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) + '@typescript-eslint/parser': 8.58.0(eslint@10.12.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) eslint-scope@8.4.0: dependencies: