dep-check 0.8.0: a workspace sibling belongs in a per-package run - #23
Merged
Conversation
… the global override The floor leg writes one global override per sibling. When that sibling lives in the workspace under test, the override replaces the workspace link with a published version — a pairing that exists nowhere. In development the link is used; published, `workspace:^` is rewritten to the CURRENT local version, never an old one. Measured on theokit#526: `@theokit/http` pinned at 0.4.0, the floor of the `>=0.1.0-alpha.0` that `@theokit/agents` declares, and `packages/theo` — which declares `workspace:^` and claims nothing about 0.4.0 — failed to build against a version it has never been paired with. Defect #4 exactly, in a new place, and it blocked a release PR while doing it. Dropping those floors would have been the wrong fix. `@theokit/agents` does declare that range and nothing verifies it, and theokit-di#44 was found by pinning a workspace sibling and running the suite. So they move to the per-package runs, where the floor is installed and only the packages that declare it are built. Coverage comes out strictly larger, because one override could only ever test one floor per sibling. theokit-di went from a single pinned 0.2.0 to two separate claims: 0.1.1 for di-agent and 0.2.0 for orm. Refs #22
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.
Releases
@theokit/dep-check@0.8.0. Fixes #22.The global override was pinning workspace members
It writes one value for the whole tree. When the sibling lives in the workspace under test, that replaces the workspace link with a published version — a pairing that exists nowhere. In development the link is used; published,
workspace:^is rewritten to the current local version, never an old one.usetheokit/theokit, PR #526:0.4.0is the floor of>=0.1.0-alpha.0, which@theokit/agentsdeclares. The package that failed ispackages/theo, which declaresworkspace:^and claims nothing about0.4.0. That is #4 exactly, in a new place — and it blocked a release PR while doing it.Dropping them would have been the wrong fix
@theokit/agentsgenuinely declares that range and nothing verifies it. theokit-di#44 — the first real finding this gate ever produced — came from pinning a workspace sibling and running the suite.So they move to the per-package runs (#16), where the floor is installed and only the packages that declare it are built.
Coverage is strictly larger
One override could only ever test one floor per sibling.
theokit-dibefore:after:
theokitafter — each claim tested where it is made:Verification
Four new tests, including the case that must not regress: an empty member list pins everything rather than nothing, so a repository with no publishable members cannot turn the leg into a silent no-op.