diff --git a/.changeset/late-waves-wonder.md b/.changeset/late-waves-wonder.md new file mode 100644 index 000000000..82aa9d500 --- /dev/null +++ b/.changeset/late-waves-wonder.md @@ -0,0 +1,5 @@ +--- +'eslint-plugin-svelte': patch +--- + +fix(valid-compile): use compiler options if provided diff --git a/packages/eslint-plugin-svelte/src/shared/svelte-compile-warns/index.ts b/packages/eslint-plugin-svelte/src/shared/svelte-compile-warns/index.ts index c77e5ca62..032c627ae 100644 --- a/packages/eslint-plugin-svelte/src/shared/svelte-compile-warns/index.ts +++ b/packages/eslint-plugin-svelte/src/shared/svelte-compile-warns/index.ts @@ -407,6 +407,7 @@ function getWarningsFromCode( } { try { const result = compiler.compile(code, { + ...context.sourceCode.parserServices.svelteParseContext?.svelteConfig?.compilerOptions, generate: false, ...(isCustomElement(context.sourceCode.ast) ? { customElement: true } : {}) }); diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-config.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-config.json new file mode 100644 index 000000000..e41bbde2b --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-config.json @@ -0,0 +1,11 @@ +{ + "languageOptions": { + "parserOptions": { + "svelteConfig": { + "compilerOptions": { + "runes": true + } + } + } + } +} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-errors.yaml new file mode 100644 index 000000000..2cc22ad96 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-errors.yaml @@ -0,0 +1,8 @@ +- message: >- + `count` is updated, but is not declared with `$state(...)`. Changing its + value will not correctly trigger updates + + https://svelte.dev/e/non_reactive_update(non_reactive_update) + line: 2 + column: 6 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-input.svelte new file mode 100644 index 000000000..231a6fdc8 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-input.svelte @@ -0,0 +1,9 @@ + + +{count}
+ diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-requirements.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-requirements.json new file mode 100644 index 000000000..498661308 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/valid-compile/invalid/compiler-options-requirements.json @@ -0,0 +1,3 @@ +{ + "svelte": ">=5.0.0" +}