Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cli: -C alias for --conditions flag #38755

Closed
wants to merge 6 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
13 changes: 10 additions & 3 deletions doc/api/cli.md
Expand Up @@ -80,7 +80,7 @@ $ node --completion-bash > node_bash_completion
$ source node_bash_completion
```

### `--conditions=condition`
### `-C=condition`, `--conditions=condition`
<!-- YAML
added:
- v14.9.0
Expand All @@ -89,14 +89,20 @@ added:

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

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`
<!-- YAML
added: v12.0.0
Expand Down Expand Up @@ -1370,7 +1376,7 @@ node --require "./a.js" --require "./b.js"

Node.js options that are allowed are:
<!-- node-options-node start -->
* `--conditions`
* `--conditions`, `-C`
* `--diagnostic-dir`
* `--disable-proto`
* `--enable-fips`
Expand Down Expand Up @@ -1766,6 +1772,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
Expand Down
2 changes: 1 addition & 1 deletion doc/node.1
Expand Up @@ -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
.
Expand Down
1 change: 1 addition & 0 deletions src/node_options.cc
Expand Up @@ -292,6 +292,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)",
Expand Down
2 changes: 1 addition & 1 deletion 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';
Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-process-env-allowed-flags.js
Expand Up @@ -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}`);
});
}
Expand Down