1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-28 16:20:57 -05:00
denoland-deno/cli
Kira ca9ba87d99
fix(cli) error gracefully when script arg is not present and --v8-flags is present in deno run (#20145)
Fix #20022, fix #19627 (duplicate)

#17333 upgraded clap from version 3.1 to version 4. clap version 3.2.0
(intentionally) broke a behavior that deno was relying on to make `deno
run --v8-flags=--help` work without specifying a file, see
clap-rs/clap#3793. The workaround was to make the script argument
required _unless_ `--v8-flags` is present. This broke the expectation
that all successfully parsed `run` commands have the script argument
set, leading to the panic on
`matches.remove_many::<String>("script_arg").unwrap()`.

Clap, as far as I was able to find out, does not currently offer a neat
solution to this problem. This PR adds logic to create and return a
custom clap error when a parsed run command does not have the script
argument.

I added an appropriate test.
2023-08-13 04:04:17 +02:00
..
args fix(cli) error gracefully when script arg is not present and --v8-flags is present in deno run (#20145) 2023-08-13 04:04:17 +02:00
bench chore: upgrade to dprint 0.39 (#19768) 2023-07-08 18:34:08 +00:00
cache refactor: use deno_cache_dir crate (#20092) 2023-08-08 14:23:02 +00:00
js fix(test): handle ASCII escape chars in test name (#20081) 2023-08-10 01:40:34 +02:00
lsp refactor(cli): move snapshot_from_lockfile function to deno_npm (#20024) 2023-08-08 10:07:29 -07:00
napi chore: forward v1.36.1 to main (#20119) 2023-08-10 16:44:41 +03:00
npm chore: rename some helpers on the Fs trait (#20097) 2023-08-08 16:28:18 -04:00
ops build: allow disabling snapshots for dev (#20048) 2023-08-06 01:47:15 +02:00
schemas feat(unstable): rename deno_modules to vendor (#20065) 2023-08-06 21:56:56 -04:00
standalone refactor(runtime): use new fd methods from resource table (#20010) 2023-08-01 14:48:39 -04:00
tests chore: deno_core -> 0.201.0 (#20135) 2023-08-12 19:04:45 +00:00
tools feat(unstable): rename deno_modules to vendor (#20065) 2023-08-06 21:56:56 -04:00
tsc feat(permissions): add "--deny-*" flags (#19070) 2023-08-03 13:19:19 +02:00
util feat(unstable): rename deno_modules to vendor (#20065) 2023-08-06 21:56:56 -04:00
auth_tokens.rs chore: upgrade to Rust 1.67 (#17548) 2023-01-27 10:43:16 -05:00
build.rs build: remove redundant rerun-if-changed for compiler snapshot (#20094) 2023-08-08 09:21:54 +02:00
Cargo.toml chore: forward v1.36.1 to main (#20119) 2023-08-10 16:44:41 +03:00
deno.ico fix(cli): add icon and metadata to deno.exe on Windows (#6693) 2020-07-15 21:54:38 +02:00
deno_std.rs chore: forward v1.36.1 to main (#20119) 2023-08-10 16:44:41 +03:00
emit.rs refactor(lsp): move config file related code to config.rs (#19790) 2023-07-10 21:45:09 +00:00
errors.rs feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
factory.rs refactor: use deno_cache_dir crate (#20092) 2023-08-08 14:23:02 +00:00
file_fetcher.rs refactor: use deno_cache_dir crate (#20092) 2023-08-08 14:23:02 +00:00
graph_util.rs feat(unstable): optional deno_modules directory (#19977) 2023-08-02 00:49:09 +00:00
http_util.rs feat(unstable): add more options to Deno.createHttpClient (#17385) 2023-05-21 03:43:54 +02:00
js.rs build: allow disabling snapshots for dev (#20048) 2023-08-06 01:47:15 +02:00
main.rs fix(lint): allow to use --rules with --rules-tags (#19754) 2023-07-25 17:24:06 -04:00
module_loader.rs chore: rename some helpers on the Fs trait (#20097) 2023-08-08 16:28:18 -04:00
node.rs chore: rename some helpers on the Fs trait (#20097) 2023-08-08 16:28:18 -04:00
README.md docs(cli): do not need gen doc for cli (#17260) 2023-01-04 13:19:58 +01:00
resolver.rs feat: top level package.json install when node_modules dir is explicitly opted into (#19233) 2023-05-23 18:51:48 -04:00
version.rs refactor: make version and user_agent &'static str (#18400) 2023-03-23 23:27:58 +01:00
worker.rs build: allow disabling snapshots for dev (#20048) 2023-08-06 01:47:15 +02:00

Deno CLI Crate

crates

This provides the actual deno executable and the user-facing APIs.

The deno crate uses the deno_core to provide the executable.