Skip to content

ci(js): backport stopping JSR publishing to release - #8119

Merged
kixelated merged 3 commits into
releasefrom
backport/jsr-retire
Nov 7, 2026
Merged

kixelated merged 3 commits into
releasefrom
backport/jsr-retire

Conversation

@kixelated

@kixelated kixelated commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

release publishes the @moq/* packages with its own copy of release-js.yml and js/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 to release's files:

  • js/common/release.ts: no JSR_TOKEN, no jsr.io version check, no deno publish; npm publish and dry-run pack are unchanged.
  • js/common/package.ts: no jsr.json generation or .d.ts/.js rewrites for JSR, no "jsr" opt-out field.
  • release-js.yml: no JSR_TOKEN; comments updated.
  • deno leaves the dev shell; jsr.json leaves .gitignore; "jsr": false leaves watch, publish, moq-boy; the @moq/signals doc link in @moq/net points at npm.

Impact

  • Public API: none (the @moq/net change is a doc-comment link; its API report check passes). Wire: none. No version bumps.
  • JSR stops receiving new versions. Once this merges, the maintainer archives the JSR packages (tracked in quest/m0/ci/jsr-retire.md).

Validation

Nix dev shell on this branch:

  • just js check: passed.
  • DRY_RUN=true bun run release in js/hang: built and packed @moq/hang@0.5.4, no jsr.json written.
  • just gh check: passed.

Review

  • Codex (quest review), gpt-6.1-sol, medium effort, head 57b7c1b6ce against origin/release: 0 findings.

Head 21171348e9: skipped, too trivial; it only removes the existsSync import 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)

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 kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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))

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ Minor suggestion only.

Reviewed changes

  • JSR publishing gone from release: js/common/release.ts no longer reads JSR_TOKEN, probes jsr.io/<name>/meta.json, or runs deno publish (including the dry-run import-map skip); the npm skip / rebuild / publish and npm pack --dry-run paths are unchanged.
  • JSR manifest gone from the build: js/common/package.ts no longer captures source exports, writes jsr.json, rewrites the built .d.ts/.js for JSR docs, or reads the "jsr" opt-out.
  • Workflow and tooling cleanup: release-js.yml loses the token and its JSR comments (environment, concurrency, and npm OIDC permissions untouched), deno leaves the dev shell, jsr.json leaves .gitignore, "jsr": false leaves the three manifests, and the @moq/signals doc link in @moq/net points at npm.
  • Checked for leftovers: no jsr or build-time deno reference remains in js/, .github/workflows/, sh/, flake.nix, or user docs, and js/net/api/index.api.md is unaffected by the doc-link edit. The #8108 pieces that are absent here (release.test.ts, libav/ui manifests, the .vitepress jsr watcher, infra/README.md) genuinely do not exist on release.

One nit inline; the npm publishing path itself is equivalent to before.

(Written by DeepSeek V4.1 Flash 1017)

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Comment thread js/common/package.ts Resolved
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

  • Dead import removed: js/common/package.ts no longer imports existsSync (nor basename), the leftover from deleting injectSelfTypes and rewriteDtsImports. This is the only delta since the prior review.
  • No leftovers confirmed: js/ contains no jsr, JSR_TOKEN, or deno publish references, and package.ts uses every remaining import.
  • The prior inline nit is resolved by 21171348e and its thread is closed; the npm publish path is unchanged.

(Written by DeepSeek V4.1 Flash 1017)

Pullfrog  | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

@kixelated
kixelated enabled auto-merge November 7, 2026 06:29
@kixelated
kixelated merged commit 9e53401 into release Nov 7, 2026
35 of 37 checks passed
@kixelated
kixelated deleted the backport/jsr-retire branch November 7, 2026 06:52
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