create-fumadocs-app 16.0.94 → 16.0.95
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 +2 -2
- package/dist/{constants-B_4QgOQ_.js → constants-B298gc-Q.js} +20 -39
- package/dist/{constants-B_4QgOQ_.js.map → constants-B298gc-Q.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/plugins/biome.js +1 -1
- package/dist/plugins/eslint.js +1 -1
- package/dist/plugins/next-use-takumi.js +1 -1
- package/dist/plugins/orama-cloud.js +1 -1
- package/dist/plugins/oxlint.js +1 -1
- package/dist/{src-B3AbGLsg.js → src-B0OwNvUC.js} +2 -2
- package/dist/{src-B3AbGLsg.js.map → src-B0OwNvUC.js.map} +1 -1
- package/package.json +2 -2
- package/template/waku/package.json +0 -1
- package/template/waku/waku.config.ts +6 -4
package/dist/bin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { i as templates, n as isCI } from "./constants-
|
|
3
|
-
import { n as getPackageManager, r as managers, t as create } from "./src-
|
|
2
|
+
import { i as templates, n as isCI } from "./constants-B298gc-Q.js";
|
|
3
|
+
import { n as getPackageManager, r as managers, t as create } from "./src-B0OwNvUC.js";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { cancel, confirm, group, intro, isCancel, outro, select, spinner, text } from "@clack/prompts";
|
|
@@ -344,7 +344,6 @@ var package_exports$2 = /* @__PURE__ */ __exportAll({
|
|
|
344
344
|
homepage: () => homepage$2,
|
|
345
345
|
keywords: () => keywords$2,
|
|
346
346
|
license: () => license$2,
|
|
347
|
-
main: () => main,
|
|
348
347
|
name: () => name$2,
|
|
349
348
|
peerDependencies: () => peerDependencies$2,
|
|
350
349
|
peerDependenciesMeta: () => peerDependenciesMeta$2,
|
|
@@ -356,7 +355,7 @@ var package_exports$2 = /* @__PURE__ */ __exportAll({
|
|
|
356
355
|
version: () => version$2
|
|
357
356
|
});
|
|
358
357
|
var name$2 = "fumadocs-mdx";
|
|
359
|
-
var version$2 = "14.
|
|
358
|
+
var version$2 = "14.3.0";
|
|
360
359
|
var description$2 = "The built-in source for Fumadocs";
|
|
361
360
|
var keywords$2 = ["Docs", "NextJs"];
|
|
362
361
|
var homepage$2 = "https://fumadocs.dev";
|
|
@@ -370,44 +369,27 @@ var files$2 = [
|
|
|
370
369
|
"dist"
|
|
371
370
|
];
|
|
372
371
|
var type$2 = "module";
|
|
373
|
-
var main = "./dist/index.js";
|
|
374
372
|
var types = "./dist/index.d.ts";
|
|
375
373
|
var exports$2 = {
|
|
374
|
+
".": "./dist/index.js",
|
|
375
|
+
"./bin": "./dist/bin.js",
|
|
376
|
+
"./bun": "./dist/bun/index.js",
|
|
377
|
+
"./config": "./dist/config/index.js",
|
|
378
|
+
"./next": "./dist/next/index.js",
|
|
379
|
+
"./node/loader": "./dist/node/loader.js",
|
|
380
|
+
"./plugins/index-file": "./dist/plugins/index-file.js",
|
|
381
|
+
"./plugins/json-schema": "./dist/plugins/json-schema.js",
|
|
382
|
+
"./plugins/last-modified": "./dist/plugins/last-modified.js",
|
|
383
|
+
"./runtime/browser": "./dist/runtime/browser.js",
|
|
384
|
+
"./runtime/dynamic": "./dist/runtime/dynamic.js",
|
|
385
|
+
"./runtime/server": "./dist/runtime/server.js",
|
|
386
|
+
"./runtime/types": "./dist/runtime/types.js",
|
|
387
|
+
"./vite": "./dist/vite/index.js",
|
|
388
|
+
"./webpack/mdx": "./dist/webpack/mdx.js",
|
|
389
|
+
"./webpack/meta": "./dist/webpack/meta.js",
|
|
390
|
+
"./package.json": "./package.json",
|
|
376
391
|
"./loader-mdx": "./loader-mdx.cjs",
|
|
377
|
-
"./loader-meta": "./loader-meta.cjs"
|
|
378
|
-
"./config": {
|
|
379
|
-
"types": "./dist/config/index.d.ts",
|
|
380
|
-
"import": "./dist/config/index.js"
|
|
381
|
-
},
|
|
382
|
-
"./next": {
|
|
383
|
-
"types": "./dist/next/index.d.ts",
|
|
384
|
-
"import": "./dist/next/index.js",
|
|
385
|
-
"require": "./dist/next/index.cjs"
|
|
386
|
-
},
|
|
387
|
-
"./vite": {
|
|
388
|
-
"types": "./dist/vite/index.d.ts",
|
|
389
|
-
"import": "./dist/vite/index.js"
|
|
390
|
-
},
|
|
391
|
-
".": {
|
|
392
|
-
"types": "./dist/index.d.ts",
|
|
393
|
-
"import": "./dist/index.js"
|
|
394
|
-
},
|
|
395
|
-
"./runtime/*": {
|
|
396
|
-
"types": "./dist/runtime/*.d.ts",
|
|
397
|
-
"import": "./dist/runtime/*.js"
|
|
398
|
-
},
|
|
399
|
-
"./node/loader": {
|
|
400
|
-
"types": "./dist/node/loader.d.ts",
|
|
401
|
-
"import": "./dist/node/loader.js"
|
|
402
|
-
},
|
|
403
|
-
"./bun": {
|
|
404
|
-
"types": "./dist/bun/index.d.ts",
|
|
405
|
-
"import": "./dist/bun/index.js"
|
|
406
|
-
},
|
|
407
|
-
"./plugins/*": {
|
|
408
|
-
"types": "./dist/plugins/*.d.ts",
|
|
409
|
-
"import": "./dist/plugins/*.js"
|
|
410
|
-
}
|
|
392
|
+
"./loader-meta": "./loader-meta.cjs"
|
|
411
393
|
};
|
|
412
394
|
var publishConfig$2 = { "access": "public" };
|
|
413
395
|
var scripts$2 = {
|
|
@@ -488,7 +470,6 @@ var package_default$2 = {
|
|
|
488
470
|
bin,
|
|
489
471
|
files: files$2,
|
|
490
472
|
type: type$2,
|
|
491
|
-
main,
|
|
492
473
|
types,
|
|
493
474
|
exports: exports$2,
|
|
494
475
|
publishConfig: publishConfig$2,
|
|
@@ -991,4 +972,4 @@ for (const workspace of workspaces) depVersions[workspace.name] = workspace.vers
|
|
|
991
972
|
//#endregion
|
|
992
973
|
export { copy as a, writeFile$1 as c, templates as i, isCI as n, pick as o, sourceDir as r, tryGitInit as s, depVersions as t };
|
|
993
974
|
|
|
994
|
-
//# sourceMappingURL=constants-
|
|
975
|
+
//# sourceMappingURL=constants-B298gc-Q.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants-
|
|
1
|
+
{"version":3,"file":"constants-B298gc-Q.js","names":["writeFile","corePkg","mdxPkg","radixPkg","basePkg","versionPkg.dependencies"],"sources":["../src/utils.ts","../../create-app-versions/package.json","../../core/package.json","../../mdx/package.json","../../radix-ui/package.json","../../base-ui/package.json","../src/constants.ts"],"sourcesContent":["import fs from 'node:fs/promises';\nimport path, { join } from 'node:path';\nimport { x } from 'tinyexec';\n\nexport async function writeFile(file: string, content: string) {\n await fs.mkdir(path.dirname(file), { recursive: true });\n await fs.writeFile(file, content);\n}\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\nexport function pick<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K> {\n const result: Partial<T> = {};\n\n for (const key of keys) {\n if (key in obj) {\n result[key] = obj[key];\n }\n }\n\n return result as Pick<T, K>;\n}\n","","","","","","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 radixPkg from '../../radix-ui/package.json';\nimport * as basePkg from '../../base-ui/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 | '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',\n appDir: '',\n rootProviderPath: 'app/layout.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: 'waku',\n label: 'Waku: Fumadocs MDX',\n appDir: 'src',\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\nconst workspaces = [corePkg, mdxPkg, radixPkg, basePkg];\n\nexport const depVersions = versionPkg.dependencies;\n\nfor (const workspace of workspaces) {\n depVersions[workspace.name as keyof typeof depVersions] = workspace.version;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA,eAAsBA,YAAU,MAAc,SAAiB;AAC7D,OAAM,GAAG,MAAM,KAAK,QAAQ,KAAK,EAAE,EAAE,WAAW,MAAM,CAAC;AACvD,OAAM,GAAG,UAAU,MAAM,QAAQ;;AAGnC,eAAsB,KACpB,MACA,IACA,UAII,EAAE,EACS;CACf,MAAM,EAAE,UAAU,MAAM,GAAG,kBAAkB,MAAM,eAAe,SAAS;CAC3E,MAAM,QAAQ,MAAM,GAAG,KAAK,KAAK;AAEjC,KAAI,MAAM,aAAa,IAAI,UAAU,KAAK,EAAE;EAC1C,MAAM,QAAQ,MAAM,GAAG,QAAQ,KAAK;AAEpC,QAAM,QAAQ,IACZ,MAAM,KAAK,SAAS,KAAK,KAAK,KAAK,MAAM,KAAK,EAAE,KAAK,KAAK,IAAI,KAAK,EAAE,QAAQ,CAAC,CAC/E;;AAGH,KAAI,MAAM,QAAQ,IAAI,OAAO,KAAK,EAAE;AAClC,OAAK,OAAO,GAAG;AACf,QAAM,GAAG,MAAM,KAAK,QAAQ,GAAG,EAAE,EAAE,WAAW,MAAM,CAAC;AACrD,QAAM,GAAG,SAAS,MAAM,GAAG;;;AAI/B,eAAe,kBAAkB,KAAa;CAC5C,MAAM,EAAE,aAAa,MAAM,EAAE,OAAO,CAAC,aAAa,wBAAwB,EAAE,EAC1E,aAAa,EAAE,KAAK,EACrB,CAAC;AAEF,QAAO,aAAa;;AAGtB,eAAe,mBAAmB,KAAa;CAC7C,MAAM,EAAE,aAAa,MAAM,EAAE,OAAO,CAAC,UAAU,qBAAqB,EAAE,EACpE,aAAa,EAAE,KAAK,EACrB,CAAC;AAEF,QAAO,aAAa;;AAQtB,eAAsB,WAAW,KAA+B;CAC9D,MAAM,EAAE,aAAa,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;AAClD,KAAI,aAAa,EAAG,QAAO;AAE3B,KAAI,MAAM,kBAAkB,IAAI,CAAE,QAAO;AAEzC,KAAI;AACF,QAAM,EAAE,OAAO,CAAC,OAAO,EAAE;GACvB,cAAc;GACd,aAAa,EAAE,KAAK;GACrB,CAAC;AAEF,MAAI,CAAE,MAAM,mBAAmB,IAAI,CACjC,OAAM,EAAE,OAAO;GAAC;GAAY;GAAM;GAAO,EAAE;GACzC,cAAc;GACd,aAAa,EACX,KACD;GACF,CAAC;AAGJ,QAAM,EAAE,OAAO,CAAC,OAAO,KAAK,EAAE;GAC5B,cAAc;GACd,aAAa,EACX,KACD;GACF,CAAC;AAEF,QAAM,EAAE,OAAO;GAAC;GAAU;GAAM;GAA0C,EAAE;GAC1E,cAAc;GACd,aAAa,EACX,KACD;GACF,CAAC;AACF,SAAO;SACD;AACN,QAAM,GAAG,GAAG,KAAK,KAAK,OAAO,EAAE;GAAE,WAAW;GAAM,OAAO;GAAM,CAAC;AAEhE,SAAO;;;AAIX,SAAgB,KAA0C,KAAQ,MAAuB;CACvF,MAAM,SAAqB,EAAE;AAE7B,MAAK,MAAM,OAAO,KAChB,KAAI,OAAO,IACT,QAAO,OAAO,IAAI;AAItB,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AMrGT,MAAa,YAAY,cAAc,IAAI,IAAI,OAAO,OAAO,KAAK,IAAI,CAAC,KAAK;AAE5E,MAAa,OAAO,QAAQ,QAAQ,IAAI,GAAG;AAwB3C,MAAa,YAA4B;CACvC;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,kBAAkB;EACnB;CACD;EACE,OAAO;EACP,OAAO;EACP,QAAQ;EACR,kBAAkB;EACnB;CACD;EACE,OAAO;EACP,OAAO;EACP,QAAQ;EACR,kBAAkB;EACnB;CACD;EACE,OAAO;EACP,OAAO;EACP,QAAQ;EACR,kBAAkB;EACnB;CACD;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,kBAAkB;EACnB;CACD;EACE,OAAO;EACP,OAAO;EACP,QAAQ;EACR,kBAAkB;EACnB;CACD;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,kBAAkB;EACnB;CACF;AAED,MAAM,aAAa;CAACC;CAASC;CAAQC;CAAUC;CAAQ;AAEvD,MAAa,cAAcC;AAE3B,KAAK,MAAM,aAAa,WACtB,aAAY,UAAU,QAAoC,UAAU"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as create } from "./src-
|
|
1
|
+
import { t as create } from "./src-B0OwNvUC.js";
|
|
2
2
|
export { create };
|
package/dist/plugins/biome.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as writeFile, o as pick, t as depVersions } from "../constants-
|
|
1
|
+
import { c as writeFile, o as pick, t as depVersions } from "../constants-B298gc-Q.js";
|
|
2
2
|
import biome_base_default from "./biome.base.js";
|
|
3
3
|
import biome_next_default from "./biome.next.js";
|
|
4
4
|
import path from "node:path";
|
package/dist/plugins/eslint.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as writeFile, o as pick, t as depVersions } from "../constants-
|
|
1
|
+
import { c as writeFile, o as pick, t as depVersions } from "../constants-B298gc-Q.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
//#region src/plugins/eslint.ts
|
|
4
4
|
const config = `import { defineConfig, globalIgnores } from 'eslint/config';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as pick, t as depVersions } from "../constants-
|
|
1
|
+
import { o as pick, t as depVersions } from "../constants-B298gc-Q.js";
|
|
2
2
|
import { readFile, writeFile } from "node:fs/promises";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
//#region src/plugins/next-use-takumi.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as copy, c as writeFile$1, o as pick, r as sourceDir, t as depVersions } from "../constants-
|
|
1
|
+
import { a as copy, c as writeFile$1, o as pick, r as sourceDir, t as depVersions } from "../constants-B298gc-Q.js";
|
|
2
2
|
import { n as getCodeValue, t as createSourceFile } from "../shared-DUVwToe1.js";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
package/dist/plugins/oxlint.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as copy, i as templates, r as sourceDir, s as tryGitInit, t as depVersions } from "./constants-
|
|
1
|
+
import { a as copy, i as templates, r as sourceDir, s as tryGitInit, t as depVersions } from "./constants-B298gc-Q.js";
|
|
2
2
|
import fs from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { x } from "tinyexec";
|
|
@@ -84,4 +84,4 @@ async function initPackageJson(projectName, packageJsonPath) {
|
|
|
84
84
|
//#endregion
|
|
85
85
|
export { getPackageManager as n, managers as r, create as t };
|
|
86
86
|
|
|
87
|
-
//# sourceMappingURL=src-
|
|
87
|
+
//# sourceMappingURL=src-B0OwNvUC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src-
|
|
1
|
+
{"version":3,"file":"src-B0OwNvUC.js","names":[],"sources":["../src/auto-install.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 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\n return {\n ...packageJson,\n name: projectName,\n scripts: {\n ...packageJson.scripts,\n postinstall: 'fumadocs-mdx',\n },\n dependencies: replaceWorkspaceDeps(packageJson.dependencies),\n devDependencies: replaceWorkspaceDeps(packageJson.devDependencies),\n };\n}\n"],"mappings":";;;;;AAIA,MAAa,WAAW;CAAC;CAAO;CAAQ;CAAO;CAAO;AAEtD,SAAgB,oBAAoC;CAClD,MAAM,YAAY,QAAQ,IAAI,yBAAyB;AAEvD,KAAI,UAAU,WAAW,OAAO,CAC9B,QAAO;AAGT,KAAI,UAAU,WAAW,OAAO,CAC9B,QAAO;AAGT,KAAI,UAAU,WAAW,MAAM,CAC7B,QAAO;AAGT,QAAO;;AAGT,eAAsB,YAAY,SAAyB,MAAc;AACvE,OAAM,EAAE,SAAS,CAAC,UAAU,EAAE;EAC5B,cAAc;EACd,aAAa;GACX,KAAK;IACH,GAAG,QAAQ;IACX,UAAU;IACV,wBAAwB;IACzB;GACD,KAAK;GACN;EACF,CAAC;;;;AC4BJ,eAAsB,OAAO,eAAuC;CAClE,MAAM,EACJ,WACA,UAAU,EAAE,EACZ,iBAAiB,OACjB,gBAAgB,OAChB,cAAc,OACd,MAAM,QAAQ,QACZ;CAEJ,IAAI,WAAW,UAAU,MAAM,SAAS,KAAK,UAAU,cAAc,SAAS;AAC9E,MAAK,MAAM,UAAU,QACnB,YAAY,MAAM,OAAO,UAAU,KAAK,EAAE,MAAM,WAAW,EAAE,SAAS,IAAK;CAG7E,MAAM,SAAS,KAAK,KAAK,WAAW,SAAS,OAAO;CACpD,MAAM,cAAc,KAAK,SAAS,UAAU;CAC5C,MAAM,gBAAuC;EAC3C;EACA,MAAM;EACN;EACA;EACD;AAED,OAAM,KAAK,KAAK,KAAK,WAAW,YAAY,SAAS,MAAM,EAAE,WAAW,EACtE,OAAO,MAAM;AACX,SAAO,KAAK,QAAQ,qBAAqB,aAAa;AAEtD,SAAO,SAAS,SAAS,KAAK,IAAI;IAErC,CAAC;CAEF,MAAM,kBAAkB,KAAK,KAAK,WAAW,eAAe;CAC5D,IAAI,cAAc,MAAM,gBAAgB,aAAa,gBAAgB;AACrE,MAAK,MAAM,UAAU,QACnB,eAAe,MAAM,OAAO,aAAa,KAAK,eAAe,YAAY,IAAK;AAEhF,OAAM,GAAG,UAAU,iBAAiB,KAAK,UAAU,aAAa,MAAM,EAAE,CAAC;CAEzE,MAAM,aAAa,KAAK,KAAK,WAAW,YAAY;CACpD,IAAI,SAAS,KAAK,YAAY,MAAM,MAAM,GAAG,SAAS,WAAW;AACjE,MAAK,MAAM,UAAU,QACnB,UAAU,MAAM,OAAO,QAAQ,KAAK,eAAe,OAAO,IAAK;AAEjE,OAAM,GAAG,UAAU,YAAY,OAAO;AAEtC,MAAK,MAAM,UAAU,QACnB,OAAM,OAAO,YAAY,KAAK,cAAc;AAG9C,KAAI,YACF,KAAI;AACF,QAAM,YAAY,gBAAgB,UAAU;AAC5C,MAAI,yBAAyB;UACtB,KAAK;AACZ,MAAI,mCAAmC,MAAM;;AAIjD,KAAI,iBAAkB,MAAM,WAAW,UAAU,CAC/C,KAAI,6BAA6B;;AAIrC,eAAe,gBACb,aACA,iBAC0B;CAC1B,SAAS,qBAAqB,OAA+B,EAAE,EAAE;AAC/D,OAAK,MAAM,KAAK,KACd,KAAI,KAAK,GAAG,WAAW,aAAa,IAAI,KAAK,YAC3C,MAAK,KAAK,YAAY;AAI1B,SAAO;;CAGT,MAAM,cAA+B,KAAK,MAAM,MAAM,GAAG,SAAS,iBAAiB,QAAQ,CAAC;AAE5F,QAAO;EACL,GAAG;EACH,MAAM;EACN,SAAS;GACP,GAAG,YAAY;GACf,aAAa;GACd;EACD,cAAc,qBAAqB,YAAY,aAAa;EAC5D,iBAAiB,qBAAqB,YAAY,gBAAgB;EACnE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-fumadocs-app",
|
|
3
|
-
"version": "16.0.
|
|
3
|
+
"version": "16.0.95",
|
|
4
4
|
"description": "Create a new documentation site with Fumadocs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Docs",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"picocolors": "^1.1.1",
|
|
41
41
|
"tinyexec": "^1.1.1",
|
|
42
42
|
"ts-morph": "^28.0.0",
|
|
43
|
-
"@fumadocs/cli": "1.3.
|
|
43
|
+
"@fumadocs/cli": "1.3.8"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/cross-spawn": "^6.0.6",
|
|
@@ -9,13 +9,15 @@ export default defineConfig({
|
|
|
9
9
|
// we do this to avoid Vite from bundling React contexts and cause duplicated contexts conflicts.
|
|
10
10
|
optimizeDeps: {
|
|
11
11
|
exclude: ['fumadocs-ui', 'fumadocs-core'],
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
include: [
|
|
13
|
+
'fumadocs-ui > unified',
|
|
14
|
+
'fumadocs-core > remark',
|
|
15
|
+
'fumadocs-core > hast-util-to-jsx-runtime',
|
|
16
|
+
],
|
|
15
17
|
},
|
|
16
18
|
resolve: {
|
|
17
19
|
tsconfigPaths: true,
|
|
18
|
-
external: ['@
|
|
20
|
+
external: ['@takumi-rs/image-response'],
|
|
19
21
|
},
|
|
20
22
|
|
|
21
23
|
plugins: [tailwindcss(), mdx(MdxConfig)],
|