Estoy usando TypeScript con React, y TypeScript todavía está revisando bibliotecas en la carpeta node_modules, aunque tengo "skipLibCheck" establecido en verdadero en tsconfig.json.
Aquí está mi tsconfig.json (agregué la sección de exclusión para solucionar problemas, que tampoco funcionó):
{ "compilerOptions": { "target": "es5", "forceConsistentCasingInFileNames": true, "module": "commonjs", "jsx": "react", "declaration": true, "sourceMap": true, "experimentalDecorators": true, "skipLibCheck": true, "typeRoots": [ "./node_modules/@types" ], "types": [ "es6-promise", "webpack-env" ], "lib": [ "es5", "dom", "es2015.collection" ] }, "exclude": [ "node_modules", "./node_modules", "./node_modules/*", "./node_modules/@types/node/index.d.ts", ] }La versión de React que estoy usando es 15.4.2, y TypeScript está instalado globalmente... Tenía la versión 3.7.2 y la actualicé a 3.7.3 porque leí en alguna parte que skipLibCheck no funciona con 3.7.2...
El error que recibo cuando intento construir el proyecto con trago es:
Error - typescript - node_modules\gsap\types\gsap-utils.d.ts(97,75): error TS1144: '{' or ';' expectedSi configuro skipLibCheck en falso y construyo el proyecto, tendré MUCHOS errores más. Entonces parece que skipLibcheck funciona parcialmente.
Alguna idea de como resolver esto? Todavía soy nuevo en TypeScript. Cualquier ayuda sería apreciada.
skipLibCheck no está destinado a evitar la comprobación de todos los tipos en node_modules. Aunque puede funcionar para algunos proyectos, es solo una coincidencia. Se podría decir que funciona parcialmente, cierto. Esto es lo que hace :
Omitir verificación de librería - skipLibCheck
Omita la verificación de tipos de archivos de declaración.
Esto puede ahorrar tiempo durante la compilación a expensas de la precisión del sistema de tipos. Por ejemplo, dos bibliotecas podrían definir dos copias del mismo tipo de manera inconsistente. En lugar de realizar una verificación completa de todos los archivos d.ts, TypeScript verificará el código al que se refiere específicamente en el código fuente de su aplicación .
Un caso común en el que podría pensar en usar skipLibCheck es cuando hay dos copias de los tipos de una biblioteca en sus node_modules. En estos casos, debe considerar usar una función como las resoluciones de yarn para asegurarse de que solo haya una copia de esa dependencia en su árbol o investigar cómo asegurarse de que solo haya una copia al comprender la resolución de la dependencia para solucionar el problema sin herramientas adicionales.
skipLibCheck se introdujo en Typescipt 2.0, por lo que actualizar Typescript no es realmente una solución. Una vez más, puede funcionar para algunas personas. Ahora tuve un caso cuando tuve que agregar una biblioteca usando Typescript 4 a un proyecto usando Typescript 3. Estaba lloviendo errores en la compilación. Tener la misma versión de mecanografiado ayudó. La versión de mecanografiado sería específica para su proyecto aquí.
La única solución rápida que conozco es usar require en lugar de import (mi proyecto era backend):
import * as lib from 'lib'; const lib = require('lib');