Skip to content

Update completion spec: deno (deno) - #339

Merged
acarl005 merged 2 commits into
mainfrom
command-spec-deno
Aug 17, 2026
Merged

Update completion spec: deno (deno)#339
acarl005 merged 2 commits into
mainfrom
command-spec-deno

Conversation

@warp-agent-staging

@warp-agent-staging warp-agent-staging Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Refreshes the completion spec for deno, per feedback in warpdotdev/warp#4521 noting json/deno.json has drifted from a pre-Deno-2 CLI shape.

Changes

  • Adds 9 subcommands that exist in Deno 2.9.5 but were missing from the spec: add, clean, init, jupyter, outdated, publish, remove, serve, update.
  • update is added as its own subcommand, not folded into upgrade. They are different: upgrade upgrades the deno executable itself; update is a real, documented alias for deno outdated --update and updates project dependencies. This distinction was the concrete gap called out in the linked issue's discussion.
  • vendor is kept as a deprecated stub subcommand (see "Revision" below for why this was reversed mid-review) with an accurate "removed" description and none of its old Deno-1 vendoring options.
  • Existing subcommands (bench, bundle, cache, check, compile, completions, coverage, doc, eval, fmt, info, install, uninstall, lsp, lint, repl, run, task, test, types, upgrade, help) are left as-is. bundle and cache were specifically checked and are both still valid, functioning commands in 2.9.5. A full flag-by-flag audit of every existing subcommand's options was out of scope for this pass.

Source of option data

Installed Deno 2.9.5 in the sandbox (curl -fsSL https://deno.land/install.sh | sh) and used it as the authoritative source:

  • deno --help for the current curated top-level command list.
  • deno completions bash, which embeds a full, machine-readable list of every subcommand the CLI actually registers (including hidden ones like types/lsp/completions/vendor), used to cross-check for anything the curated --help omits.
  • deno <subcommand> --help for each touched subcommand's own options (add, remove, serve, init, jupyter, outdated, update, publish, clean, plus bundle, cache, vendor, upgrade to confirm their current status).

Revision

Addressed review findings:

  • deno clean was missing --node-modules-dir, --node-modules-linker, and --vendor (all present in deno clean --help's "Dependency management options"). Added.
  • deno publish was missing --env-file, --check, and --no-check (all present in deno publish --help). Added.
  • deno update was missing --compatible, --minimum-dependency-age, and --env-file (all present in deno update --help). Added.
  • Several required option values (jupyter --conn/--name/--display, publish --set-version/--token/--config, remove --root, serve --port/--host/--config) were incorrectly marked optional; deno's own --help shows these as required <VALUE> forms with no brackets. Fixed.
  • The four new --frozen flags (add, outdated, remove, update) were missing their documented optional [=<BOOLEAN>] value. Added, with true/false suggestions.
  • deno init's positional argument was constrained to the folders template, but it also accepts a JSR/npm package name. Removed the folder-only template.
  • vendor reversal: this PR originally removed vendor entirely since Deno 2 removed its functionality. On further review, deno vendor --help still prints a real usage line and deno completions bash still emits a deno__vendor shell-completion function on 2.9.5 — so the user's shell still completes vendor, and Warp regressing behind that contradicts the motivating complaint (Warp completing less than the shell). vendor is restored as a stub subcommand with an accurate "removed" description, -h/-q/--unstable only, and none of its old vendoring-specific options.

Verification

  • npm run format:check — passes
  • cargo fmt -p warp-command-signatures -p warp-completion-metadata --check — passes
  • cargo clippy -p warp-command-signatures -p warp-completion-metadata --all-targets --all-features -- -D warnings — passes
  • cargo test --verbose — all 176+ tests pass (spec deserializes correctly)
  • No generators were added or changed, so no Warp-client, computer-use screenshot verification is needed for this PR.

Follow-up

This spec isn't usable in the Warp client until warpdotdev/warp's Cargo.toml warp-command-signatures git pin is bumped to a commit that includes this merged spec. That pin bump is a separate, follow-up change (it can only point at an already-merged commit in this repo).

Refresh json/deno.json for Deno 2.9.5, which had drifted from a
pre-Deno-2 CLI shape:

- Remove the 'vendor' subcommand: 'deno vendor was removed in Deno 2'
  per its own --help output.
- Add 9 subcommands that exist in the current CLI but were missing
  from the spec: add, clean, init, jupyter, outdated, publish,
  remove, serve, and update.
- 'update' is a distinct, real subcommand (alias for
  'deno outdated --update'), not a duplicate of 'upgrade' (which
  upgrades the deno executable itself). This was the concrete gap
  named in warpdotdev/warp#4521.

Verified against a locally installed Deno 2.9.5 via 'deno --help',
'deno <sub> --help' for each touched subcommand, and
'deno completions bash' as a machine-readable list of every
subcommand the CLI actually registers. Existing subcommands (bench,
bundle, cache, check, compile, completions, coverage, doc, eval, fmt,
info, install, uninstall, lsp, lint, repl, run, task, test, types,
upgrade, help) are left as-is; a full flag-by-flag audit of those was
out of scope for this pass.

Co-Authored-By: Warp <agent@warp.dev>
@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

This PR was generated with Warp.

Comment @warp-agent on this PR to send it follow-up work.

View run View conversation

@acarl005
acarl005 marked this pull request as ready for review August 17, 2026 19:54
@oz-for-oss

oz-for-oss Bot commented Aug 17, 2026

Copy link
Copy Markdown

@acarl005

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@oz-for-oss oz-for-oss Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR refreshes the Deno completion spec by replacing the removed vendor command with newly supported Deno 2.x subcommands.

Concerns

  • Several newly added command specs omit documented options from Deno's current CLI reference, so the refreshed completions would still be incomplete for clean, publish, and update.
  • No approved repository spec context was available for implementation/spec comparison.
  • The diff adds no code comments or tests to audit against repository conventions.

Verdict

Found: 0 critical, 3 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread command-signatures/json/deno.json
Comment thread command-signatures/json/deno.json
Comment thread command-signatures/json/deno.json

@warp-agent-staging warp-agent-staging Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

Refreshes deno.json for Deno 2.x, adding the modern subcommands and the missing update. One open question needs a human call; the rest of this review's findings were unambiguous and are being fixed directly.

Concerns

  • This drops the vendor block because Deno 2 removed the command, but deno vendor --help in 2.9.5 still prints a usage line and deno completions bash still emits a deno__vendor function, so removing it means Warp stops completing something the user's own shell completes. Both readings are defensible: keep the catalog honest about what Deno 2 actually supports, or keep vendor as a deprecated entry whose description points at the migration. @acarl005, your call — we will implement whichever you pick.

Verdict

Checks: build pass, tests pass, CI green, visual proof n/a

Found: 0 critical, 0 important, 0 suggestions, 0 nits, 1 question

Responding as wilson: Open session · View factory task

…store vendor stub

- jupyter --conn/--name/--display, publish --set-version/--token/
  --config, remove --root, serve --port/--host/--config: drop
  isOptional from these args. Deno's own --help shows these as
  required <VALUE> forms (no brackets), so marking them optional let
  the completer suggest the bare flag as complete.
- add/outdated/remove/update --frozen: add the optional --frozen[=
  <BOOLEAN>] value with true/false suggestions, matching --help.
- deno clean: add --node-modules-dir, --node-modules-linker, and
  --vendor, which 'deno clean --help' lists under "Dependency
  management options" and the previous commit omitted.
- deno publish: add --env-file, --check, and --no-check, all present
  in 'deno publish --help' but missing from the spec. Also drop
  isOptional from -c/--config's arg (required, not bracketed).
- deno update: add --compatible, --minimum-dependency-age, and
  --env-file, all present in 'deno update --help' (an alias for
  'deno outdated --update') but missing from the spec.
- deno init: remove the folders-only template on the positional arg,
  since it also accepts a JSR/npm package name, not just a directory.
- Restore 'vendor' as a deprecated stub subcommand. Reversing the
  previous commit's removal: verified 'deno vendor --help' still
  prints 'Usage: deno vendor [OPTIONS]' (with only -h/-q/--unstable,
  no real vendoring options) and 'deno completions bash' still emits
  a deno__vendor function, so the user's shell still completes
  'vendor' even though Deno 2 removed its functionality. Warp should
  not regress behind what shells already complete, so the stub stays
  with an accurate 'removed' description and none of the old
  vendoring-specific options.

Co-Authored-By: Warp <agent@warp.dev>
@acarl005
acarl005 merged commit ac69f9b into main Aug 17, 2026
8 checks passed
@acarl005
acarl005 deleted the command-spec-deno branch August 17, 2026 20:21
acarl005 pushed a commit to warpdotdev/warp that referenced this pull request Aug 17, 2026
…eno (#15248)

## Description
Bumps the `warp-command-signatures` git pin in `Cargo.toml` (and
regenerates `Cargo.lock`) from `d79e09c4` to `ac69f9b0` in
[warpdotdev/command-signatures](https://github.com/warpdotdev/command-signatures),
bringing three merged completion-spec PRs into the client, per
[#4521](#4521):

- [`mpv`
(#338)](warpdotdev/command-signatures#338) — new
spec, commit `8529104`
- [`ruff`
(#340)](warpdotdev/command-signatures#340) — new
spec, commit `97ee925`
- [`deno`
(#339)](warpdotdev/command-signatures#339) —
refreshed for Deno 2.9.5, commit `ac69f9b`

These are the **only** three commits between the old and new rev (`git
log d79e09c..ac69f9b` in command-signatures), so this bump does not pull
in anything beyond the three PRs above.

## Linked Issue
- [x] N/A — this is a dependency pin bump that lands work already
reviewed and merged in a separate repo, not a change tied to a
`ready-to-implement` issue in this repo.
- [ ] Where appropriate, screenshots or a short video of the
implementation are included below (especially for user-visible or UI
changes).

## Testing
<!-- No functional Rust source changed: this is a
Cargo.toml/Cargo.lock-only change. -->
- `Cargo.lock` is regenerated via `cargo check -p warp_completer` (not
hand-edited). The diff touches **only** the two
`warp-command-signatures`/`warp-completion-metadata` `source =` lines —
verified with `git --no-pager diff master -- Cargo.lock | grep -i
windows` returning empty (an earlier revision of this PR used `cargo
update -p warp-command-signatures --precise <rev>`, which in the sandbox
this was built in also rewrote unrelated
`windows-sys`/`windows-core`/`base64` dependency edges to older
versions; `cargo check` reproduces cleanly without that churn and was
used instead).
- Ran a targeted `cargo check -p warp_completer` (the crate that loads
these specs via `warp_command_signatures::signature_by_name`, in
`crates/warp_completer/src/signatures/legacy/mod.rs`) — succeeded with
no errors, and is stable on a second run (no further lock changes).
- Directly confirmed the vendored git checkout cargo actually built from
(`~/.cargo/git/checkouts/command-signatures-*/ac69f9b/command-signatures/json/`)
contains `mpv.json`, `ruff.json`, and the updated `deno.json`, so the
pin resolves to the intended tree rather than silently landing on the
wrong commit.
- Did **not** run a full workspace build or `./script/run` — a full
build is too heavy for this sandbox, and there is no UI change to
exercise manually. CI should carry full-build validation.

- [ ] I have manually tested my changes locally with `./script/run`

### Screenshots / Videos
N/A — no UI change; this only updates completion spec data.

## Agent Mode
- [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode

<!--
CHANGELOG-IMPROVEMENT: Added shell completions for `mpv` and `ruff`, and
refreshed `deno` completions for Deno 2.
-->

<!-- warp:pr-description-artifacts start -->
<!-- warp:pr-description-artifacts end -->

Co-authored-by: warp-agent-staging[bot] <240773466+warp-agent-staging[bot]@users.noreply.github.com>
Co-authored-by: Warp <agent@warp.dev>
iamwavecut pushed a commit to iamwavecut/warp that referenced this pull request Aug 18, 2026
…eno (warpdotdev#15248)

## Description
Bumps the `warp-command-signatures` git pin in `Cargo.toml` (and
regenerates `Cargo.lock`) from `d79e09c4` to `ac69f9b0` in
[warpdotdev/command-signatures](https://github.com/warpdotdev/command-signatures),
bringing three merged completion-spec PRs into the client, per
[warpdotdev#4521](warpdotdev#4521):

- [`mpv`
(warpdotdev#338)](warpdotdev/command-signatures#338) — new
spec, commit `8529104`
- [`ruff`
(warpdotdev#340)](warpdotdev/command-signatures#340) — new
spec, commit `97ee925`
- [`deno`
(warpdotdev#339)](warpdotdev/command-signatures#339) —
refreshed for Deno 2.9.5, commit `ac69f9b`

These are the **only** three commits between the old and new rev (`git
log d79e09c..ac69f9b` in command-signatures), so this bump does not pull
in anything beyond the three PRs above.

## Linked Issue
- [x] N/A — this is a dependency pin bump that lands work already
reviewed and merged in a separate repo, not a change tied to a
`ready-to-implement` issue in this repo.
- [ ] Where appropriate, screenshots or a short video of the
implementation are included below (especially for user-visible or UI
changes).

## Testing
<!-- No functional Rust source changed: this is a
Cargo.toml/Cargo.lock-only change. -->
- `Cargo.lock` is regenerated via `cargo check -p warp_completer` (not
hand-edited). The diff touches **only** the two
`warp-command-signatures`/`warp-completion-metadata` `source =` lines —
verified with `git --no-pager diff master -- Cargo.lock | grep -i
windows` returning empty (an earlier revision of this PR used `cargo
update -p warp-command-signatures --precise <rev>`, which in the sandbox
this was built in also rewrote unrelated
`windows-sys`/`windows-core`/`base64` dependency edges to older
versions; `cargo check` reproduces cleanly without that churn and was
used instead).
- Ran a targeted `cargo check -p warp_completer` (the crate that loads
these specs via `warp_command_signatures::signature_by_name`, in
`crates/warp_completer/src/signatures/legacy/mod.rs`) — succeeded with
no errors, and is stable on a second run (no further lock changes).
- Directly confirmed the vendored git checkout cargo actually built from
(`~/.cargo/git/checkouts/command-signatures-*/ac69f9b/command-signatures/json/`)
contains `mpv.json`, `ruff.json`, and the updated `deno.json`, so the
pin resolves to the intended tree rather than silently landing on the
wrong commit.
- Did **not** run a full workspace build or `./script/run` — a full
build is too heavy for this sandbox, and there is no UI change to
exercise manually. CI should carry full-build validation.

- [ ] I have manually tested my changes locally with `./script/run`

### Screenshots / Videos
N/A — no UI change; this only updates completion spec data.

## Agent Mode
- [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode

<!--
CHANGELOG-IMPROVEMENT: Added shell completions for `mpv` and `ruff`, and
refreshed `deno` completions for Deno 2.
-->

<!-- warp:pr-description-artifacts start -->
<!-- warp:pr-description-artifacts end -->

Co-authored-by: warp-agent-staging[bot] <240773466+warp-agent-staging[bot]@users.noreply.github.com>
Co-authored-by: Warp <agent@warp.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant