Estoy usando tareas de compilación tsc. Desafortunadamente, siempre obtengo los mismos errores de la carpeta de módulos de nodo
Executing task: .\node_modules\.bin\tsc.cmd --watch -p .\tsconfig.json < node_modules/@types/node/index.d.ts(6208,55): error TS2304: Cannot find name 'Map'. node_modules/@types/node/index.d.ts(6215,55): error TS2304: Cannot find name 'Set'. node_modules/@types/node/index.d.ts(6219,64): error TS2304: Cannot find name 'Symbol'. node_modules/@types/node/index.d.ts(6225,59): error TS2304: Cannot find name 'WeakMap'. node_modules/@types/node/index.d.ts(6226,59): error TS2304: Cannot find name 'WeakSet'. 10:13:18 - Compilation complete. Watching for file changes. Ya agregué el directorio a ignorar en tsconfig.json
{ "compilerOptions": { "target": "es5", "module": "commonjs", "sourceMap": true, "strict": false, "noImplicitAny": false, "strictPropertyInitialization": false, "esModuleInterop": true, }, "include": [ "src/*" ], "exclude": [ "node_modules", "./node_modules", "./node_modules/*", "./node_modules/@types/node/index.d.ts", ] }¿Qué estoy haciendo mal? ¿Qué debo hacer para ignorar esos errores?
Estoy usando VsCode y tsc Versión 2.9.2
Agregue una opción vacía de "tipos" en "compilerOptions":
{ "compilerOptions": { "target": "es5", "module": "commonjs", "sourceMap": true, "strict": false, "noImplicitAny": false, "strictPropertyInitialization": false, "esModuleInterop": true, "types": [] }, "include": [ "src/*" ], "exclude": [ "node_modules", "./node_modules", "./node_modules/*", "./node_modules/@types/node/index.d.ts", ] }De https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
@types, typeRoots y tipos
De forma predeterminada, todos los paquetes "@types" visibles se incluyen en su compilación. Los paquetes en node_modules/@types de cualquier carpeta adjunta se consideran visibles; específicamente, eso significa paquetes dentro de ./node_modules/@types/, ../node_modules/@types/, ../../node_modules/@types/, y así sucesivamente.
...
Especifique "tipos": [] para deshabilitar la inclusión automática de paquetes @types.
Tenga en cuenta que la inclusión automática solo es importante si está utilizando archivos con declaraciones globales (a diferencia de los archivos declarados como módulos). Si usa una declaración "foo" de importación, por ejemplo, TypeScript aún puede buscar en las carpetas node_modules y node_modules/@types para encontrar el paquete foo
Quickfix es omitir el cheque
{ "compilerOptions": { "skipLibCheck": true }, }Encontré este problema con typescript@3.2.1 y lo solucioné actualizándolo a 3.7.3 .
Observe con typescritp@3.2.1 , skipLibCheck no tiene efecto. Al actualizar typescript skipLibCheck: true funciona.
Puedes hacer esto directamente en la línea de comando
tsc --skipLibCheckestablecer "skipLibCheck": true dentro tsconfig.json
no funcionó para mí, lo que sea que skipLibCheck fuera cierto.