Spaces:
Sleeping
Sleeping
File size: 1,949 Bytes
70e641d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | // Configuración plana (ESLint 9). Sólo usa los paquetes ya declarados en package.json:
// @typescript-eslint/parser y @typescript-eslint/eslint-plugin — sin añadir dependencias.
import tsPlugin from "@typescript-eslint/eslint-plugin";
import tsParser from "@typescript-eslint/parser";
export default [
{
ignores: ["dist/**", "node_modules/**", "../dist/**"],
},
{
files: ["src/**/*.ts", "tests/**/*.ts"],
languageOptions: {
parser: tsParser,
ecmaVersion: 2022,
sourceType: "module",
parserOptions: {
project: "./tsconfig.json",
tsconfigRootDir: import.meta.dirname,
},
},
plugins: {
"@typescript-eslint": tsPlugin,
},
rules: {
// El motor de patrones es código validado por veterinarios: lo que se persigue aquí son
// fallos silenciosos (variables muertas, promesas sin await, comparaciones laxas), no estilo.
"@typescript-eslint/no-unused-vars": [
"error",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
],
"@typescript-eslint/await-thenable": "error",
// En "error": todo el trabajo asíncrono pasa por `manejadorAsync`/`sinEsperar` (async.ts),
// que reportan el rechazo en el toast, o por un `void` explícito cuando la función ya
// absorbe su error a propósito. Un handler `async` suelto vuelve a tragar fallos en
// silencio, así que debe romper el lint.
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-misused-promises": "error",
"@typescript-eslint/no-explicit-any": "warn",
eqeqeq: ["error", "always", { null: "ignore" }],
"no-var": "error",
"prefer-const": "error",
// `console.log` filtró prompts con datos de paciente en el ia.js legacy; se avisa para que
// no vuelva a entrar. warn/error siguen permitidos.
"no-console": ["warn", { allow: ["warn", "error"] }],
},
},
];
|