const { defineConfig, globalIgnores, } = require("eslint/config"); const tsParser = require("@typescript-eslint/parser"); const typescriptEslint = require("@typescript-eslint/eslint-plugin"); const parser = require("svelte-eslint-parser"); const globals = require("globals"); const js = require("@eslint/js"); const { FlatCompat, } = require("@eslint/eslintrc"); const compat = new FlatCompat({ baseDirectory: __dirname, recommendedConfig: js.configs.recommended, allConfig: js.configs.all }); module.exports = defineConfig([{ languageOptions: { parser: tsParser, sourceType: "module", ecmaVersion: 2020, parserOptions: { extraFileExtensions: [".svelte"], }, globals: { ...globals.browser, ...globals.node, }, }, extends: compat.extends( "plugin:svelte/recommended", "plugin:@typescript-eslint/recommended", "prettier", ), plugins: { "@typescript-eslint": typescriptEslint, }, settings: { "svelte3/typescript": () => require("typescript"), }, }, globalIgnores(["**/*.cjs"]), { files: ["**/*.svelte"], languageOptions: { parser: parser, parserOptions: { parser: "@typescript-eslint/parser", }, }, }, globalIgnores([ "**/.DS_Store", "**/node_modules", "build", ".svelte-kit", "package", "**/.env", "**/.env.*", "!**/.env.example", "**/pnpm-lock.yaml", "**/package-lock.json", "**/yarn.lock", ])]);