n/no-extraneous-require

April 30, 2026 ยท View on GitHub

๐Ÿ“ Disallow require() expressions which import extraneous modules.

๐Ÿ’ผ This rule is enabled in the following configs: ๐ŸŸข recommended-module, โœ… recommended-script.

If a require()'s target 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 require() of extraneous modules.

๐Ÿ“– Rule Details

This rule warns require() of extraneous modules.

Options

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

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.

resolverConfig

This can be configured in the rule options or as a shared setting settings.resolverConfig. 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.

tryExtensions

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

๐Ÿ”Ž Implementation