Skip to content

fix: dry-run correctness, verbose output gating, and CLI flag polish (v0.4.2)#16

Merged
masonlet merged 22 commits into
mainfrom
fix/output
Jul 3, 2026
Merged

fix: dry-run correctness, verbose output gating, and CLI flag polish (v0.4.2)#16
masonlet merged 22 commits into
mainfrom
fix/output

Conversation

@masonlet

@masonlet masonlet commented Jul 3, 2026

Copy link
Copy Markdown
Member

Changes

Continuation of #15 PR

Behavior changes

  • Per-step output (Creating/Done/Finished...) now only prints under --verbose.
  • Workspace clean no longer deletes node_modules for npm workspaces, too
    aggressive/unprompted. May return later behind an explicit flag.
  • --clean was a silent no-op for npm projects; now warns under --verbose.

CLI changes

  • Added --version.
  • Short flags reshuffled: -v--verbose, -b moved from --build-type
    to --build, -p added for --profile.
  • Help output grouped under headings (Connection/Build/Mono-repo/Diagnostics);
    fixed --build doc comment not showing in --help.

Fixes

  • build_project called with swapped build_path/source_path args in mono mode.
  • Removed duplicate "Detecting build system" header.
  • --no-dry-run conflicted with itself instead of --dry-run.
  • Corrected stale --init-config/--profile-add references in help/error text.
  • Mono dry-run with a forced --build-system wrote real config/wrap/watch
    files and spawned a real process instead of just reporting what would
    happen.
  • Single-repo dry-run with a forced --build-system printed "Project
    finished" instead of "Would finish".
  • Fixed a duplicate blank line before the final message in npm builds
    (--no-build, non-verbose), npm had no equivalent to cmake/meson's
    "Creating build directory" line to separate two independently-printed
    section breaks.

Internal

  • Removed configure_and_build (folded into build_project).
  • Flattened workspace path/mono_dir/build_dir into shared WorkspaceTarget.
  • Extracted io_error_msg and detect_or_dry_run helpers.
  • Generalized dry_run_or_do to take IoCtx/RunFlags instead of the full
    RunCtx, so it can be reused by config/wrap/watch generators that don't
    have a Runner.
  • generate_watch_scripts returns bool so watch scripts only open when generated.
  • Clarified run() # Errors doc.

masonlet added 22 commits July 2, 2026 13:11
@masonlet
masonlet merged commit 3eee68b into main Jul 3, 2026
10 checks passed
@masonlet
masonlet deleted the fix/output branch July 3, 2026 07:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant