From 7134083904a99028ad895980162ece64ce52a85c Mon Sep 17 00:00:00 2001 From: Shevchik Igor Date: Fri, 18 Sep 2026 09:11:53 +0000 Subject: [PATCH] chore(sync): record nuxt/ui@ee37a5b as not applicable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A follow-up to b2cb53f8 that fixes the consumer job added two commits earlier: `@nuxt/ui: "latest"` is dropped from both fixtures, because with the package declared pnpm resolves the published release first and satisfies the optional peers from its dependency tree — so the pkg.pr.new build the job exists to test was never the one whose peers were checked. Two `@tiptap/*` entries go for the same reason. `.github/workflows/module.yml` and `test/fixtures/` do not exist here; both were recorded as absent when b2cb53f8 was processed (#598). This fork tests the module through `test:module` as an ordinary `ci.yml` step, against the source tree inside the workspace rather than a published preview build. The finding from that journal still stands and is sharper now. It recorded the idea behind the job — resolve the published package from outside the workspace, with no lockfile, to catch a missing optional peer — as a real gap `test:module` does not cover. This commit is the evidence that the gap is easy to leave open by accident even after building the job for it: upstream wrote the fixture, wired the workflow, and still had it silently testing the wrong package. If that gap is ever closed here, the fixture must not name the package under test. Also reconciles the `b6cb8972` entry with #606 / 72c96054. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb --- .sync/dep-parity.json | 2 +- ...e37a5b4a8af2c8fa651288dcfbb263710f6d907.md | 42 +++++++++++++++++++ .sync/nuxt-ui.json | 12 ++++-- 3 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 .sync/log/ee37a5b4a8af2c8fa651288dcfbb263710f6d907.md 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" } } }