Last 12 weeks · 30 commits
1 of 6 standards met
Summary Problem After #103, config updates preserve existing fields, but each update adds an extra empty line to . This leaves the Git working tree dirty after every deployment. Changes Write the output from directly, since it already preserves the config's trailing whitespace. Tests Added a regression test that updates the same config twice and verifies that no blank lines accumulate.
Summary Problem updates the and fields in the config. However, it doesn't preserve other fields in the block. For example, after running this config: becomes just Changes The solution is to update the and fields directly rather than replacing the entire block. Tests Since is not exported, the new behaviour is tested via executing the deploy handler.
Problem (in ) eagerly calls , whose recursive downward file walk builds the deploy upload manifest for every command. But read-only commands — , , , , , reads — never use that manifest. Only the upload path (, ) does. When a read-only command is run from a large directory tree (a home directory, or a repo with a big /cache), the walk dominates and the command effectively hangs, producing no output. This is especially painful for AI agents and CI, which the CLI explicitly supports (). The documented way to discover the org for constructing the URL is: …which times out with empty stdout when the cwd is large. Reproduction `` — used directly. Read-only commands are now instant regardless of the working directory's size. Verification from : exit 124 (hang) before → exit 0 instantly after, correct org returned. Full end-to-end + deploy with the patched CLI: files uploaded, app served at , clean exit. , , , and the test suite pass. Test Adds a regression test in that builds a large tree and asserts a read-only action (one that never reads ) is markedly cheaper than one that does. It fails before this change (both walked eagerly) and passes after**.
Repository: denoland/deploy-cli. Description: CLI for deploy Stars: 2, Forks: 5. Primary language: TypeScript. Languages: TypeScript (91.1%), Rust (6.5%), Astro (2.2%), JavaScript (0.1%), Shell (0%). Open PRs: 3, open issues: 2. Last activity: 1mo ago. Community health: 25%. Top contributors: crowlKats, lucacasonato, crowlbot, tcerqueira, kt3k, piscisaureus, magurotuna, uriva, dsherret, devsnek and others.