feat(publish): Sprint 1.2 — ESM-only publish-readiness for all @sigops/* packages - #1
Conversation
…s/* packages
Flip all 6 packages to ESM-only dist exports + version 1.0.0 + publishConfig
pointing at npmjs.com (public). Mirrors cluster-shared Sprint 1.1 pattern.
Changes per package:
- version: 0.1.0 → 1.0.0
- main/module → ./dist/index.js (was ./dist/index.cjs — broken: tsc doesn't
emit .cjs, so the advertised CJS entry point never existed on disk)
- exports: remove 'require' condition; reorder to types-first (ESM-only)
- Add repository field (directory: packages/<name>) — needed for publish
- Add publishConfig { registry: https://registry.npmjs.org, access: public }
Exceptions:
- @sigops/cli renamed to @sigops/dev-cli + bin renamed to 'sigops-dev' to
avoid conflict with the standalone sigops-cli repo that reserves the
'sigops' command. Rename is safe because this package has never been
published.
- @sigops/vscode-ext marked private (ships via VS Code Marketplace via
vsce, not npm). Still gets version bump + repository field.
Also adds .github/workflows/publish.yml — tag-triggered (v*.*.*) + manual
dispatch. Uses 'packageManager' field in root package.json as source of
truth for pnpm version (no 'version:' input to pnpm/action-setup — lesson
from cluster-shared PR #6). Filters vscode-ext out of publish command.
https://claude.ai/code/session_01VZPc4xQECHmaTddwaq6zf2
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 57 minutes and 0 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Sprint 1.2 — flip all 6
@sigops/*packages to ESM-only publish-readiness. Mirrorscluster-sharedSprint 1.1 pattern.Per package
version:0.1.0→1.0.0main/module→./dist/index.js(was./dist/index.cjs, which never existed on disk sincetscdoesn't emit.cjs)exports: droprequirecondition, reorder to types-first, ESM-onlyrepositoryfield withdirectory: packages/<name>(required by registries)publishConfig { registry: https://registry.npmjs.org, access: public }Exceptions
@sigops/cli→ renamed to@sigops/dev-cliwithbin: sigops-dev(wassigops). Rationale: the standalonesigops-clirepo reserves thesigopscommand — shipping two global bins with the same name would collide on install. Rename is safe because this package has never been published. Call-sites in the monorepo still reference the workspace path, not the name.@sigops/vscode-extmarked"private": true. VS Code extensions ship viavsceto the VS Code Marketplace, not npm. Still gets the version bump + repository field for consistency.Workflow
Adds
.github/workflows/publish.yml:v*.*.*tags + manual dispatchpackageManagerfield as source of truth for pnpm version (noversion:input topnpm/action-setup— lesson from cluster-shared PR #6)pnpm -r --filter='!@sigops/vscode-ext' publish --access public --no-git-checksNPM_TOKENfrom repo secretsTest plan
pnpm -r buildgreen — emits only.js/.d.ts(no stray.cjsreferences)NPM_TOKENsecret and tagsv1.0.0https://claude.ai/code/session_01VZPc4xQECHmaTddwaq6zf2