Search code examples
javascriptnode.jstypescripttsconfig

Typescript paths not resolving


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?

Github Typescript Issue

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.


Solution

  • 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.