diff --git a/.changeset/soft-suns-brush.md b/.changeset/soft-suns-brush.md new file mode 100644 index 000000000..d727360f4 --- /dev/null +++ b/.changeset/soft-suns-brush.md @@ -0,0 +1,5 @@ +--- +"eslint-plugin-svelte": patch +--- + +fix: flat config would cause an error with non-svelte files diff --git a/package.json b/package.json index 9321ad5d2..d0dd2e881 100644 --- a/package.json +++ b/package.json @@ -115,8 +115,8 @@ "@types/prismjs": "^1.26.3", "@types/semver": "^7.5.8", "@types/stylus": "^0.48.42", - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", + "@typescript-eslint/eslint-plugin": "^7.3.0", + "@typescript-eslint/parser": "^7.3.0", "@typescript/vfs": "^1.5.0", "acorn": "^8.11.3", "assert": "^2.1.0", diff --git a/src/configs/flat/base.ts b/src/configs/flat/base.ts index 54d4b2638..ee1779aed 100644 --- a/src/configs/flat/base.ts +++ b/src/configs/flat/base.ts @@ -4,13 +4,15 @@ import type { ESLint } from 'eslint'; export default [ { - files: ['*.svelte', '**/*.svelte'], plugins: { get svelte(): ESLint.Plugin { // eslint-disable-next-line @typescript-eslint/no-require-imports -- ignore return require('../../index'); } - }, + } + }, + { + files: ['*.svelte', '**/*.svelte'], languageOptions: { // eslint-disable-next-line @typescript-eslint/no-require-imports -- ignore parser: require('svelte-eslint-parser') diff --git a/src/meta.ts b/src/meta.ts index 3f1ca7fa0..0319702ae 100644 --- a/src/meta.ts +++ b/src/meta.ts @@ -1,5 +1,5 @@ // IMPORTANT! // This file has been automatically generated, // in order to update its content execute "pnpm run update" -export const name = 'eslint-plugin-svelte' as const; -export const version = '2.36.0-next.11' as const; +export const name = 'eslint-plugin-svelte'; +export const version = '2.36.0-next.11'; diff --git a/tests/src/configs/recommended.ts b/tests/src/configs/recommended.ts index 4610390b8..73403a788 100644 --- a/tests/src/configs/recommended.ts +++ b/tests/src/configs/recommended.ts @@ -54,5 +54,17 @@ describe('`all` config', () => { } ] ); + + const resultWithJs = await linter.lintText(';', { filePath: 'test.js' }); + const messagesWithJs = resultWithJs[0].messages; + + assert.deepStrictEqual( + messagesWithJs.map((m) => ({ + ruleId: m.ruleId, + line: m.line, + message: m.message + })), + [] + ); }); }); diff --git a/tools/update-rulesets.ts b/tools/update-rulesets.ts index 41c6537a8..6cc9e2d85 100644 --- a/tools/update-rulesets.ts +++ b/tools/update-rulesets.ts @@ -110,13 +110,15 @@ const baseContent = `/* import type { ESLint } from 'eslint'; export default [ { - files: ["*.svelte", "**/*.svelte"], plugins: { get svelte(): ESLint.Plugin { // eslint-disable-next-line @typescript-eslint/no-require-imports -- ignore return require("../../index") } }, + }, + { + files: ["*.svelte", "**/*.svelte"], languageOptions: { // eslint-disable-next-line @typescript-eslint/no-require-imports -- ignore parser: require('svelte-eslint-parser'),