chore(sync): record two upstream infrastructure commits as not applicable - #598
Merged
Merged
Conversation
…able Both are contiguous in upstream's history, so they share a PR per §6 step 4b. nuxt/ui@68cc4eb — `chore(scripts): cancel vercel previews of other release branches`. Rewrites `scripts/vercel.sh`, Vercel's ignored-build-step hook, so the hard-coded `v2`/`v3` list becomes `^v[0-9]+$` and the check also requires a preview build: each release branch is the production branch of its own Vercel project. `scripts/vercel.sh` does not exist here — `scripts/` holds `indistinguishable-snapshots.mjs`, `lib`, `regen-indistinguishable-baseline.mjs` and `sync-skill-manifest.mjs` — there is no Vercel deployment (the docs ship to GitHub Pages through `deploy.yml`), and there are no `v<N>` branches for the new pattern to match. The three `vercel` mentions in the tree are a dormant `md-rewrite.ts` guarded on the Vercel nitro preset, a commented-out `@vercel/analytics` import, and a "Deploy to Vercel" button URL in the templates listing; none reads `VERCEL_ENV` or `VERCEL_GIT_COMMIT_REF`. nuxt/ui@b2cb53f — `chore(github): replace playground job in module workflow`. Swaps the `playground` job in `.github/workflows/module.yml` for a `consumer` job that copies `test/fixtures/consumer/{full,minimal}` to `$RUNNER_TEMP`, installs the pkg.pr.new build with no lockfile, then prepares, typechecks and builds. There is no `module.yml` here and no `test/fixtures/`; this fork tests the module with `test:module` (`vitest run --config vitest.module.config.ts` over `test/module/`) as an ordinary `ci.yml` gate step, and publishes no preview build for such a job to consume. The removal half does not apply either: `playgrounds/nuxt/nuxt.config.ts` has no `typescript.tsConfig.paths` block, because the CI install that workaround existed for never happens here. The idea behind that new job — resolve the published package from outside the workspace, with no lockfile, to catch a missing optional peer — is a real gap `test:module` does not cover, since it runs against the source tree inside the workspace. Recorded in the journal as a possible improvement to this fork's own testing rather than as a port. Also reconciles the `61b6d53f` entry with #597 / 3ef9979. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb
IgorShevchik
added a commit
that referenced
this pull request
Sep 17, 2026
#599) `DashboardNavbar` rendered its `<h1 data-slot="title">` unconditionally, so with no `title` prop and no `title` slot the markup still carried an empty heading — dead markup, and a heading with no accessible name in the document outline. Ours at `DashboardNavbar.vue:109` was line-for-line upstream's pre-image modulo the `ui` → `b24ui` rename, so the guard transfers directly. Three things were checked rather than assumed: `slots` is already in scope (`defineSlots` at line 69, and `!!slots.default` is used ten lines below, so the idiom is not new); `title` has no default, since `withDefaults` sets only `toggle` and `toggleSide`; and the guard reads `props.title` rather than the raw `defineProps` result, because `useComponentProps` is what resolves a `title` supplied through `<B24Theme :props>` or `app.config` — which is also what `bitrix24-ui/no-bare-prop-refs` requires. 24 snapshots updated. Every changed line was classified before accepting them, because `test:update` rewrites the whole suite and could absorb unrelated drift: 20 are an empty `<h1>` becoming `<!--v-if-->`, 2 the same next to a trailing slot, 2 the same next to a leading slot. Nothing else moved. Of the 15 cases, exactly two still render the heading — `with title` and `with title slot`. Both halves of `props.title || !!slots.title` are independently covered: replacing it with `!!slots.title` fails `renders with title`, replacing it with `props.title` fails `renders with title slot`, and removing it fails the new test plus 24 snapshots. Also reconciles the `68cc4eb4` and `b2cb53f8` entries with #598 / 66a94cb. Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb Co-authored-by: Shevchik Igor <noreply@anthropic.com>
IgorShevchik
added a commit
that referenced
this pull request
Sep 18, 2026
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. Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb Co-authored-by: Shevchik Igor <noreply@anthropic.com>
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.
Records
nuxt/ui@68cc4eb4andnuxt/ui@b2cb53f8as n/a. They are contiguous in upstream's history, so they share a PR per.sync/PORTING.md§6 step 4b.Journals:
68cc4eb4…md·b2cb53f8…md68cc4eb4— cancel vercel previews of other release branchesRewrites
scripts/vercel.sh, Vercel's ignored build step hook:Each release branch is the production branch of its own Vercel project, so it
should not also build as a preview of another. Same
v5groundwork as2aa1702a(#596).
Why it does not apply
scripts/vercel.shdoes not exist.scripts/holdsindistinguishable-snapshots.mjs,lib,regen-indistinguishable-baseline.mjs,sync-skill-manifest.mjs.deploy.yml—Deploy to Pages 📰 — to GitHub Pages, which has no per-branch preview projects
and no ignored-build-step hook.
v<N>branches for the new pattern to match.The three
vercelmentions in the tree, and why none is this — a grep doeshit, so worth naming them:
docs/modules/md-rewrite.tsis guarded by!nitro.options.preset.includes('vercel')and dormant under the Pages preset;docs/app/composables/useAnalytics.ts:1is a commented-out@vercel/analyticsimport;
docs/content/templates.yml:19is a "Deploy to Vercel" button URL in thetemplates listing. None reads
VERCEL_ENVorVERCEL_GIT_COMMIT_REF, none isinvoked by a build.
b2cb53f8— replace playground job in module workflowSwaps the
playgroundjob in.github/workflows/module.ymlfor aconsumerjob.The old one installed the pkg.pr.new build into
playgrounds/nuxtand typechecked;the new one copies
test/fixtures/consumer/{full,minimal}to$RUNNER_TEMP—outside the checkout, so the root
node_modulesand workspace cannot leak intoresolution — installs with no lockfile, then prepares, typechecks and builds,
with
fail-fast: false. Ten new files carry the fixtures, and the playground'stypescript.tsConfig.pathsworkaround goes with them.Why it does not apply
.github/workflows/module.yml. The workflows here areci,deploy,npm-publish,pr-title,release-please,release-watchdog,smoke.test/fixtures/, so none of the ten added files has a counterpart.test:modulerunsvitest run --config vitest.module.config.tsovertest/module/(
fixture/+module-setup.spec.ts) as an ordinaryci.ymlgate step, not as aseparate workflow against a published preview. There is no pkg.pr.new publish
here for such a job to consume.
playgrounds/nuxt/nuxt.config.tshas no
typescript.tsConfig.pathsblock, because the CI install that workaroundexisted for never happens here.
Worth noting
The idea behind the new job — resolve the published package from outside the
workspace, with no lockfile, to catch a missing optional peer — is a real gap
test:moduledoes not cover: it runs against the source tree inside theworkspace. That is a possible improvement to this fork's own testing rather than a
port of this commit, and it is written into the journal so the thought is not lost
with the n/a.
Gate
dev:prepare·lint·typecheck·build·test:coverage(353 files, 8067passed) ·
test:module— green, first full run onmainunder pnpm 12.4.2..sync/dep-parity.jsonrefreshed; the diff is thecursorline alone.Cursor advances
61b6d53f→68cc4eb4→b2cb53f8, and the61b6d53fentry isreconciled with #597 /
3ef9979b.Still queued:
7c4c6e35—fix(DashboardNavbar): render title only when defined. That one is a real bug this fork shares (DashboardNavbar.vue:109renders an unguarded
<h1 data-slot="title">), and it ports next.🤖 Generated with Claude Code
https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb
Generated by Claude Code