node.jstypescriptnpmnode-modules

`Cannot find module` for my own TypeScript module


I have just published a new TypeScript-based module to the NPM registry. However, when I try to install it and import it in another TypeScript project, VSCode gives me the following error on the import statement: Cannot find module 'mymodulesname'.ts(2307).

This module's source files are compiled to JavaScript to a dist/ folder and definitions (.d.ts) are also generated.

Here's the tree of the published module (the one we download when we npm install):

.
├── dist
│   ├── index.d.ts
│   └── index.js
├── LICENSE
├── package.json
└── README.md

The package.json does contain the following entries:

{
    "main": "dist/index.js",
    "types": "dist/index.d.ts",
    ...
}

Because the module works normally on Runkit (pure JS), I assume the only problem I have is related to TypeScript, and it's not the first time TypeScript tells me a module doesn't exist when missing declaration files are the only problem.

Am I missing a step in the compilation process ? Are my package.json properties wrong ?


Solution

  • Actually, the problem didn't come from my module (ooafs). It was a problem with the tsconfig.json of the project I was using the module in: The module property must be set to commonjs apparently.

    Very late edit: Also, I highly recommend setting esModuleInterop to true which allows you to import non-es6 modules in a more natural manner.