chore: pin internal workspace deps exact, version independently - #59
Merged
Conversation
Copies the ui repo's strategy (dunky-dev/ui#24): drop the @dunky.dev/* fixed group so packages version independently, pin sibling deps workspace:* so publish writes exact versions, and save-workspace-protocol now saves new deps pinned. Rationale documented in ARCHITECTURE.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Copies the versioning strategy from dunky-dev/ui#24:
.changeset/config.json: the@dunky.dev/*fixedgroup is dropped — every package versions independently, so a release never bumps a package whose code didn't change (no more empty## 0.4.0changelog headings like core got in chore(release): version packages #58).workspace:^→workspace:*on all internal deps of the published packages (react×3,native×4,opentui×2). Publish now writes exact versions instead of caret ranges: with independent versions, a caret range between siblings above a shared dependency can resolve two physical copies of it in a consumer's install (a dependency diamond), silently breaking anything identity-sensitive — a singleton, aWeakMap, module-level state. An exact pin fails at publish time instead..npmrc:save-workspace-protocol=rolling→true, so futurepnpm addof a sibling savesworkspace:*by default.## Versioningsection documenting the policy; a changeset covers the three packages whose published manifests change.Private consumers (
benchmark,sandbox/*,website) keepworkspace:^— they're never published, so the pin is meaningless there.🤖 Generated with Claude Code