create-fumadocs-app 16.2.30 → 16.2.32
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/dist/bin.js +3 -3
- package/dist/{constants-BdBsNM0B.js → constants-BXNeGyPA.js} +72 -66
- package/dist/{constants-BdBsNM0B.js.map → constants-BXNeGyPA.js.map} +1 -1
- package/dist/{feature-D7DCQAt1.js → feature-BSyhSuG1.js} +2 -2
- package/dist/{feature-D7DCQAt1.js.map → feature-BSyhSuG1.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/plugins/feature.js +1 -1
- package/dist/{src-DO8uM-EW.js → src-55Opr41I.js} +2 -2
- package/dist/{src-DO8uM-EW.js.map → src-55Opr41I.js.map} +1 -1
- package/package.json +4 -4
- package/template/+next+fuma-docs-mdx/app/docs/[[...slug]]/page.tsx +1 -1
- package/template/+next+fuma-docs-mdx/package.json +8 -8
- package/template/+next+fuma-docs-mdx+static/app/docs/[[...slug]]/page.tsx +1 -1
- package/template/+next+fuma-docs-mdx+static/package.json +9 -9
- package/template/astro/package.json +6 -6
- package/template/astro/src/pages/docs/[...slug].astro +1 -1
- package/template/react-router/app/routes/docs.tsx +1 -1
- package/template/react-router/package.json +11 -11
- package/template/react-router-spa/app/routes/docs.tsx +1 -1
- package/template/react-router-spa/package.json +11 -11
- package/template/tanstack-start/package.json +11 -11
- package/template/tanstack-start/src/routes/docs/$.tsx +1 -1
- package/template/tanstack-start-spa/package.json +14 -14
- package/template/tanstack-start-spa/src/routes/docs/$.tsx +1 -1
- package/template/waku/package.json +7 -7
- package/template/waku/src/pages/docs/[...slugs].tsx +1 -1
package/dist/bin.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as feature } from "./feature-
|
|
2
|
+
import { n as getPackageManager, r as managers, t as create } from "./src-55Opr41I.js";
|
|
3
|
+
import { i as templates, n as isCI } from "./constants-BXNeGyPA.js";
|
|
4
|
+
import { t as feature } from "./feature-BSyhSuG1.js";
|
|
5
5
|
import fs from "node:fs/promises";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import { cancel, confirm, group, intro, isCancel, outro, select, spinner, text } from "@clack/prompts";
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { fileURLToPath } from "node:url";
|
|
2
2
|
// \0rolldown/runtime.js
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
|
-
var __exportAll = (all,
|
|
5
|
-
let target = {};
|
|
4
|
+
var __exportAll = (all, flags) => {
|
|
5
|
+
let target = Object.setPrototypeOf({}, null);
|
|
6
6
|
for (var name in all) __defProp(target, name, {
|
|
7
7
|
get: all[name],
|
|
8
8
|
enumerable: true
|
|
9
9
|
});
|
|
10
|
-
if (!
|
|
11
|
-
return target;
|
|
10
|
+
if (!(flags & 1)) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
11
|
+
return flags & 2 ? target : Object.preventExtensions(target);
|
|
12
12
|
};
|
|
13
13
|
// ../create-app-versions/package.json
|
|
14
14
|
var dependencies$4 = {
|
|
15
|
-
"@biomejs/biome": "^2.6.
|
|
16
|
-
"@mixedbread/sdk": "^0.
|
|
15
|
+
"@biomejs/biome": "^2.6.6",
|
|
16
|
+
"@mixedbread/sdk": "^0.80.0",
|
|
17
17
|
"@orama/core": "^1.2.19",
|
|
18
|
-
"algoliasearch": "^5.
|
|
18
|
+
"algoliasearch": "^5.61.0",
|
|
19
19
|
"fumadocs-core": "workspace:*",
|
|
20
20
|
"fumadocs-mdx": "workspace:*",
|
|
21
21
|
"fumadocs-ui": "workspace:*",
|
|
22
22
|
"meilisearch": "^0.62.0",
|
|
23
|
-
"oxlint": "^1.
|
|
23
|
+
"oxlint": "^1.92.0",
|
|
24
24
|
"react": "^19.3.1",
|
|
25
|
-
"takumi-js": "^2.
|
|
25
|
+
"takumi-js": "^2.19.0",
|
|
26
26
|
"typesense": "^3.2.0",
|
|
27
27
|
"typesense-fumadocs-adapter": "^0.5.0"
|
|
28
28
|
};
|
|
@@ -51,7 +51,7 @@ var package_exports$3 = /* @__PURE__ */ __exportAll({
|
|
|
51
51
|
version: () => version$3
|
|
52
52
|
});
|
|
53
53
|
var name$3 = "fumadocs-core";
|
|
54
|
-
var version$3 = "16.18.
|
|
54
|
+
var version$3 = "16.18.3";
|
|
55
55
|
var description$3 = "The React.js library for building a documentation website";
|
|
56
56
|
var keywords$3 = ["Docs", "Fumadocs"];
|
|
57
57
|
var homepage$3 = "https://fumadocs.dev";
|
|
@@ -107,6 +107,7 @@ var exports$3 = {
|
|
|
107
107
|
"./mdx-plugins/remark-mdx-files": "./dist/mdx-plugins/remark-mdx-files.js",
|
|
108
108
|
"./mdx-plugins/remark-mdx-mermaid": "./dist/mdx-plugins/remark-mdx-mermaid.js",
|
|
109
109
|
"./mdx-plugins/remark-npm": "./dist/mdx-plugins/remark-npm.js",
|
|
110
|
+
"./mdx-plugins/remark-show": "./dist/mdx-plugins/remark-show.js",
|
|
110
111
|
"./mdx-plugins/remark-steps": "./dist/mdx-plugins/remark-steps.js",
|
|
111
112
|
"./mdx-plugins/remark-structure": "./dist/mdx-plugins/remark-structure.js",
|
|
112
113
|
"./mdx-plugins/stringifier": "./dist/mdx-plugins/stringifier.js",
|
|
@@ -175,42 +176,42 @@ var dependencies$3 = {
|
|
|
175
176
|
"remark-gfm": "^4.0.1",
|
|
176
177
|
"remark-rehype": "^11.1.2",
|
|
177
178
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
178
|
-
"shiki": "^4.
|
|
179
|
+
"shiki": "^4.6.0",
|
|
179
180
|
"tinyglobby": "^0.2.17",
|
|
180
181
|
"unified": "^11.0.5",
|
|
181
182
|
"vfile": "^6.0.3",
|
|
182
183
|
"yaml": "^2.9.1",
|
|
183
|
-
"zbsearch": "^4.0.
|
|
184
|
+
"zbsearch": "^4.0.2"
|
|
184
185
|
};
|
|
185
186
|
var devDependencies$3 = {
|
|
186
|
-
"@formatjs/intl-localematcher": "^0.
|
|
187
|
+
"@formatjs/intl-localematcher": "^0.10.1",
|
|
187
188
|
"@mdx-js/mdx": "^3.1.1",
|
|
188
|
-
"@mixedbread/sdk": "0.
|
|
189
|
-
"@modelcontextprotocol/server": "2.
|
|
189
|
+
"@mixedbread/sdk": "0.80.0",
|
|
190
|
+
"@modelcontextprotocol/server": "2.4.0",
|
|
190
191
|
"@orama/core": "^1.2.19",
|
|
191
192
|
"@oramacloud/client": "^2.1.4",
|
|
192
|
-
"@pierre/highlights": "^0.
|
|
193
|
-
"@shikijs/transformers": "^4.
|
|
194
|
-
"@tanstack/react-router": "1.170.
|
|
193
|
+
"@pierre/highlights": "^0.4.0",
|
|
194
|
+
"@shikijs/transformers": "^4.6.0",
|
|
195
|
+
"@tanstack/react-router": "1.170.46",
|
|
195
196
|
"@types/estree-jsx": "^1.0.5",
|
|
196
197
|
"@types/hast": "^3.0.5",
|
|
197
198
|
"@types/mdast": "^4.0.4",
|
|
198
|
-
"@types/node": "26.6.
|
|
199
|
+
"@types/node": "26.6.6",
|
|
199
200
|
"@types/react": "^19.3.0",
|
|
200
201
|
"@types/react-dom": "^19.3.0",
|
|
201
|
-
"algoliasearch": "5.
|
|
202
|
+
"algoliasearch": "5.61.0",
|
|
202
203
|
"flexsearch": "^0.8.212",
|
|
203
|
-
"hast-util-to-jsx-runtime": "^2.3.
|
|
204
|
-
"lucide-react": "^1.
|
|
204
|
+
"hast-util-to-jsx-runtime": "^2.3.7",
|
|
205
|
+
"lucide-react": "^1.70.0",
|
|
205
206
|
"meilisearch": "0.62.0",
|
|
206
|
-
"next": "16.4.
|
|
207
|
-
"path-to-regexp": "^
|
|
208
|
-
"react-router": "^8.5.
|
|
207
|
+
"next": "16.4.5",
|
|
208
|
+
"path-to-regexp": "^9.0.0",
|
|
209
|
+
"react-router": "^8.5.1",
|
|
209
210
|
"rehype-raw": "^7.0.0",
|
|
210
211
|
"remark-directive": "^4.0.0",
|
|
211
212
|
"remark-mdx": "^3.1.1",
|
|
212
213
|
"tsconfig": "workspace:*",
|
|
213
|
-
"tsdown": "0.23.
|
|
214
|
+
"tsdown": "0.23.7",
|
|
214
215
|
"typescript": "^7.0.2",
|
|
215
216
|
"waku": "1.0.0-rc.4",
|
|
216
217
|
"zod": "4.6.7"
|
|
@@ -263,9 +264,9 @@ var peerDependenciesMeta$3 = {
|
|
|
263
264
|
};
|
|
264
265
|
var inlinedDependencies$1 = {
|
|
265
266
|
"@formatjs/fast-memoize": "3.1.7",
|
|
266
|
-
"@formatjs/intl-localematcher": "0.
|
|
267
|
-
"@shikijs/transformers": "4.
|
|
268
|
-
"path-to-regexp": "
|
|
267
|
+
"@formatjs/intl-localematcher": "0.10.1",
|
|
268
|
+
"@shikijs/transformers": "4.6.0",
|
|
269
|
+
"path-to-regexp": "9.0.0"
|
|
269
270
|
};
|
|
270
271
|
var package_default$3 = {
|
|
271
272
|
name: name$3,
|
|
@@ -314,7 +315,7 @@ var package_exports$2 = /* @__PURE__ */ __exportAll({
|
|
|
314
315
|
version: () => version$2
|
|
315
316
|
});
|
|
316
317
|
var name$2 = "fumadocs-mdx";
|
|
317
|
-
var version$2 = "15.5.
|
|
318
|
+
var version$2 = "15.5.2";
|
|
318
319
|
var description$2 = "The built-in source for Fumadocs";
|
|
319
320
|
var keywords$2 = ["Docs", "fumadocs"];
|
|
320
321
|
var homepage$2 = "https://fumadocs.dev";
|
|
@@ -363,12 +364,16 @@ var scripts$2 = {
|
|
|
363
364
|
var dependencies$2 = {
|
|
364
365
|
"@mdx-js/mdx": "^3.1.1",
|
|
365
366
|
"@standard-schema/spec": "^1.1.0",
|
|
367
|
+
"acorn": "^8.19.0",
|
|
368
|
+
"acorn-jsx": "^5.3.2",
|
|
366
369
|
"chokidar": "^6.0.0",
|
|
367
370
|
"esbuild": "^0.28.2",
|
|
368
371
|
"estree-util-value-to-estree": "^3.5.0",
|
|
369
372
|
"github-slugger": "^2.0.0",
|
|
370
|
-
"magic-string": "^1.4.
|
|
373
|
+
"magic-string": "^1.4.5",
|
|
374
|
+
"mdast-util-from-markdown": "^2.1.0",
|
|
371
375
|
"mdast-util-mdx": "^3.0.0",
|
|
376
|
+
"micromark-extension-mdxjs-esm": "^3.0.0",
|
|
372
377
|
"picocolors": "^1.1.1",
|
|
373
378
|
"picomatch": "^4.0.7",
|
|
374
379
|
"tinyexec": "^1.3.1",
|
|
@@ -383,26 +388,26 @@ var dependencies$2 = {
|
|
|
383
388
|
var devDependencies$2 = {
|
|
384
389
|
"@fumadocs/satteri": "workspace:*",
|
|
385
390
|
"@fumadocs/vite": "workspace:*",
|
|
386
|
-
"@types/bun": "^1.4.
|
|
391
|
+
"@types/bun": "^1.4.4",
|
|
387
392
|
"@types/mdast": "^4.0.4",
|
|
388
393
|
"@types/mdx": "^2.0.14",
|
|
389
|
-
"@types/node": "^26.6.
|
|
394
|
+
"@types/node": "^26.6.6",
|
|
390
395
|
"@types/picomatch": "^4.0.3",
|
|
391
396
|
"@types/react": "^19.3.0",
|
|
392
|
-
"@vitejs/plugin-rsc": "^0.5.
|
|
397
|
+
"@vitejs/plugin-rsc": "^0.5.39",
|
|
393
398
|
"fumadocs-core": "workspace:*",
|
|
394
|
-
"mdast-util-directive": "^3.
|
|
395
|
-
"next": "^16.4.
|
|
399
|
+
"mdast-util-directive": "^3.2.0",
|
|
400
|
+
"next": "^16.4.5",
|
|
396
401
|
"react": "^19.3.1",
|
|
397
402
|
"remark": "^15.0.1",
|
|
398
403
|
"remark-directive": "^4.0.0",
|
|
399
404
|
"remark-mdx": "^3.1.1",
|
|
400
|
-
"rolldown": "
|
|
401
|
-
"satteri": "^0.
|
|
405
|
+
"rolldown": "~1.2.16",
|
|
406
|
+
"satteri": "^0.11.7",
|
|
402
407
|
"tsconfig": "workspace:*",
|
|
403
|
-
"tsdown": "0.23.
|
|
404
|
-
"vite": "^8.3.
|
|
405
|
-
"webpack": "^5.112.
|
|
408
|
+
"tsdown": "0.23.7",
|
|
409
|
+
"vite": "^8.3.6",
|
|
410
|
+
"webpack": "^5.112.2"
|
|
406
411
|
};
|
|
407
412
|
var peerDependencies$2 = {
|
|
408
413
|
"@fumadocs/satteri": "0.x.x",
|
|
@@ -410,12 +415,12 @@ var peerDependencies$2 = {
|
|
|
410
415
|
"@types/mdx": "*",
|
|
411
416
|
"@types/react": "*",
|
|
412
417
|
"@vitejs/plugin-rsc": "^0.5.34",
|
|
413
|
-
"fumadocs-core": "^16.
|
|
418
|
+
"fumadocs-core": "^16.18.3",
|
|
414
419
|
"mdast-util-directive": "*",
|
|
415
420
|
"next": "^15.3.0 || ^16.0.0",
|
|
416
421
|
"react": "^19.2.0",
|
|
417
422
|
"rolldown": "*",
|
|
418
|
-
"satteri": "^0.
|
|
423
|
+
"satteri": "^0.11.7",
|
|
419
424
|
"vite": "7.x.x || 8.x.x"
|
|
420
425
|
};
|
|
421
426
|
var peerDependenciesMeta$2 = {
|
|
@@ -477,7 +482,7 @@ var package_exports$1 = /* @__PURE__ */ __exportAll({
|
|
|
477
482
|
version: () => version$1
|
|
478
483
|
});
|
|
479
484
|
var name$1 = "@fumadocs/base-ui";
|
|
480
|
-
var version$1 = "16.18.
|
|
485
|
+
var version$1 = "16.18.3";
|
|
481
486
|
var description$1 = "The Base UI version of Fumadocs UI";
|
|
482
487
|
var keywords$1 = ["Docs", "Fumadocs"];
|
|
483
488
|
var homepage$1 = "https://fumadocs.dev";
|
|
@@ -612,29 +617,29 @@ var dependencies$1 = {
|
|
|
612
617
|
"@fuma-translate/react": "^1.0.2",
|
|
613
618
|
"@fumadocs/tailwind": "workspace:*",
|
|
614
619
|
"class-variance-authority": "^0.7.1",
|
|
615
|
-
"cn": "^0.5.
|
|
616
|
-
"lucide-react": "^1.
|
|
617
|
-
"motion": "^14.
|
|
620
|
+
"cn": "^0.5.2",
|
|
621
|
+
"lucide-react": "^1.70.0",
|
|
622
|
+
"motion": "^14.10.1",
|
|
618
623
|
"next-themes": "^0.4.6",
|
|
619
624
|
"react-remove-scroll": "^2.7.2",
|
|
620
625
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
621
|
-
"shiki": "^4.
|
|
626
|
+
"shiki": "^4.6.0"
|
|
622
627
|
};
|
|
623
628
|
var devDependencies$1 = {
|
|
624
629
|
"@fumadocs/cli": "workspace:*",
|
|
625
|
-
"@tailwindcss/cli": "^4.3.
|
|
626
|
-
"@tailwindcss/oxide": "^4.3.
|
|
627
|
-
"@tsdown/css": "^0.23.
|
|
630
|
+
"@tailwindcss/cli": "^4.3.5",
|
|
631
|
+
"@tailwindcss/oxide": "^4.3.5",
|
|
632
|
+
"@tsdown/css": "^0.23.7",
|
|
628
633
|
"@types/mdx": "^2.0.14",
|
|
629
|
-
"@types/node": "^26.6.
|
|
634
|
+
"@types/node": "^26.6.6",
|
|
630
635
|
"@types/react": "^19.3.0",
|
|
631
636
|
"@types/react-dom": "^19.3.0",
|
|
632
637
|
"fuma-cli": "^0.3.1",
|
|
633
638
|
"fumadocs-core": "workspace:*",
|
|
634
639
|
"react-medium-image-zoom": "^5.4.9",
|
|
635
|
-
"tailwindcss": "^4.3.
|
|
640
|
+
"tailwindcss": "^4.3.5",
|
|
636
641
|
"tsconfig": "workspace:*",
|
|
637
|
-
"tsdown": "0.23.
|
|
642
|
+
"tsdown": "0.23.7"
|
|
638
643
|
};
|
|
639
644
|
var peerDependencies$1 = {
|
|
640
645
|
"@types/mdx": "*",
|
|
@@ -696,7 +701,7 @@ var package_exports = /* @__PURE__ */ __exportAll({
|
|
|
696
701
|
version: () => version
|
|
697
702
|
});
|
|
698
703
|
var name = "@fumadocs/astro";
|
|
699
|
-
var version = "0.2.
|
|
704
|
+
var version = "0.2.2";
|
|
700
705
|
var description = "The Astro integration for Fumadocs";
|
|
701
706
|
var keywords = [
|
|
702
707
|
"Astro",
|
|
@@ -728,37 +733,38 @@ var scripts = {
|
|
|
728
733
|
"types:check": "tsc --noEmit"
|
|
729
734
|
};
|
|
730
735
|
var dependencies = {
|
|
731
|
-
"@astrojs/mdx": "^8.1.
|
|
736
|
+
"@astrojs/mdx": "^8.1.3",
|
|
732
737
|
"@fumadocs/satteri": "workspace:^",
|
|
733
738
|
"devalue": "^6.0.2",
|
|
734
|
-
"satteri": "^0.
|
|
739
|
+
"satteri": "^0.11.7",
|
|
740
|
+
"yaml": "^2.9.1",
|
|
735
741
|
"yuku-parser": "^0.19.0"
|
|
736
742
|
};
|
|
737
743
|
var devDependencies = {
|
|
738
|
-
"@astrojs/markdown-satteri": "^0.4.
|
|
739
|
-
"@astrojs/react": "^7.1.
|
|
744
|
+
"@astrojs/markdown-satteri": "^0.4.7",
|
|
745
|
+
"@astrojs/react": "^7.1.4",
|
|
740
746
|
"@types/estree-jsx": "^1.0.5",
|
|
741
747
|
"@types/hast": "^3.0.5",
|
|
742
748
|
"@types/mdx": "^2.0.14",
|
|
743
|
-
"@types/node": "26.6.
|
|
749
|
+
"@types/node": "26.6.6",
|
|
744
750
|
"@types/react": "^19.3.0",
|
|
745
751
|
"@types/react-dom": "^19.3.0",
|
|
746
|
-
"astro": "^7.4.
|
|
752
|
+
"astro": "^7.4.7",
|
|
747
753
|
"fumadocs-core": "workspace:*",
|
|
748
754
|
"fumadocs-ui": "workspace:@fumadocs/base-ui@*",
|
|
749
755
|
"react": "^19.3.1",
|
|
750
756
|
"react-dom": "^19.3.1",
|
|
751
757
|
"tsconfig": "workspace:*",
|
|
752
|
-
"tsdown": "0.23.
|
|
758
|
+
"tsdown": "0.23.7",
|
|
753
759
|
"typescript": "^7.0.2",
|
|
754
|
-
"vite": "^8.3.
|
|
755
|
-
"vitest": "^5.0
|
|
760
|
+
"vite": "^8.3.6",
|
|
761
|
+
"vitest": "^5.1.0"
|
|
756
762
|
};
|
|
757
763
|
var peerDependencies = {
|
|
758
764
|
"@astrojs/react": "^7.0.0",
|
|
759
765
|
"@types/mdx": "*",
|
|
760
766
|
"astro": "^7.4.0",
|
|
761
|
-
"fumadocs-core": "^16.
|
|
767
|
+
"fumadocs-core": "^16.18.3",
|
|
762
768
|
"react": "^19.2.0",
|
|
763
769
|
"react-dom": "^19.2.0"
|
|
764
770
|
};
|
|
@@ -851,4 +857,4 @@ for (const workspace of workspaces) depVersions[workspace.name] = workspace.vers
|
|
|
851
857
|
depVersions["fumadocs-ui"] = `npm:${name$1}@${version$1}`;
|
|
852
858
|
export { templates as i, isCI as n, sourceDir as r, depVersions as t };
|
|
853
859
|
|
|
854
|
-
//# sourceMappingURL=constants-
|
|
860
|
+
//# sourceMappingURL=constants-BXNeGyPA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants-
|
|
1
|
+
{"version":3,"file":"constants-BXNeGyPA.js","names":["corePkg","mdxPkg","basePkg","astroPkg","versionPkg.dependencies","basePkg.name","basePkg.version"],"sources":["../../create-app-versions/package.json","../../core/package.json","../../mdx/package.json","../../base-ui/package.json","../../astro/package.json","../src/constants.ts"],"sourcesContent":["","","","","","import { fileURLToPath } from 'node:url';\nimport versionPkg from '../../create-app-versions/package.json';\nimport * as corePkg from '../../core/package.json';\nimport * as mdxPkg from '../../mdx/package.json';\nimport * as basePkg from '../../base-ui/package.json';\nimport * as astroPkg from '../../astro/package.json';\n\nexport const sourceDir = fileURLToPath(new URL(`../`, import.meta.url).href);\n\nexport const isCI = Boolean(process.env.CI);\n\nexport interface TemplateInfo {\n value:\n | '+next+fuma-docs-mdx'\n | 'astro'\n | 'waku'\n | 'react-router'\n | 'react-router-spa'\n | 'tanstack-start'\n | 'tanstack-start-spa'\n | '+next+fuma-docs-mdx+static';\n label: string;\n appDir: string;\n /**\n * path to root provider, relative to `appDir`\n */\n rootProviderPath: string;\n hint?: string;\n /**\n * rename files when copying from template\n */\n rename?: (name: string) => string;\n}\n\nexport const templates: TemplateInfo[] = [\n {\n value: '+next+fuma-docs-mdx',\n label: 'Next.js: Fumadocs MDX',\n hint: 'recommended: powerful and mature',\n appDir: '',\n rootProviderPath: 'app/layout.tsx',\n },\n {\n value: 'waku',\n label: 'Waku: Fumadocs MDX',\n hint: 'recommended: fast and simple',\n appDir: 'src',\n rootProviderPath: 'components/provider.tsx',\n },\n {\n value: '+next+fuma-docs-mdx+static',\n label: 'Next.js Static: Fumadocs MDX',\n appDir: '',\n rootProviderPath: 'components/provider.tsx',\n },\n {\n value: 'react-router',\n label: 'React Router: Fumadocs MDX (not RSC)',\n appDir: 'app',\n rootProviderPath: 'root.tsx',\n },\n {\n value: 'react-router-spa',\n label: 'React Router SPA: Fumadocs MDX (not RSC)',\n hint: 'SPA mode allows you to host the site statically, compatible with a CDN.',\n appDir: 'app',\n rootProviderPath: 'root.tsx',\n },\n {\n value: 'tanstack-start',\n label: 'Tanstack Start: Fumadocs MDX (not RSC)',\n appDir: 'src',\n rootProviderPath: 'routes/__root.tsx',\n },\n {\n value: 'tanstack-start-spa',\n label: 'Tanstack Start SPA: Fumadocs MDX (not RSC)',\n hint: 'SPA mode allows you to host the site statically, compatible with a CDN.',\n appDir: 'src',\n rootProviderPath: 'routes/__root.tsx',\n },\n {\n value: 'astro',\n label: 'Astro: Content Collections',\n appDir: 'src',\n rootProviderPath: 'components/provider.tsx',\n },\n];\n\nconst workspaces = [corePkg, mdxPkg, basePkg, astroPkg];\n\nexport const depVersions = versionPkg.dependencies;\n\nfor (const workspace of workspaces) {\n depVersions[workspace.name as keyof typeof depVersions] = workspace.version;\n}\n\ndepVersions['fumadocs-ui'] = `npm:${basePkg.name}@${basePkg.version}`;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AKOA,MAAa,YAAY,cAAc,IAAI,IAAI,OAAO,YAAY,GAAG,CAAC,CAAC,IAAI;AAE3E,MAAa,OAAO,QAAQ,QAAQ,IAAI,EAAE;AAyB1C,MAAa,YAA4B;CACvC;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,kBAAkB;CACpB;CACA;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,kBAAkB;CACpB;CACA;EACE,OAAO;EACP,OAAO;EACP,QAAQ;EACR,kBAAkB;CACpB;CACA;EACE,OAAO;EACP,OAAO;EACP,QAAQ;EACR,kBAAkB;CACpB;CACA;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,kBAAkB;CACpB;CACA;EACE,OAAO;EACP,OAAO;EACP,QAAQ;EACR,kBAAkB;CACpB;CACA;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,kBAAkB;CACpB;CACA;EACE,OAAO;EACP,OAAO;EACP,QAAQ;EACR,kBAAkB;CACpB;AACF;AAEA,MAAM,aAAa;CAACA;CAASC;CAAQC;CAASC;AAAQ;AAEtD,MAAa,cAAcC;AAE3B,KAAK,MAAM,aAAa,YACtB,YAAY,UAAU,QAAoC,UAAU;AAGtE,YAAY,iBAAiB,OAAOC,OAAa,GAAGC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as depVersions } from "./constants-
|
|
1
|
+
import { t as depVersions } from "./constants-BXNeGyPA.js";
|
|
2
2
|
import { HttpRegistryConnector } from "fuma-cli/registry/connector";
|
|
3
3
|
import { getDefaultConfig } from "@fumadocs/cli/config";
|
|
4
4
|
import { runFeature } from "@fumadocs/cli/features";
|
|
@@ -23,4 +23,4 @@ function feature(feature, options) {
|
|
|
23
23
|
}
|
|
24
24
|
export { feature as t };
|
|
25
25
|
|
|
26
|
-
//# sourceMappingURL=feature-
|
|
26
|
+
//# sourceMappingURL=feature-BSyhSuG1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-
|
|
1
|
+
{"version":3,"file":"feature-BSyhSuG1.js","names":[],"sources":["../src/plugins/feature.ts"],"sourcesContent":["import type { TemplatePlugin } from '@/index';\nimport { HttpRegistryConnector } from 'fuma-cli/registry/connector';\nimport { getDefaultConfig } from '@fumadocs/cli/config';\nimport { type Feature, runFeature } from '@fumadocs/cli/features';\nimport { loadProject } from '@fumadocs/cli/project';\nimport { depVersions } from '@/constants';\n\n/** apply a Fumadocs CLI feature to the generated project */\nexport function feature<O extends object>(feature: Feature<O>, options: O): TemplatePlugin {\n return {\n async afterWrite() {\n const config = await getDefaultConfig(this.dest);\n const project = await loadProject(config, this.dest);\n\n await runFeature(feature, options, {\n project,\n connector: new HttpRegistryConnector('https://fumadocs.dev/registry'),\n versions: depVersions,\n io: { log: this.log, installDependencies: false, confirmOverwrite: async () => true },\n });\n },\n };\n}\n"],"mappings":";;;;;;;AAQA,SAAgB,QAA0B,SAAqB,SAA4B;CACzF,OAAO,EACL,MAAM,aAAa;EACjB,MAAM,SAAS,MAAM,iBAAiB,KAAK,IAAI;EAC/C,MAAM,UAAU,MAAM,YAAY,QAAQ,KAAK,IAAI;EAEnD,MAAM,WAAW,SAAS,SAAS;GACjC;GACA,WAAW,IAAI,sBAAsB,+BAA+B;GACpE,UAAU;GACV,IAAI;IAAE,KAAK,KAAK;IAAK,qBAAqB;IAAO,kBAAkB,YAAY;GAAK;EACtF,CAAC;CACH,EACF;AACF"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as create } from "./src-
|
|
1
|
+
export { t as create } from "./src-55Opr41I.js";
|
package/dist/plugins/feature.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as feature } from "../feature-
|
|
1
|
+
export { t as feature } from "../feature-BSyhSuG1.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as templates, r as sourceDir, t as depVersions } from "./constants-
|
|
1
|
+
import { i as templates, r as sourceDir, t as depVersions } from "./constants-BXNeGyPA.js";
|
|
2
2
|
import fs from "node:fs/promises";
|
|
3
3
|
import path, { join } from "node:path";
|
|
4
4
|
import { x } from "tinyexec";
|
|
@@ -142,4 +142,4 @@ async function initPackageJson(projectName, packageJsonPath) {
|
|
|
142
142
|
}
|
|
143
143
|
export { getPackageManager as n, managers as r, create as t };
|
|
144
144
|
|
|
145
|
-
//# sourceMappingURL=src-
|
|
145
|
+
//# sourceMappingURL=src-55Opr41I.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src-DO8uM-EW.js","names":[],"sources":["../src/auto-install.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["import { x } from 'tinyexec';\n\nexport type PackageManager = (typeof managers)[number];\n\nexport const managers = ['npm', 'yarn', 'bun', 'pnpm'] as const;\n\nexport function getPackageManager(): PackageManager {\n const userAgent = process.env.npm_config_user_agent ?? '';\n\n if (userAgent.startsWith('yarn')) {\n return 'yarn';\n }\n\n if (userAgent.startsWith('pnpm')) {\n return 'pnpm';\n }\n\n if (userAgent.startsWith('bun')) {\n return 'bun';\n }\n\n return 'npm';\n}\n\nexport async function autoInstall(manager: PackageManager, dest: string) {\n await x(manager, ['install'], {\n throwOnError: true,\n nodeOptions: {\n env: {\n ...process.env,\n NODE_ENV: 'development',\n DISABLE_OPENCOLLECTIVE: '1',\n },\n cwd: dest,\n },\n });\n}\n","import fs from 'node:fs/promises';\nimport path, { join } from 'node:path';\nimport { x } from 'tinyexec';\n\nexport async function copy(\n from: string,\n to: string,\n options: {\n rename?: (s: string) => string;\n filter?: (s: string) => boolean;\n filterDir?: (dir: string) => boolean;\n } = {},\n): Promise<void> {\n const { rename = (s) => s, filterDir = () => true, filter = () => true } = options;\n const stats = await fs.stat(from);\n\n if (stats.isDirectory() && filterDir(from)) {\n const files = await fs.readdir(from);\n\n await Promise.all(\n files.map((file) => copy(path.join(from, file), path.join(to, file), options)),\n );\n }\n\n if (stats.isFile() && filter(from)) {\n to = rename(to);\n await fs.mkdir(path.dirname(to), { recursive: true });\n await fs.copyFile(from, to);\n }\n}\n\nasync function isInGitRepository(cwd: string) {\n const { exitCode } = await x('git', ['rev-parse', '--is-inside-work-tree'], {\n nodeOptions: { cwd },\n });\n\n return exitCode === 0;\n}\n\nasync function isDefaultBranchSet(cwd: string) {\n const { exitCode } = await x('git', ['config', 'init.defaultBranch'], {\n nodeOptions: { cwd },\n });\n\n return exitCode === 0;\n}\n\n/*\nInitialize a Git repo on the project.\n\nBased on https://github.com/vercel/next.js/blob/canary/packages/create-next-app/helpers/git.ts\n*/\nexport async function tryGitInit(cwd: string): Promise<boolean> {\n const { exitCode } = await x('git', ['--version']);\n if (exitCode !== 0) return false;\n\n if (await isInGitRepository(cwd)) return false;\n\n try {\n await x('git', ['init'], {\n throwOnError: true,\n nodeOptions: { cwd },\n });\n\n if (!(await isDefaultBranchSet(cwd))) {\n await x('git', ['checkout', '-b', 'main'], {\n throwOnError: true,\n nodeOptions: {\n cwd,\n },\n });\n }\n\n await x('git', ['add', '-A'], {\n throwOnError: true,\n nodeOptions: {\n cwd,\n },\n });\n\n await x('git', ['commit', '-m', 'Initial commit from Create Fumadocs App'], {\n throwOnError: true,\n nodeOptions: {\n cwd,\n },\n });\n return true;\n } catch {\n await fs.rm(join(cwd, '.git'), { recursive: true, force: true });\n\n return false;\n }\n}\n","import path from 'node:path';\nimport fs from 'node:fs/promises';\nimport { copy, tryGitInit } from '@/utils';\nimport type { PackageManager } from './auto-install';\nimport { autoInstall } from './auto-install';\nimport { depVersions, sourceDir, type TemplateInfo, templates } from './constants';\n\nexport type Template = TemplateInfo['value'];\nexport interface Options {\n outputDir: string;\n template: Template;\n\n /**\n * the package manager to use\n *\n * @defaultValue 'npm'\n */\n packageManager?: PackageManager;\n\n installDeps?: boolean;\n initializeGit?: boolean;\n log?: (message: string) => void;\n plugins?: TemplatePlugin[];\n}\n\nexport interface TemplatePluginContext {\n template: TemplateInfo;\n log: (message: string) => void;\n /**\n * output directory\n */\n dest: string;\n\n /**\n * output directory for app code (e.g. under `/src`)\n */\n appDir: string;\n}\n\nexport type PackageJsonType = {\n name?: string;\n version?: string;\n private?: boolean;\n scripts?: Record<string, string>;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n} & Record<string, unknown>;\n\ntype Awaitable<T> = T | Promise<T>;\n\nexport interface TemplatePlugin {\n template?: (\n this: Pick<TemplatePluginContext, 'dest'>,\n info: TemplateInfo,\n ) => Awaitable<void | TemplateInfo>;\n packageJson?: (\n this: TemplatePluginContext,\n packageJson: PackageJsonType,\n ) => Awaitable<void | PackageJsonType>;\n afterWrite?: (this: TemplatePluginContext) => Awaitable<void>;\n readme?: (this: TemplatePluginContext, content: string) => Awaitable<void | string>;\n}\n\nexport async function create(createOptions: Options): Promise<void> {\n const {\n outputDir,\n plugins = [],\n packageManager = 'npm',\n initializeGit = false,\n installDeps = false,\n log = console.log,\n } = createOptions;\n\n let template = templates.find((item) => item.value === createOptions.template)!;\n for (const plugin of plugins) {\n template = (await plugin.template?.call({ dest: outputDir }, template)) ?? template;\n }\n\n const appDir = path.join(outputDir, template.appDir);\n const projectName = path.basename(outputDir);\n const pluginContext: TemplatePluginContext = {\n template,\n dest: outputDir,\n log,\n appDir,\n };\n\n await copy(path.join(sourceDir, 'template', template.value), outputDir, {\n rename(file) {\n file = file.replace('example.gitignore', '.gitignore');\n\n return template.rename?.(file) ?? file;\n },\n });\n\n const packageJsonPath = path.join(outputDir, 'package.json');\n let packageJson = await initPackageJson(projectName, packageJsonPath);\n for (const plugin of plugins) {\n packageJson = (await plugin.packageJson?.call(pluginContext, packageJson)) ?? packageJson;\n }\n await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2));\n\n const readmePath = path.join(outputDir, 'README.md');\n let readme = `# ${projectName}\\n\\n${await fs.readFile(readmePath)}`;\n for (const plugin of plugins) {\n readme = (await plugin.readme?.call(pluginContext, readme)) ?? readme;\n }\n await fs.writeFile(readmePath, readme);\n\n for (const plugin of plugins) {\n await plugin.afterWrite?.call(pluginContext);\n }\n\n if (installDeps) {\n try {\n await autoInstall(packageManager, outputDir);\n log('Installed dependencies');\n } catch (err) {\n log(`Failed to install dependencies: ${err}`);\n }\n }\n\n if (initializeGit && (await tryGitInit(outputDir))) {\n log('Initialized Git repository');\n }\n}\n\nasync function initPackageJson(\n projectName: string,\n packageJsonPath: string,\n): Promise<PackageJsonType> {\n function replaceWorkspaceDeps(deps: Record<string, string> = {}) {\n for (const k in deps) {\n if (deps[k].startsWith('workspace:') && k in depVersions) {\n deps[k] = depVersions[k as keyof typeof depVersions];\n }\n }\n\n return deps;\n }\n\n const packageJson: PackageJsonType = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));\n const dependencies = replaceWorkspaceDeps(packageJson.dependencies);\n const devDependencies = replaceWorkspaceDeps(packageJson.devDependencies);\n const scripts = { ...packageJson.scripts };\n\n return {\n ...packageJson,\n name: projectName,\n scripts,\n dependencies,\n devDependencies,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"src-55Opr41I.js","names":[],"sources":["../src/auto-install.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["import { x } from 'tinyexec';\n\nexport type PackageManager = (typeof managers)[number];\n\nexport const managers = ['npm', 'yarn', 'bun', 'pnpm'] as const;\n\nexport function getPackageManager(): PackageManager {\n const userAgent = process.env.npm_config_user_agent ?? '';\n\n if (userAgent.startsWith('yarn')) {\n return 'yarn';\n }\n\n if (userAgent.startsWith('pnpm')) {\n return 'pnpm';\n }\n\n if (userAgent.startsWith('bun')) {\n return 'bun';\n }\n\n return 'npm';\n}\n\nexport async function autoInstall(manager: PackageManager, dest: string) {\n await x(manager, ['install'], {\n throwOnError: true,\n nodeOptions: {\n env: {\n ...process.env,\n NODE_ENV: 'development',\n DISABLE_OPENCOLLECTIVE: '1',\n },\n cwd: dest,\n },\n });\n}\n","import fs from 'node:fs/promises';\nimport path, { join } from 'node:path';\nimport { x } from 'tinyexec';\n\nexport async function copy(\n from: string,\n to: string,\n options: {\n rename?: (s: string) => string;\n filter?: (s: string) => boolean;\n filterDir?: (dir: string) => boolean;\n } = {},\n): Promise<void> {\n const { rename = (s) => s, filterDir = () => true, filter = () => true } = options;\n const stats = await fs.stat(from);\n\n if (stats.isDirectory() && filterDir(from)) {\n const files = await fs.readdir(from);\n\n await Promise.all(\n files.map((file) => copy(path.join(from, file), path.join(to, file), options)),\n );\n }\n\n if (stats.isFile() && filter(from)) {\n to = rename(to);\n await fs.mkdir(path.dirname(to), { recursive: true });\n await fs.copyFile(from, to);\n }\n}\n\nasync function isInGitRepository(cwd: string) {\n const { exitCode } = await x('git', ['rev-parse', '--is-inside-work-tree'], {\n nodeOptions: { cwd },\n });\n\n return exitCode === 0;\n}\n\nasync function isDefaultBranchSet(cwd: string) {\n const { exitCode } = await x('git', ['config', 'init.defaultBranch'], {\n nodeOptions: { cwd },\n });\n\n return exitCode === 0;\n}\n\n/*\nInitialize a Git repo on the project.\n\nBased on https://github.com/vercel/next.js/blob/canary/packages/create-next-app/helpers/git.ts\n*/\nexport async function tryGitInit(cwd: string): Promise<boolean> {\n const { exitCode } = await x('git', ['--version']);\n if (exitCode !== 0) return false;\n\n if (await isInGitRepository(cwd)) return false;\n\n try {\n await x('git', ['init'], {\n throwOnError: true,\n nodeOptions: { cwd },\n });\n\n if (!(await isDefaultBranchSet(cwd))) {\n await x('git', ['checkout', '-b', 'main'], {\n throwOnError: true,\n nodeOptions: {\n cwd,\n },\n });\n }\n\n await x('git', ['add', '-A'], {\n throwOnError: true,\n nodeOptions: {\n cwd,\n },\n });\n\n await x('git', ['commit', '-m', 'Initial commit from Create Fumadocs App'], {\n throwOnError: true,\n nodeOptions: {\n cwd,\n },\n });\n return true;\n } catch {\n await fs.rm(join(cwd, '.git'), { recursive: true, force: true });\n\n return false;\n }\n}\n","import path from 'node:path';\nimport fs from 'node:fs/promises';\nimport { copy, tryGitInit } from '@/utils';\nimport type { PackageManager } from './auto-install';\nimport { autoInstall } from './auto-install';\nimport { depVersions, sourceDir, type TemplateInfo, templates } from './constants';\n\nexport type Template = TemplateInfo['value'];\nexport interface Options {\n outputDir: string;\n template: Template;\n\n /**\n * the package manager to use\n *\n * @defaultValue 'npm'\n */\n packageManager?: PackageManager;\n\n installDeps?: boolean;\n initializeGit?: boolean;\n log?: (message: string) => void;\n plugins?: TemplatePlugin[];\n}\n\nexport interface TemplatePluginContext {\n template: TemplateInfo;\n log: (message: string) => void;\n /**\n * output directory\n */\n dest: string;\n\n /**\n * output directory for app code (e.g. under `/src`)\n */\n appDir: string;\n}\n\nexport type PackageJsonType = {\n name?: string;\n version?: string;\n private?: boolean;\n scripts?: Record<string, string>;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n} & Record<string, unknown>;\n\ntype Awaitable<T> = T | Promise<T>;\n\nexport interface TemplatePlugin {\n template?: (\n this: Pick<TemplatePluginContext, 'dest'>,\n info: TemplateInfo,\n ) => Awaitable<void | TemplateInfo>;\n packageJson?: (\n this: TemplatePluginContext,\n packageJson: PackageJsonType,\n ) => Awaitable<void | PackageJsonType>;\n afterWrite?: (this: TemplatePluginContext) => Awaitable<void>;\n readme?: (this: TemplatePluginContext, content: string) => Awaitable<void | string>;\n}\n\nexport async function create(createOptions: Options): Promise<void> {\n const {\n outputDir,\n plugins = [],\n packageManager = 'npm',\n initializeGit = false,\n installDeps = false,\n log = console.log,\n } = createOptions;\n\n let template = templates.find((item) => item.value === createOptions.template)!;\n for (const plugin of plugins) {\n template = (await plugin.template?.call({ dest: outputDir }, template)) ?? template;\n }\n\n const appDir = path.join(outputDir, template.appDir);\n const projectName = path.basename(outputDir);\n const pluginContext: TemplatePluginContext = {\n template,\n dest: outputDir,\n log,\n appDir,\n };\n\n await copy(path.join(sourceDir, 'template', template.value), outputDir, {\n rename(file) {\n file = file.replace('example.gitignore', '.gitignore');\n\n return template.rename?.(file) ?? file;\n },\n });\n\n const packageJsonPath = path.join(outputDir, 'package.json');\n let packageJson = await initPackageJson(projectName, packageJsonPath);\n for (const plugin of plugins) {\n packageJson = (await plugin.packageJson?.call(pluginContext, packageJson)) ?? packageJson;\n }\n await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2));\n\n const readmePath = path.join(outputDir, 'README.md');\n let readme = `# ${projectName}\\n\\n${await fs.readFile(readmePath)}`;\n for (const plugin of plugins) {\n readme = (await plugin.readme?.call(pluginContext, readme)) ?? readme;\n }\n await fs.writeFile(readmePath, readme);\n\n for (const plugin of plugins) {\n await plugin.afterWrite?.call(pluginContext);\n }\n\n if (installDeps) {\n try {\n await autoInstall(packageManager, outputDir);\n log('Installed dependencies');\n } catch (err) {\n log(`Failed to install dependencies: ${err}`);\n }\n }\n\n if (initializeGit && (await tryGitInit(outputDir))) {\n log('Initialized Git repository');\n }\n}\n\nasync function initPackageJson(\n projectName: string,\n packageJsonPath: string,\n): Promise<PackageJsonType> {\n function replaceWorkspaceDeps(deps: Record<string, string> = {}) {\n for (const k in deps) {\n if (deps[k].startsWith('workspace:') && k in depVersions) {\n deps[k] = depVersions[k as keyof typeof depVersions];\n }\n }\n\n return deps;\n }\n\n const packageJson: PackageJsonType = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));\n const dependencies = replaceWorkspaceDeps(packageJson.dependencies);\n const devDependencies = replaceWorkspaceDeps(packageJson.devDependencies);\n const scripts = { ...packageJson.scripts };\n\n return {\n ...packageJson,\n name: projectName,\n scripts,\n dependencies,\n devDependencies,\n };\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-fumadocs-app",
|
|
3
|
-
"version": "16.2.
|
|
3
|
+
"version": "16.2.32",
|
|
4
4
|
"description": "Create a new documentation site with Fumadocs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Docs",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@clack/prompts": "^1.8.1",
|
|
43
|
-
"@fumadocs/cli": "1.8.
|
|
43
|
+
"@fumadocs/cli": "1.8.3",
|
|
44
44
|
"cac": "^7.1.0",
|
|
45
45
|
"fuma-cli": "^0.3.1",
|
|
46
46
|
"picocolors": "^1.1.1",
|
|
@@ -48,10 +48,10 @@
|
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/cross-spawn": "^6.0.6",
|
|
51
|
-
"@types/node": "26.6.
|
|
51
|
+
"@types/node": "26.6.6",
|
|
52
52
|
"tinyglobby": "^0.2.17",
|
|
53
53
|
"tsconfig": "0.0.0",
|
|
54
|
-
"tsdown": "0.23.
|
|
54
|
+
"tsdown": "0.23.7",
|
|
55
55
|
"typescript": "^7.0.2"
|
|
56
56
|
},
|
|
57
57
|
"engines": {
|
|
@@ -29,7 +29,7 @@ export default async function Page(props: PageProps<'/docs/[[...slug]]'>) {
|
|
|
29
29
|
<MarkdownCopyButton markdownUrl={markdownUrl} />
|
|
30
30
|
<ViewOptionsPopover
|
|
31
31
|
markdownUrl={markdownUrl}
|
|
32
|
-
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${page.path}`}
|
|
32
|
+
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${encodeURI(page.path)}`}
|
|
33
33
|
/>
|
|
34
34
|
</div>
|
|
35
35
|
<DocsBody>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "example-next",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.57",
|
|
4
4
|
"private": true,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "next build",
|
|
@@ -9,23 +9,23 @@
|
|
|
9
9
|
"types:check": "next typegen && tsc --noEmit"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"cn": "^0.5.
|
|
12
|
+
"cn": "^0.5.2",
|
|
13
13
|
"fumadocs-core": "workspace:*",
|
|
14
14
|
"fumadocs-mdx": "workspace:*",
|
|
15
15
|
"fumadocs-ui": "workspace:@fumadocs/base-ui@*",
|
|
16
|
-
"lucide-react": "^1.
|
|
17
|
-
"next": "16.4.
|
|
16
|
+
"lucide-react": "^1.70.0",
|
|
17
|
+
"next": "16.4.5",
|
|
18
18
|
"react": "^19.3.1",
|
|
19
19
|
"react-dom": "^19.3.1"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@tailwindcss/postcss": "^4.3.
|
|
22
|
+
"@tailwindcss/postcss": "^4.3.5",
|
|
23
23
|
"@types/mdx": "^2.0.14",
|
|
24
|
-
"@types/node": "^26.6.
|
|
24
|
+
"@types/node": "^26.6.6",
|
|
25
25
|
"@types/react": "^19.3.0",
|
|
26
26
|
"@types/react-dom": "^19.3.0",
|
|
27
|
-
"postcss": "^8.5.
|
|
28
|
-
"tailwindcss": "^4.3.
|
|
27
|
+
"postcss": "^8.5.32",
|
|
28
|
+
"tailwindcss": "^4.3.5",
|
|
29
29
|
"typescript": "^7.0.2"
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -29,7 +29,7 @@ export default async function Page(props: PageProps<'/docs/[[...slug]]'>) {
|
|
|
29
29
|
<MarkdownCopyButton markdownUrl={markdownUrl} />
|
|
30
30
|
<ViewOptionsPopover
|
|
31
31
|
markdownUrl={markdownUrl}
|
|
32
|
-
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${page.path}`}
|
|
32
|
+
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${encodeURI(page.path)}`}
|
|
33
33
|
/>
|
|
34
34
|
</div>
|
|
35
35
|
<DocsBody>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "example-next-static",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.57",
|
|
4
4
|
"private": true,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "next build",
|
|
@@ -9,24 +9,24 @@
|
|
|
9
9
|
"types:check": "next typegen && tsc --noEmit"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"cn": "^0.5.
|
|
12
|
+
"cn": "^0.5.2",
|
|
13
13
|
"fumadocs-core": "workspace:*",
|
|
14
14
|
"fumadocs-mdx": "workspace:*",
|
|
15
15
|
"fumadocs-ui": "workspace:@fumadocs/base-ui@*",
|
|
16
|
-
"lucide-react": "^1.
|
|
17
|
-
"next": "16.4.
|
|
16
|
+
"lucide-react": "^1.70.0",
|
|
17
|
+
"next": "16.4.5",
|
|
18
18
|
"react": "^19.3.1",
|
|
19
19
|
"react-dom": "^19.3.1"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@tailwindcss/postcss": "^4.3.
|
|
22
|
+
"@tailwindcss/postcss": "^4.3.5",
|
|
23
23
|
"@types/mdx": "^2.0.14",
|
|
24
|
-
"@types/node": "^26.6.
|
|
24
|
+
"@types/node": "^26.6.6",
|
|
25
25
|
"@types/react": "^19.3.0",
|
|
26
26
|
"@types/react-dom": "^19.3.0",
|
|
27
|
-
"postcss": "^8.5.
|
|
28
|
-
"serve": "^14.2.
|
|
29
|
-
"tailwindcss": "^4.3.
|
|
27
|
+
"postcss": "^8.5.32",
|
|
28
|
+
"serve": "^14.2.7",
|
|
29
|
+
"tailwindcss": "^4.3.5",
|
|
30
30
|
"typescript": "^7.0.2"
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "example-astro",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.53",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -12,22 +12,22 @@
|
|
|
12
12
|
"astro": "astro"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@astrojs/react": "^7.1.
|
|
15
|
+
"@astrojs/react": "^7.1.4",
|
|
16
16
|
"@fumadocs/astro": "workspace:*",
|
|
17
|
-
"astro": "^7.4.
|
|
17
|
+
"astro": "^7.4.7",
|
|
18
18
|
"fumadocs-core": "workspace:*",
|
|
19
19
|
"fumadocs-ui": "workspace:@fumadocs/base-ui@*",
|
|
20
20
|
"react": "^19.3.1",
|
|
21
21
|
"react-dom": "^19.3.1",
|
|
22
22
|
"sharp": "^0.35.5",
|
|
23
|
-
"takumi-js": "^2.
|
|
23
|
+
"takumi-js": "^2.19.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@tailwindcss/vite": "^4.3.
|
|
26
|
+
"@tailwindcss/vite": "^4.3.5",
|
|
27
27
|
"@types/mdx": "^2.0.14",
|
|
28
28
|
"@types/react": "^19.3.0",
|
|
29
29
|
"@types/react-dom": "^19.3.0",
|
|
30
|
-
"tailwindcss": "^4.3.
|
|
30
|
+
"tailwindcss": "^4.3.5",
|
|
31
31
|
"typescript": "^7.0.2"
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -36,7 +36,7 @@ const pageTree = await source.serializePageTree(source.getPageTree());
|
|
|
36
36
|
description={page.data.description}
|
|
37
37
|
toc={toc}
|
|
38
38
|
markdownUrl={getPageMarkdownUrl(page).url}
|
|
39
|
-
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${page.path}`}
|
|
39
|
+
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${encodeURI(page.path)}`}
|
|
40
40
|
>
|
|
41
41
|
<Content />
|
|
42
42
|
</Docs>
|
|
@@ -55,7 +55,7 @@ function Content({
|
|
|
55
55
|
<MarkdownCopyButton markdownUrl={markdownUrl} />
|
|
56
56
|
<ViewOptionsPopover
|
|
57
57
|
markdownUrl={markdownUrl}
|
|
58
|
-
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${path}`}
|
|
58
|
+
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${encodeURI(path)}`}
|
|
59
59
|
/>
|
|
60
60
|
</div>
|
|
61
61
|
<DocsBody>
|
|
@@ -9,29 +9,29 @@
|
|
|
9
9
|
"types:check": "react-router typegen && tsc --noEmit"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@react-router/node": "^8.5.
|
|
13
|
-
"@react-router/serve": "^8.5.
|
|
14
|
-
"cn": "^0.5.
|
|
12
|
+
"@react-router/node": "^8.5.1",
|
|
13
|
+
"@react-router/serve": "^8.5.1",
|
|
14
|
+
"cn": "^0.5.2",
|
|
15
15
|
"fumadocs-core": "workspace:*",
|
|
16
16
|
"fumadocs-mdx": "workspace:*",
|
|
17
17
|
"fumadocs-ui": "workspace:@fumadocs/base-ui@*",
|
|
18
18
|
"isbot": "^5.2.2",
|
|
19
|
-
"lucide-react": "^1.
|
|
19
|
+
"lucide-react": "^1.70.0",
|
|
20
20
|
"react": "^19.3.1",
|
|
21
21
|
"react-dom": "^19.3.1",
|
|
22
|
-
"react-router": "^8.5.
|
|
23
|
-
"takumi-js": "^2.
|
|
22
|
+
"react-router": "^8.5.1",
|
|
23
|
+
"takumi-js": "^2.19.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@react-router/dev": "^8.5.
|
|
27
|
-
"@tailwindcss/vite": "^4.3.
|
|
26
|
+
"@react-router/dev": "^8.5.1",
|
|
27
|
+
"@tailwindcss/vite": "^4.3.5",
|
|
28
28
|
"@types/mdx": "^2.0.14",
|
|
29
|
-
"@types/node": "^26.6.
|
|
29
|
+
"@types/node": "^26.6.6",
|
|
30
30
|
"@types/react": "^19.3.0",
|
|
31
31
|
"@types/react-dom": "^19.3.0",
|
|
32
32
|
"react-router-devtools": "^6.2.3",
|
|
33
|
-
"tailwindcss": "^4.3.
|
|
33
|
+
"tailwindcss": "^4.3.5",
|
|
34
34
|
"typescript": "^7.0.2",
|
|
35
|
-
"vite": "^8.3.
|
|
35
|
+
"vite": "^8.3.6"
|
|
36
36
|
}
|
|
37
37
|
}
|
|
@@ -55,7 +55,7 @@ function Content({
|
|
|
55
55
|
<MarkdownCopyButton markdownUrl={markdownUrl} />
|
|
56
56
|
<ViewOptionsPopover
|
|
57
57
|
markdownUrl={markdownUrl}
|
|
58
|
-
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${path}`}
|
|
58
|
+
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${encodeURI(path)}`}
|
|
59
59
|
/>
|
|
60
60
|
</div>
|
|
61
61
|
<DocsBody>
|
|
@@ -9,29 +9,29 @@
|
|
|
9
9
|
"types:check": "react-router typegen && tsc --noEmit"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@react-router/node": "^8.5.
|
|
13
|
-
"cn": "^0.5.
|
|
12
|
+
"@react-router/node": "^8.5.1",
|
|
13
|
+
"cn": "^0.5.2",
|
|
14
14
|
"fumadocs-core": "workspace:*",
|
|
15
15
|
"fumadocs-mdx": "workspace:*",
|
|
16
16
|
"fumadocs-ui": "workspace:@fumadocs/base-ui@*",
|
|
17
17
|
"isbot": "^5.2.2",
|
|
18
|
-
"lucide-react": "^1.
|
|
18
|
+
"lucide-react": "^1.70.0",
|
|
19
19
|
"react": "^19.3.1",
|
|
20
20
|
"react-dom": "^19.3.1",
|
|
21
|
-
"react-router": "^8.5.
|
|
22
|
-
"takumi-js": "^2.
|
|
21
|
+
"react-router": "^8.5.1",
|
|
22
|
+
"takumi-js": "^2.19.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@react-router/dev": "^8.5.
|
|
26
|
-
"@tailwindcss/vite": "^4.3.
|
|
25
|
+
"@react-router/dev": "^8.5.1",
|
|
26
|
+
"@tailwindcss/vite": "^4.3.5",
|
|
27
27
|
"@types/mdx": "^2.0.14",
|
|
28
|
-
"@types/node": "^26.6.
|
|
28
|
+
"@types/node": "^26.6.6",
|
|
29
29
|
"@types/react": "^19.3.0",
|
|
30
30
|
"@types/react-dom": "^19.3.0",
|
|
31
31
|
"react-router-devtools": "^6.2.3",
|
|
32
|
-
"serve": "^14.2.
|
|
33
|
-
"tailwindcss": "^4.3.
|
|
32
|
+
"serve": "^14.2.7",
|
|
33
|
+
"tailwindcss": "^4.3.5",
|
|
34
34
|
"typescript": "^7.0.2",
|
|
35
|
-
"vite": "^8.3.
|
|
35
|
+
"vite": "^8.3.6"
|
|
36
36
|
}
|
|
37
37
|
}
|
|
@@ -11,28 +11,28 @@
|
|
|
11
11
|
"types:check": "tsc --noEmit"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@tanstack/react-router": "1.170.
|
|
14
|
+
"@tanstack/react-router": "1.170.46",
|
|
15
15
|
"@tanstack/react-router-devtools": "1.167.2",
|
|
16
|
-
"@tanstack/react-start": "1.169.
|
|
17
|
-
"cn": "^0.5.
|
|
16
|
+
"@tanstack/react-start": "1.169.4",
|
|
17
|
+
"cn": "^0.5.2",
|
|
18
18
|
"fumadocs-core": "workspace:*",
|
|
19
19
|
"fumadocs-mdx": "workspace:*",
|
|
20
20
|
"fumadocs-ui": "workspace:@fumadocs/base-ui@*",
|
|
21
|
-
"lucide-react": "^1.
|
|
21
|
+
"lucide-react": "^1.70.0",
|
|
22
22
|
"react": "^19.3.1",
|
|
23
23
|
"react-dom": "^19.3.1",
|
|
24
|
-
"takumi-js": "^2.
|
|
24
|
+
"takumi-js": "^2.19.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@tailwindcss/vite": "^4.3.
|
|
27
|
+
"@tailwindcss/vite": "^4.3.5",
|
|
28
28
|
"@types/mdx": "^2.0.14",
|
|
29
|
-
"@types/node": "^26.6.
|
|
29
|
+
"@types/node": "^26.6.6",
|
|
30
30
|
"@types/react": "^19.3.0",
|
|
31
31
|
"@types/react-dom": "^19.3.0",
|
|
32
|
-
"@vitejs/plugin-react": "^6.1
|
|
33
|
-
"nitro": "3.0.
|
|
34
|
-
"tailwindcss": "^4.3.
|
|
32
|
+
"@vitejs/plugin-react": "^6.2.1",
|
|
33
|
+
"nitro": "3.0.261103-rc",
|
|
34
|
+
"tailwindcss": "^4.3.5",
|
|
35
35
|
"typescript": "^7.0.2",
|
|
36
|
-
"vite": "^8.3.
|
|
36
|
+
"vite": "^8.3.6"
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -60,7 +60,7 @@ function Content({ path, markdownUrl }: { path: string; markdownUrl: string }) {
|
|
|
60
60
|
<MarkdownCopyButton markdownUrl={markdownUrl} />
|
|
61
61
|
<ViewOptionsPopover
|
|
62
62
|
markdownUrl={markdownUrl}
|
|
63
|
-
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${path}`}
|
|
63
|
+
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${encodeURI(path)}`}
|
|
64
64
|
/>
|
|
65
65
|
</div>
|
|
66
66
|
<DocsBody>
|
|
@@ -11,31 +11,31 @@
|
|
|
11
11
|
"types:check": "tsc --noEmit"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@tanstack/react-router": "1.170.
|
|
14
|
+
"@tanstack/react-router": "1.170.46",
|
|
15
15
|
"@tanstack/react-router-devtools": "1.167.2",
|
|
16
|
-
"@tanstack/react-start": "1.169.
|
|
17
|
-
"@tanstack/start-static-server-functions": "1.167.
|
|
18
|
-
"cn": "^0.5.
|
|
16
|
+
"@tanstack/react-start": "1.169.4",
|
|
17
|
+
"@tanstack/start-static-server-functions": "1.167.44",
|
|
18
|
+
"cn": "^0.5.2",
|
|
19
19
|
"fumadocs-core": "workspace:*",
|
|
20
20
|
"fumadocs-mdx": "workspace:*",
|
|
21
21
|
"fumadocs-ui": "workspace:@fumadocs/base-ui@*",
|
|
22
|
-
"lucide-react": "^1.
|
|
22
|
+
"lucide-react": "^1.70.0",
|
|
23
23
|
"react": "^19.3.1",
|
|
24
24
|
"react-dom": "^19.3.1",
|
|
25
|
-
"takumi-js": "^2.
|
|
25
|
+
"takumi-js": "^2.19.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@tailwindcss/vite": "^4.3.
|
|
28
|
+
"@tailwindcss/vite": "^4.3.5",
|
|
29
29
|
"@types/mdx": "^2.0.14",
|
|
30
|
-
"@types/node": "^26.6.
|
|
30
|
+
"@types/node": "^26.6.6",
|
|
31
31
|
"@types/react": "^19.3.0",
|
|
32
32
|
"@types/react-dom": "^19.3.0",
|
|
33
|
-
"@vitejs/plugin-react": "^6.1
|
|
34
|
-
"nitro": "3.0.
|
|
35
|
-
"serve": "^14.2.
|
|
36
|
-
"srvx": "^1.0.
|
|
37
|
-
"tailwindcss": "^4.3.
|
|
33
|
+
"@vitejs/plugin-react": "^6.2.1",
|
|
34
|
+
"nitro": "3.0.261103-rc",
|
|
35
|
+
"serve": "^14.2.7",
|
|
36
|
+
"srvx": "^1.0.8",
|
|
37
|
+
"tailwindcss": "^4.3.5",
|
|
38
38
|
"typescript": "^7.0.2",
|
|
39
|
-
"vite": "^8.3.
|
|
39
|
+
"vite": "^8.3.6"
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -62,7 +62,7 @@ function Content({ path, markdownUrl }: { path: string; markdownUrl: string }) {
|
|
|
62
62
|
<MarkdownCopyButton markdownUrl={markdownUrl} />
|
|
63
63
|
<ViewOptionsPopover
|
|
64
64
|
markdownUrl={markdownUrl}
|
|
65
|
-
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${path}`}
|
|
65
|
+
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${encodeURI(path)}`}
|
|
66
66
|
/>
|
|
67
67
|
</div>
|
|
68
68
|
<DocsBody>
|
|
@@ -10,25 +10,25 @@
|
|
|
10
10
|
"types:check": "tsc --noEmit"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"cn": "^0.5.
|
|
13
|
+
"cn": "^0.5.2",
|
|
14
14
|
"fumadocs-core": "workspace:*",
|
|
15
15
|
"fumadocs-mdx": "workspace:*",
|
|
16
16
|
"fumadocs-ui": "workspace:@fumadocs/base-ui@*",
|
|
17
|
-
"lucide-react": "^1.
|
|
17
|
+
"lucide-react": "^1.70.0",
|
|
18
18
|
"react": "^19.3.1",
|
|
19
19
|
"react-dom": "^19.3.1",
|
|
20
20
|
"react-server-dom-webpack": "^19.3.1",
|
|
21
|
-
"takumi-js": "^2.
|
|
21
|
+
"takumi-js": "^2.19.0",
|
|
22
22
|
"waku": "1.0.0-rc.4"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@tailwindcss/vite": "^4.3.
|
|
25
|
+
"@tailwindcss/vite": "^4.3.5",
|
|
26
26
|
"@types/mdx": "^2.0.14",
|
|
27
|
-
"@types/node": "^26.6.
|
|
27
|
+
"@types/node": "^26.6.6",
|
|
28
28
|
"@types/react": "^19.3.0",
|
|
29
29
|
"@types/react-dom": "^19.3.0",
|
|
30
|
-
"tailwindcss": "^4.3.
|
|
30
|
+
"tailwindcss": "^4.3.5",
|
|
31
31
|
"typescript": "^7.0.2",
|
|
32
|
-
"vite": "^8.3.
|
|
32
|
+
"vite": "^8.3.6"
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -28,7 +28,7 @@ export default function Page({ slugs }: PageProps<'/docs/[...slugs]'>) {
|
|
|
28
28
|
<MarkdownCopyButton markdownUrl={markdownUrl} />
|
|
29
29
|
<ViewOptionsPopover
|
|
30
30
|
markdownUrl={markdownUrl}
|
|
31
|
-
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${page.path}`}
|
|
31
|
+
githubUrl={`https://github.com/${gitConfig.user}/${gitConfig.repo}/blob/${gitConfig.branch}/content/docs/${encodeURI(page.path)}`}
|
|
32
32
|
/>
|
|
33
33
|
</div>
|
|
34
34
|
<DocsBody>
|