[NO-JIRA][nx][ci] Promote token-sync to its own backpack-token-sync Nx project; drop npx in CI#4537
Open
Gert-Jan Vercauteren (gert-janvercauteren) wants to merge 1 commit into
Conversation
…t; drop npx in CI Move token-sync/ → libs/backpack-token-sync/ as a self-contained Nx project (workspace name bpk-token-sync, project name backpack-token-sync). Targets tokens-fetch / tokens-build-css / tokens-sync / lint / typecheck / test live in the project's project.json with scoped inputs and outputs; root npm scripts (tokens:fetch etc.) become thin wrappers over nx. The sync-figma-variables GHA workflow now runs the project's nx targets directly. While there, replace npx with ./node_modules/.bin/* across all workflows that have npm ci available, so CI never resolves binaries from the registry: _build.yml (nx affected build/lint/typecheck/test) and sync-figma-code-connect.yml (which previously had no npm ci at all and pulled @figma/code-connect fresh on every run — now installs via npm ci and uses the local figma binary). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot started reviewing on behalf of
Gert-Jan Vercauteren (gert-janvercauteren)
May 22, 2026 07:11
View session
|
Visit https://backpack.github.io/storybook-prs/4537 to see this build running in a browser. |
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.
Summary
token-sync/→libs/backpack-token-sync/as a self-contained Nx project (workspace namebpk-token-sync, project namebackpack-token-sync). Targetstokens-fetch/tokens-build-css/tokens-sync/lint/typecheck/testlive in the project'sproject.jsonwith scoped inputs and outputs. Root npm scripts (tokens:fetchetc.) become thin wrappers overnx run …so existing callers keep working. Thesync-figma-variablesworkflow now invokes the project's nx targets directly.npxfrom CI to remove a supply-chain footgun. All workflows that already runnpm cinow call./node_modules/.bin/<bin>instead ofnpx, so binaries are resolved exclusively from the lockfile-pinned local install._build.yml(4×nx affected …) andsync-figma-variables.yml(nx run backpack-token-sync:…) updated.sync-figma-code-connect.ymlwas the worst offender — it had nonpm cistep at all and pulled@figma/code-connectfresh from the registry on every run; it now installs deps the standard way and uses the localfigmabinary.Not addressed in this PR:
release.ymlstill hasnpx @supernovaio/cli …inSupernovaPublish. That package isn't in ourdevDependenciesand the job has nonpm ci, so fixing it is a slightly larger change worth its own PR.Validated locally:
nx run backpack-token-sync:typecheck✅,:lint✅,:test(203 tests) ✅,npm run tokens:build-css✅.Test plan
nx run backpack-token-sync:typechecknx run backpack-token-sync:lintnx run backpack-token-sync:testnpm run tokens:build-css(root alias still works)_build.yml,sync-figma-variables.yml, andsync-figma-code-connect.ymlall passSync Figma variablesworkflow once after merge to confirm the renamed nx target runs end-to-end🤖 Generated with Claude Code