mirror of
https://github.com/jakejarvis/stanza.git
synced 2026-07-16 18:05:58 -04:00
- `stanza init --dry-run` no longer creates the project directory, monorepo shell, or `stanza.json`; the dry-run manifest is built with `emptyManifest` and package.json existence checks are skipped throughout `applyModule`
- Direct-fs codemods (`append-to-file`, `add-package-dep`, `set-tsconfig-paths`) now claim their region before writing so a failed `add` rolls back to true pre-apply bytes and `RegionConflictError` fires before any disk change
- `stanza remove` reads the `consumesPackages` snapshot persisted on each installed record (falling back to a live registry fetch only for legacy records), so package-dir protection holds offline and after upstream renames
- `stanza remove` only applies the legacy bare-id owner fallback when no sibling install of the same module remains, preventing one app's removal from sweeping another app's files on pre-composite-owner manifests
- `stanza doctor` no longer reports false drift for package-home modules installed with an `--app` restriction; `expectedConsumerApps` now intersects targeted apps from the manifest records
- `wrap-root-layout` resolves the framework per dispatched app, fixing multi-app projects with differing frameworks
- The codemod render context now carries `packageManager` so `{{pm}}`/`{{run …}}` templates render bun/npm/pnpm correctly instead of always defaulting to pnpm
1.4 KiB
1.4 KiB
stanza-cli
| stanza-cli |
|---|
| patch |
Fix a batch of correctness bugs found in a critical-bug sweep:
stanza init --dry-runno longer writes anything (previously it created the project directory, monorepo shell, andstanza.jsondespite saying "no files will be written").- Direct-fs codemods (
append-to-file,add-package-dep,set-tsconfig-paths) claim their region before writing, so a failedaddrolls files back to their true pre-apply bytes andRegionConflictErrorfires before any disk change. stanza remove's package-sweep guard reads theconsumesPackagessnapshot persisted on each installed record (falling back to a registry fetch only for legacy records), so apackages/<dir>/still imported by an installed module is protected even offline or after an upstream rename.stanza removeonly applies the legacy bare-id owner fallback when no sibling install of the same module remains, so removing one app's install on a pre-composite-owner manifest can no longer sweep another app's files.stanza doctorno longer reports false drift for package-home modules installed with an--apprestriction.wrap-root-layoutresolves the framework per dispatched app, fixing multi-app projects with differing frameworks.- The template/codemod render context carries the project's
packageManager, so{{pm}}/{{run …}}render bun/npm commands instead of always pnpm.