Skip to content

v5.0.8

Choose a tag to compare

@ankitskvmdam ankitskvmdam released this 17 Jul 16:03
209e564

Patch release: a Yarn PnP rendering fix and a version stamp in generated output.

Fixes

  • Empty dist / Cannot read properties of undefined (reading 'context') under Yarn Berry (PnP) (#342). preact was a direct dependency of the theme's internal packages, so under PnP's strict resolution the server-rendered component tree and preact-render-to-string could bind to two different Preact instances — leaving Preact's internal currentComponent unset and throwing on the first useContext of every page, so every page failed to render. preact is now a peer dependency of the internal packages (rang, dwar, bhasha, setu) and a direct dependency of the installable entry points (clean-jsdoc-theme, @clean-jsdoc-theme/typedoc, @clean-jsdoc-theme/aadesh), so a single Preact instance is always shared, regardless of package manager. (The npm/pnpm hoisted layout already deduped Preact, so only PnP users were affected.)

Features

  • Version stamp in generated pages. Every page now includes <meta name="generator" content="clean-jsdoc-theme <version>" /> (both the JSDoc and TypeDoc flavors), so a built site records which theme version produced it — handy for bug-report triage. Override it with a meta entry whose name is generator.

Docs

  • FAQ: a troubleshooting entry for the PnP empty-dist crash (upgrade to 5.0.8, or set nodeLinker: node-modules), plus notes on the new generator meta default.

Security

No runtime attack-surface change. The Preact fix is manifest-only (dependency declarations moved to peer/direct deps — no code change). The generator <meta> is build-time inline data, HTML-escaped like every other meta value; no eval, no network, no I/O in the renderer for it.