Skip to content

chore(sync): record nuxt/ui@ee37a5b as not applicable - #607

Merged
IgorShevchik merged 1 commit into
mainfrom
sync/nuxt-ee37a5b4
Sep 18, 2026
Merged

IgorShevchik merged 1 commit into
mainfrom
sync/nuxt-ee37a5b4

Conversation

@IgorShevchik

Copy link
Copy Markdown
Collaborator

Records nuxt/ui@ee37a5b4chore(github): drop @nuxt/ui placeholder from consumer fixtures — as n/a.

Journal: .sync/log/ee37a5b4a8af2c8fa651288dcfbb263710f6d907.md

Upstream change

A follow-up to b2cb53f8 that fixes the consumer job added two commits earlier.
@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.

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 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 earlier finding stands, and is sharper now

The b2cb53f8 journal recorded the idea behind that 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 until they noticed. If that
gap is ever closed here, the fixture must not name the package under test.

Gate

dev:prepare · lint · typecheck · build · test:coverage (355 files, 8079
passed) · test:module — green. Journal written before the gate ran.

Cursor advances b6cb8972ee37a5b4; the b6cb8972 entry is reconciled with
#606 / 72c96054.

Next: a3c3ff34 + 60db60e0 together — they are contiguous, and they flatten
the migration guide. That one needs care: our URLs carry trailing slashes and we
have a fork-only pages list that generates the /raw/**.md twins, so upstream's
redirect lines cannot be copied verbatim without producing a 404.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb


Generated by Claude Code

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 / 72c9605.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb
@IgorShevchik
IgorShevchik merged commit ecd9e83 into main Sep 18, 2026
2 checks passed
@IgorShevchik
IgorShevchik deleted the sync/nuxt-ee37a5b4 branch September 18, 2026 09:38
IgorShevchik added a commit that referenced this pull request Sep 18, 2026
…uxt/ui@60db60e) (#608)

Two contiguous upstream commits in one PR, per §6 step 4b: after the flattening
the tool's `LIKE %/migration/v2` matches nothing, so it would answer 404 for the
only guide this library has.

`3.migration/1.v2.md` becomes `3.migration.md`; the directory and its
`.navigation.yml` go. Upstream's reasoning holds for a fork whose major is 2 —
the version lives in the package, not in the URL.

Five places here against upstream's four, and none of the URL lines could be
taken verbatim.

This site uses trailing slashes, so every route is `/docs/getting-started/migration/`;
copying upstream's targets would have 301'd to a path this site does not serve.
The redirect had to reverse rather than be edited — ours pointed `/migration/` at
`/migration/v2/`, and after flattening `/migration/` *is* the page, so that rule
would have shadowed it with a redirect to a route that no longer exists. It now
points the other way, with a 301 for the `/raw/**.md` twin beside it.

The fifth place has no counterpart in the upstream diff and is the one a
faithful-looking port would have missed: `docs/nuxt.config.ts:12` holds a
fork-only `pages` array that line 401 maps into `/raw/<page>.md` prerender routes.
Leaving `/migration/v2/` there would have kept generating the twin for a page that
no longer exists and stopped generating the one that does.

`.navigation.yml` held only `shadow: true` (upstream's also had an `icon`),
asserted before deleting so nothing else went with it; it marks a directory whose
index defers to a child and has no meaning without one. The page keeps its own
`navigation.title: 'Migration'`, so the sidebar entry is unchanged.

In the MCP tool, two fork-only lines are deliberately kept: `path` and `url` are
built from `baseUrl` + `withTrailingSlash`, which upstream does not do. The
asymmetry that leaves is correct rather than sloppy — the query matches
`/docs/getting-started/migration` without a slash, because that is the path
nuxt/content stores, while the response adds one, because that is what the site
serves.

Also reconciles the `ee37a5b4` entry with #607 / ecd9e83.


Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb

Co-authored-by: Shevchik Igor <noreply@anthropic.com>
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