diff --git a/.sync/dep-parity.json b/.sync/dep-parity.json index d87eac5f..8de457e0 100644 --- a/.sync/dep-parity.json +++ b/.sync/dep-parity.json @@ -1,6 +1,6 @@ { "$note": "Upstream's pinned versions for every dependency both trees declare in the SAME section, snapshotted at `cursor`. The sync ports deltas, which is correct per commit and lets a one-time divergence become permanent: once a version is off upstream's line, every later `chore(deps)` batch skips it, because those ports bump only where this fork already matched upstream's pre-image. `prettier` sat at ^3.8.4 against upstream's ^3.9.6 for that reason, through four ported batches, until this file was written. Section-aware on purpose: 18 packages are declared on both sides but in different sections — the whole `@tiptap/*` family is a peer `^3` upstream and a dependency `^3.29.2` here, and `ai` is a peer there and a devDependency here. Those are structural divergences, not drift, and comparing a peer range against a dependency range says nothing. They are absent from this file by construction rather than by omission. Guarded by `test/utils/dep-parity.spec.ts`. Refresh with `node .sync/dep-parity.mjs [cursor]`, which preserves `exceptions`.", - "cursor": "b6cb89725b3f3e9bb26583cb3177a921bb4a5e5b", + "cursor": "ee37a5b4a8af2c8fa651288dcfbb263710f6d907", "manifests": { "package.json": { "dependencies": { diff --git a/.sync/log/ee37a5b4a8af2c8fa651288dcfbb263710f6d907.md b/.sync/log/ee37a5b4a8af2c8fa651288dcfbb263710f6d907.md new file mode 100644 index 00000000..88a18829 --- /dev/null +++ b/.sync/log/ee37a5b4a8af2c8fa651288dcfbb263710f6d907.md @@ -0,0 +1,42 @@ +# n/a — nuxt/ui@ee37a5b4a8af2c8fa651288dcfbb263710f6d907 + +**Upstream:** chore(github): drop `@nuxt/ui` placeholder from consumer fixtures + +**Decision:** n/a — all three files are part of the `module.yml` consumer job, +which does not exist here. Recorded as absent one batch ago in `b2cb53f8`. + +## Upstream change + +A follow-up to `b2cb53f8`, fixing the fixtures it added. `@nuxt/ui: "latest"` is +removed from both `test/fixtures/consumer/{full,minimal}/package.json`, and the +comment above the install step says why: + +> No lockfile **and no `@nuxt/ui` entry in the fixtures** on purpose: a fresh +> resolve is the only setup that catches missing optional peers. With `@nuxt/ui` +> already declared, pnpm resolves the published release first and satisfies the +> optional peers from its dependencies. + +In other words the placeholder defeated the job: the fixture pulled the *released* +package, whose dependency tree already supplies the peers, so the pkg.pr.new build +under test was never the thing whose peers got checked. Two `@tiptap/*` entries go +with it for the same reason. + +## Why it does not apply + +`.github/workflows/module.yml` does not exist here, and neither does +`test/fixtures/`. Both were recorded as absent when `b2cb53f8` was processed +(#598): this fork tests the module through `test:module` +(`vitest run --config vitest.module.config.ts` over `test/module/`) as an ordinary +`ci.yml` gate step, against the source tree inside the workspace rather than +against a published preview build. + +## The finding still stands, and is sharper now + +The `b2cb53f8` journal recorded the idea behind that job as a real gap this fork +does not cover — resolving the published package from **outside** the workspace, +with **no lockfile**, to catch a missing optional peer. + +This commit is the evidence that the gap is easy to leave open by accident even +when you build the job for it. Upstream wrote the fixture, wired the workflow, and +still had it silently testing the wrong package until they noticed. If that gap is +ever closed here, the fixture must not name the package under test. diff --git a/.sync/nuxt-ui.json b/.sync/nuxt-ui.json index 350f2085..c712814b 100644 --- a/.sync/nuxt-ui.json +++ b/.sync/nuxt-ui.json @@ -1,7 +1,7 @@ { "upstream": "nuxt/ui", "branch": "v4", - "cursor": "b6cb89725b3f3e9bb26583cb3177a921bb4a5e5b", + "cursor": "ee37a5b4a8af2c8fa651288dcfbb263710f6d907", "_cursor_note": "cursor = last upstream commit ported into b24ui. The sync is manual by decision: one commit at a time, oldest-first, each with a `.sync/log/.md` journal and an entry in `processed`. There is no dispatcher, no porter workflow and no kill-switch — `.sync/PORTING.md` is the whole procedure. `processed` is maintained per port (backfilled #68-#72 on 2026-06-09).", "processed": { "2799fa6f2b25ce3eb15e050f3ef7c57d0d9a2fdb": { @@ -1975,10 +1975,16 @@ "summary": "chore(deps): shorten peer dependency ranges (#6961) — 11 of our 13 peers normalised (^3.0.0 -> ^3 etc.), all verified semantically identical with semver.subset both ways. The fork-only `vue: ^3.5.0` peer and `yup: ^1.7.0` keep their real floors, which is the same rule upstream applied" }, "b6cb89725b3f3e9bb26583cb3177a921bb4a5e5b": { - "pr": "pending-merge", - "b24ui_sha": "pending-merge", + "pr": 606, + "b24ui_sha": "72c96054", "decision": "port", "summary": "refactor(unplugin): resolve vue runtime paths from a file url — second half of b0e1d715; an absolute Windows path like `D:/...` parses as a `d:` url scheme, so the four sites take a relative id against a new `runtimeUrl` (pathToFileURL of runtimeDir WITH a trailing slash, which is load-bearing). Drops the now-unused `join` import from bitrix24-environment.ts, as upstream does" + }, + "ee37a5b4a8af2c8fa651288dcfbb263710f6d907": { + "pr": "pending-merge", + "b24ui_sha": "pending-merge", + "decision": "n/a", + "summary": "chore(github): drop `@nuxt/ui` placeholder from consumer fixtures — n/a: module.yml and test/fixtures/ do not exist here (recorded with b2cb53f8 / #598). Worth noting the reason: the placeholder made the job resolve the released package, so the build under test was never the one whose optional peers were checked" } } }