Nx
Enterprise
Nx
Sign in / Sign up
Open main menu
Nx
GitHub
Overview
Runs
Analytics
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Failed
34951
Environment issue
→
d71808d2 cleanup(core): cover shell completion fixes and add NX_COMPLETE_DEBUG Addresses the attempt-2 review follow-ups: - Regression tests for the two critical fixes: resolveWorkspaceRoot() is exported and tested directly (env-var case, nx.json walk-up from a nested cwd, no-nx.json fallback); DESC_SEPARATOR is asserted to be a TAB; scripts.spec.ts now asserts the zsh wrapper uses `compadd -d` and never invokes `_describe`, the bash/zsh/fish walk-up, and the PowerShell nx.cmd walk-up. - NX_COMPLETE_DEBUG: the four wrapper scripts hid completion stderr unconditionally, so a fatal startup regression was invisible. They now surface stderr when NX_COMPLETE_DEBUG is set. Documented in the environment-variables reference. - formatDescription collapses literal TABs to spaces so a plugin-supplied description cannot break the zsh value/description split.
by Jason Jean
J
Failed
34951
Flaky task
→
fcdc6d39 fix(core): correct shell completion from subdirectories and in zsh Addresses the two critical findings from the deep PR review: 1. Project/target/generator completion returned nothing unless TAB was pressed at the workspace root. Completion runs without the normal workspace bootstrap, so NX_WORKSPACE_ROOT_PATH was unset and the graph lookup used process.cwd(). completion-providers.ts now walks up from cwd to the nearest nx.json to resolve the workspace root. 2. zsh two-stage `project:target` / `plugin:generator` completion never worked: the wrapper fed values to `_describe`, which splits on the first colon. The binary now emits `value<TAB>description` for zsh and the wrapper uses `compadd -d` so values are inserted literally. Also: move the completion trigger check inline in bin/nx.ts so no import runs before the protective try/catch; add the local-nx walk-up to the PowerShell wrapper; fix comment rot referencing the removed yargs path.
by Jason Jean
J
Failed
34951
Flaky task
→
fcdc6d39 fix(core): correct shell completion from subdirectories and in zsh Addresses the two critical findings from the deep PR review: 1. Project/target/generator completion returned nothing unless TAB was pressed at the workspace root. Completion runs without the normal workspace bootstrap, so NX_WORKSPACE_ROOT_PATH was unset and the graph lookup used process.cwd(). completion-providers.ts now walks up from cwd to the nearest nx.json to resolve the workspace root. 2. zsh two-stage `project:target` / `plugin:generator` completion never worked: the wrapper fed values to `_describe`, which splits on the first colon. The binary now emits `value<TAB>description` for zsh and the wrapper uses `compadd -d` so values are inserted literally. Also: move the completion trigger check inline in bin/nx.ts so no import runs before the protective try/catch; add the local-nx walk-up to the PowerShell wrapper; fix comment rot referencing the removed yargs path.
by Jason Jean
J
Succeeded
34951
b36d6f89 feat(core): complete generators from workspace-local plugins `nx generate <TAB>` previously only listed installed npm plugins (root package.json deps). Workspace-local plugin projects — a libs/my-plugin with its own generators.json — were invisible even though they're the ones a user is most likely developing. Plugin discovery now also scans the cached project graph: any project whose package.json declares a generators/schematics collection is included, keyed by its package name. Installed and local plugins are resolved through one shared collectionName -> dir map.
by Jason Jean
J
Failed
34951
Flaky task
→
df195e95 cleanup(core): harden shell completion per PR review - Fix the `nx completion <shell>` install gate: it checked globalThis.GLOBAL_NX_VERSION (set only when a global nx delegates to a local one), so `npx nx completion bash` and local-only installs errored out. Replace with a real PATH probe; the gate is now a non-fatal advisory since the generated scripts resolve a workspace-local nx anyway. - Wrap the completion block in bin/nx.ts in a try/catch so a crash in any transitive callee emits nothing and exits cleanly instead of splicing a stack trace into the shell's completion buffer. - Consistent optional chaining on project-graph nodes in getTargetNameCompletions. - Add direct test coverage: argv-layout, trigger, generated-script string invariants, and registration/alias wiring. - Comment fixes: stale yargs reference in metadata.ts, the self- contradicting NX_COMMAND block, and the argv-layout shell contract.
by Jason Jean
J
Canceled
34951
df195e95 cleanup(core): harden shell completion per PR review - Fix the `nx completion <shell>` install gate: it checked globalThis.GLOBAL_NX_VERSION (set only when a global nx delegates to a local one), so `npx nx completion bash` and local-only installs errored out. Replace with a real PATH probe; the gate is now a non-fatal advisory since the generated scripts resolve a workspace-local nx anyway. - Wrap the completion block in bin/nx.ts in a try/catch so a crash in any transitive callee emits nothing and exits cleanly instead of splicing a stack trace into the shell's completion buffer. - Consistent optional chaining on project-graph nodes in getTargetNameCompletions. - Add direct test coverage: argv-layout, trigger, generated-script string invariants, and registration/alias wiring. - Comment fixes: stale yargs reference in metadata.ts, the self- contradicting NX_COMMAND block, and the argv-layout shell contract.
by Jason Jean
J
Succeeded
34951
44a9cb7c docs(core): document the NX_COMPLETE env var Adds NX_COMPLETE to the environment-variables reference. Set by the generated shell-completion wrapper scripts to put Nx in tab-completion mode; satisfies the env-vars-documented conformance rule.
by Jason Jean
J
Failed
34951
Flaky task
→
44a9cb7c docs(core): document the NX_COMPLETE env var Adds NX_COMPLETE to the environment-variables reference. Set by the generated shell-completion wrapper scripts to put Nx in tab-completion mode; satisfies the env-vars-documented conformance rule.
by Jason Jean
J
Failed
34951
Fix ready
→
2205e49c feat(core): trigger shell completion via NX_COMPLETE env var Replace the yargs --get-yargs-completions argv flag with an environment variable trigger (NX_COMPLETE=<shell>), matching the clap_complete convention and removing the yargs-specific workarounds in nx-commands.ts: the strip-dashed parser carve-out, the .boolean('get-yargs-completions') declaration, and the .completion() registration all go away. The bin entry now drives completion dispatch directly: - tryValueCompletion (metadata-driven fast path) - tryCommandSurfaceCompletion (matched-command subcommands/options, falling back to a new getTopLevelCommands enumeration that replaces yargs's defaultCompletions for `nx <TAB>`) Shell-script generators emit NX_COMPLETE=<shell> inline before the nx invocation. PowerShell support is added via Register-ArgumentCompleter.
by Jason Jean
J
Succeeded
34951
3b1c1801 cleanup(core): consolidate shell completion dispatch and add tests [Self-Healing CI Rerun]
by nx-cloud[bot]
n
Succeeded
34951
ab408052 cleanup(core): consolidate shell completion dispatch and add tests [Self-Healing CI Rerun]
by nx-cloud[bot]
n
Failed
34951
Environment issue
→
372ffa08 style(core): format shell completion spec files Co-authored-by: FrozenPandaz <FrozenPandaz@users.noreply.github.com>
by nx-cloud[bot]
n
Failed
34951
Flaky task
→
845ac572 cleanup(core): consolidate shell completion dispatch and add tests Extract shared positional/flag-value dispatch into `resolveCompletion` in metadata.ts. Both entry points (bin/nx.ts and the yargs fallback in nx-commands.ts) now delegate to it instead of duplicating the dispatch logic. Rename fast-path.ts to value-completions.ts and split routing.ts into value-completions.ts (getValueCompletions) and command-completions.ts (getCommandCompletions + helpers). The new names describe what each module completes rather than which path it sits on. Drop pure pass-through wrapper lambdas in per-command completion.ts files where signatures are compatible. Add 51 unit tests across metadata, both value-completion entry points, the command-completions helpers, and the providers.
by FrozenPandaz
F
Failed
34951
Fix applied
→
845ac572 cleanup(core): consolidate shell completion dispatch and add tests Extract shared positional/flag-value dispatch into `resolveCompletion` in metadata.ts. Both entry points (bin/nx.ts and the yargs fallback in nx-commands.ts) now delegate to it instead of duplicating the dispatch logic. Rename fast-path.ts to value-completions.ts and split routing.ts into value-completions.ts (getValueCompletions) and command-completions.ts (getCommandCompletions + helpers). The new names describe what each module completes rather than which path it sits on. Drop pure pass-through wrapper lambdas in per-command completion.ts files where signatures are compatible. Add 51 unit tests across metadata, both value-completion entry points, the command-completions helpers, and the providers.
by FrozenPandaz
F
Succeeded
34951
eee22057 feat(core): fast-path shell completion via lightweight registrations Move each command's registerCompletion call into a sibling completion.ts file that imports only the metadata helpers and providers it needs, then load all of them through a single registrations barrel. bin/nx.ts now consults a fast path before falling back to the full nx-commands surface. When a TAB lands in a registered metadata path (project/target names, generators, flag values), the fast path emits completions and exits without loading the 35 command-object files, cutting completion time from ~135ms to ~80ms.
by Jason Jean
J
Failed
34951
Flaky task
→
eee22057 feat(core): fast-path shell completion via lightweight registrations Move each command's registerCompletion call into a sibling completion.ts file that imports only the metadata helpers and providers it needs, then load all of them through a single registrations barrel. bin/nx.ts now consults a fast path before falling back to the full nx-commands surface. When a TAB lands in a registered metadata path (project/target names, generators, flag values), the fast path emits completions and exits without loading the 35 command-object files, cutting completion time from ~135ms to ~80ms.
by Jason Jean
J
Succeeded
34951
ab192a9c cleanup(core): improve shell completion fidelity for nested commands - Filter `nx <infix-target> <TAB>` (build, serve, test, etc.) to only list projects that actually have the matching target — previously showed every project in the workspace. - Bypass yargs's defaultCompletion for matched commands. Yargs's recursion (reset() + builder() + .argv) wipes our boolean-flag declaration on the inner instance and triggers help-text printing for run-many/affected. Walk subcommands + options manually instead. - Strip name:description format for non-zsh shells. Bash's compgen -W inserts the whole `name:description` literal as completion text; zsh's _describe parses it correctly. Detect SHELL/ZSH_NAME and emit the appropriate format.
by Jason Jean
J
Failed
34951
Flaky task
→
ab192a9c cleanup(core): improve shell completion fidelity for nested commands - Filter `nx <infix-target> <TAB>` (build, serve, test, etc.) to only list projects that actually have the matching target — previously showed every project in the workspace. - Bypass yargs's defaultCompletion for matched commands. Yargs's recursion (reset() + builder() + .argv) wipes our boolean-flag declaration on the inner instance and triggers help-text printing for run-many/affected. Walk subcommands + options manually instead. - Strip name:description format for non-zsh shells. Bash's compgen -W inserts the whole `name:description` literal as completion text; zsh's _describe parses it correctly. Detect SHELL/ZSH_NAME and emit the appropriate format.
by Jason Jean
J
Succeeded
34951
965de508 cleanup(core): improve shell completion fidelity for nested commands - Filter `nx <infix-target> <TAB>` (build, serve, test, etc.) to only list projects that actually have the matching target — previously showed every project in the workspace. - Bypass yargs's defaultCompletion for matched commands. Yargs's recursion (reset() + builder() + .argv) wipes our boolean-flag declaration on the inner instance and triggers help-text printing for run-many/affected. Walk subcommands + options manually instead. - Strip name:description format for non-zsh shells. Bash's compgen -W inserts the whole `name:description` literal as completion text; zsh's _describe parses it correctly. Detect SHELL/ZSH_NAME and emit the appropriate format.
by Jason Jean
J
Succeeded
34951
1923c1c2 cleanup(core): switch shell completion to yargs's .completion() API Previously bin/nx.ts intercepted --get-yargs-completions and bypassed yargs. Now yargs's .completion() callback handles the request — auto-enumerating commands, subcommands, and options — while we layer project/target completions on top via the 4-arg fallback callback. - bin/nx.ts: early shortcut that skips workspace init but lets yargs handle the parse - nx-commands.ts: parser-config carve-out (strip-dashed off for completion runs), declare the magic flag as boolean so yargs's parser doesn't eat the next arg, and register the completion callback - completion/scripts.ts: new file with bash/zsh/fish script generators, lazy-loaded by command-object.ts via handleImport - completion/routing.ts: project/target routing brain, renamed from fast-complete.ts (no longer the bin entry) - completion/command-object.ts: slim to yargs wiring + handleImport - completion-handler.ts: deleted (logic absorbed into routing.ts)
by Jason Jean
J
Previous page
Previous
Next
Next page