create-zudo-doc 5.24.0 → 5.24.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
@@ -8,6 +8,18 @@ The format is based on Keep a Changelog, and release notes are generated from th
8
8
 
9
9
  No unreleased changes.
10
10
 
11
+ ## [5.24.2] - 2026-09-15
12
+
13
+ ### Bug Fixes
14
+
15
+ - Generated projects list `diff` only when doc history is enabled (directly, or through `bodyFootUtil`), and no longer list `katex` by default. Projects that turn on `math: true` install `katex` themselves (`pnpm add katex`). (c778ca989)
16
+
17
+ ## [5.24.1] - 2026-09-15
18
+
19
+ ### Other Changes
20
+
21
+ - Generated projects now pin `@takazudo/zfb`, `@takazudo/zfb-runtime`, and `@takazudo/zfb-md-wasm` to `2.17.0`. That release updates the YAML frontmatter parser and changes no API, so existing projects need no migration (a30a832b3)
22
+
11
23
  ## [5.24.0] - 2026-09-13
12
24
 
13
25
  - No package-specific changes.
@@ -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.24.0";
34
+ export declare const ZUDO_DOC_PIN = "^5.24.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.24.0";
50
+ export const ZUDO_DOC_PIN = "^5.24.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
@@ -772,9 +772,15 @@ function generatePackageJson(choices, localePlan) {
772
772
  // does — pin by semver, as here, and there is nothing to re-pin. No public
773
773
  // API, export, config default, or engine requirement moves, so a fresh
774
774
  // scaffold needs no migration.
775
- "@takazudo/zfb": "2.16.0",
776
- "@takazudo/zfb-runtime": "2.16.0",
777
- "@takazudo/zfb-md-wasm": "2.16.0",
775
+ // 2.17.0: zfb and md-wasm bump the YAML frontmatter parser to
776
+ // noyalib-serde-yaml 0.0.43 (upstream reports every YAML corpus case parses
777
+ // byte-identically), which recompiles the four wasm artifacts at slightly
778
+ // moved sizes; zfb-runtime and zfb-adapter-cloudflare change only their
779
+ // README/description. No public API, export, config default, or engine
780
+ // requirement moves, so a fresh scaffold needs no migration.
781
+ "@takazudo/zfb": "2.17.0",
782
+ "@takazudo/zfb-runtime": "2.17.0",
783
+ "@takazudo/zfb-md-wasm": "2.17.0",
778
784
  // @takazudo/zudo-doc — published from this monorepo via
779
785
  // .github/workflows/publish-zudo-doc.yml. The pin here is bumped in
780
786
  // lockstep by scripts/release-create-zudo-doc.sh whenever zudo-doc's
@@ -815,25 +821,16 @@ function generatePackageJson(choices, localePlan) {
815
821
  // compiles. Same pin as host. Caught by W6B (#1735) consumer-build
816
822
  // verification.
817
823
  "preact-render-to-string": "^6.6.6",
818
- // katex server-side LaTeX renderer used by the always-on
819
- // pages/lib/_math-block.tsx (called from pages/_mdx-components.ts
820
- // for `$…$` and `$$…$$` math nodes). Caught by W6B (#1735)
821
- // consumer-build verification the import lives in the mirrored
822
- // pages, not behind any feature gate. Same pin as host.
823
- katex: "^0.16.38",
824
- // diff required at build time by EVERY generated project, not just
825
- // docHistory ones. The always-copied host base template
826
- // `pages/lib/_doc-history-area.tsx` statically imports the real
827
- // `DocHistory` from `@takazudo/zudo-doc/doc-history` (to keep zfb's island
828
- // scanner chain page→stub→DocHistory walkable), which pulls
829
- // `@takazudo/zudo-doc/dist/doc-history/index.js`'s `await import("diff")`
830
- // into the bundle. With packageOwnedRoutes default ON (1.0), a
831
- // docHistory-off project still bundles that path, so without `diff` here
832
- // `zfb build` fails at esbuild with "Could not resolve 'diff'" (#2342).
833
- // `diff` is an *optional* peerDependency of @takazudo/zudo-doc, so a
834
- // missing copy produces no `pnpm install` warning — which is why this gap
835
- // shipped silently and only surfaced at build time.
836
- diff: "^8.0.3",
824
+ // katex is intentionally ABSENT here. `math` is not a create-zudo-doc
825
+ // feature (it defaults to `false` in DEFAULT_SETTINGS) and
826
+ // @takazudo/zudo-doc now loads katex via a rejection-handled dynamic
827
+ // import that stays non-build-fatal when the package is absent (#4206 /
828
+ // #4209). A project that turns `math: true` on by hand must
829
+ // `pnpm add katex` itself — see the math-equations doc.
830
+ // diff is likewise intentionally ABSENT from this unconditional block
831
+ // it is added below, gated on the docHistory feature, for the same
832
+ // #4206 / #4209 reason: the doc-history route's `import("diff")` is now
833
+ // rejection-handled instead of build-fatal when docHistory is off.
837
834
  // (@takazudo/zdtp is NOT here — it is gated on the designTokenPanel
838
835
  // feature, see the block below. It WAS unconditional from #2660 through
839
836
  // #4018: `chrome/derive.tsx`'s `deriveBodyEndIslands` statically imports
@@ -875,6 +872,17 @@ function generatePackageJson(choices, localePlan) {
875
872
  // search ships as @takazudo/zudo-doc's own self-contained generated
876
873
  // search-widget script (custom word-match scorer) — no third-party search
877
874
  // engine dependency is needed here. Do not re-add minisearch/pagefind.
875
+ if (choices.features.includes("docHistory")) {
876
+ // diff powers the History dropdown's Compare view
877
+ // (`@takazudo/zudo-doc/doc-history`'s `await import("diff")`). #4209 made
878
+ // that import rejection-handled, so a docHistory-OFF project no longer
879
+ // needs the dep at all — including bodyFootUtil-only projects, since
880
+ // scaffold() already normalizes bodyFootUtil into docHistory before this
881
+ // function runs (see the co-enable block near the top of scaffold()).
882
+ // assetViewer alone does not reach this import and must not carry it
883
+ // (#4206 / #4209; it was an unconditional base dep before this fix).
884
+ deps.diff = "^8.0.3";
885
+ }
878
886
  if (choices.features.includes("designTokenPanel")) {
879
887
  // Only the design-token-panel feature graph reaches @takazudo/zdtp: the
880
888
  // panel payload loads through a rejection-handled `import("@takazudo/zdtp")`
@@ -886,9 +894,9 @@ function generatePackageJson(choices, localePlan) {
886
894
  }
887
895
  if (choices.features.includes("docHistory") ||
888
896
  choices.features.includes("assetViewer")) {
889
- // (`diff` remains an unconditional base dep — see the `deps` block above:
890
- // packageOwnedRoutes always bundles the doc-history-area path, whose
891
- // module-scope `diff` import is pulled in regardless of this flag. #2342.)
897
+ // (`diff` is gated separately, on docHistory alone — see the block just
898
+ // above this one. assetViewer does not reach the Compare view's
899
+ // `import("diff")`, so it must not add the dep on its own; #4206 / #4209.)
892
900
  //
893
901
  // @takazudo/zudo-doc-history-server is gated HERE because docHistory and
894
902
  // assetViewer are the only feature graphs that reach it. The doc-history
@@ -905,7 +913,7 @@ function generatePackageJson(choices, localePlan) {
905
913
  // `/exclude` at module scope from the always-bundled chrome graph; #3110
906
914
  // moved compileExclude into @takazudo/zudo-doc, so projects with both
907
915
  // docHistory and assetViewer off no longer need the package at all.
908
- deps["@takazudo/zudo-doc-history-server"] = "^5.24.0";
916
+ deps["@takazudo/zudo-doc-history-server"] = "^5.24.2";
909
917
  // tsx is no longer needed here: the relocated package plugin imports the
910
918
  // runner directly (no `tsx -e` spawn) since the package ships compiled
911
919
  // 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.24.0",
3
+ "version": "5.24.2",
4
4
  "description": "Create a new zudo-doc documentation site",
5
5
  "license": "MIT",
6
6
  "author": "Takeshi Takatsudo",