diff --git a/doc/api/cli.md b/doc/api/cli.md index 702c2f308331ad..2ee780d4b0ba75 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -80,14 +80,14 @@ $ node --completion-bash > node_bash_completion $ source node_bash_completion ``` -### `--conditions=condition` +### `-C=condition`, `--conditions=condition` > Stability: 1 - Experimental -Enable experimental support for custom conditional exports resolution +Enable experimental support for custom [conditional exports][] resolution conditions. Any number of custom string condition names are permitted. @@ -95,6 +95,12 @@ Any number of custom string condition names are permitted. The default Node.js conditions of `"node"`, `"default"`, `"import"`, and `"require"` will always apply as defined. +For example, to run a module with "development" resolutions: + +```console +$ node -C=development app.js +``` + ### `--cpu-prof` -* `--conditions` +* `--conditions`, `-C` * `--diagnostic-dir` * `--disable-proto` * `--enable-fips` @@ -1620,6 +1626,7 @@ $ node --max-old-space-size=1536 index.js [`tls.DEFAULT_MIN_VERSION`]: tls.md#tls_tls_default_min_version [`unhandledRejection`]: process.md#process_event_unhandledrejection [`worker_threads.threadId`]: worker_threads.md#worker_threads_worker_threadid +[conditional exports]: packages.md#packages_conditional_exports [context-aware]: addons.md#addons_context_aware_addons [customizing ESM specifier resolution]: esm.md#esm_customizing_esm_specifier_resolution_algorithm [debugger]: debugger.md diff --git a/doc/node.1 b/doc/node.1 index e7bc59b26a8008..024e2e2c7a4c14 100644 --- a/doc/node.1 +++ b/doc/node.1 @@ -78,7 +78,7 @@ Aborting instead of exiting causes a core file to be generated for analysis. .It Fl -completion-bash Print source-able bash completion script for Node.js. . -.It Fl -conditions Ar string +.It Fl C , Fl -conditions Ar string Use custom conditional exports conditions. .Ar string . diff --git a/src/node_options.cc b/src/node_options.cc index 5219f93155f690..a0841300cadf70 100644 --- a/src/node_options.cc +++ b/src/node_options.cc @@ -272,6 +272,7 @@ EnvironmentOptionsParser::EnvironmentOptionsParser() { "additional user conditions for conditional exports and imports", &EnvironmentOptions::conditions, kAllowedInEnvironment); + AddAlias("-C", "--conditions"); AddOption("--diagnostic-dir", "set dir for all output files" " (default: current working directory)", diff --git a/test/es-module/test-esm-custom-exports.mjs b/test/es-module/test-esm-custom-exports.mjs index cf0557fa44215e..e6023387cf8afc 100644 --- a/test/es-module/test-esm-custom-exports.mjs +++ b/test/es-module/test-esm-custom-exports.mjs @@ -1,4 +1,4 @@ -// Flags: --conditions=custom-condition --conditions another +// Flags: --conditions=custom-condition -C another import { mustCall } from '../common/index.mjs'; import { strictEqual } from 'assert'; import { requireFixture, importFixture } from '../fixtures/pkgexports.mjs'; diff --git a/test/parallel/test-process-env-allowed-flags.js b/test/parallel/test-process-env-allowed-flags.js index 21beb5357a5f65..22122035e61037 100644 --- a/test/parallel/test-process-env-allowed-flags.js +++ b/test/parallel/test-process-env-allowed-flags.js @@ -51,7 +51,7 @@ const assert = require('assert'); // Assert all "canonical" flags begin with dash(es) { process.allowedNodeEnvironmentFlags.forEach((flag) => { - assert(/^--?[a-z0-9._-]+$/.test(flag), + assert(/^--?[a-zA-Z0-9._-]+$/.test(flag), `Unexpected format for flag ${flag}`); }); }