eslint.config.js
Rama master · réplica de lectura del repositorio original.
/**
* ESLint configuration for unified-ai-system
*
* Flat config format (ESLint 9+)
*/
export default [
{
ignores: [
"node_modules/**",
"dist/**",
"legacy/**",
"**/*.test.js",
],
},
{
files: ["**/*.js", "**/*.mjs"],
languageOptions: {
ecmaVersion: 2022,
sourceType: "module",
globals: {
// Node.js globals
console: "readonly",
process: "readonly",
Buffer: "readonly",
setTimeout: "readonly",
clearTimeout: "readonly",
setInterval: "readonly",
clearInterval: "readonly",
setImmediate: "readonly",
queueMicrotask: "readonly",
performance: "readonly",
fetch: "readonly",
URL: "readonly",
URLSearchParams: "readonly",
AbortController: "readonly",
AbortSignal: "readonly",
TextEncoder: "readonly",
TextDecoder: "readonly",
// Browser globals (for frontend code)
document: "readonly",
window: "readonly",
localStorage: "readonly",
sessionStorage: "readonly",
navigator: "readonly",
location: "readonly",
history: "readonly",
alert: "readonly",
confirm: "readonly",
prompt: "readonly",
requestAnimationFrame: "readonly",
cancelAnimationFrame: "readonly",
IntersectionObserver: "readonly",
MutationObserver: "readonly",
ResizeObserver: "readonly",
WebSocket: "readonly",
Image: "readonly",
},
},
rules: {
// Error prevention
"no-unused-vars": ["warn", { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }],
"no-undef": "error",
"no-constant-condition": "warn",
"no-empty": ["warn", { allowEmptyCatch: true }],
"no-debugger": "warn",
// Best practices
"eqeqeq": ["error", "always"],
"no-eval": "error",
"no-implied-eval": "error",
"no-new-func": "error",
"no-return-await": "warn",
"no-throw-literal": "error",
"no-useless-concat": "warn",
"no-useless-return": "warn",
"prefer-const": "warn",
"prefer-template": "warn",
// Style (minimal, let formatter handle)
"no-trailing-spaces": "warn",
"no-multiple-empty-lines": ["warn", { max: 2 }],
},
},
];