refactor(docs): consume the changelog surface from @uxfront/layer-docs - #333
alexgrozav wants to merge 1 commit into
Conversation
Drop the local changelog pages and `useChangelogReleaseUrl`, plus the `readdirSync` route list and the `nitro:config` hook that existed only to get version-numbered entry routes prerendered — the layer now enqueues them. The `styleframe@<version>` release-tag convention moves to `app.config.changelog.releaseUrlTemplate`, and the standfirst to `app.config.changelog.description`.
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Closing during a tracker reset: the Multica issues tracking this work were deleted or cancelled, so this PR has no live owner or definition of done. Not a judgement on the change itself — the branch is untouched and this PR can be reopened if the work is picked up again. |
What
apps/docsstops shipping its own changelog and consumes the one now owned by@uxfront/layer-docs(uxfront-com/uxfront#63).Deleted:
app/pages/[[lang]]/changelog/index.vueapp/pages/[[lang]]/changelog/[slug].vueapp/composables/useChangelogReleaseUrl.tsreaddirSyncchangelogRouteslist and the wholenitro:confighook innuxt.config.tsAdded, in
app/app.config.ts:content.config.tsalready declares the collection viadefineDocsCollections(DOCS_SECTIONS, { sitemap: true, changelog: true })— unchanged.Why
The pages, the composable and the prerender workaround were all generic docs-site machinery living in a product app. The only genuinely styleframe-specific part — the
styleframe@<version>release-tag convention — is now expressed as config, so nothing brand-shaped remains in the layer.The deleted
nitro:confighook enumeratedcontent/changelog/*.mdat config time because the Nitro crawler reads a version-numbered slug (/changelog/1.0.0) as a file extension and skips it. The layer now enqueues those routes withaddPrerenderPathfrom the index page, so no filesystem read happens here. The hook's remaining locale-root seeding was identical to the layer's, so it goes too.How verified
pnpm build:nodocs(11 tasks) thenpnpm build:docs, both green, with the layer source linked in. Prerendered output diffed against the live site:/changelogtitleChangelog - styleframe/changelog/3.9.0titleA full component library — v3.9.0 - styleframe<time>A full component library,v3.9.0,June 14, 2026…/releases/tag/styleframe@3.9.0og:image.output/public/changelog.htmlplus all 17.output/public/changelog/<version>.htmlpresent. The 1.0.0 and 2.0.0 entries keep their frontmatterreleaseUrloverrides.Gates:
format:checkclean,oxlint apps/docsclean,nuxt typecheck0 errors,vitest run3/3.Known delta
OG images. The old pages called
defineOgImage("DocsSatori", { headline: "styleframe", … }); the layer does not registernuxt-og-image, so/changelog*ships withoutog:imageuntil OG support lands in the layer — same situation the header comment onapp/pages/[[lang]]/docs/[section]/[...slug].vuealready describes. No change needed here when it does.Blocked on
uxfront-com/uxfront#63 must be released before this merges — it needs a
@uxfront/layer-docsversion carrying the changelog pages.