import eslint from "@eslint/js"; import tsparser from "@typescript-eslint/parser"; import litconf from "eslint-plugin-lit"; import wcconf from "eslint-plugin-wc"; import globals from "globals"; import tseslint from "typescript-eslint"; export default [ // You would not believe how much this change has frustrated users: ["if an ignores key is used // without any other keys in the configuration object, then the patterns act as global // ignores"](https://eslint.org/docs/latest/use/configure/ignore) { ignores: [ "dist/", ".wireit/", // don't ever lint node_modules "node_modules/", ], }, eslint.configs.recommended, wcconf.configs["flat/recommended"], litconf.configs["flat/recommended"], ...tseslint.configs.recommended, { languageOptions: { parser: tsparser, parserOptions: { ecmaVersion: 12, sourceType: "module", }, }, files: ["src/**"], rules: { "no-unused-vars": "off", "no-console": ["error", { allow: ["debug", "warn", "error"] }], "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", varsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_", }, ], }, }, { languageOptions: { parser: tsparser, parserOptions: { ecmaVersion: 12, sourceType: "module", }, globals: { ...globals.nodeBuiltin, }, }, files: ["scripts/*.mjs", "*.ts", "*.mjs"], rules: { "no-unused-vars": "off", "no-console": "off", "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", varsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_", }, ], }, }, ];