Skip to content

Latest commit

 

History

History
48 lines (31 loc) · 2.07 KB

no-extraneous-import.md

File metadata and controls

48 lines (31 loc) · 2.07 KB

Disallow import declarations which import extraneous modules (n/no-extraneous-import)

💼 This rule is enabled in the following configs: 🟢 recommended-module, ✅ recommended-script.

If an import declaration's source is extraneous (it's not listed in your package.json), the program may work locally but can break after dependencies are re-installed. This can cause issues for your team/contributors. If a declaration source is extraneous yet consistently works for you and your team, it might be a transitive dependency (a dependency of another dependency). Transitive dependencies should still be added as an explicit dependency in your package.json to avoid the risk of a dependency potentially changing or removing the transitive dependency.

Additionally, the transitive dependency could be a dev dependency, meaning your code could work in development but not in production.

This rule disallows import declarations of extraneous modules.

📖 Rule Details

This rule warns import declarations of extraneous modules.

Options

{
    "rules": {
        "n/no-extraneous-import": ["error", {
            "allowModules": [],
            "resolvePaths": []
        }]
    }
}

allowModules

This can be configured in the rule options or as a shared setting settings.allowModules. Please see the shared settings documentation for more information.

resolvePaths

This can be configured in the rule options or as a shared setting settings.resolvePaths. Please see the shared settings documentation for more information.

convertPath

This can be configured in the rule options or as a shared setting settings.convertPath. Please see the shared settings documentation for more information.

🔎 Implementation