fix(jp/angular): complete the carousel xplat sync for Japanese - #873
Merged
Merged
Conversation
The JP sync of the carousel redesign (#870) brought over the xplat MDX but not the pieces the Angular build needs, which broke Build And Deploy Angular Documentation JP: [ImageNotFound] Could not find requested image docs/angular/src/content/jp/images/carousel/carousel_do_not2@2x.png docs/angular/astro.config.ts resolves @xplat-images per locale, to src/content/<lang>/images, and sync-generated.mjs copies MDX only. So each xplat topic synced into Angular needs its images duplicated under both en/images/ and jp/images/. #506 added the EN copies; this adds the JP ones. Also finishes the topic swap on the JP side, mirroring what #506 did for EN: - delete the superseded native Angular topic components/carousel.mdx - repoint components/toc.json at layouts/carousel.mdx - update the two JP topics that still linked to the old path Without the TOC change the JP site keeps serving the old carousel page and the synced redesign is built but unreachable. Verified with DOCS_TOC_STRICT=true npm run angular:build:jp — 421 pages, clean. Related to #842. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Hristo313
approved these changes
Sep 29, 2026
ChronosSF
added a commit
that referenced
this pull request
Sep 29, 2026
Topics generated from the xplat source import their images as '@xplat-images/<path>'. docs/xplat/astro.config.ts resolves that to one shared, language-agnostic folder, but docs/angular/astro.config.ts resolved it per locale, to src/content/<lang>/images — and sync-generated.mjs copies MDX only. So every xplat topic synced into Angular needed its images copied into the Angular tree twice, once per language, by hand. Nothing enforced that, so it was found by deploys: carousel (#873), and switch and avatar before it. Replace the alias with a pre plugin that searches the Angular locale's image directory first and the shared xplat folder second. An alias cannot express a fallback, hence the plugin. Precedence is unchanged where a copy already exists, so this is not a content change; it only stops a missing copy from being fatal. Verified against vnext, which lacks the nine JP carousel images: - angular:build:jp passes where it previously failed with ImageNotFound - angular:build:en passes - instrumenting the resolver over a full JP build: 41 specifiers resolve from the Angular locale dir (existing copies still win), 9 from the shared folder, 0 unresolved. Those 9 are exactly the images #873 adds by hand. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 of 11 tasks
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.
Problem
Build And Deploy Angular Documentation JPis failing onvnext(run 36572335183):The break landed with #870 (JP sync of the carousel redesign), which brought over the xplat MDX but not the pieces the Angular build needs. It surfaced only now because the Angular JP workflow
paths-ignoresdocs/xplat/**, so the push that introduced it never triggered a build — the next unrelated push did (see #402).Why the xplat JP build passes but Angular JP doesn't
The
@xplat-imagesalias resolves differently in the two apps:docs/xplat/astro.config.tssrc/assets/images— shared, language-agnosticdocs/angular/astro.config.tssrc/content/<docsLang>/images— per-localeAnd
docs/angular/scripts/sync-generated.mjscopies MDX only, never images. So every xplat topic synced into Angular needs its images duplicated under bothen/images/andjp/images/. #506 added the EN copies; the JP ones were never added. The same thing happened with avatar and was fixed the same way in f8bd08c.Changes
images/carousel/(8 files) andimages/anatomy-content-light/carousel-lt-a.png, copied from their EN counterparts.jp/components/carousel.mdx— the superseded native Angular topic, now provided by the xplat sync. feat(docs): update carousel xplat topic #506 deleted the EN equivalent.jp/components/toc.jsonfromcarousel.mdxtolayouts/carousel.mdx, matching EN.general/cli/component-templates.mdxandthemes/roundness.mdx.The TOC change matters on its own: without it the JP site keeps serving the old carousel page while the synced redesign is built but unreachable.
Verification
DOCS_TOC_STRICT=true npm run angular:build:jp— clean, 421 pages built, carousel images processed.@xplat-imagesimport across all 29 JP xplat topics the Angular sync picks up (excludinggrids/and changelogs, which the sync drops) against what is present injp/images/. These 9 were the only misses, so this fully unblocks the JP deploy.Follow-ups (not in this PR)
paths-ignoregap that let this sit undetected. Separate PR incoming.jp/images/is still missingaccordion/,color-picker/,anatomy-frame-light/Accordion-lt.pngandanatomy-content-light/color-picker-lt-a.pngrelative to EN. Those JP topics do not import images yet, so nothing is broken today — but they will break the same way when those redesigns sync to JP.🤖 Generated with Claude Code