Skip to content

fix(platform-cli): pin next 16.4.3 and Bun 1.4.4; let sync record a reconciled file - #26

Merged
s3rot0n1n merged 1 commit into
mainfrom
fix/preset-next-bun-1-4-4
Nov 1, 2026
Merged

s3rot0n1n merged 1 commit into
mainfrom
fix/preset-next-bun-1-4-4

Conversation

@clbotdev

@clbotdev clbotdev commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Why

platform-cli doctor fails on MediaLit's main, so its verify check is red (seen on codelitdev/medialit#244). Two causes:

  • external_mismatch:next: the preset pins next to exactly 16.3.6. MediaLit runs 16.4.3 through a security override, and doctor has no exceptions, so the only fix on the product side would be downgrading.
  • managed_hash_mismatch on platform-conformance.yml: MediaLit moved CI to Bun 1.4.4 for a security fix, but the template pins 1.4.1. sync reports the file as a conflict, and it still does after the file is made to match the template exactly, because the recorded hash belongs to the old content. Reconciling by hand meant editing the hash in .codelit-platform.json yourself.

What

  • next 16.4.3 in the product template; sync-preset.mjs carries it into the preset's external.
  • Bun 1.4.4 in the product template (packageManager, engines, @types/bun, both workflows), in the preset's runtime, in create's metadata check, and in this repo's own toolchain (CI, release, packed-consumer scripts).
  • sync: a managed file that already matches the template is never a conflict, so the next sync records a hand-reconciled file. Real drift is still a conflict and nothing is written. New test: records a drifted managed file reconciled by hand to the template.
  • README and a changeset with "Product changes".

Testing

  • bun run verify passes: lint, preset check, typecheck, tests (platform-cli: 18), build, packed-package checks.
  • Against MediaLit's PR branch, the CLI built from this branch:
    • doctor no longer reports next.
    • After the workflow is made to match the new template (only the CLI version line changes, since Bun is already 1.4.4), sync records it with no conflict and doctor returns {"ok":true,"issues":[]}.

After release

In MediaLit: run bunx @codelitdev/platform-cli@<new version> sync, make platform-conformance.yml match the template if it reports a conflict, then run sync again.

…econciled file

The preset pinned next 16.3.6 and the product template Bun 1.4.1, so doctor
failed products that had already moved to the patched releases (MediaLit runs
next 16.4.3 through a security override and Bun 1.4.4). The template, its
workflows and the preset now use next 16.4.3 and Bun 1.4.4; the platform repo's
own toolchain moves to Bun 1.4.4 too.

sync treated a managed file whose hash differed from the manifest as a
conflict even when the file already matched the template, so a product could
not reconcile a conflict by hand without editing the recorded hash. A file
that matches the template is now never a conflict.
@s3rot0n1n
s3rot0n1n merged commit 4c31e52 into main Nov 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants