create-zudo-doc 5.18.1 → 5.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ All notable changes to `create-zudo-doc` are documented in this file.
4
4
 
5
5
  The format is based on Keep a Changelog, and release notes are generated from the changelog MDX pages.
6
6
 
7
+ ## [5.18.2] - 2026-09-06
8
+
9
+ ### Bug Fixes
10
+
11
+ - `@takazudo/zdtp` is added to a generated project only when the Design Token Panel is enabled. It had been an unconditional direct dependency of every scaffold — which is how generated projects avoided the `@takazudo/zudo-doc` bundling bug fixed in this same release — so every project without the panel installed and carried a package it never used. With that bug fixed upstream, the dependency is now gated on `designTokenPanel`. (a93ff2293)
12
+ - Six feature flags now default on, matching the FEATURES catalog: `--sidebar-resizer`, `--sidebar-toggle`, `--toc-toggle`, `--doc-history`, `--llms-txt`, and `--asset-viewer`. A scaffold created without explicit flags now includes these features; pass the matching `--no-` flag to opt out. (6d0d3bfb9)
13
+
14
+ ### Other Changes
15
+
16
+ - The CLI reference table was contradicted by the change above and has been corrected: the default column now matches the catalog, and the previously-missing `--[no-]asset-viewer` row was added in catalog position. The package README's feature list was corrected the same way. (c908f7f9a, f006d4ada)
17
+
7
18
  ## [5.18.1] - 2026-09-06
8
19
 
9
20
  ### Other Changes
package/README.md CHANGED
@@ -113,18 +113,19 @@ Each feature has a `--[no-]<flag>` form. Passing `--feature` enables it; `--no-f
113
113
  | `--[no-]search` | Full-text search | on |
114
114
  | `--[no-]sidebar-filter` | Real-time sidebar filter | on |
115
115
  | `--[no-]image-enlarge` | Click-to-enlarge for oversized images | on |
116
- | `--[no-]asset-viewer` | Viewer pages for files under `public/assets/` | off |
116
+ | `--[no-]asset-viewer` | Viewer pages for files under `public/assets/` | on |
117
117
  | `--[no-]tag-governance` | Vocabulary-aware tag audit + suggest scripts | off |
118
118
  | `--[no-]claude-resources` | Auto-generate Claude Code docs from `.claude/` | off |
119
119
  | `--[no-]codex-resources` | Auto-generate Codex docs from `.codex/` + `AGENTS.md` | off |
120
120
  | `--[no-]claude-skills` | Ship zudo-doc Claude Code skills (design-system, translate, version-bump) | off |
121
121
  | `--[no-]design-token-panel` | Interactive panel for tweaking spacing, font, color tokens | off |
122
- | `--[no-]sidebar-resizer` | Draggable sidebar width handle | off |
123
- | `--[no-]sidebar-toggle` | Show/hide desktop sidebar button | off |
122
+ | `--[no-]sidebar-resizer` | Draggable sidebar width handle | on |
123
+ | `--[no-]sidebar-toggle` | Show/hide desktop sidebar button | on |
124
+ | `--[no-]toc-toggle` | Show/hide the desktop table of contents (edge chevron, xl screens) | on |
124
125
  | `--[no-]versioning` | Multi-version documentation support | off |
125
- | `--[no-]doc-history` | Show per-page document edit history | off |
126
+ | `--[no-]doc-history` | Show per-page document edit history | on |
126
127
  | `--[no-]body-foot-util` | Right-aligned strip below each doc (history trigger + GitHub source link) | off |
127
- | `--[no-]llms-txt` | Generate `llms.txt` for LLM consumption | off |
128
+ | `--[no-]llms-txt` | Generate `llms.txt` for LLM consumption | on |
128
129
  | `--[no-]skill-symlinker` | Symlink documentation skills into `.claude/` | off |
129
130
  | `--[no-]tauri` | Tauri desktop app — Mode 1 offline reader | off |
130
131
  | `--[no-]tauri-dev` | Tauri dev wrapper — Mode 2 configurable dev wrapper | off |
package/dist/constants.js CHANGED
@@ -251,21 +251,21 @@ export const FEATURES = [
251
251
  value: "sidebarResizer",
252
252
  label: "Sidebar resizer",
253
253
  hint: "Draggable sidebar width",
254
- default: false,
254
+ default: true,
255
255
  cliFlag: "sidebar-resizer",
256
256
  },
257
257
  {
258
258
  value: "sidebarToggle",
259
259
  label: "Sidebar toggle",
260
260
  hint: "Show/hide desktop sidebar",
261
- default: false,
261
+ default: true,
262
262
  cliFlag: "sidebar-toggle",
263
263
  },
264
264
  {
265
265
  value: "tocToggle",
266
266
  label: "TOC toggle",
267
267
  hint: "Show/hide the desktop table of contents",
268
- default: false,
268
+ default: true,
269
269
  cliFlag: "toc-toggle",
270
270
  },
271
271
  {
@@ -279,7 +279,7 @@ export const FEATURES = [
279
279
  value: "docHistory",
280
280
  label: "Document history",
281
281
  hint: "Show document edit history",
282
- default: false,
282
+ default: true,
283
283
  cliFlag: "doc-history",
284
284
  },
285
285
  {
@@ -293,7 +293,7 @@ export const FEATURES = [
293
293
  value: "llmsTxt",
294
294
  label: "llms.txt",
295
295
  hint: "Generate llms.txt for LLM consumption",
296
- default: false,
296
+ default: true,
297
297
  cliFlag: "llms-txt",
298
298
  },
299
299
  {
@@ -335,7 +335,7 @@ export const FEATURES = [
335
335
  value: "assetViewer",
336
336
  label: "Asset viewer",
337
337
  hint: "Viewer pages for files under public/assets",
338
- default: false,
338
+ default: true,
339
339
  cliFlag: "asset-viewer",
340
340
  },
341
341
  {
@@ -31,5 +31,5 @@ export declare function deriveDocSkillName(projectName: string): string;
31
31
  *
32
32
  * Bumped in lockstep by scripts/release-create-zudo-doc.sh.
33
33
  */
34
- export declare const ZUDO_DOC_PIN = "^5.18.1";
34
+ export declare const ZUDO_DOC_PIN = "^5.18.2";
35
35
  export declare function scaffold(choices: UserChoices): Promise<void>;
package/dist/scaffold.js CHANGED
@@ -47,7 +47,7 @@ export function deriveDocSkillName(projectName) {
47
47
  *
48
48
  * Bumped in lockstep by scripts/release-create-zudo-doc.sh.
49
49
  */
50
- export const ZUDO_DOC_PIN = "^5.18.1";
50
+ export const ZUDO_DOC_PIN = "^5.18.2";
51
51
  /**
52
52
  * Files in `templates/base/**` that must not be copied by the unconditional
53
53
  * base mirror. Each entry is matched against the path relative to
@@ -821,26 +821,20 @@ function generatePackageJson(choices, localePlan) {
821
821
  // missing copy produces no `pnpm install` warning — which is why this gap
822
822
  // shipped silently and only surfaced at build time.
823
823
  diff: "^8.0.3",
824
- // @takazudo/zdtp SAME "unconditional at build time despite being an
825
- // optional peer" class as `diff` above, discovered empirically while
826
- // verifying this generator's own barebone (designTokenPanel: OFF) output
827
- // (epic zudolab/zudo-doc#2651, #2660 self-review a genuine package-level
828
- // coupling, not a generator bug; flagged loudly on #2660's completion
829
- // comment for a package-side follow-up). Since the #2658 gate-2 fix,
830
- // `chrome/derive.tsx`'s `deriveBodyEndIslands` statically imports the REAL
831
- // `DesignTokenPanelBootstrap` as the default for EVERY `createChrome`
832
- // consumer (so the island auto-mounts with zero host wiring when the
833
- // setting is on) and that component imports `@takazudo/zdtp` at module
834
- // scope. So every page that goes through `createChrome` — which is every
835
- // page in this project — pulls the zdtp import into the esbuild bundle
836
- // graph, `designTokenPanel` setting or not; only RENDERING is gated on
837
- // the setting, not the import. Without this dep, `zfb build` fails with
838
- // "Could not resolve '@takazudo/zdtp'" even on a fully barebone project.
839
- // `preact ^10.29.1` (see the floor comment above) is required for the
840
- // same reason. This is the ACCEPTED, permanent contract per #2668 — see
841
- // the "@takazudo/zdtp dep implication" note in
842
- // packages/zudo-doc/docs/adr/route-injection-seam.md.
843
- "@takazudo/zdtp": "0.5.1",
824
+ // (@takazudo/zdtp is NOT here it is gated on the designTokenPanel
825
+ // feature, see the block below. It WAS unconditional from #2660 through
826
+ // #4018: `chrome/derive.tsx`'s `deriveBodyEndIslands` statically imports
827
+ // the REAL `DesignTokenPanelBootstrap` for EVERY `createChrome` consumer
828
+ // (zero host wiring when the setting is on), and that component used to
829
+ // import `@takazudo/zdtp/constants` at module scope so a barebone
830
+ // designTokenPanel:OFF project still died with "Could not resolve
831
+ // '@takazudo/zdtp/constants'". #4018 vendored those constants into
832
+ // @takazudo/zudo-doc, leaving only a rejection-handled
833
+ // `import("@takazudo/zdtp")` that esbuild tolerates when the package is
834
+ // absent, so the dep is now genuinely conditional (#4009).
835
+ // `preact` stays unconditional (the app needs it regardless); its
836
+ // ^10.29.1 floor is still chosen so a designTokenPanel-ON project shares
837
+ // one preact instance with zdtp see the floor comment above.)
844
838
  // (@takazudo/zudo-doc-history-server is NOT here — it is gated on the
845
839
  // docHistory or assetViewer features, see the block below. It was briefly unconditional
846
840
  // (#3080) to work around doc-history-area importing its `/exclude` subpath
@@ -868,6 +862,15 @@ function generatePackageJson(choices, localePlan) {
868
862
  // search ships as @takazudo/zudo-doc's own self-contained generated
869
863
  // search-widget script (custom word-match scorer) — no third-party search
870
864
  // engine dependency is needed here. Do not re-add minisearch/pagefind.
865
+ if (choices.features.includes("designTokenPanel")) {
866
+ // Only the design-token-panel feature graph reaches @takazudo/zdtp: the
867
+ // panel payload loads through a rejection-handled `import("@takazudo/zdtp")`
868
+ // at first toggle, and this feature's global.css injection is what pulls in
869
+ // `@takazudo/zdtp/styles.css` (see features/design-token-panel.ts). Both are
870
+ // no-ops with the feature off, so an OFF project must not carry the dep
871
+ // (#4009 / #4018 — it was unconditional until then, see the `deps` block).
872
+ deps["@takazudo/zdtp"] = "0.5.1";
873
+ }
871
874
  if (choices.features.includes("docHistory") ||
872
875
  choices.features.includes("assetViewer")) {
873
876
  // (`diff` remains an unconditional base dep — see the `deps` block above:
@@ -889,7 +892,7 @@ function generatePackageJson(choices, localePlan) {
889
892
  // `/exclude` at module scope from the always-bundled chrome graph; #3110
890
893
  // moved compileExclude into @takazudo/zudo-doc, so projects with both
891
894
  // docHistory and assetViewer off no longer need the package at all.
892
- deps["@takazudo/zudo-doc-history-server"] = "^5.18.1";
895
+ deps["@takazudo/zudo-doc-history-server"] = "^5.18.2";
893
896
  // tsx is no longer needed here: the relocated package plugin imports the
894
897
  // runner directly (no `tsx -e` spawn) since the package ships compiled
895
898
  // dist/ — package-first migration #2321 (#2337).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-zudo-doc",
3
- "version": "5.18.1",
3
+ "version": "5.18.2",
4
4
  "description": "Create a new zudo-doc documentation site",
5
5
  "license": "MIT",
6
6
  "author": "Takeshi Takatsudo",