From b3b4ec4833d521cee7f70d8d786d64b6cdbae06b Mon Sep 17 00:00:00 2001 From: baseballyama Date: Wed, 26 Feb 2025 19:38:10 +0900 Subject: [PATCH 1/4] feat: update eslint-plugin-svelte v3 --- packages/addons/_tests/eslint/test.ts | 2 +- packages/addons/_tests/prettier/test.ts | 2 +- packages/addons/eslint/index.ts | 24 ++++++++++++++++++++---- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/packages/addons/_tests/eslint/test.ts b/packages/addons/_tests/eslint/test.ts index 9ca06c5c4..c25ccc12a 100644 --- a/packages/addons/_tests/eslint/test.ts +++ b/packages/addons/_tests/eslint/test.ts @@ -15,7 +15,7 @@ test.concurrent.for(variants)('core - %s', async (variant, { page, ...ctx }) => ctx.onTestFinished(async () => await close()); const unlintedFile = 'let foo = "";\nif (Boolean(foo)) {\n//\n}'; - fs.writeFileSync(path.resolve(cwd, 'foo.js'), unlintedFile, 'utf8'); + fs.writeFileSync(path.resolve(cwd, 'src/lib/foo.js'), unlintedFile, 'utf8'); expect(() => execSync('pnpm lint', { cwd, stdio: 'pipe' })).toThrowError(); diff --git a/packages/addons/_tests/prettier/test.ts b/packages/addons/_tests/prettier/test.ts index 87f2552f2..1826d66b1 100644 --- a/packages/addons/_tests/prettier/test.ts +++ b/packages/addons/_tests/prettier/test.ts @@ -15,7 +15,7 @@ test.concurrent.for(variants)('core - %s', async (variant, { page, ...ctx }) => ctx.onTestFinished(async () => await close()); const unformattedFile = 'const foo = "bar"'; - fs.writeFileSync(path.resolve(cwd, 'foo.js'), unformattedFile, 'utf8'); + fs.writeFileSync(path.resolve(cwd, 'src/lib/foo.js'), unformattedFile, 'utf8'); expect(() => execSync('pnpm lint', { cwd, stdio: 'pipe' })).toThrowError(); diff --git a/packages/addons/eslint/index.ts b/packages/addons/eslint/index.ts index 1d540192b..3d84e88c1 100644 --- a/packages/addons/eslint/index.ts +++ b/packages/addons/eslint/index.ts @@ -23,7 +23,7 @@ export default defineAddon({ sv.devDependency('eslint', '^9.18.0'); sv.devDependency('@eslint/compat', '^1.2.5'); sv.devDependency('globals', '^15.14.0'); - sv.devDependency('eslint-plugin-svelte', '^2.46.1'); + sv.devDependency('eslint-plugin-svelte', '^3.0.0'); sv.devDependency('@eslint/js', '^9.18.0'); if (typescript) sv.devDependency('typescript-eslint', '^8.20.0'); @@ -58,6 +58,8 @@ export default defineAddon({ AstKinds.ExpressionKind | AstTypes.SpreadElement | AstTypes.ObjectExpression > = []; + imports.addDefault(ast, './svelte.config.js', 'svelteConfig'); + const gitIgnorePathStatement = common.statementFromString( '\nconst gitignorePath = fileURLToPath(new URL("./.gitignore", import.meta.url));' ); @@ -74,7 +76,7 @@ export default defineAddon({ eslintConfigs.push(common.createSpreadElement(tsConfig)); } - const svelteConfig = common.expressionFromString('svelte.configs["flat/recommended"]'); + const svelteConfig = common.expressionFromString('svelte.configs.recommended'); eslintConfigs.push(common.createSpreadElement(svelteConfig)); const globalsBrowser = common.createSpreadElement( @@ -92,10 +94,24 @@ export default defineAddon({ if (typescript) { const svelteTSParserConfig = object.create({ - files: common.expressionFromString('["**/*.svelte"]'), + files: common.expressionFromString('["**/*.svelte", "**/*.ts", "**/*.js"]'), + ignores: common.expressionFromString('["eslint.config.js", "svelte.config.js"]'), + languageOptions: object.create({ + parserOptions: object.create({ + projectService: common.expressionFromString('true'), + extraFileExtensions: common.expressionFromString("['.svelte']"), + parser: common.expressionFromString('ts.parser'), + svelteConfig: common.expressionFromString('svelteConfig') + }) + }) + }); + eslintConfigs.push(svelteTSParserConfig); + } else { + const svelteTSParserConfig = object.create({ + files: common.expressionFromString('["**/*.svelte", "**/*.js"]'), languageOptions: object.create({ parserOptions: object.create({ - parser: common.expressionFromString('ts.parser') + svelteConfig: common.expressionFromString('svelteConfig') }) }) }); From aa072a1863e046a56fe99afedd111b5d4a6cde3a Mon Sep 17 00:00:00 2001 From: baseballyama Date: Wed, 26 Feb 2025 19:38:45 +0900 Subject: [PATCH 2/4] add changeset --- .changeset/seven-readers-bake.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/seven-readers-bake.md diff --git a/.changeset/seven-readers-bake.md b/.changeset/seven-readers-bake.md new file mode 100644 index 000000000..11b222f46 --- /dev/null +++ b/.changeset/seven-readers-bake.md @@ -0,0 +1,5 @@ +--- +'sv': minor +--- + +feat: update `eslint-plugin-svelte` v3 From eeb8eefd97f0d568b0ab14a825c5e03869a2d6e0 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Wed, 26 Feb 2025 19:58:53 +0900 Subject: [PATCH 3/4] fix --- packages/addons/eslint/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/addons/eslint/index.ts b/packages/addons/eslint/index.ts index 3d84e88c1..bc1a22622 100644 --- a/packages/addons/eslint/index.ts +++ b/packages/addons/eslint/index.ts @@ -94,7 +94,7 @@ export default defineAddon({ if (typescript) { const svelteTSParserConfig = object.create({ - files: common.expressionFromString('["**/*.svelte", "**/*.ts", "**/*.js"]'), + files: common.expressionFromString('["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"]'), ignores: common.expressionFromString('["eslint.config.js", "svelte.config.js"]'), languageOptions: object.create({ parserOptions: object.create({ @@ -108,7 +108,7 @@ export default defineAddon({ eslintConfigs.push(svelteTSParserConfig); } else { const svelteTSParserConfig = object.create({ - files: common.expressionFromString('["**/*.svelte", "**/*.js"]'), + files: common.expressionFromString('["**/*.svelte", "**/*.svelte.js"]'), languageOptions: object.create({ parserOptions: object.create({ svelteConfig: common.expressionFromString('svelteConfig') From c43fa28462ae499a956e36457c303da025a4747f Mon Sep 17 00:00:00 2001 From: Manuel <30698007+manuel3108@users.noreply.github.com> Date: Wed, 26 Feb 2025 19:34:57 +0100 Subject: [PATCH 4/4] Update .changeset/seven-readers-bake.md --- .changeset/seven-readers-bake.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/seven-readers-bake.md b/.changeset/seven-readers-bake.md index 11b222f46..c8983caee 100644 --- a/.changeset/seven-readers-bake.md +++ b/.changeset/seven-readers-bake.md @@ -1,5 +1,5 @@ --- -'sv': minor +'sv': patch --- feat: update `eslint-plugin-svelte` v3