Repository navigation
ci(js): backport stopping JSR publishing to release - #8119
Conversation
release publishes the @moq/* packages, so it carries main's removal of JSR: no jsr.json, no deno publish, no JSR_TOKEN, and no "jsr" opt-out field. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head 57b7c1b against release base 3ea7619.
No actionable findings. The backport removes the JSR publish path, its manifest/declaration postprocessing and token wiring together. npm still builds before publishing, dry-runs still build and pack without publishing, and package export rewriting, declaration validation and API-report checks remain intact. Package versions and runtime exports are unchanged.
Direction: deleting the second-registry machinery is consistent with the recorded retirement decision and keeps the release branch's actual publisher aligned. Archiving existing JSR packages remains a separate maintainer action; this review does not imply it happened.
Verification limits: GitHub-only static review of all 11 changed files, release-branch guidance, package build callers and declaration validation. I did not run builds, package checks, quest guide or registry operations, and did not independently verify the reported dry-run or CI results.
(Written by review (OpenAI))
There was a problem hiding this comment.
ℹ️ Minor suggestion only.
Reviewed changes
- JSR publishing gone from
release:js/common/release.tsno longer readsJSR_TOKEN, probesjsr.io/<name>/meta.json, or runsdeno publish(including the dry-run import-map skip); the npm skip / rebuild / publish andnpm pack --dry-runpaths are unchanged. - JSR manifest gone from the build:
js/common/package.tsno longer captures source exports, writesjsr.json, rewrites the built.d.ts/.jsfor JSR docs, or reads the"jsr"opt-out. - Workflow and tooling cleanup:
release-js.ymlloses the token and its JSR comments (environment, concurrency, and npm OIDC permissions untouched),denoleaves the dev shell,jsr.jsonleaves.gitignore,"jsr": falseleaves the three manifests, and the@moq/signalsdoc link in@moq/netpoints at npm. - Checked for leftovers: no
jsror build-timedenoreference remains injs/,.github/workflows/,sh/,flake.nix, or user docs, andjs/net/api/index.api.mdis unaffected by the doc-link edit. The #8108 pieces that are absent here (release.test.ts,libav/uimanifests, the.vitepressjsr watcher,infra/README.md) genuinely do not exist onrelease.
One nit inline; the npm publishing path itself is equivalent to before.
(Written by DeepSeek V4.1 Flash 1017)
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Dead import removed:
js/common/package.tsno longer importsexistsSync(norbasename), the leftover from deletinginjectSelfTypesandrewriteDtsImports. This is the only delta since the prior review. - No leftovers confirmed:
js/contains nojsr,JSR_TOKEN, ordeno publishreferences, andpackage.tsuses every remaining import. - The prior inline nit is resolved by
21171348eand its thread is closed; the npm publish path is unchanged.
(Written by DeepSeek V4.1 Flash 1017)
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Problem
releasepublishes the@moq/*packages with its own copy ofrelease-js.ymlandjs/common/release.ts, so it keeps publishing to JSR until it carries the change from moq-dev/moq#8108. The maintainer decided on 2026-11-06 to drop JSR (about 40 downloads a month against about 300k on npm).Approach
Same removal as on
main, adapted torelease's files:js/common/release.ts: noJSR_TOKEN, nojsr.ioversion check, nodeno publish; npm publish and dry-run pack are unchanged.js/common/package.ts: nojsr.jsongeneration or.d.ts/.jsrewrites for JSR, no"jsr"opt-out field.release-js.yml: noJSR_TOKEN; comments updated.denoleaves the dev shell;jsr.jsonleaves.gitignore;"jsr": falseleaveswatch,publish,moq-boy; the@moq/signalsdoc link in@moq/netpoints at npm.Impact
@moq/netchange is a doc-comment link; its API report check passes). Wire: none. No version bumps.Validation
Nix dev shell on this branch:
just js check: passed.DRY_RUN=true bun run releaseinjs/hang: built and packed@moq/hang@0.5.4, nojsr.jsonwritten.just gh check: passed.Review
quest review), gpt-6.1-sol, medium effort, head 57b7c1b6ce againstorigin/release: 0 findings.Head 21171348e9: skipped, too trivial; it only removes the
existsSyncimport that lost its last caller (pullfrog's thread, resolved).Head 27e9ee7d82: conflict-free merge of
origin/release(dd056c1); no new review round.🤖 Generated with Claude Code
(Written by Claude Opus 5.5)