fix(create-reactive): scaffold the uuid override per chosen package manager - #104
Merged
ifaouibadi merged 2 commits intoSep 2, 2026
Merged
Conversation
…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.
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 What happens next:
If this is a security fix for an unreported vulnerability, please close it and use |
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.
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
overrides/pnpm.overridespair that only ever protected npm and pnpm 10 — pnpm 11 no longer reads thepnpmfield, and yarn'sresolutionskey was already dropped in an earlier change because pnpm reads that field too and the two selector grammars collide.create-reactivealready knows which package manager the user picked at scaffold time, so it now generates the correct override mechanism instead of shipping a static key:overridesinpackage.jsonfor npm/bun, apnpm-workspace.yamloverride for pnpm 10 and 11 (verified to work for both outside an actual multi-package workspace), and a scopedresolutionspath selector for yarn. No generated project ever carries two engines' keys at once, so the grammar collision is gone.overrides/pnpm.overrideskeys from all six templates.Test plan
pnpm check:ci(biome) — cleanpnpm check:types— clean across the workspacepnpm build— cleanpnpm test:cov— 1160 passed, 10 skipped, 0 failed (includes 18 new unit tests covering the manager-specific override generation for all six templates)uuid@11.1.1reading straight from the installed tree (npm ls/pnpm why/yarn list)