Search code examples
typescriptimportmoduletype-definition

TypeScript: Specify a directory to look for module type definitions


Heyho,

I want to use some javascript libraries in my typescript code for which there are no typings in npm. So I wrote the typings myself and put them in a definitions directory in my source tree. However, I could not get typescript to look in that directory for those modules.

My directory structure looks like this:

+-node_modules
| |
| +-moduleA
| |
| +-moduleB
|
+-src
| |
| +-definitions
| | |
| | +-moduleA.d.ts
| | |
| | +-moduleB.d.ts
| |
| +-ts
|   |
|   + ... all typescript code ...
|
+-tsconfig.json

I tried including the modules in the definitions-directory using

  • include
  • files
  • typeRoots
  • paths

However none of it worked.

Can somebody tell me, how to get typescript to include those typings?

PS: Why is the TypeScript module handling so complicated???


Solution

  • {
      "compilerOptions": {
        "typeRoots": [
          "./node_modules/@types",
          "./some-custom-lib"
        ]
      }
    }
    

    the typeRoots string array is just for that. In addition to your regular "node_modules/@type", add a custom made typings folder.