diff options
-rw-r--r-- | doc/api/cli.md | 9 | ||||
-rw-r--r-- | doc/node.1 | 3 | ||||
-rw-r--r-- | src/env-inl.h | 3 | ||||
-rw-r--r-- | src/node_options.cc | 5 | ||||
-rw-r--r-- | src/node_options.h | 1 |
5 files changed, 20 insertions, 1 deletions
diff --git a/doc/api/cli.md b/doc/api/cli.md index 3ab4750d8d6..dc0f813a846 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -629,6 +629,14 @@ added: v9.0.0 Disables runtime checks for `async_hooks`. These will still be enabled dynamically when `async_hooks` is enabled. +### `--no-global-search-paths` +<!-- YAML +added: REPLACEME +--> + +Do not search modules from global paths like `$HOME/.node_modules` and +`$NODE_PATH`. + ### `--no-warnings` <!-- YAML added: v6.0.0 @@ -1442,6 +1450,7 @@ Node.js options that are allowed are: * `--no-experimental-repl-await` * `--no-extra-info-on-fatal-exception` * `--no-force-async-hooks-checks` +* `--no-global-search-paths` * `--no-warnings` * `--node-memory-debug` * `--openssl-config` diff --git a/doc/node.1 b/doc/node.1 index a03d322f98e..fa56276b3ca 100644 --- a/doc/node.1 +++ b/doc/node.1 @@ -285,6 +285,9 @@ Disable the `node-addons` exports condition as well as disable loading native addons. When `--no-addons` is specified, calling `process.dlopen` or requiring a native C++ addon will fail and throw an exception. . +.It Fl -no-global-search-paths +Do not search modules from global paths. +. .It Fl -no-warnings Silence all process warnings (including deprecations). . diff --git a/src/env-inl.h b/src/env-inl.h index 7c3838dd71a..2b000ed9ace 100644 --- a/src/env-inl.h +++ b/src/env-inl.h @@ -887,7 +887,8 @@ inline bool Environment::hide_console_windows() const { } inline bool Environment::no_global_search_paths() const { - return flags_ & EnvironmentFlags::kNoGlobalSearchPaths; + return (flags_ & EnvironmentFlags::kNoGlobalSearchPaths) || + !options_->global_search_paths; } bool Environment::filehandle_close_warning() const { diff --git a/src/node_options.cc b/src/node_options.cc index a12a4b90d7f..c778de58dc8 100644 --- a/src/node_options.cc +++ b/src/node_options.cc @@ -407,6 +407,11 @@ EnvironmentOptionsParser::EnvironmentOptionsParser() { &EnvironmentOptions::allow_native_addons, kAllowedInEnvironment, true); + AddOption("--global-search-paths", + "disable global module search paths", + &EnvironmentOptions::global_search_paths, + kAllowedInEnvironment, + true); AddOption("--warnings", "silence all process warnings", &EnvironmentOptions::warnings, diff --git a/src/node_options.h b/src/node_options.h index 1ef3c5216e0..02511d52080 100644 --- a/src/node_options.h +++ b/src/node_options.h @@ -122,6 +122,7 @@ class EnvironmentOptions : public Options { bool deprecation = true; bool force_async_hooks_checks = true; bool allow_native_addons = true; + bool global_search_paths = true; bool warnings = true; bool force_context_aware = false; bool pending_deprecation = false; |