Make npm bootstrap resumable - #154
Closed
taras wants to merge 2 commits into
Closed
Conversation
PR #154: Make npm bootstrap resumable3 files, +334 / -13 Scope✅ PR scope looks good. Structural🟡 1 console statements. Slop✅ Slop indicators look low. Static Analysis✅ Oxlint found no issues. CorrectnessNo extraneous code patterns detected. |
This was referenced Aug 2, 2026
Owner
Author
|
Superseded by #308, which closes #276. That PR rebuilds this document on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
New workspace packages need an npm package record before GitHub Actions can be
configured as their trusted publisher. A completed npm web-auth flow can leave
the bootstrap version published while the invoking command fails before
configuring trust, making the original bootstrap script impossible to rerun.
What changes
Before:
After:
bootstrap state and configures trusted publishing.
Volta-compatible workflow.
How it works
Review guide
Start with:
scripts/bootstrap-npm-package.mdThen review:
and an unexpected existing package.
configures trusted publishing.
scripts/tests/bootstrap-npm-package.test.ts, which drives each state witha fake npm command.
Look carefully at:
latest.What must stay true
0.0.0-bootstrap.0under thebootstrapdist-tag is resumable — thescript validates both before skipping publication.
tagged release remains responsible for
latest.publish-packages.yml, the repository,and the
npm-publishenvironment.How to verify it
expected bootstrap packages resume with no second publish, unexpected
versions fail safely, and a package sitting at
0.0.0-bootstrap.0undersome other dist-tag is rejected with the expected-tag diagnostic without
publishing or configuring trust. Disabling the dist-tag guard fails that
fourth case alone, so it does not overlap the other three.
deno task lintpasses.deno task check:jsrpasses.The canonical
deno task checkanddeno task testare blocked locally by anuntracked
.claude/worktrees/issue-140-workspace-task-scopecheckout that Denodiscovers and type-checks. Its pre-existing errors are outside this diff.
Scope
Included
Intentionally unchanged
Risks and limitations
materializes its shell block until Make executable code blocks use the CLI timeout #153 removes the code-block timeout.
Scope confirmation