Repository navigation
fix(packages): core 0.25.2 + ui 0.38.1, and a package smoke that catches an unpublished core subpath - #1510
Merged
Conversation
…0.38.1) and make the package smoke catch an unpublished core @plannotator/ui 0.38.0 does not install into a consumer: config/settings.ts imports @plannotator/core/token-hover (#1462), but that PR added the export to core without bumping it, so 0.38.0 pins core 0.25.1, which never published the subpath. Every host reaches it through configure -> config -> settings, so typecheck and build fail on the first import. core 0.25.2 publishes ./token-hover plus the other changes core accumulated since 0.25.1 (the rotated guide-viewer-manifest pin, the config-types hover fields). ui 0.38.1 is 0.38.0 pinning core 0.25.2, and aligns @codemirror/state to ^6.7.2 beside @codemirror/view ^6.43.10 so a consumer cannot resolve two state copies. The package smoke passed on 0.38.0 because its external consumer installs core from the LOCAL tarball (pnpm override), so an export that exists in source but not on the registry is invisible to it, and its consumer entry never imported the configure/config path. It now (1) collects every @plannotator/core/<subpath> the UI source imports and asserts each is an export of the core source manifest, (2) when the pinned core version is already on the registry, asserts each is exported by THAT published core and that the core source exports match it exactly (otherwise: bump core and publish it first), printing a publish-core-first reminder when the pinned version is not published yet, and (3) compiles @plannotator/ui/configure and @plannotator/ui/config in the external consumer's vite build and tsc. With the pins set back to 0.38.0's, the smoke now fails naming token-hover. HANDOFF and README: current pair 0.38.1 on 0.25.2; do not consume 0.38.0.
1 task
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.
Problem
@plannotator/ui0.38.0 does not install into a consumer (reported by the Workspaces bump PR #400).config/settings.tsimports@plannotator/core/token-hover, added to core by #1462 without bumping core, so 0.38.0 pins core 0.25.1, which never published that subpath. The path is unavoidable for any host:configure→config/configStore→config/settings.The preflight (
smoke:package) passed anyway, for two reasons: its external consumer installs core from the local tarball via a pnpm override, so an export present in source but absent on the registry is invisible, and its consumer entry never imported theconfigure/configpath.Fix
./token-hoverplus what core accumulated since 0.25.1 (rotatedguide-viewer-manifestpin,config-typeshover fields). Patch bump follows the 0.25.0 → 0.25.1 precedent for an additive subpath.@codemirror/stateto^6.7.2beside@codemirror/view ^6.43.10(the consumer otherwise resolves two state copies and tsc rejects the privatedispatchTransactions; same root as the QA-gate duplicate-copy finding).smoke:packagehardened, three layers:@plannotator/core/<subpath>the UI source imports must be an export of the core source manifest;@plannotator/ui/configureand@plannotator/ui/configand callsconfigurePlannotatorUI({}), so its vite build and tsc compile the settings path.Verification
bun run --cwd packages/ui smoke:packageon this branch passes and prints@plannotator/core@0.25.2 is not on the registry yet: publish core FIRST.packages/coreset back to 0.25.1 and the UI pin to 0.25.1 (exactly the published 0.38.0 state), the smoke fails:UI imports @plannotator/core/token-hover but the PUBLISHED @plannotator/core@0.25.1 does not export it. Restored afterwards;bun.lockdiff is version lines only.Publish order after merge (owner, manual)
cd packages/core && bun pm pack && npm publish plannotator-core-0.25.2.tgz --tag next --access publiccd ../ui && bun run smoke:package(now checks the registry)&& bun pm pack && npm publish plannotator-ui-0.38.1.tgz --tag next --access publiclatest.npm deprecate @plannotator/ui@0.38.0 "does not compile: pins core 0.25.1 without ./token-hover; use 0.38.1".Do not publish from this PR.