Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/api/cli.md9
-rw-r--r--doc/node.13
-rw-r--r--src/env-inl.h3
-rw-r--r--src/node_options.cc5
-rw-r--r--src/node_options.h1
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;