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