eslint-config-react-app > @typescript-eslint/parser missing typescript?
Created by: peteyycz
Describe the bug
Running:
npx eslint .
Returns:
Failed to load parser '@typescript-eslint/parser' declared in 'package.json » eslint-config-react-app#overrides[0]': Cannot find module 'typescript'
Did you try recovering your dependencies?
Tried reinstalling everything, sadly it didn't work.
I've also tried installing typescript as described in the error but it was lacking a tsconfig.json and I also doubt I should have one if this is not a typescript project.
Environment
Environment Info:
current version of create-react-app: 3.4.0
running from /Users/peteyycz/.nvm/versions/node/v10.19.0/lib/node_modules/create-react-app
System:
OS: macOS 10.15.4
CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
Binaries:
Node: 10.19.0 - ~/.nvm/versions/node/v10.19.0/bin/node
Yarn: Not Found
npm: 6.14.2 - ~/.nvm/versions/node/v10.19.0/bin/npm
Browsers:
Chrome: 80.0.3987.149
Firefox: 74.0
Safari: 13.1
npmPackages:
react: ^16.13.1 => 16.13.1
react-dom: ^16.13.1 => 16.13.1
react-scripts: 3.4.1 => 3.4.1
npmGlobalPackages:
create-react-app: 3.4.0
Steps to reproduce
(Write your steps here:)
npx create-react-app myapp
cd myapp
npx eslint .
Expected behavior
It should have ran eslint.
Actual behavior
Failed to load parser '@typescript-eslint/parser' declared in 'package.json » eslint-config-react-app#overrides[0]': Cannot find module 'typescript'
Additional resources
Based on my investigation it might be related to how eslint is now resolving configuration:
https://eslint.org/docs/user-guide/migrating-to-6.0.0#package-loading-simplification Which I have found here: https://github.com/standard/semistandard/issues/249
EDIT: although now I think about it it's probably a different issue: their case the plugin was missing but in my case the plugin is found but the plugin is missing typescript as a peerdep.
and this optional: https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/package.json#L56 is not really optional
Might also be related https://github.com/eslint/eslint/issues/12376