Reputation: 46890
Here's the Github MCVE showing an issue. npm run compile
shows the error.
I'm trying to do this:
import {Todo} from '@test';
But it's not resolving.
src/index.ts:1:20 - error TS2307: Cannot find module '@test'.
I have paths
in tsconfig.json
.
"baseUrl": "./", /* Base directory to resolve non-absolute module names. */
"paths": {
"@fs/": ["src/"],
"@test/": ["test/"]
}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
Thoughts?
I opened a bug report for this here since per some of the comments it should have worked.
Typescript note that I updated the github repository removing the glob patterns and slashes in @test
.
Upvotes: 7
Views: 15479
Reputation: 2986
Don't adjust the VS Code Import Module Specifier settings (as per some answers floating around). And don't remove the glob patterns. In fact add some more in:
"baseUrl": "./",
"paths": {
"@fs/*": ["src/*"],
"@test/*": ["test/*"]
},
Notice that the glob is in the key AND the value. This is hilariously hard to spot sometimes.
Where the target is a file, the glob should be omitted from key and value.
Upvotes: 8
Reputation: 18473
Remove the glob patterns:
"paths": {
"@test": "./test"
}
Your solution is weirdly supposed to work, but the docs use no globs and there have been some reported intellisense bugs when using globs.
Upvotes: 2