{ "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "required": [], "properties": { "$schema": { "type": "string" }, "nodeOptions": { "additionalProperties": false, "required": [], "properties": { "addons": { "type": "boolean", "description": "disable loading native addons" }, "allow-addons": { "type": "boolean", "description": "allow use of addons when any permissions are set" }, "allow-child-process": { "type": "boolean", "description": "allow use of child process when any permissions are set" }, "allow-fs-read": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "allow permissions to read the filesystem" }, "allow-fs-write": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "allow permissions to write in the filesystem" }, "allow-inspector": { "type": "boolean", "description": "allow use of inspector when any permissions are set" }, "allow-net": { "type": "boolean", "description": "allow use of network when any permissions are set" }, "allow-wasi": { "type": "boolean", "description": "allow wasi when any permissions are set" }, "allow-worker": { "type": "boolean", "description": "allow worker threads when any permissions are set" }, "async-context-frame": { "type": "boolean", "description": "Improve AsyncLocalStorage performance with AsyncContextFrame" }, "conditions": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "additional user conditions for conditional exports and imports" }, "cpu-prof": { "type": "boolean", "description": "Start the V8 CPU profiler on start up, and write the CPU profile to disk before exit. If --cpu-prof-dir is not specified, write the profile to the current working directory." }, "cpu-prof-dir": { "type": "string", "description": "Directory where the V8 profiles generated by --cpu-prof will be placed. Does not affect --prof." }, "cpu-prof-interval": { "type": "number", "description": "specified sampling interval in microseconds for the V8 CPU profile generated with --cpu-prof. (default: 1000)" }, "cpu-prof-name": { "type": "string", "description": "specified file name of the V8 CPU profile generated with --cpu-prof" }, "debug-arraybuffer-allocations": { "type": "boolean", "description": "" }, "deprecation": { "type": "boolean", "description": "silence deprecation warnings" }, "diagnostic-dir": { "type": "string", "description": "set dir for all output files (default: current working directory)" }, "disable-proto": { "type": "string", "description": "disable Object.prototype.__proto__" }, "disable-sigusr1": { "type": "boolean", "description": "Disable inspector thread to be listening for SIGUSR1 signal" }, "disable-warning": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "silence specific process warnings" }, "disable-wasm-trap-handler": { "type": "boolean", "description": "Disable trap-handler-based WebAssembly bound checks. V8 will insert inline bound checks when compiling WebAssembly which may slow down performance." }, "dns-result-order": { "type": "string", "description": "set default value of verbatim in dns.lookup. Options are 'ipv4first' (IPv4 addresses are placed before IPv6 addresses) 'ipv6first' (IPv6 addresses are placed before IPv4 addresses) 'verbatim' (addresses are in the order the DNS resolver returned)" }, "enable-fips": { "type": "boolean", "description": "enable FIPS crypto at startup" }, "enable-source-maps": { "type": "boolean", "description": "Source Map V3 support for stack traces" }, "entry-url": { "type": "boolean", "description": "Treat the entrypoint as a URL" }, "experimental-addon-modules": { "type": "boolean", "description": "experimental import support for addons" }, "experimental-detect-module": { "type": "boolean", "description": "when ambiguous modules fail to evaluate because they contain ES module syntax, try again to evaluate them as ES modules" }, "experimental-eventsource": { "type": "boolean", "description": "experimental EventSource API" }, "experimental-global-navigator": { "type": "boolean", "description": "expose experimental Navigator API on the global scope" }, "experimental-import-meta-resolve": { "type": "boolean", "description": "experimental ES Module import.meta.resolve() parentURL support" }, "experimental-loader": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "use the specified module as a custom loader" }, "experimental-print-required-tla": { "type": "boolean", "description": "Print pending top-level await. If --require-module is true, evaluate asynchronous graphs loaded by `require()` but do not run the microtasks, in order to to find and print top-level await in the graph" }, "experimental-repl-await": { "type": "boolean", "description": "experimental await keyword support in REPL" }, "experimental-require-module": { "type": "boolean", "description": "Legacy alias for --require-module" }, "experimental-shadow-realm": { "type": "boolean", "description": "" }, "experimental-sqlite": { "type": "boolean", "description": "experimental node:sqlite module" }, "experimental-transform-types": { "type": "boolean", "description": "enable transformation of TypeScript-onlysyntax into JavaScript code" }, "experimental-vm-modules": { "type": "boolean", "description": "experimental ES Module support in vm module" }, "experimental-websocket": { "type": "boolean", "description": "experimental WebSocket API" }, "experimental-webstorage": { "type": "boolean", "description": "experimental Web Storage API" }, "extra-info-on-fatal-exception": { "type": "boolean", "description": "hide extra information on fatal exception that causes exit" }, "force-async-hooks-checks": { "type": "boolean", "description": "disable checks for async_hooks" }, "force-context-aware": { "type": "boolean", "description": "disable loading non-context-aware addons" }, "force-fips": { "type": "boolean", "description": "force FIPS crypto (cannot be disabled)" }, "force-node-api-uncaught-exceptions-policy": { "type": "boolean", "description": "enforces 'uncaughtException' event on Node API asynchronous callbacks" }, "frozen-intrinsics": { "type": "boolean", "description": "experimental frozen intrinsics support" }, "global-search-paths": { "type": "boolean", "description": "disable global module search paths" }, "heap-prof": { "type": "boolean", "description": "Start the V8 heap profiler on start up, and write the heap profile to disk before exit. If --heap-prof-dir is not specified, write the profile to the current working directory." }, "heap-prof-dir": { "type": "string", "description": "Directory where the V8 heap profiles generated by --heap-prof will be placed." }, "heap-prof-interval": { "type": "number", "description": "specified sampling interval in bytes for the V8 heap profile generated with --heap-prof. (default: 512 * 1024)" }, "heap-prof-name": { "type": "string", "description": "specified file name of the V8 heap profile generated with --heap-prof" }, "heapsnapshot-near-heap-limit": { "type": "number", "description": "Generate heap snapshots whenever V8 is approaching the heap limit. No more than the specified number of heap snapshots will be generated." }, "heapsnapshot-signal": { "type": "string", "description": "Generate heap snapshot on specified signal" }, "icu-data-dir": { "type": "string", "description": "set ICU data load path to dir (overrides NODE_ICU_DATA) (note: linked-in ICU data is present)" }, "import": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "ES module to preload (option can be repeated)" }, "input-type": { "type": "string", "description": "set module type for string input" }, "insecure-http-parser": { "type": "boolean", "description": "use an insecure HTTP parser that accepts invalid HTTP headers" }, "inspect": { "type": "boolean", "description": "activate inspector on host:port (default: 127.0.0.1:9229)" }, "inspect-brk": { "type": "boolean", "description": "activate inspector on host:port and break at start of user script" }, "inspect-port": { "type": "number", "description": "set host:port for inspector" }, "inspect-publish-uid": { "type": "string", "description": "comma separated list of destinations for inspector uid(default: stderr,http)" }, "inspect-wait": { "type": "boolean", "description": "activate inspector on host:port and wait for debugger to be attached" }, "localstorage-file": { "type": "string", "description": "file used to persist localStorage data" }, "max-http-header-size": { "type": "number", "description": "set the maximum size of HTTP headers (default: 16384 (16KB))" }, "max-old-space-size-percentage": { "type": "string", "description": "set V8's max old space size as a percentage of available memory (e.g., '50%'). Takes precedence over --max-old-space-size." }, "network-family-autoselection": { "type": "boolean", "description": "Disable network address family autodetection algorithm" }, "network-family-autoselection-attempt-timeout": { "type": "number", "description": "Sets the default value for the network family autoselection attempt timeout." }, "node-snapshot": { "type": "boolean", "description": "" }, "openssl-config": { "type": "string", "description": "load OpenSSL configuration from the specified file (overrides OPENSSL_CONF)" }, "openssl-legacy-provider": { "type": "boolean", "description": "enable OpenSSL 3.0 legacy provider" }, "openssl-shared-config": { "type": "boolean", "description": "enable OpenSSL shared configuration" }, "pending-deprecation": { "type": "boolean", "description": "emit pending deprecation warnings" }, "permission": { "type": "boolean", "description": "enable the permission system" }, "preserve-symlinks": { "type": "boolean", "description": "preserve symbolic links when resolving" }, "preserve-symlinks-main": { "type": "boolean", "description": "preserve symbolic links when resolving the main module" }, "redirect-warnings": { "type": "string", "description": "write warnings to file instead of stderr" }, "report-compact": { "type": "boolean", "description": "output compact single-line JSON" }, "report-dir": { "type": "string", "description": "define custom report pathname. (default: current working directory)" }, "report-exclude-env": { "type": "boolean", "description": "Exclude environment variables when generating report (default: false)" }, "report-exclude-network": { "type": "boolean", "description": "exclude network interface diagnostics. (default: false)" }, "report-filename": { "type": "string", "description": "define custom report file name. (default: YYYYMMDD.HHMMSS.PID.SEQUENCE#.txt)" }, "report-on-fatalerror": { "type": "boolean", "description": "generate diagnostic report on fatal (internal) errors" }, "report-on-signal": { "type": "boolean", "description": "generate diagnostic report upon receiving signals" }, "report-signal": { "type": "string", "description": "causes diagnostic report to be produced on provided signal, unsupported in Windows. (default: SIGUSR2)" }, "report-uncaught-exception": { "type": "boolean", "description": "generate diagnostic report on uncaught exceptions" }, "require": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "CommonJS module to preload (option can be repeated)" }, "require-module": { "type": "boolean", "description": "Allow loading synchronous ES Modules in require()." }, "secure-heap": { "type": "number", "description": "total size of the OpenSSL secure heap" }, "secure-heap-min": { "type": "number", "description": "minimum allocation size from the OpenSSL secure heap" }, "snapshot-blob": { "type": "string", "description": "Path to the snapshot blob that's either the result of snapshotbuilding, or the blob that is used to restore the application state" }, "stack-trace-limit": { "type": "number", "description": "" }, "strip-types": { "type": "boolean", "description": "Type-stripping for TypeScript files." }, "test-coverage-branches": { "type": "number", "description": "the branch coverage minimum threshold" }, "test-coverage-exclude": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "exclude files from coverage report that match this glob pattern" }, "test-coverage-functions": { "type": "number", "description": "the function coverage minimum threshold" }, "test-coverage-include": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "include files in coverage report that match this glob pattern" }, "test-coverage-lines": { "type": "number", "description": "the line coverage minimum threshold" }, "test-global-setup": { "type": "string", "description": "specifies the path to the global setup file" }, "test-isolation": { "type": "string", "description": "configures the type of test isolation used in the test runner" }, "test-name-pattern": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "run tests whose name matches this regular expression" }, "test-only": { "type": "boolean", "description": "run tests with 'only' option set" }, "test-reporter": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "report test output using the given reporter" }, "test-reporter-destination": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "report given reporter to the given destination" }, "test-rerun-failures": { "type": "string", "description": "specifies the path to the rerun state file" }, "test-shard": { "type": "string", "description": "run test at specific shard" }, "test-skip-pattern": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "run tests whose name do not match this regular expression" }, "throw-deprecation": { "type": "boolean", "description": "throw an exception on deprecations" }, "title": { "type": "string", "description": "the process title to use on startup" }, "tls-cipher-list": { "type": "string", "description": "use an alternative default TLS cipher list" }, "tls-keylog": { "type": "string", "description": "log TLS decryption keys to named file for traffic analysis" }, "tls-max-v1.2": { "type": "boolean", "description": "set default TLS maximum to TLSv1.2 (default: TLSv1.3)" }, "tls-max-v1.3": { "type": "boolean", "description": "set default TLS maximum to TLSv1.3 (default: TLSv1.3)" }, "tls-min-v1.0": { "type": "boolean", "description": "set default TLS minimum to TLSv1.0 (default: TLSv1.2)" }, "tls-min-v1.1": { "type": "boolean", "description": "set default TLS minimum to TLSv1.1 (default: TLSv1.2)" }, "tls-min-v1.2": { "type": "boolean", "description": "set default TLS minimum to TLSv1.2 (default: TLSv1.2)" }, "tls-min-v1.3": { "type": "boolean", "description": "set default TLS minimum to TLSv1.3 (default: TLSv1.2)" }, "trace-deprecation": { "type": "boolean", "description": "show stack traces on deprecations" }, "trace-env": { "type": "boolean", "description": "Print accesses to the environment variables" }, "trace-env-js-stack": { "type": "boolean", "description": "Print accesses to the environment variables and the JavaScript stack trace" }, "trace-env-native-stack": { "type": "boolean", "description": "Print accesses to the environment variables and the native stack trace" }, "trace-event-categories": { "type": "string", "description": "comma separated list of trace event categories to record" }, "trace-event-file-pattern": { "type": "string", "description": "Template string specifying the filepath for the trace-events data, it supports ${rotation} and ${pid}." }, "trace-exit": { "type": "boolean", "description": "show stack trace when an environment exits" }, "trace-promises": { "type": "boolean", "description": "show stack traces on promise initialization and resolution" }, "trace-require-module": { "type": "string", "description": "Print access to require(esm). Options are 'all' (print all usage) and 'no-node-modules' (excluding usage from the node_modules folder)" }, "trace-sigint": { "type": "boolean", "description": "enable printing JavaScript stacktrace on SIGINT" }, "trace-sync-io": { "type": "boolean", "description": "show stack trace when use of sync IO is detected after the first tick" }, "trace-tls": { "type": "boolean", "description": "prints TLS packet trace information to stderr" }, "trace-uncaught": { "type": "boolean", "description": "show stack traces for the `throw` behind uncaught exceptions" }, "trace-warnings": { "type": "boolean", "description": "show stack traces on process warnings" }, "track-heap-objects": { "type": "boolean", "description": "track heap object allocations for heap snapshots" }, "unhandled-rejections": { "type": "string", "description": "define unhandled rejections behavior. Options are 'strict' (always raise an error), 'throw' (raise an error unless 'unhandledRejection' hook is set), 'warn' (log a warning), 'none' (silence warnings), 'warn-with-error-code' (log a warning and set exit code 1 unless 'unhandledRejection' hook is set). (default: throw)" }, "use-bundled-ca": { "type": "boolean", "description": "use bundled CA store (default)" }, "use-env-proxy": { "type": "boolean", "description": "parse proxy settings from HTTP_PROXY/HTTPS_PROXY/NO_PROXYenvironment variables and apply the setting in global HTTP/HTTPS clients" }, "use-largepages": { "type": "string", "description": "Map the Node.js static code to large pages. Options are 'off' (the default value, meaning do not map), 'on' (map and ignore failure, reporting it to stderr), or 'silent' (map and silently ignore failure)" }, "use-openssl-ca": { "type": "boolean", "description": "use OpenSSL's default CA store" }, "use-system-ca": { "type": "boolean", "description": "use system's CA store" }, "v8-pool-size": { "type": "number", "description": "set V8's thread pool size" }, "verify-base-objects": { "type": "boolean", "description": "" }, "warnings": { "type": "boolean", "description": "silence all process warnings" }, "watch": { "type": "boolean", "description": "run in watch mode" }, "watch-kill-signal": { "type": "string", "description": "kill signal to send to the process on watch mode restarts(default: SIGTERM)" }, "watch-path": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "path to watch" }, "watch-preserve-output": { "type": "boolean", "description": "preserve outputs on watch mode restart" }, "zero-fill-buffers": { "type": "boolean", "description": "automatically zero-fill all newly allocated Buffer instances" } }, "type": "object" }, "permission": { "type": "object", "additionalProperties": false, "required": [], "properties": { "allow-addons": { "type": "boolean", "description": "allow use of addons when any permissions are set" }, "allow-child-process": { "type": "boolean", "description": "allow use of child process when any permissions are set" }, "allow-fs-read": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "allow permissions to read the filesystem" }, "allow-fs-write": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "allow permissions to write in the filesystem" }, "allow-inspector": { "type": "boolean", "description": "allow use of inspector when any permissions are set" }, "allow-net": { "type": "boolean", "description": "allow use of network when any permissions are set" }, "allow-wasi": { "type": "boolean", "description": "allow wasi when any permissions are set" }, "allow-worker": { "type": "boolean", "description": "allow worker threads when any permissions are set" }, "permission": { "type": "boolean", "description": "enable the permission system" } } }, "test": { "type": "object", "additionalProperties": false, "required": [], "properties": { "experimental-test-coverage": { "type": "boolean", "description": "enable code coverage in the test runner" }, "experimental-test-module-mocks": { "type": "boolean", "description": "enable module mocking in the test runner" }, "test": { "type": "boolean", "description": "launch test runner on startup" }, "test-concurrency": { "type": "number", "description": "specify test runner concurrency" }, "test-coverage-branches": { "type": "number", "description": "the branch coverage minimum threshold" }, "test-coverage-exclude": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "exclude files from coverage report that match this glob pattern" }, "test-coverage-functions": { "type": "number", "description": "the function coverage minimum threshold" }, "test-coverage-include": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "include files in coverage report that match this glob pattern" }, "test-coverage-lines": { "type": "number", "description": "the line coverage minimum threshold" }, "test-force-exit": { "type": "boolean", "description": "force test runner to exit upon completion" }, "test-global-setup": { "type": "string", "description": "specifies the path to the global setup file" }, "test-isolation": { "type": "string", "description": "configures the type of test isolation used in the test runner" }, "test-name-pattern": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "run tests whose name matches this regular expression" }, "test-only": { "type": "boolean", "description": "run tests with 'only' option set" }, "test-reporter": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "report test output using the given reporter" }, "test-reporter-destination": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "report given reporter to the given destination" }, "test-rerun-failures": { "type": "string", "description": "specifies the path to the rerun state file" }, "test-shard": { "type": "string", "description": "run test at specific shard" }, "test-skip-pattern": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "run tests whose name do not match this regular expression" }, "test-timeout": { "type": "number", "description": "specify test runner timeout" }, "test-update-snapshots": { "type": "boolean", "description": "regenerate test snapshots" } } }, "watch": { "type": "object", "additionalProperties": false, "required": [], "properties": { "watch": { "type": "boolean", "description": "run in watch mode" }, "watch-kill-signal": { "type": "string", "description": "kill signal to send to the process on watch mode restarts(default: SIGTERM)" }, "watch-path": { "oneOf": [ { "type": "string" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ], "description": "path to watch" }, "watch-preserve-output": { "type": "boolean", "description": "preserve outputs on watch mode restart" } } } }, "type": "object" }