chore(deps): update dependency clean-jsdoc-theme to v5#148
Open
renovate[bot] wants to merge 2 commits into
Open
chore(deps): update dependency clean-jsdoc-theme to v5#148renovate[bot] wants to merge 2 commits into
renovate[bot] wants to merge 2 commits into
Conversation
|
Bundle ReportBundle size has no change ✅ |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #148 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1 1
Lines 75 75
Branches 24 24
=========================================
Hits 75 75 Continue to review full report in Codecov by Harness.
|
renovate
Bot
force-pushed
the
renovate/clean-jsdoc-theme-5-x
branch
from
July 22, 2026 02:39
0c5042d to
0c33d59
Compare
Adjust the JSDoc config to match the clean-jsdoc-theme option format by switching to the dist template path, moving script/CSS/JS and menu settings to top-level keys, and updating the favicon path under docs/static.
|
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.



This PR contains the following updates:
4.3.3→5.0.8Release Notes
ankitskvmdam/clean-jsdoc-theme (clean-jsdoc-theme)
v5.0.8Compare Source
Patch release: a Yarn PnP rendering fix and a version stamp in generated output.
Fixes
dist/Cannot read properties of undefined (reading 'context')under Yarn Berry (PnP) (#342).preactwas a direct dependency of the theme's internal packages, so under PnP's strict resolution the server-rendered component tree andpreact-render-to-stringcould bind to two different Preact instances — leaving Preact's internalcurrentComponentunset and throwing on the firstuseContextof every page, so every page failed to render.preactis 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
<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 ametaentry whosenameisgenerator.Docs
distcrash (upgrade to 5.0.8, or setnodeLinker: node-modules), plus notes on the newgeneratormeta 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; noeval, no network, no I/O in the renderer for it.v5.0.7Compare Source
A patch release focused on dependency security, a small TypeDoc cleanup, and clearer package docs. No breaking changes and no user-facing behavior change.
Security
Cleared all open Socket and Dependabot advisories:
esbuild(dwar, production dependency) →^0.28.1— resolves the dev-server request / arbitrary-file-read advisories.happy-dom→^20,vitest→^4.1.10,vite→^8.1.3,turbo→^2.10.4.markdown-it,linkify-it,shell-quote,fast-uri,brace-expansion, andjs-yaml(CVE-2026-53550).The remaining Socket "obfuscated code" flags on
preact/underscore/brace-expansion/es-module-lexerare false positives on minifieddistoutput, not vulnerabilities.Changed
sectionOrder/clubSidebarItemshandling under the TypeDoc flavor. Under TypeDoc the module hierarchy owns the API sidebar and doc groups order viadocGroups; these options were accepted but had no effect. No behavior change.Docs
clean-jsdoc-themeand@clean-jsdoc-theme/typedocpackage READMEs standalone, each centered on its own toolchain.Full changelog: ankitskvmdam/clean-jsdoc-theme@v5.0.6...v5.0.7
v5.0.6Compare Source
clean-jsdoc-theme v5.0.6
TypeDoc output parity with TypeDoc's default theme. TypeDoc flavor only — JSDoc output is unchanged (byte-identical). This release is a no-op for JSDoc users.
✨ TypeDoc improvements
@category/@group/@order/sectionOrder/clubSidebarItemsno longer shape it (doc groups,menu, and tutorials still apply). These levers are unchanged for the JSDoc template.Hierarchy,Implements, andImplemented Bysections, plusInherited from/Overrides/Implementation ofmember captions.@grouptag recognized,@inheritDocresolved, native TypeDocprojectDocumentsrendered as pages, an async modifier badge, and inline object-literal types expanded into linked property tables.🐛 Fixes
📚 Docs
🔒 Security
JSDoc users: no action needed — output is byte-identical to 5.0.5.
v5.0.5Compare Source
Local images now resolve from every prose source, plus JSDoc
staticFilessupport and a generatedsitemap.xml. Parity across the JSDoc and TypeDoc bridges.Images
opts.docs) are copied into the content-hashed_assets/pipeline and the reference is rewritten — both Markdownand raw<img>. Comment images resolve against each symbol's own source file; SVGs are inlined so light/dark follows the theme toggle.templates.default.staticFilesis honored: included files are copied verbatim to the output root, and the include directories become fallback search roots, so a bare reference likeresolves and is hashed — no need to rewrite existing comments or tutorials. A file already served from_assets/is not duplicated at the root.Sitemap
siteUrloption: when set, the build emitssitemap.xmlat the output root with one<loc>per non-hidden page. Only the URL's origin is used; the deploy sub-path comes frombasePath, so the two never double-count.Security
staticFilesresolution runs at build time over author-declared paths only — no runtime evaluation and no new network access;siteUrlis used solely to compose the absolute<loc>URLs insitemap.xml.Full changelog: ankitskvmdam/clean-jsdoc-theme@v5.0.4...v5.0.5
v5.0.4Compare Source
TypeDoc support reaches parity with the JSDoc output, plus security hardening.
TypeDoc parity
interface Name { … },Name = (p) => R,HTTP_STATUS: { … }), and object-literal constants now list every member with its own doc comment under "Properties" instead of collapsing to one line.@remarksrenders as its own section.basePathoption so a TypeDoc site can be served from a sub-directory (every emitted URL — pages, assets, logos, favicon — is prefixed).Security
new Functioneval shim from the module-path resolver — the theme no longer evaluates code at runtime.socket.ymlto triage build-inherent Socket alerts, dropped the now-unneededusesEvalexception, and scoped theshellAccessrule to the aadesh CLI.Fixes
findStrayBackticksno longer false-positives on valid inline code spans.Full changelog: https://github.com/ankitskvmdam/clean-jsdoc-theme/blob/master/packages/clean-jsdoc-theme/CHANGELOG.md
v5.0.3Compare Source
Patch release with bug fixes and a TypeDoc parity feature.
Bug fixes
indexname clash (#333) — a documented symbol namedindexno longer overwrites the home page. It now renders at/index/like any other container, so neither page is lost.Improvements
line:columnplus a code-frame snippet instead of just the slug, so the offending content is easy to locate on large pages.TypeDoc
docsprose directory (#334) — the TypeDoc plugin now supports thedocsoption (plusdocGroups/defaultDocGroup), matching the JSDoc bridge: hand-written Markdown/HTML guides render alongside the API. (readmeremains TypeDoc's own top-level option.)Docs: https://ankdev.me/clean-jsdoc-theme/
v5.0.2Compare Source
Two fixes restoring v4 parity: mobile header controls and
target/classon menu entries.Search + language switcher on mobile
The header search trigger was wrapped in a
hidden … md:flexdesktop-only container, so the search icon disappeared below themdbreakpoint. Search (and the always-present language switcher) are now pulled out of that wrapper, so both stay visible on every breakpoint. Theme and settings remain desktop-only — the mobile nav drawer already hosts them.targetandclassare back on menu entriesBoth options were dropped from the v5
menuobject and are now re-introduced as optional fields, threaded through the whole pipeline (opts schema,setu, the JSDoc + TypeDoc bridges, andrang's sidebar):targetoverrides the link target. External links still default to_blank, and thenoopenerrel is dropped when the target isn't_blank.classis merged onto the rendered link.Both apply to external and built-in/internal entries, and are omitted when unset — so existing menus stay byte-identical.
Docs: https://ankdev.me/clean-jsdoc-theme/
v5.0.1Compare Source
Code playgrounds, a favicon option, and a refreshed code block.
Playgrounds (#329)
Open an
@example(or a code fence) in CodePen, JSFiddle, or CodeSandbox, prefilled — bringing back and generalizing v4'scodepenfeature. A code block's header gains an "Open Code in" dropdown; it's fully client-side (form POST / parameterized link — no backend, no API key). Configure withopts.playground(enableForAllExamples,providers, site-wide per-provider options) and the@playgroundblock tag (provider selection,none/off, plusfilename=andhighlight=). Works in prose too (ajs playgroundfence or a<playground>container) and through both the JSDoc and TypeDoc bridges.Favicon
New
faviconoption — a path to an image the theme copies to a content-hashed asset and links as<link rel="icon">(with the righttype). Restores the v4 option v5 had dropped, and is the way to ship an SVG favicon (browsers auto-discover only a rootfavicon.ico).Refreshed code block
Each block now has a header bar (a
CODE/filename label plus copy and the playground dropdown), per-line highlighting, and configurable code-chrome colors (codeHeaderBg/codeHeaderFg/codeHighlightBgundercolors/darkColors) that stay legible in light and dark.Docs: https://ankdev.me/clean-jsdoc-theme/ · Fixes #329
v5.0.0: clean-jsdoc-theme v5.0.0Compare Source
clean-jsdoc-theme v5 is a ground-up rewrite — a complete documentation suite, not a coat of paint on JSDoc's output.
What's new in
clean-jsdoc-themeA real static-site generator, not a CSS theme
Every page is server-rendered to HTML and progressively enhanced with lazy-hydrated Preact islands — each island ships only to the pages that use it. No client framework on the wire, no build config to maintain. Light and dark themes ship out of the box on an OKLCH palette; bring your own colors, Google Fonts, logo, sidebar menu, custom footer, custom
<meta>tags, and custom CSS/JS whenever you want them.Built to work well with LLMs
Alongside every page, v5 emits a companion
.mdauthored for machines to read — so your API reference is as legible to an AI as it is to a human. Every page also carries one-click actions to copy the Markdown or open it straight in Claude, ChatGPT, or Perplexity (all opt-out viacopyPage).LLM support runs deeper than the output, too. We ship downloadable, source-verified agent skills you can drop into any coding assistant: an umbrella
clean-jsdoc-themeskill (setup, the full config reference, authoring, the sidebar model, localization, and the package architecture) and a focusedmigrate-v4-to-v5skill. They turn an assistant into an expert that can scaffold your config, author your guides, structure your sidebar, and migrate a v4 project — correctly, the first time.Two kinds of search, zero setup
A
Ctrl Kfuzzy command palette ranks across titles, descriptions, and full page text, deep-links straight to any class member by name, and remembers your recent and favorite searches. Turn on an optional Pagefind full-text index with a single flag.Prose and API in one site
Hand-written Markdown guides sit right beside your auto-generated reference — one sidebar, one search index, one URL space. Point
opts.docsat a folder of Markdown and the folder layout + a little frontmatter becomes your navigation.{@​link},@see, and@tutorialresolve to real cross-page anchors, and every member links to its exact source line.Rich authoring
Write richer doc comments and prose with first-class components: callouts (GitHub-style
> [!NOTE]alerts),<Steps>, synchronized<Tabs>, and sandboxed live embeds (CodePen, YouTube, any site) via an@iframetag or an```iframefence. Organize the sidebar with@category,@order,sectionOrder,menu, andclubSidebarItems; a prev/next pager links adjacent pages in reading order.A source viewer
Documented source files become read-only Monaco-powered viewer pages that open to the exact
#L<n>you linked, themed to match the site.Localization (i18n) — new
Ship your docs in multiple languages. Declare
opts.locales/opts.defaultLocaleand theclean-jsdocCLI builds one static site per language — translated UI chrome, API descriptions (incl. parameter & return descriptions), and prose (a per-localeREADME.<locale>.mdhome and adocs.<locale>/overlay) — with a header language switcher, per-language fonts, andhreflangfor SEO. A build with no locales is byte-identical to before. (See "Developer preview" below for TypeDoc's localization status.)Safer, clearer builds
Theme options are validated up front (typo suggestions, a live Google-Font existence check) and the build prints a Next.js-style report of per-route sizes (with gzip). A single page that fails to compile is skipped and reported — never aborting the whole build.
The package suite
v5 isn't a single template — it's a small set of single-responsibility packages wired into a one-way
setu → dwarpipeline, all published to npm and reusable. They ship in lockstep (one shared version).Core pipeline
clean-jsdoc-theme— the JSDoc template / entry point. JSDoc calls itspublish()bridge, which orchestrates the pipeline and writes the site.@clean-jsdoc-theme/setu— turns the JSDoc doclet model into a structuredSiteManifest(pages, nav, cross-resolved links). No I/O, no HTML.@clean-jsdoc-theme/rang— the Preact component library, MDX element map, and island registry that the renderer bundles.@clean-jsdoc-theme/dwar— a pure renderer:SiteManifest→ HTML/CSS/JS (SSR + MDX + esbuild-bundled islands), plus a Pagefind hook.@clean-jsdoc-theme/utils— the shared type contracts, slug rules, and opts-validation/build-report core every package builds against.Localization
@clean-jsdoc-theme/aadesh— theclean-jsdocCLI that drives the extract → translate → build workflow. The localization steps live under ani18ngroup (clean-jsdoc i18n extract/i18n prompt/i18n validate), withclean-jsdoc buildtop-level (it renders the site with or without locales); plus an interactive menu.@clean-jsdoc-theme/bhasha— the pure, browser-safe i18n core (chrome catalog, thettranslator,LanguageProvider, and the API key/hash scheme) shared by the build and the UI.TypeDoc support — Developer Preview
TypeScript projects can generate the same site through
@clean-jsdoc-theme/typedoc, a plugin that feeds TypeDoc's reflections through the samesetu → dwarcore.This is a developer preview — it's available to try today, but still maturing, so expect some rough edges. We're shipping it to gather real-world feedback; please give it a spin and let us know what you find.
Getting started
Full docs: ankdev.me/clean-jsdoc-theme · TypeDoc: /theme/typedoc-getting-started · Localization: /guides/localize-your-docs
Breaking changes (from v4)
opts.theme_opts.*→opts.*(thetheme_optsblock is gone; options are validated).base_url→basePath,sections→sectionOrder; reshaped:title→siteName(string or logo set),menuentries →{ id, title, link/href, icon }.customCss/customCssFile+customJs/customJsFile.default_theme/fallback-*— v5 ships light+dark + a toggle),favicon,homepageTitle,codepen,sort, and others; search is always on. (footerandmetaare still supported —footernow also accepts{ file }, andmetakeeps its array-of-tags shape.).mdper page; assets live under_assets/— v4-era hardcoded asset paths break.Full mapping and before/after config: MIGRATION.md — or hand it to an LLM with the
migrate-v4-to-v5skill and let it do the rename/reshape/verify for you.Thanks & feedback
v5 is a large rewrite — thank you to everyone who tested the alphas. Found a bug or have a request? Open an issue or start a discussion. If the theme saves you time, consider sponsoring.
Configuration
📅 Schedule: (in timezone America/New_York)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.