You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(publish): stage to os.tmpdir() before pnpm publish
Working tree never mutates during publish; the staged copy is what
`pnpm publish` runs against. Eliminates a class of "interrupted
publish leaves dirty git status" incidents:
- Run `pnpm publish:ci` against the live tree.
- Operator hits Ctrl-C mid-publish (or runner times out).
- Old behavior: tree was being modified in-place; recovery awkward.
- New behavior: tmpdir cleanup unconditional via try/finally +
SIGINT/SIGTERM signal handlers; tree stays clean throughout.
Switches from `npm publish` to `pnpm publish` (matches the fleet's
package manager). Adds two flags required for tmpdir publishing:
- `--no-git-checks`: the staged tmpdir has no git history; pnpm's
default would refuse to publish without one.
- `--ignore-scripts`: the prepublishOnly guard in package.json
exists to refuse direct `pnpm publish` runs from the working
tree. The orchestrated publish already validated upstream, so the
guard's purpose is moot for the staged copy.
Local validated: `node scripts/publish.mts --dry-run --force` runs
through cleanly with working tree staying clean throughout.
0 commit comments