40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
import js from "@eslint/js";
|
|
|
|
export default [
|
|
{
|
|
ignores: ["build/**", "dist/**", "node_modules/**", ".playwright-mcp/**", "SOURCE_MANIFEST.txt"],
|
|
},
|
|
{
|
|
files: ["**/*.{js,cjs,mjs}"],
|
|
languageOptions: {
|
|
ecmaVersion: "latest",
|
|
sourceType: "module",
|
|
globals: {
|
|
Buffer: "readonly", clearInterval: "readonly", clearTimeout: "readonly", console: "readonly",
|
|
document: "readonly", fetch: "readonly", FormData: "readonly", globalThis: "readonly",
|
|
process: "readonly", queueMicrotask: "readonly", requestAnimationFrame: "readonly",
|
|
setInterval: "readonly", setTimeout: "readonly", URL: "readonly", URLSearchParams: "readonly",
|
|
window: "readonly", confirm: "readonly", localStorage: "readonly", structuredClone: "readonly",
|
|
},
|
|
},
|
|
rules: {
|
|
...js.configs.recommended.rules,
|
|
"no-control-regex": "off",
|
|
"no-empty": ["error", { allowEmptyCatch: true }],
|
|
"no-undef": "off",
|
|
"no-unused-vars": "off",
|
|
"no-useless-escape": "off",
|
|
"no-eval": "error",
|
|
"no-implied-eval": "error",
|
|
eqeqeq: ["error", "always", { null: "ignore" }],
|
|
},
|
|
},
|
|
{
|
|
files: ["tests/**/*.mjs"],
|
|
rules: {
|
|
"no-regex-spaces": "off",
|
|
"no-unsafe-finally": "off",
|
|
},
|
|
},
|
|
];
|