Files
2026-06-18 01:43:50 +02:00

40 lines
1.3 KiB
JavaScript

import js from '@eslint/js';
import ts from 'typescript-eslint';
import svelte from 'eslint-plugin-svelte';
import globals from 'globals';
export default ts.config(
// Never lint generated / vendored output.
{
ignores: ['build/', '.svelte-kit/', 'node_modules/', 'dist/', 'static/']
},
js.configs.recommended,
...ts.configs.recommended,
...svelte.configs.recommended,
{
languageOptions: {
globals: { ...globals.browser, ...globals.node }
}
},
{
// Svelte files parse <script lang="ts"> blocks with the TS parser.
files: ['**/*.svelte', '**/*.svelte.ts'],
languageOptions: {
parserOptions: { parser: ts.parser }
}
},
{
rules: {
'@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
// This project links/navigates with plain hrefs and goto(path); we don't
// use the resolve() route helper. Off rather than churn every link.
'svelte/no-navigation-without-resolve': 'off',
// Nice-to-have, not worth failing the build over for static lists.
'svelte/require-each-key': 'warn',
// `svelte-ignore` comments target svelte-check (a11y), which eslint can't
// see — so it wrongly reports them as unused.
'svelte/no-unused-svelte-ignore': 'off'
}
}
);