import eslint from "@eslint/js"; import react from "eslint-plugin-react"; import globals from "globals"; import tseslint, { type ConfigArray } from "typescript-eslint"; export default tseslint.config( { ignores: [ "dist/*", // Temporary compiled files "**/*.ts.build-*.mjs", // JS files at the root of the project "*.js", "*.cjs", "*.mjs", ], }, eslint.configs.recommended, ...tseslint.configs.recommended, { languageOptions: { parserOptions: { warnOnUnsupportedTypeScriptVersion: false, sourceType: "module", ecmaVersion: "latest", }, }, }, { rules: { "@typescript-eslint/no-unused-vars": [ 1, { argsIgnorePattern: "^_", }, ], "@typescript-eslint/no-namespace": 0, }, }, { files: ["**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}"], ...react.configs.flat.recommended, languageOptions: { ...react.configs.flat.recommended.languageOptions, globals: { ...globals.serviceworker, ...globals.browser, }, }, settings: { react: { version: "detect", }, }, } as ConfigArray[number], react.configs.flat["jsx-runtime"] as ConfigArray[number], { rules: { "react/no-unknown-property": [ "error", { ignore: ["css"], }, ], }, }, );