@farming-labs/next 0.0.23 → 0.0.25
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/config.mjs +9 -2
- package/package.json +6 -3
package/dist/config.mjs
CHANGED
|
@@ -25,6 +25,11 @@ import createMDX from "@next/mdx";
|
|
|
25
25
|
* // In docs.config set ai.enabled: false and staticExport: true.
|
|
26
26
|
* export default withDocs({ output: "export" });
|
|
27
27
|
*/
|
|
28
|
+
/** Resolve Next.js App Router directory: prefer src/app when present, else app. */
|
|
29
|
+
function getNextAppDir(root) {
|
|
30
|
+
if (existsSync(join(root, "src", "app"))) return "src/app";
|
|
31
|
+
return "app";
|
|
32
|
+
}
|
|
28
33
|
const GENERATED_BANNER = "// Auto-generated by @farming-labs/next — do not edit manually.\n";
|
|
29
34
|
const MDX_COMPONENTS_TEMPLATE = `\
|
|
30
35
|
${GENERATED_BANNER}
|
|
@@ -100,14 +105,16 @@ function readOgEndpoint(root) {
|
|
|
100
105
|
function withDocs(nextConfig = {}) {
|
|
101
106
|
const root = process.cwd();
|
|
102
107
|
if (!hasFile(root, "mdx-components")) writeFileSync(join(root, "mdx-components.tsx"), MDX_COMPONENTS_TEMPLATE);
|
|
103
|
-
const
|
|
108
|
+
const entry = readDocsEntry(root);
|
|
109
|
+
const appDir = getNextAppDir(root);
|
|
110
|
+
const layoutDir = join(root, appDir, entry);
|
|
104
111
|
if (existsSync(layoutDir) && !hasFile(layoutDir, "layout")) writeFileSync(join(layoutDir, "layout.tsx"), DOCS_LAYOUT_TEMPLATE);
|
|
105
112
|
else if (!existsSync(layoutDir)) {
|
|
106
113
|
mkdirSync(layoutDir, { recursive: true });
|
|
107
114
|
writeFileSync(join(layoutDir, "layout.tsx"), DOCS_LAYOUT_TEMPLATE);
|
|
108
115
|
}
|
|
109
116
|
const isStaticExport = nextConfig.output === "export";
|
|
110
|
-
const docsApiRouteDir = join(root,
|
|
117
|
+
const docsApiRouteDir = join(root, appDir, "api", "docs");
|
|
111
118
|
if (!isStaticExport && !hasFile(docsApiRouteDir, "route")) {
|
|
112
119
|
mkdirSync(docsApiRouteDir, { recursive: true });
|
|
113
120
|
writeFileSync(join(docsApiRouteDir, "route.ts"), DOCS_API_ROUTE_TEMPLATE);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farming-labs/next",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.25",
|
|
4
4
|
"description": "Next.js adapter for @farming-labs/docs — MDX config wrapper",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"docs",
|
|
@@ -60,7 +60,8 @@
|
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@types/node": "^22.10.0",
|
|
62
62
|
"tsdown": "^0.20.3",
|
|
63
|
-
"typescript": "^5.9.3"
|
|
63
|
+
"typescript": "^5.9.3",
|
|
64
|
+
"vitest": "^3.2.4"
|
|
64
65
|
},
|
|
65
66
|
"peerDependencies": {
|
|
66
67
|
"next": ">=16.0.0",
|
|
@@ -70,6 +71,8 @@
|
|
|
70
71
|
"scripts": {
|
|
71
72
|
"build": "tsdown",
|
|
72
73
|
"dev": "tsdown --watch",
|
|
73
|
-
"typecheck": "tsc --noEmit"
|
|
74
|
+
"typecheck": "tsc --noEmit",
|
|
75
|
+
"test": "vitest run",
|
|
76
|
+
"test:watch": "vitest"
|
|
74
77
|
}
|
|
75
78
|
}
|