Today suddenly I started to get build errors on a project built with Typescript. In a file that (or anything it references) hasn't been changed in weeks, I started to get:
./path/to/my/file.ts
Line 0: Parsing error: Cannot read property 'name' of undefined
This error first appeared on our CI, could be replicated by manually building on the server, and I could finally reproduce on my own computer (which was running perfectly) after updating all packages. Now, even if I pull the old (building) commit of my project, I can't build it. I've got yarn.lock commited to my repo, but even with the old package.json and yarn.lock (I delete node_modules and do yarn), I can't build.
This error literally started out of blue today.
What could be the reason?
My (possibly relevant) versions:
yarn 1.22.4,
node v13.11.0,
typescript 3.7.5
react 16.12
react-scripts 3.4.0
macOS 10.15 Catalina
Updating react-scripts worked for me. react-scripts 3.4.0 probably does not support typescript 3.7.5
In my case, this was because I had TS code under .\src which was referencing TS code under .\tools but I only had src in the include in my tsconfig.json, adding tools fixed the issue
This error occurs because your typescript is not compatible with your typescript-eslint plugins.
You can fix it by upgrading these two dependencies to the latest version.
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^4.6.0",
"@typescript-eslint/parser": "^4.6.0",
}
In my case, I just had to add an extra newline at the end of the ts file.
export * from './result';
export * from './request';
//new line here
In my case, the culprit was asset imports of non-existing files, e.g.:
import { ReactComponent as SomeIcon } from '../assets/img/some-icon.svg';
The answers above helped me find the culprit. I ran rm -rf node_modules package-lock.json && npm i && npm start, which caused the real errors to be shown (instead of the unhelpful cryptic "Line 0: Parsing error: Cannot read property 'name' of undefined")
Once I added the missing files, the errors went away.
The problem apparently was caused by a misconfiguration of some (peer?) dependencies of a dependency, react-scripts with the TypeScript template. It went away. Make sure you update your dependencies, purge node_modules, even purge package-lock.json or yarn.lock, and try a fresh build again now.
I case of an app generated by
npx create-react-app my-app --template typescript
More precisely, create-react-app@3.4.1
The issue was solved by running the following command:
rm yarn-lock && rm -rf node_modules && npm i
After which you may run:
either yarn start or npm start