NODE24(1)

πŸ“¦ version 24.18.1, in opensuse-leap 16.0

πŸ’– NODE24(1) πŸ’–

okay so this is the manual page for node24 β€” the server-side JavaScript runtime β€” and bestie, we're gonna get through it together. She's long. She's iconic. Grab a lil snack. πŸ“


✨ SYNOPSIS ✨

here's how you actually call her, no cap:

node24 [options] [v8-options] [-e string | script.js | -] [--]
       [arguments ...]
node24 inspect [-e string | script.js | - | <host>:<port>] ...
node24 [--v8-options]

🌸 DESCRIPTION 🌸

so Node.js is literally a set of libraries for JavaScript that lets you use JS outside of the browser. that's the whole vibe. it's mainly focused on making simple, easy-to-build network clients and servers β€” like, that's her main character energy. πŸ‘‘

and if you just run node24 with zero arguments? she drops you straight into a REPL. no script, no problem. πŸ’…


πŸ’… OPTIONS πŸ’…

buckle up, this is the long part, but every single one matters. fr fr.

  • - β€” alias for stdin, same energy as using - in other command-line utilities. the script being executed gets read from stdin, and whatever arguments are left over get passed to the script. 🫢
  • -- β€” this one says "okay, command-line options are DONE." everything after it gets passed to the script.

and lowkey important: if no script filename or eval/print script came before this, then the next argument gets used as the script filename. ikyk. ⭐

  • --abort-on-uncaught-exception β€” aborting instead of exiting means a core file gets generated for analysis. so like, she leaves receipts. 😭
  • --allow-fs-read β€” allow file system read access when you're using the permission model.
  • --allow-fs-write β€” allow file system write access when you're using the permission model.
  • --allow-addons β€” allow using native addons when you're using the permission model.
  • --allow-child-process β€” allow spawning process when you're using the permission model.
  • --allow-inspector β€” allow inspector access when you're using the permission model.
  • --allow-wasi β€” allow execution of WASI when you're using the permission model.
  • --allow-worker β€” allow creating worker threads when you're using the permission model.
  • --completion-bash β€” prints a source-able bash completion script for Node.js. tab-tab-tab slay. ✨
  • -C, --conditions string β€” use custom conditional exports conditions. the value is a string.
  • --cpu-prof β€” starts the V8 CPU profiler on start up, and writes the CPU profile to disk before exit. if --cpu-prof-dir isn't specified, the profile gets written to the current working directory with a generated file name. πŸ”₯
  • --cpu-prof-dir β€” the directory where the CPU profiles generated by --cpu-prof land. the default value is controlled by the --diagnostic-dir command-line option.
  • --cpu-prof-interval β€” the sampling interval in microseconds for the CPU profiles generated by --cpu-prof. the default is 1000.
  • --cpu-prof-name β€” file name of the V8 CPU profile generated with --cpu-prof.
  • --diagnostic-dir β€” sets the directory for all diagnostic output files. default is the current working directory. (yes it says it twice in the original, she's just being thorough πŸ’€) so: set the directory to which all diagnostic output files will be written, defaults to current working directory. this affects the default output directory of: --cpu-prof-dir, --heap-prof-dir, --redirect-warnings.
  • --disable-proto=mode β€” disables the Object.prototype.__proto__ property. if mode is delete, the property is removed entirely. if mode is throw, accessing the property throws an exception with the code ERR_PROTO_ACCESS. pick your fighter. πŸ™ˆ
  • --disable-wasm-trap-handler=mode β€” disables trap-handler-based WebAssembly bound checks and falls back to inline bound checks, so that WebAssembly can run with limited virtual memory.
  • --disallow-code-generation-from-strings β€” makes built-in language features like eval and new Function that generate code from strings throw an exception instead. this does not affect the Node.js vm module. important distinction, bestie.
  • --enable-fips β€” enables FIPS-compliant crypto at startup. requires Node.js to be built with ./configure --openssl-fips. πŸ”
  • --enable-source-maps β€” enables Source Map V3 support for stack traces.
  • --entry-url β€” interpret the entry point as a URL.
  • --experimental-addon-modules β€” enables experimental addon module support.
  • --experimental-config-file β€” specifies the configuration file to load.
  • --experimental-default-config-file β€” enable support for automatically loading node.config.json.
  • --experimental-import-meta-resolve β€” enables experimental ES modules support for import.meta.resolve().
  • --experimental-loader=module β€” specifies the module to use as a custom module loader.
  • --permission β€” enables the permission model. πŸŽ€
  • --experimental-shadow-realm β€” use this flag to enable ShadowRealm support.
  • --experimental-test-coverage β€” enables code coverage in the test runner.
  • --experimental-test-module-mocks β€” enables module mocking in the test runner.
  • --experimental-transform-types β€” enables transformation of TypeScript-only syntax into JavaScript code.
  • --experimental-eventsource β€” enables experimental support for the EventSource Web API.
  • --no-experimental-websocket β€” disables experimental support for the WebSocket API.
  • --experimental-webstorage β€” enables experimental support for the Web Storage API.
  • --no-experimental-repl-await β€” disables top-level await keyword support in the REPL. 😭
  • --no-experimental-sqlite β€” disables the experimental node:sqlite module.
  • --no-require-module β€” disables support for loading ECMAScript modules with require().
  • --no-strip-types β€” disables type-stripping for TypeScript files.
  • --experimental-vm-modules β€” enables experimental ES module support in the VM module.
  • --experimental-wasi-unstable-preview1 β€” enables experimental WebAssembly System Interface support. heads up tho: this flag is no longer required, because WASI is enabled by default. πŸ¦‹
  • --experimental-quic β€” enables the experimental QUIC support.
  • --experimental-inspector-network-resource β€” enables experimental support for inspector network resources.
  • --experimental-storage-inspection β€” enables experimental support for storage inspection.
  • --force-context-aware β€” disables loading native addons that aren't context-aware.
  • --force-fips β€” forces FIPS-compliant crypto on startup (and it cannot be disabled from script code). same requirements as --enable-fips.
  • --frozen-intrinsics β€” enables experimental frozen intrinsics support.
  • --heapsnapshot-near-heap-limit=max_count β€” generates a heap snapshot when V8 heap usage is approaching the heap limit. no more than the specified number of snapshots will be generated.
  • --heapsnapshot-signal=signal β€” generates a heap snapshot on the specified signal.
  • --heap-prof β€” starts the V8 heap profiler on start up, and writes the heap profile to disk before exit. if --heap-prof-dir isn't specified, the profile gets written to the current working directory with a generated file name.
  • --heap-prof-dir β€” the directory where the heap profiles generated by --heap-prof land. the default value is controlled by the --diagnostic-dir command-line option.
  • --heap-prof-interval β€” the average sampling interval in bytes for the heap profiles generated by --heap-prof. the default is 512 * 1024.
  • --heap-prof-name β€” file name of the V8 heap profile generated with --heap-prof.
  • --icu-data-dir=file β€” specifies the ICU data load path. overrides NODE_ICU_DATA.
  • --input-type=type β€” sets the module resolution type for input coming in via --eval, --print or STDIN.
  • --inspect-brk=[host:]port β€” activates the inspector on host:port and breaks at the start of the user script. πŸ›
  • --inspect-port=[host:]port β€” sets the host:port to be used when the inspector is activated.
  • --inspect-publish-uid=stderr,http β€” specifies how the inspector WebSocket URL is exposed. valid values are stderr and http. default is stderr,http.
  • --inspect-wait=[host:]port β€” activates the inspector on host:port and waits for the debugger to be attached.
  • --inspect=[host:]port β€” activates the inspector on host:port. default is 127.0.0.1:9229.

so the V8 Inspector integration is what lets you attach Chrome DevTools and IDEs to Node.js instances for debugging and profiling. it uses the Chrome DevTools Protocol. obsessed. πŸ’œ

  • --insecure-http-parser β€” uses an insecure HTTP parser that accepts invalid HTTP headers. this may allow interoperability with non-conformant HTTP implementations. it may also allow request smuggling and other HTTP attacks that rely on invalid headers being accepted.
bestie. avoid using this option. genuinely. πŸ™
  • --jitless β€” disables runtime allocation of executable memory. this may be required on some platforms for security reasons. it can also reduce attack surface on other platforms, but the performance impact may be severe.

this flag is inherited from V8 and is subject to change upstream. it may disappear in a non-semver-major release. so like, don't build your whole life on it. πŸ’€

  • --localstorage-file=file β€” the file used to store localStorage data.
  • --max-http-header-size=size β€” specifies the maximum size of HTTP headers in bytes. defaults to 16 KiB.
  • --max-old-space-size-percentage=percentage β€” sets the maximum memory size of V8's old memory section as a percentage of available system memory. this flag takes precedence over --max-old-space-size when both are specified. the percentage parameter must be a number greater than 0 and up to 100, representing the percentage of available system memory to allocate to the V8 heap.

note: this flag utilizes --max-old-space-size, which may be unreliable on 32-bit platforms due to integer overflow issues. ⚠️

  • --napi-modules β€” this option is a no-op. it's just kept for compatibility. she's here but she's not doing anything. respect. πŸ’…
  • --no-deprecation β€” silence deprecation warnings.
  • --no-extra-info-on-fatal-exception β€” hide extra information on a fatal exception that causes exit.
  • --no-force-async-hooks-checks β€” disables runtime checks for async_hooks. these will still be enabled dynamically when async_hooks is enabled.
  • --no-addons β€” disables the node-addons exports condition as well as disabling loading native addons. when --no-addons is specified, calling process.dlopen or requiring a native C++ addon will fail and throw an exception. 🫠
  • --no-global-search-paths β€” do not search modules from global paths.
  • --no-warnings β€” silence all process warnings (including deprecations). πŸ”‡
  • --node-memory-debug β€” turns on extra debug checks for memory leaks happening inside Node.js internals 🫢 ngl this one's really only for the devs who are out here debugging Node.js itself, not for us regulars.
  • --openssl-config=file β€” loads an OpenSSL configuration file at startup ✨ among other glow-ups, this can enable FIPS-compliant crypto, but only if Node.js was built with ./configure --openssl-fips.
  • --pending-deprecation β€” emits pending deprecation warnings πŸ‘€ (the deprecations that are still loading their outfit, iykyk).
  • --preserve-symlinks β€” tells the module loader to preserve symbolic links when resolving and caching modules other than the main module πŸ”—
  • --preserve-symlinks-main β€” same energy, but for the main module: module loader preserves symbolic links when resolving and caching it πŸ’…
  • --prof β€” generates V8 profiler output πŸ”₯
  • --prof-process β€” processes that V8 profiler output you made with the V8 option --prof 🧚 (yes, it's a whole little pipeline).
  • --redirect-warnings=file β€” writes process warnings to the given file instead of printing them to stderr πŸŽ€
  • --report-compact β€” writes diagnostic reports in a compact format: single-line JSON πŸ“¦ iconic for when you don't want a whole novel in your logs.
  • --report-dir --report-directory β€” the location where the diagnostic report gets generated πŸ“ the file name may be an absolute path. If it is not, the default directory it'll be written to is controlled by the --diagnostic-dir. command-line option.
  • --report-filename β€” the name of the file the diagnostic report gets written to πŸ“
  • --report-on-fatalerror β€” enables the diagnostic report to be triggered on fatal errors (internal errors inside the Node.js runtime, like out of memory) that lead to the app terminating πŸ’€ genuinely useful for inspecting all the diagnostic data elements β€” heap, stack, event loop state, resource consumption, etc. β€” so you can reason about the fatal error.
  • --report-on-signal β€” enables a diagnostic report to be generated when the running Node.js process receives the specified (or predefined) signal 🚨 default signal is SIGUSR2.
  • --report-signal β€” sets or resets the signal used for diagnostic report generation πŸ¦‹ (not supported on Windows!) default signal is SIGUSR2.
  • --report-uncaught-exception β€” enables a diagnostic report to be generated on un-caught exceptions 😭 honestly so good for inspecting the JavaScript stack together with the native stack and other runtime environment data.
  • --secure-heap=n β€” sets the size of the OpenSSL secure heap πŸ” any value less than 2 disables the secure heap entirely. Default is 0. The value must be a power of two.
  • --secure-heap-min=n β€” sets the minimum allocation from the OpenSSL secure heap 🌸 default is 2, and again the value must be a power of two.
  • --test β€” starts the Node.js command line test runner πŸ§ͺ
  • --test-concurrency β€” the maximum number of test files the test runner CLI will execute concurrently ⚑
  • --test-coverage-branches=threshold β€” requires a minimum threshold for branch coverage (0 - 100) 🌿
  • --test-coverage-exclude β€” a glob pattern that excludes matching files from the coverage report πŸ™ˆ
  • --test-coverage-functions=threshold β€” requires a minimum threshold for function coverage (0 - 100) 🎯
  • --test-coverage-include β€” a glob pattern that only includes matching files in the coverage report πŸ‘‘
  • --test-coverage-lines=threshold β€” requires a minimum threshold for line coverage (0 - 100) πŸ“
  • --test-force-exit β€” configures the test runner to exit the process once all known tests have finished executing, even if the event loop would otherwise stay active πŸšͺ bestie is leaving the party whether the loop likes it or not.
  • --test-global-setup β€” specifies a module containing global setup and teardown functions for the test runner πŸŽ€
  • --test-isolation=mode β€” configures the type of test isolation used in the test runner 🧚
  • --test-name-pattern β€” a regular expression that configures the test runner to only execute tests whose name matches the pattern you gave it πŸ”
  • --test-random-seed β€” sets the seed used to randomize test execution order 🎲 this applies to both test file execution order and queued tests within each file. Providing this flag enables randomization implicitly, even without --test-randomize. The value must be an integer between 0 and 4294967295. This flag cannot be used with --watch or --test-rerun-failures 🚫
  • --test-randomize β€” randomizes test execution order πŸ”€ same deal: applies to both test file execution order and queued tests within each file. This can help you detect tests that rely on shared state or execution order. The seed used for the randomization is printed in the test summary and can be reused with --test-random-seed. This flag cannot be used with --watch or --test-rerun-failures 🚫
  • --test-reporter β€” a test reporter to use when running tests πŸ“Š
  • --test-reporter-destination β€” the destination for the corresponding test reporter πŸ“
  • --test-rerun-failures β€” configures the tests runner to persist the state of tests so you can rerun only the failed ones 😀 extremely "we do not do the whole suite twice" of it.
  • --test-only β€” configures the test runner to only execute top level tests that have the only option set ⭐
  • --test-shard β€” the test suite shard to execute, in a format of <index>/<total> 🍰
  • --test-skip-pattern β€” a regular expression that configures the test runner to skip tests whose name matches the pattern πŸ’…
  • --test-timeout β€” a number of milliseconds after which the test execution will fail ⏰
  • --test-update-snapshots β€” regenerates the snapshot file the test runner uses for snapshot testing πŸ“Έ
  • --throw-deprecation β€” throws errors for deprecations πŸ”₯ no more gentle warning, we're throwing hands.
  • --title=title β€” specifies process.title on startup 🏷️
  • --tls-cipher-list=list β€” specifies an alternative default TLS cipher list πŸ” requires Node.js to be built with crypto support. (Default)
  • --tls-keylog=file β€” logs TLS key material to a file πŸ—οΈ the key material is in NSS SSLKEYLOGFILE format and can be used by software (such as Wireshark) to decrypt the TLS traffic. Lowkey powerful, use responsibly bestie.
  • --tls-max-v1.2 β€” sets default maxVersion to 'TLSv1.2' ⬇️ use it to disable support for TLSv1.3.
  • --tls-max-v1.3 β€” sets default maxVersion to 'TLSv1.3' ⬆️ use it to enable support for TLSv1.3.
  • --tls-min-v1.0 β€” sets default minVersion to 'TLSv1' πŸ§“ use for compatibility with old TLS clients or servers.
  • --tls-min-v1.1 β€” sets default minVersion to 'TLSv1.1' πŸ§“ use for compatibility with old TLS clients or servers.
  • --tls-min-v1.2 β€” sets default minVersion to 'TLSv1.2' ✨ this is the default for 12.x and later, but the option is supported for compatibility with older Node.js versions.
  • --tls-min-v1.3 β€” sets default minVersion to 'TLSv1.3' πŸ‘‘ use to disable support for TLSv1.2 in favour of TLSv1.3, which is more secure.
  • --trace-deprecation β€” prints stack traces for deprecations πŸ“š
  • --trace-event-categories categories β€” a comma-separated list of categories that should be traced when trace event tracing is enabled using --trace-events-enabled 🏷️
  • --trace-event-file-pattern pattern β€” a template string specifying the filepath for the trace event data; it supports ${rotation} and ${pid} πŸ“„
  • --trace-events-enabled β€” enables the collection of trace event tracing information 🧭
  • --trace-exit β€” prints a stack trace whenever an environment is exited proactively, i.e. invoking process.exit() πŸšͺ
  • --trace-sigint β€” prints a stack trace on SIGINT πŸ›‘
  • --trace-sync-io β€” prints a stack trace whenever synchronous I/O is detected after the first turn of the event loop 😬
  • --trace-tls β€” prints TLS packet trace information to stderr πŸ“‘
  • --trace-uncaught β€” prints stack traces for uncaught exceptions πŸ’€ normally the stack trace associated with the creation of an Error gets printed, whereas this makes Node.js also print the stack trace associated with throwing the value (which doesn't need to be an Error instance).
Heads up bestie: enabling this option may affect garbage collection behavior negatively 🫠
  • --trace-warnings β€” prints stack traces for process warnings (including deprecations) ⚠️
  • --track-heap-objects β€” tracks heap object allocations for heap snapshots 🧠
  • --unhandled-rejections=mode β€” defines the behavior for unhandled rejections 🀺 can be one of strict (raise an error), warn (enforce warnings) or none (silence warnings).
  • --use-bundled-ca, --use-openssl-ca β€” use the bundled Mozilla CA store as supplied by the current Node.js version, or use OpenSSL's default CA store πŸ” the default store is selectable at build-time.

The bundled CA store, as supplied by Node.js, is a snapshot of the Mozilla CA store that's fixed at release time πŸ’– it's identical on all supported platforms.

Using the OpenSSL store allows for external modifications of the store πŸ› οΈ for most Linux and BSD distributions, this store is maintained by the distribution maintainers and system administrators. The OpenSSL CA store location depends on the configuration of the OpenSSL library, but this can be altered at runtime using environment variables.

See SSL_CERT_DIR and SSL_CERT_FILE πŸ“‚

  • --use-env-proxy β€” parses proxy settings from the HTTP_PROXY/HTTPS_PROXY/NO_PROXY environment variables and applies them in global HTTP/HTTPS clients 🌐
  • --use-system-ca β€” uses the trusted CA certificates present in the system store, in addition to the certificates in the bundled Mozilla CA store and certificates from NODE_EXTRA_CA_CERTS πŸ›οΈ on Windows and macOS it uses system APIs to integrate additional trusted certificates. On other platforms it's similar to --use-openssl-ca, with the difference being that it caches the certificates on first load, and the system certificates are added in a complementary manner without replacing certificates from other sources ✨ this flag supersedes --use-openssl-ca.
  • --use-largepages=mode β€” remaps the Node.js static code onto large memory pages at startup πŸ’… if your system supports it, that static code gets moved from 4 KiB pages onto 2 MiB pages instead. mode has to be one of: off (the default, meaning "don't map anything"), on (map it, and if it fails just ignore the failure but report it to stderr), or silent (map it and silently ignore any failure).
  • --v8-options β€” prints V8's command-line options. that's it, that's the whole vibe ✨
  • --v8-pool-size=num β€” sets V8's thread pool size, the one it uses to allocate background jobs. set it to 0 and V8 picks a size that makes sense based on how many online processors you've got 🧚 if the value you pass is bigger than V8's maximum, then the largest value wins. no cap.
  • --watch β€” starts Node.js in watch mode πŸ‘€ in watch mode, changes to the watched files make the Node.js process restart. by default it watches the entry point plus any required or imported module. want to control that? use --watch-path to say exactly which paths to watch.
  • --watch-path β€” starts Node.js in watch mode and specifies what paths to watch πŸŽ€ when you're in watch mode, changes in the watched paths make the Node.js process restart. heads up though: this turns off watching of required or imported modules, even if you use it together with --watch.
  • --watch-kill-signal β€” lets you customize the signal that gets sent to the process on watch mode restarts πŸ”₯
  • --zero-fill-buffers β€” automatically zero-fills every newly allocated Buffer and SlowBuffer instance. squeaky clean, literally πŸ’–
  • -c, --check β€” checks the script's syntax without executing it. exits with an error code if the script is invalid βœ…
  • -e, --eval string β€” evaluates string as JavaScript. iconic one-liner energy.
  • -h, --help β€” prints the command-line options. fair warning: the output of this option is less detailed than this document πŸ™ˆ
  • -i, --interactive β€” opens the REPL even if stdin doesn't look like a terminal. main character REPL energy πŸ‘‘
  • -p, --print string β€” identical to -e, except it prints the result 🫢
  • -r, --require module β€” preloads the specified module at startup. follows require()'s module resolution rules. module can be either a path to a file, or a Node.js module name.
  • -v, --version β€” prints node's version. the classic.

🌈 ENVIRONMENT 🌈

like, the whole vibe check of env vars. here's every single one:

  • FORCE_COLOR β€” used to enable ANSI colorized output 🎨 the value may be one of: 1, true, or an empty string to indicate 16-color support, 2 to indicate 256-color support, or 3 to indicate 16 million-color support. when it's used and set to a supported value, both the NO_COLOR and NODE_DISABLE_COLORS environment variables get ignored. any other value will result in colorized output being disabled. πŸ’€
  • NO_COLOR β€” alias for NODE_DISABLE_COLORS.
  • NODE_COMPILE_CACHE dir β€” enable the module compile cache for the Node.js instance 🧚
  • NODE_COMPILE_CACHE_PORTABLE β€” when set to '1' or 'true', the module compile cache will be hit as long as the location of the modules relative to the cache directory remains consistent. this can be used in conjunction with NODE_COMPILE_CACHE to enable portable on-disk caching. slay.
  • NODE_DEBUG modules... β€” comma-separated list of core modules that should print debug information πŸ›
  • NODE_DEBUG_NATIVE modules... β€” comma-separated list of C++ core modules that should print debug information πŸ›πŸ›
  • NODE_DISABLE_COMPILE_CACHE β€” disable the module compile cache for the Node.js instance.
  • NODE_DISABLE_COLORS β€” when set to 1, colors will not be used in the REPL.
  • NODE_EXTRA_CA_CERTS file β€” when set, the well-known "root" CAs (like VeriSign) get extended with the extra certificates in file. the file should consist of one or more trusted certificates in PEM format πŸ”

if file is missing or misformatted, a message will be emitted once using process.emitWarning(), but any errors are otherwise ignored.

this environment variable is ignored when node runs as setuid root or has Linux file capabilities set ⚠️

also: the NODE_EXTRA_CA_CERTS environment variable is only read when the Node.js process is first launched. changing the value at runtime using process.env.NODE_EXTRA_CA_CERTS has no effect on the current process. not me finding that out the hard way 😭

  • NODE_ICU_DATA file β€” data path for ICU (Intl object) data. will extend linked-in data when compiled with small-icu support.
  • NODE_NO_WARNINGS β€” when set to 1, process warnings are silenced 🀫
  • NODE_OPTIONS options... β€” a space-separated list of command-line options, interpreted as if they'd been specified on the command line before the actual command (so they can be overridden). Node.js will exit with an error if an option that isn't allowed in the environment is used, such as --print or a script file 🚨
  • NODE_PATH directories... β€” a colon-separated list of directories prefixed to the module search path.
  • NODE_PENDING_DEPRECATION β€” when set to 1, emit pending deprecation warnings πŸ“’
  • NODE_PENDING_PIPE_INSTANCES β€” set the number of pending pipe instance handles when the pipe server is waiting for connections. this setting applies to Windows only.
  • NODE_PRESERVE_SYMLINKS β€” when set to 1, the module loader preserves symbolic links when resolving and caching modules πŸ”—
  • NODE_REDIRECT_WARNINGS file β€” writes process warnings to the given file instead of printing to stderr. equivalent to passing --redirect-warnings file on the command line.
  • NODE_REPL_HISTORY file β€” path to the file used to store persistent REPL history. the default path is ~/.node_repl_history, which this variable overrides. setting the value to an empty string ("" or " ") will disable persistent REPL history πŸ•°οΈ
  • NODE_REPL_EXTERNAL_MODULE file β€” path to a Node.js module which will be loaded in place of the built-in REPL. overriding this value to an empty string ('') will use the built-in REPL.
  • NODE_SKIP_PLATFORM_CHECK β€” when set to 1, the check for a supported platform is skipped during Node.js startup.
bestie, be careful with this one: Node.js might not execute correctly πŸ’€ any issues encountered on unsupported platforms will not be fixed.
  • NODE_TEST_CONTEXT β€” when set to 'child', test reporter options will be overridden and test output will be sent to stdout in the TAP format. if any other value is provided, Node.js makes no guarantees about the reporter format used or its stability πŸ™ˆ
  • NODE_TLS_REJECT_UNAUTHORIZED β€” when set to 0, TLS certificate validation is disabled.
fr fr, that's a big deal β€” disabling certificate validation means nothing is verifying who you're talking to. proceed with caution ⚠️
  • NODE_USE_ENV_PROXY β€” when enabled, Node.js parses the HTTP_PROXY, HTTPS_PROXY and NO_PROXY environment variables during startup, and tunnels requests over the specified proxy 🌐

this currently only affects requests sent over fetch(). support for other built-in http and https methods is under way.

  • NODE_USE_SYSTEM_CA β€” similar to --use-system-ca. use the trusted CA certificates present in the system store, in addition to the certificates in the bundled Mozilla CA store and certificates from NODE_EXTRA_CA_CERTS πŸŽ€
  • NODE_V8_COVERAGE dir β€” when set, Node.js writes JavaScript code coverage information to dir πŸ“Š
  • OPENSSL_CONF file β€” load an OpenSSL configuration file on startup. among other uses, this can be used to enable FIPS-compliant crypto if Node.js is built with ./configure --openssl-fips πŸ”

if the --openssl-config command-line option is used, this environment variable is ignored.

  • SSL_CERT_DIR dir β€” if --use-openssl-ca is enabled, this overrides and sets OpenSSL's directory containing trusted certificates.
  • SSL_CERT_FILE file β€” if --use-openssl-ca is enabled, this overrides and sets OpenSSL's file containing trusted certificates.
  • TZ β€” specify the timezone configuration ⏰
  • UV_THREADPOOL_SIZE size β€” sets the number of threads used in libuv's threadpool to size 🧡

πŸ’€ BUGS πŸ’€

bugs are tracked in GitHub Issues: https://github.com/nodejs/node/issues β€” if something's acting up, that's the spot. go spill 🫢


Copyright Node.js contributors. Node.js is available under the MIT license.

Node.js also includes external libraries that are available under a variety of licenses. see https://github.com/nodejs/node/blob/HEAD/LICENSE for the full license text πŸ“œ


πŸ¦‹ SEE ALSO πŸ¦‹


and that's the whole page, bestie, you made it to the end πŸŽ‰ this was the NODE(1) manual page, dated 2018 β€” go forth and run some JavaScript, you absolute icon πŸŒΈπŸ’–βœ¨

πŸ“¦ where this page comes from