Skip to content

Commit f0a5db1

Browse files
feat: update eslint-plugin-svelte v3 (#453)
* feat: update eslint-plugin-svelte v3 * add changeset * fix * Update .changeset/seven-readers-bake.md --------- Co-authored-by: Manuel <[email protected]> Co-authored-by: Manuel <[email protected]>
1 parent 4bd924c commit f0a5db1

File tree

4 files changed

+28
-5
lines changed

4 files changed

+28
-5
lines changed

.changeset/seven-readers-bake.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'sv': patch
3+
---
4+
5+
feat: update `eslint-plugin-svelte` v3

packages/addons/_tests/eslint/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ test.concurrent.for(variants)('core - %s', async (variant, { page, ...ctx }) =>
1515
ctx.onTestFinished(async () => await close());
1616

1717
const unlintedFile = 'let foo = "";\nif (Boolean(foo)) {\n//\n}';
18-
fs.writeFileSync(path.resolve(cwd, 'foo.js'), unlintedFile, 'utf8');
18+
fs.writeFileSync(path.resolve(cwd, 'src/lib/foo.js'), unlintedFile, 'utf8');
1919

2020
expect(() => execSync('pnpm lint', { cwd, stdio: 'pipe' })).toThrowError();
2121

packages/addons/_tests/prettier/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ test.concurrent.for(variants)('core - %s', async (variant, { page, ...ctx }) =>
1515
ctx.onTestFinished(async () => await close());
1616

1717
const unformattedFile = 'const foo = "bar"';
18-
fs.writeFileSync(path.resolve(cwd, 'foo.js'), unformattedFile, 'utf8');
18+
fs.writeFileSync(path.resolve(cwd, 'src/lib/foo.js'), unformattedFile, 'utf8');
1919

2020
expect(() => execSync('pnpm lint', { cwd, stdio: 'pipe' })).toThrowError();
2121

packages/addons/eslint/index.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ export default defineAddon({
2222

2323
sv.devDependency('eslint', '^9.18.0');
2424
sv.devDependency('@eslint/compat', '^1.2.5');
25+
sv.devDependency('globals', '^15.14.0');
26+
sv.devDependency('eslint-plugin-svelte', '^3.0.0');
2527
sv.devDependency('globals', '^16.0.0');
2628
sv.devDependency('eslint-plugin-svelte', '^2.46.1');
2729
sv.devDependency('@eslint/js', '^9.18.0');
@@ -58,6 +60,8 @@ export default defineAddon({
5860
AstKinds.ExpressionKind | AstTypes.SpreadElement | AstTypes.ObjectExpression
5961
> = [];
6062

63+
imports.addDefault(ast, './svelte.config.js', 'svelteConfig');
64+
6165
const gitIgnorePathStatement = common.statementFromString(
6266
'\nconst gitignorePath = fileURLToPath(new URL("./.gitignore", import.meta.url));'
6367
);
@@ -74,7 +78,7 @@ export default defineAddon({
7478
eslintConfigs.push(common.createSpreadElement(tsConfig));
7579
}
7680

77-
const svelteConfig = common.expressionFromString('svelte.configs["flat/recommended"]');
81+
const svelteConfig = common.expressionFromString('svelte.configs.recommended');
7882
eslintConfigs.push(common.createSpreadElement(svelteConfig));
7983

8084
const globalsBrowser = common.createSpreadElement(
@@ -92,10 +96,24 @@ export default defineAddon({
9296

9397
if (typescript) {
9498
const svelteTSParserConfig = object.create({
95-
files: common.expressionFromString('["**/*.svelte"]'),
99+
files: common.expressionFromString('["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"]'),
100+
ignores: common.expressionFromString('["eslint.config.js", "svelte.config.js"]'),
101+
languageOptions: object.create({
102+
parserOptions: object.create({
103+
projectService: common.expressionFromString('true'),
104+
extraFileExtensions: common.expressionFromString("['.svelte']"),
105+
parser: common.expressionFromString('ts.parser'),
106+
svelteConfig: common.expressionFromString('svelteConfig')
107+
})
108+
})
109+
});
110+
eslintConfigs.push(svelteTSParserConfig);
111+
} else {
112+
const svelteTSParserConfig = object.create({
113+
files: common.expressionFromString('["**/*.svelte", "**/*.svelte.js"]'),
96114
languageOptions: object.create({
97115
parserOptions: object.create({
98-
parser: common.expressionFromString('ts.parser')
116+
svelteConfig: common.expressionFromString('svelteConfig')
99117
})
100118
})
101119
});

0 commit comments

Comments
 (0)