Skip to content

SPAR-444: publish @nulogy/tokens to GitHub Packages - #81

Merged
sskirby merged 3 commits into
mainfrom
SPAR-444-publish-to-github-packages
Jul 23, 2026
Merged

SPAR-444: publish @nulogy/tokens to GitHub Packages#81
sskirby merged 3 commits into
mainfrom
SPAR-444-publish-to-github-packages

Conversation

@sskirby

@sskirby sskirby commented Jul 22, 2026

Copy link
Copy Markdown
Member

What

Switch @nulogy/tokens publishing from public npmjs to GitHub Packages (npm.pkg.github.com), keeping the @nulogy scope.

Part of SPAR-444. Yarn allows only one registry per package scope, so @nulogy/* on npmjs and the private @nulogy/spark-ui on GitHub Packages cannot both install in PackManager. Consolidating the NDS family (@nulogy/components, @nulogy/icons, @nulogy/tokens) onto GitHub Packages resolves the conflict without exposing spark-ui publicly.

Changes

  • package.jsonpublishConfig.registry = https://npm.pkg.github.com, access: restricted
  • .github/workflows/release.yml: add packages: write; remove id-token: write (npm OIDC trusted publishing is npmjs-only, inert for GitHub Packages); authenticate @semantic-release/npm via NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }} (the plugin reads NPM_TOKEN, not NODE_AUTH_TOKEN)
  • README: install from the @nulogy GitHub Packages registry

Publishing sequencing

  • Merging this does not publish. The commit is ci:-typed, so semantic-release cuts no release on merge. The first GitHub Packages release happens on the next releasable (feat:/fix:) commit to main; the version continues from existing git tags (stays on the current major), satisfying PackManager's current range.
  • npm whoami is skipped for non-default registries, so verify needs only NPM_TOKEN present (@semantic-release/npm verify-auth.js).

Related

  • Companion PRs (all three must land together): nulogy/design-system, nulogy/nds-icons, nulogy/nds-tokens
  • Follow-up (PackManager): point the @nulogy scope at GitHub Packages and drop the file: spark-ui dependency.

Point publishing at GitHub Packages (npm.pkg.github.com) so this package
lives under the @nulogy scope alongside the private @nulogy/spark-ui. Yarn
allows only one registry per scope, so consolidating NDS onto GitHub
Packages lets spark-ui stay private without a scope conflict in PackManager.

- publishConfig.registry -> GitHub Packages; access restricted
- release workflow: add packages:write; drop the npmjs-only OIDC id-token;
  authenticate @semantic-release/npm with NPM_TOKEN = GITHUB_TOKEN
- README: install from the @nulogy GitHub Packages registry

SPAR-444

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sskirby
sskirby marked this pull request as ready for review July 22, 2026 21:24
semantic-release only publishes new versions forward, so the older versions
current consumers pin (e.g. components 19.1.3 and 15.1.4) won't exist on
GitHub Packages. This workflow_dispatch job republishes given npmjs versions
to GitHub Packages using the built-in GITHUB_TOKEN, so consumers can switch
registries without changing their pinned versions.

SPAR-444

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sskirby
sskirby force-pushed the SPAR-444-publish-to-github-packages branch from f814cd1 to 88085d7 Compare July 23, 2026 14:32
Match the decided auth approach: reference ${GITHUB_NPM_AUTH_TOKEN} (not the
generic NODE_AUTH_TOKEN) and show the PAT-free GitHub CLI setup for local reads.

SPAR-444

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sskirby
sskirby merged commit d03572e into main Jul 23, 2026
1 check passed
@sskirby
sskirby deleted the SPAR-444-publish-to-github-packages branch July 23, 2026 19:14
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.

2 participants