GitShow/denoland/deno_task_shell
denoland

deno_task_shell

Cross-platform shell for deno task.

by denoland
Star on GitHubForkWebsite

Rust

139 stars25 forks14 contributorsActive · 3w agoSince 20220.33.3MIT

Meet the team

See all 14 on GitHub →
dsherret
dsherret101 contributions
denobot
denobot55 contributions
bartlomieju
bartlomieju7 contributions
wolfv
wolfv4 contributions
magurotuna
magurotuna2 contributions
devsnek
devsnek2 contributions
ruben-arts
ruben-arts2 contributions
UltiRequiem
UltiRequiem1 contribution

Languages

View on GitHub →
Rust100%

Commit activity

Last 12 weeks · 7 commits

Full graph →

Community health

2 of 6 standards met

Community profile →
37
✓README✓License○Contributing○Code of Conduct○Issue Template○PR Template

Recent fixes

View closed PRs →
bartlomieju
fix: allow escaping operator characters in unquoted wordsMergedPR

A backslash currently only escapes a fixed set of characters (, ` `"~();&|echo one \; two';'";""a\;b".\node_modules\.bin\xcd .\foo\;echo hi;\\cd .\foo\\;echo hi\\$FOO` still escapes the dollar sign. Closes https://github.com/denoland/deno/issues/36401

bartlomieju · 3w ago
dsherret
Allow reserved words in argument positionsClosedIssue

For example: should be allowed instead of erroring.

dsherret · 1mo ago
mrgrain
fix(parser): allow reserved words in argument positionMergedPR

Fixes #148 Reserved words (, , , , etc.) were rejected wherever a bare unquoted word could appear, not just as a command name. That meant failed to parse, even though only has any special meaning as the first word of a command. POSIX (XCU 2.4 "Reserved Words", and grammar rule 7a/7b) only recognizes a word as reserved when it's unquoted and sits in a "reserved word position" — most notably , the first word of a simple command. Argument words () are always plain s, and quoting a reserved word anywhere, including command-name position, suppresses recognition entirely. This shell doesn't implement /// compound commands, so a bare reserved word as a command name is still rejected — but with a clear "Unsupported reserved word" error rather than silently becoming a nonexistent command name that fails at runtime. The fix moves the reserved-word check out of the generic word parser (which was applied to every word, argument or not) into a new , used only for the first word of . Because the check previously lived in the shared word parser, this also loosens two positions beyond argument words that were incidentally caught by it: reserved words are now accepted as env var values ( previously failed with "Invalid environment variable value"; it now parses) and as redirect targets (, ). Neither is a command name, so per POSIX neither should have been reserved-word-checked in the first place. Tested with a new test covering: all reserved words as arguments (single and multiple), reserved words as arguments to arbitrary commands, env var values, word-boundary/substring cases, quoting (full and partial) in both command-name and argument position, rejection at every command-name position in a script (after , , , , in subshells, across newlines), and case-sensitivity. Full existing test suite passes (, , ). This PR was prepared by an AI agent (Kiro) on behalf of @mrgrain. Human reviewed.

mrgrain · 1mo ago
Structured data for AI agents

Repository: denoland/deno_task_shell. Description: Cross-platform shell for deno task. Stars: 139, Forks: 25. Primary language: Rust. Languages: Rust (100%). License: MIT. Homepage: https://crates.io/crates/deno_task_shell Latest release: 0.33.3 (3w ago). Open PRs: 2, open issues: 17. Last activity: 3w ago. Community health: 37%. Top contributors: dsherret, denobot, bartlomieju, wolfv, magurotuna, devsnek, ruben-arts, UltiRequiem, Hofer-Julian, dahlia and others.

·@ofershap

Replace github.com with gitshow.dev