💼 This rule is enabled in the following configs: ☑️ flat/recommended
, 🟢 flat/recommended-module
, ✅ flat/recommended-script
, ☑️ recommended
, 🟢 recommended-module
, ✅ recommended-script
.
This is similar to no-unpublished-require, but this rule handles import
declarations.
If a source code file satisfies all of the following conditions, the file is *published*.
"files"
field ofpackage.json
includes the file or"files"
field ofpackage.json
does not exist..npmignore
does not include the file.
Then this rule warns import
declarations in *published* files if the import
declaration imports *unpublished* files or the packages of devDependencies
.
This intends to prevent "Module Not Found" error after
npm publish
.
💡 If you want to importdevDependencies
, please write.npmignore
or"files"
field ofpackage.json
.
{
"rules": {
"n/no-unpublished-import": ["error", {
"allowModules": [],
"convertPath": null
}]
}
}
This can be configured in the rule options or as a shared setting settings.allowModules
.
Please see the shared settings documentation for more information.
This can be configured in the rule options or as a shared setting settings.resolvePaths
.
Please see the shared settings documentation for more information.
This can be configured in the rule options or as a shared setting settings.convertPath
.
Please see the shared settings documentation for more information.
If using typescript, you may want to ignore type imports. This option allows you to do that.
{
"rules": {
"n/no-unpublished-import": ["error", {
"ignoreTypeImport": true
}]
}
}
In this way, the following code will not be reported:
import type foo from "foo";