src: add --no-global-search-paths cli option

PR-URL: https://github.com/nodejs/node/pull/39754
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
This commit is contained in:
Cheng Zhao
2021-08-16 09:58:58 +09:00
committed by Michaël Zasso
parent e4852e3ff5
commit d9791d91ac
5 changed files with 20 additions and 1 deletions

View File

@@ -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`

View File

@@ -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).
.

View File

@@ -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 {

View File

@@ -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,

View File

@@ -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;