cannot import modules in src aliased in tsconfig paths compilerOptions
See original GitHub issueDescribe the bug
Cannot import files aliased in the tsconfig paths. imports sometimes work for some files but often don’t. I can’t say i know why, but when the break the errors are cascading causing imports with aliased paths to break too and forcing the whole project to revert back to relative path imports
(Write your answer here.)
Did you try recovering your dependencies?
Yes
Which terms did you search for in User Guide?
https://create-react-app.dev/docs/adding-typescript/#troubleshooting
Environment
Environment Info:
current version of create-react-app: 5.0.0 running from /home/craft/.config/yarn/global/node_modules/create-react-app
System: OS: Linux 5.14 Arch Linux CPU: (8) x64 Intel® Xeon® CPU W3530 @ 2.80GHz Binaries: Node: 17.3.0 - /tmp/yarn–1640220951632-0.6230549606809872/node Yarn: 1.22.17 - /tmp/yarn–1640220951632-0.6230549606809872/yarn npm: 8.3.0 - /usr/bin/npm Browsers: Chrome: Not Found Firefox: 95.0.2 npmPackages: react: ^17.0.2 => 17.0.2 react-dom: ^17.0.2 => 17.0.2 react-scripts: 5.0.0 => 5.0.0 npmGlobalPackages: create-react-app: Not Found
Steps to reproduce
- yarn create react-app sample --template typescript
- cd sample
- add
"baseUrl" : "."
and"paths" : { "@app/*": ["src/*"] }
options to thecompilerOptions
in tsconfig.json - cd src
- mkdir sub
- cd sub
- touch index.ts
- create a valid default export of any variable, constant, class, or function in the index.ts file just created
- cd …
- add the line
import sub from '@app/sub';
to your App.tsx imports in the src/ directory - and try running yarn start from application root
Expected behavior
No errors
Actual behavior
Compiled with problems:
ERROR in ./src/App.tsx 6:0-27
Module not found: Error: Can't resolve '@app/sub' in '/home/craft/Projects/node/cra/src'
Reproducible demo
could not recreate the problem in https://codesandbox.io/s/trusting-morse-bs8tc?file=/src/App.tsx because it seams to work just fine there.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:4
- Comments:8
Top GitHub Comments
Looking a few lines up, you see the actual aliases that CRA generates.
https://github.com/facebook/create-react-app/blob/bb64e31a81eb12d688c14713dce812143688750a/packages/react-scripts/config/modules.js#L65-L79
The only alias is
src
=>paths.appSrc
which is reasonable so you can always doimport Foo from 'src/components/Foo
without relative paths.I have added this type of path in tsconfig file
"paths": {"@app/*": ["src/*"]}
and use this relative path to my routes file
import Register from "@app/pages/register";
it’s causing this type of error