Hoy, de repente, comencé a tener errores de compilación en un proyecto creado con Typescript. En un archivo que (o cualquier cosa a la que haga referencia) no se ha cambiado en semanas, comencé a obtener:
./path/to/my/file.ts Line 0: Parsing error: Cannot read property 'name' of undefined Este error apareció por primera vez en nuestro CI, podría replicarse al compilarlo manualmente en el servidor y finalmente pude reproducirlo en mi propia computadora (que funcionaba perfectamente) después de actualizar todos los paquetes. Ahora, incluso si extraigo la confirmación anterior (construcción) de mi proyecto, no puedo compilarlo. Tengo yarn.lock comprometido con mi repositorio, pero incluso con el antiguo package.json y yarn.lock (elimino node_modules y hago yarn ), no puedo compilar.
Este error comenzó literalmente de la nada hoy.
¿Cuál podría ser la razón?
Mis (posiblemente relevantes) versiones:
yarn 1.22.4, node v13.11.0, typescript 3.7.5 react 16.12 react-scripts 3.4.0 macOS 10.15 CatalinaLa actualización de los scripts de reacción funcionó para mí. react-scripts 3.4.0 probablemente no sea compatible con typescript 3.7.5
En mi caso, esto se debió a que tenía el código TS en .\src que hacía referencia al código TS en .\tools pero solo tenía src en el include en mi tsconfig.json , al agregar tools se solucionó el problema
Este error ocurre porque su mecanografiado no es compatible con sus complementos de mecanografiado-eslint.
Puede solucionarlo actualizando estas dos dependencias a la última versión.
"devDependencies": { "@typescript-eslint/eslint-plugin": "^4.6.0", "@typescript-eslint/parser": "^4.6.0", }En mi caso, solo tuve que agregar una nueva línea adicional al final del archivo ts.
export * from './result'; export * from './request'; //new line hereEn mi caso, el culpable fue la importación de activos de archivos no existentes , por ejemplo:
import { ReactComponent as SomeIcon } from '../assets/img/some-icon.svg'; Las respuestas anteriores me ayudaron a encontrar al culpable. Ejecuté rm -rf node_modules package-lock.json && npm i && npm start , lo que provocó que se mostraran los errores reales (en lugar del críptico inútil "Línea 0: Error de análisis: no se puede leer la propiedad 'nombre' de indefinido" )
Una vez que agregué los archivos faltantes, los errores desaparecieron.
Aparentemente, el problema fue causado por una configuración incorrecta de algunas dependencias (¿pares?) De una dependencia, react-scripts con la plantilla de TypeScript. Se fue. Asegúrate de actualizar tus dependencias, purgar node_modules , incluso purgar package-lock.json o yarn.lock , e intenta una compilación nueva ahora.
I caso de una aplicación generada por
npx create-react-app my-app --template typescript
Más precisamente, create-react-app@3.4.1
El problema se resolvió ejecutando el siguiente comando:
rm yarn-lock && rm -rf node_modules && npm i
Después de lo cual puede ejecutar:
ya sea inicio de yarn start o npm start