Skip to content

fix(create-reactive): scaffold the uuid override per chosen package manager - #104

Merged
ifaouibadi merged 2 commits into
developfrom
agent/growae-bindings-engineer-react/9445a1698c8b
Sep 2, 2026
Merged

fix(create-reactive): scaffold the uuid override per chosen package manager#104
ifaouibadi merged 2 commits into
developfrom
agent/growae-bindings-engineer-react/9445a1698c8b

Conversation

@ifaouibadi

Copy link
Copy Markdown
Contributor

Summary

  • The scaffolded templates carried one static overrides/pnpm.overrides pair that only ever protected npm and pnpm 10 — pnpm 11 no longer reads the pnpm field, and yarn's resolutions key was already dropped in an earlier change because pnpm reads that field too and the two selector grammars collide.
  • create-reactive already knows which package manager the user picked at scaffold time, so it now generates the correct override mechanism instead of shipping a static key: overrides in package.json for npm/bun, a pnpm-workspace.yaml override for pnpm 10 and 11 (verified to work for both outside an actual multi-package workspace), and a scoped resolutions path selector for yarn. No generated project ever carries two engines' keys at once, so the grammar collision is gone.
  • Removed the now-redundant static overrides/pnpm.overrides keys from all six templates.

Test plan

  • pnpm check:ci (biome) — clean
  • pnpm check:types — clean across the workspace
  • pnpm build — clean
  • pnpm test:cov — 1160 passed, 10 skipped, 0 failed (includes 18 new unit tests covering the manager-specific override generation for all six templates)
  • Manual real-install verification matrix (not part of the committed suite): all six templates × npm 10/11, pnpm 10.33.0, pnpm 11.9.0, yarn 1.22.22 — 24/24 real installs resolved uuid@11.1.1 reading straight from the installed tree (npm ls/pnpm why/yarn list)

…anager

The templates carried one static overrides/pnpm.overrides pair that only
ever protected npm and pnpm 10 — pnpm 11 stopped reading the pnpm field,
and yarn's resolutions key was already dropped because pnpm reads it too
and the two selector grammars collide.

create-reactive already knows which package manager the user picked at
scaffold time, so it now generates the matching mechanism instead of
shipping a static key: package.json overrides for npm/bun, a
pnpm-workspace.yaml override for pnpm 10 and 11 (which both honour it
outside an actual multi-package workspace), and a scoped resolutions path
selector for yarn. No generated project ever carries two engines' keys at
once, which removes the grammar collision entirely.
@github-actions github-actions Bot added the triage Acknowledged, not yet routed label Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Thanks for the pull request — it is in the queue and a maintainer will review it.

This repository is maintained on a weekly cadence. Anything opened from outside gets
a human reply within 2 business days; this comment is automation confirming your
pull request landed, and it is not that reply.

What happens next:

  • CI runs on the pull request. Check, Build and Test need to be green before
    review — you can push fixes straight to the same branch.
  • A maintainer reviews it against CONTRIBUTING.md.
  • A change to a package's public API, or a new dependency, needs a maintainer
    decision before it can merge. That is where the call gets made rather than a
    delay, and we will tell you either way instead of leaving it open.

If this is a security fix for an unreported vulnerability, please close it and use
the private channel first
SECURITY.md.
A public pull request describes the flaw to everyone before the fix is released.

Three follow-ups from review on the manager-specific uuid override:
add the missing patch changeset for @growae/create-reactive, correct the
unreleased 0.0.6 changelog entry that still claimed yarn lost the
override and that overrides/pnpm.overrides alone cover npm and pnpm
(pnpm 11 never reads pnpm.overrides), and trim the rejected-alternative
rationale out of utils.ts down to what the code itself cannot say.
@ifaouibadi
ifaouibadi merged commit 8dbdf4a into develop Sep 2, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage Acknowledged, not yet routed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant