|
import js from "@eslint/js"; |
|
import svelte from "eslint-plugin-svelte"; |
|
import globals from "globals"; |
|
import ts from "typescript-eslint"; |
|
import svelteConfig from "./svelte.config.js"; |
|
import enforceExt from "./eslint-rules/enforce-extensions.js"; |
|
import prettier from "eslint-plugin-prettier/recommended"; |
|
|
|
export default ts.config( |
|
js.configs.recommended, |
|
ts.configs.recommended, |
|
...svelte.configs.recommended, |
|
prettier, |
|
|
|
{ |
|
files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"], |
|
|
|
languageOptions: { |
|
parserOptions: { |
|
projectService: true, |
|
extraFileExtensions: [".svelte"], |
|
parser: ts.parser, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
svelteConfig, |
|
}, |
|
}, |
|
}, |
|
{ |
|
plugins: { |
|
local: { |
|
rules: { |
|
"enforce-ext": enforceExt, |
|
}, |
|
}, |
|
}, |
|
}, |
|
{ |
|
rules: { |
|
"require-yield": "off", |
|
"@typescript-eslint/no-explicit-any": "error", |
|
"@typescript-eslint/no-unused-expressions": "off", |
|
|
|
|
|
"@typescript-eslint/no-unused-vars": [ |
|
"error", |
|
{ |
|
argsIgnorePattern: "^_", |
|
}, |
|
], |
|
|
|
"object-shorthand": ["error", "always"], |
|
"svelte/no-at-html-tags": "off", |
|
"svelte/require-each-key": "off", |
|
"local/enforce-ext": [ |
|
"error", |
|
{ |
|
includePaths: ["$lib/"], |
|
aliases: { |
|
$lib: "src/lib", |
|
}, |
|
}, |
|
], |
|
}, |
|
}, |
|
{ |
|
ignores: [ |
|
"**/*.cjs", |
|
"**/.DS_Store", |
|
"**/node_modules", |
|
"build", |
|
".svelte-kit", |
|
"package", |
|
"**/.env", |
|
"**/.env.*", |
|
"!**/.env.example", |
|
"**/pnpm-lock.yaml", |
|
"**/package-lock.json", |
|
"**/yarn.lock", |
|
], |
|
}, |
|
{ |
|
languageOptions: { |
|
globals: { |
|
...globals.browser, |
|
...globals.node, |
|
}, |
|
}, |
|
} |
|
); |
|
|