-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtsconfig.json
More file actions
38 lines (33 loc) · 2.07 KB
/
Copy pathtsconfig.json
File metadata and controls
38 lines (33 loc) · 2.07 KB
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
{
"extends": [
"@tsconfig/recommended/tsconfig.json",
"@tsconfig/node-lts/tsconfig.json",
"@tsconfig/node-ts/tsconfig.json"
],
"compilerOptions": {
// Directorios de código fuente y salida de compilación
"rootDir": "./src",
"outDir": "./dist",
// Sobrescribe node-lts (es2024) para compilar siempre hacia las últimas características de JS
"target": "esnext",
"lib": ["esnext"],
// Limita la búsqueda de tipos de ambiente solo a Node.js
"types": ["node"],
// node-lts establece moduleResolution en "node16", lo cual entra en conflicto con module: "nodenext".
// Se sobrescribe para mantener consistencia: "nodenext" es la variante más estricta y orientada al futuro.
"moduleResolution": "nodenext",
// Seguridad de tipos adicional no cubierta por las configuraciones base:
"noUncheckedIndexedAccess": true, // Evita `undefined` silencioso al acceder a arrays/objetos por índice
"exactOptionalPropertyTypes": true, // Impide asignar `undefined` a propiedades opcionales salvo que el tipo lo incluya explícitamente
// Reglas de calidad de código no cubiertas por las configuraciones base:
"noImplicitReturns": true, // Obliga a que todos los caminos de ejecución de una función retornen un valor
"noImplicitOverride": true, // Requiere la palabra clave `override` al sobrescribir un miembro de la clase base
"noUnusedLocals": true, // Marca variables locales declaradas pero no utilizadas
"noUnusedParameters": true, // Marca parámetros declarados pero no utilizados
"noFallthroughCasesInSwitch": true, // Previene el fall-through accidental entre casos de un switch
"noPropertyAccessFromIndexSignature": true, // Requiere notación de corchetes para acceder a firmas de índice (hace explícito el acceso dinámico)
"noUncheckedSideEffectImports": true, // Marca imports de efecto secundario cuya resolución es ambigua o no verificada
"moduleDetection": "force" // Trata cada archivo como módulo aunque no tenga imports/exports (evita fugas al ámbito global)
},
"include": ["src/**/*"]
}