// @ts-check import eslint from "@eslint/js"; import tseslint from "typescript-eslint"; import eslintConfigPrettier from "eslint-config-prettier/flat"; import { globalIgnores } from "eslint/config"; import svelte from "eslint-plugin-svelte"; import globals from "globals"; import svelteConfig from "./svelte.config.js"; export default tseslint.config( eslint.configs.recommended, tseslint.configs.recommended, tseslint.configs.stylistic, ...svelte.configs.recommended, eslintConfigPrettier, { rules: { "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", varsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_", }, ], }, }, [globalIgnores(["./android", "./dist"])], { languageOptions: { globals: { ...globals.browser, }, }, }, { files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"], languageOptions: { parserOptions: { projectService: true, extraFileExtensions: [".svelte"], // Add support for additional file extensions, such as .svelte parser: tseslint.parser, // We recommend importing and specifying svelte.config.js. // By doing so, some rules in eslint-plugin-svelte will automatically read the configuration and adjust their behavior accordingly. // While certain Svelte settings may be statically loaded from svelte.config.js even if you don’t specify it, // explicitly specifying it ensures better compatibility and functionality. svelteConfig, }, }, rules: { "no-undef": "off", }, }, );