@farming-labs/next 0.2.104 → 0.2.106
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/api-reference.d.mts +41 -0
- package/dist/api-reference.mjs +755 -0
- package/dist/api.d.mts +30 -0
- package/dist/api.mjs +154 -0
- package/dist/changelog-rail-search.d.mts +46 -0
- package/dist/changelog-rail-search.mjs +443 -0
- package/dist/changelog.d.mts +36 -0
- package/dist/changelog.mjs +417 -0
- package/dist/client-callbacks.d.mts +9 -0
- package/dist/client-callbacks.mjs +62 -0
- package/dist/code-block-themes-CCE5ViGj.mjs +25 -0
- package/dist/config.d.mts +7 -0
- package/dist/config.mjs +2139 -0
- package/dist/index.d.mts +5 -0
- package/dist/index.mjs +6 -0
- package/dist/layout.d.mts +12 -0
- package/dist/layout.mjs +94 -0
- package/dist/mdx-plugins/rehype-code.d.mts +2 -0
- package/dist/mdx-plugins/rehype-code.mjs +3 -0
- package/dist/mdx-plugins/rehype-toc.d.mts +2 -0
- package/dist/mdx-plugins/rehype-toc.mjs +3 -0
- package/dist/mdx-plugins/remark-code-group.d.mts +2 -0
- package/dist/mdx-plugins/remark-code-group.mjs +3 -0
- package/dist/mdx-plugins/remark-heading.d.mts +6 -0
- package/dist/mdx-plugins/remark-heading.mjs +28 -0
- package/dist/mdx-plugins/remark-markdown-alternate.d.mts +21 -0
- package/dist/mdx-plugins/remark-markdown-alternate.mjs +78 -0
- package/dist/mdx-plugins/remark-og.d.mts +22 -0
- package/dist/mdx-plugins/remark-og.mjs +30 -0
- package/package.json +3 -3
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { buildNextOpenApiDocument, createNextApiReference, createNextApiReferenceLayout, createNextApiReferencePage, getNextApiReferenceMode, getNextApiReferenceSourceState, resolveApiReferenceConfig, withNextApiReferenceBanner } from "./api-reference.mjs";
|
|
2
|
+
import { createDocsAPI, createDocsMCPAPI } from "./api.mjs";
|
|
3
|
+
import { GeneratedChangelogEntry, createNextChangelogEntryMetadata, createNextChangelogEntryPage, createNextChangelogIndexMetadata, createNextChangelogIndexPage, createNextChangelogStaticParams } from "./changelog.mjs";
|
|
4
|
+
import { withDocs } from "./config.mjs";
|
|
5
|
+
export { type GeneratedChangelogEntry, buildNextOpenApiDocument, createDocsAPI, createDocsMCPAPI, createNextApiReference, createNextApiReferenceLayout, createNextApiReferencePage, createNextChangelogEntryMetadata, createNextChangelogEntryPage, createNextChangelogIndexMetadata, createNextChangelogIndexPage, createNextChangelogStaticParams, getNextApiReferenceMode, getNextApiReferenceSourceState, resolveApiReferenceConfig, withDocs, withNextApiReferenceBanner };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { withDocs } from "./config.mjs";
|
|
2
|
+
import { createDocsAPI, createDocsMCPAPI } from "./api.mjs";
|
|
3
|
+
import { buildNextOpenApiDocument, createNextApiReference, createNextApiReferenceLayout, createNextApiReferencePage, getNextApiReferenceMode, getNextApiReferenceSourceState, resolveApiReferenceConfig, withNextApiReferenceBanner } from "./api-reference.mjs";
|
|
4
|
+
import { createNextChangelogEntryMetadata, createNextChangelogEntryPage, createNextChangelogIndexMetadata, createNextChangelogIndexPage, createNextChangelogStaticParams } from "./changelog.mjs";
|
|
5
|
+
|
|
6
|
+
export { buildNextOpenApiDocument, createDocsAPI, createDocsMCPAPI, createNextApiReference, createNextApiReferenceLayout, createNextApiReferencePage, createNextChangelogEntryMetadata, createNextChangelogEntryPage, createNextChangelogIndexMetadata, createNextChangelogIndexPage, createNextChangelogStaticParams, getNextApiReferenceMode, getNextApiReferenceSourceState, resolveApiReferenceConfig, withDocs, withNextApiReferenceBanner };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DocsConfig } from "@farming-labs/docs";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/layout.d.ts
|
|
5
|
+
declare function createNextDocsMetadata(config: DocsConfig): Record<string, unknown>;
|
|
6
|
+
declare function createNextDocsLayout(config: DocsConfig): ({
|
|
7
|
+
children
|
|
8
|
+
}: {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}) => react_jsx_runtime0.JSX.Element;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { createNextDocsLayout, createNextDocsMetadata };
|
package/dist/layout.mjs
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import DocsClientCallbacks from "./client-callbacks.mjs";
|
|
2
|
+
import { withNextApiReferenceBanner } from "./api-reference.mjs";
|
|
3
|
+
import { emitDocsTelemetryProjectEvent } from "@farming-labs/docs";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { createDocsLayout, createDocsMetadata } from "@farming-labs/theme";
|
|
6
|
+
import { DocsCloudAnalytics } from "@farming-labs/docs/client/react";
|
|
7
|
+
|
|
8
|
+
//#region src/layout.tsx
|
|
9
|
+
const DOCS_CLOUD_PROJECT_ID_ENVS = [
|
|
10
|
+
"NEXT_PUBLIC_DOCS_CLOUD_PROJECT_ID",
|
|
11
|
+
"PUBLIC_DOCS_CLOUD_PROJECT_ID",
|
|
12
|
+
"DOCS_CLOUD_PROJECT_ID"
|
|
13
|
+
];
|
|
14
|
+
const DOCS_CLOUD_ANALYTICS_ENDPOINT_ENVS = [
|
|
15
|
+
"NEXT_PUBLIC_DOCS_CLOUD_ANALYTICS_ENDPOINT",
|
|
16
|
+
"PUBLIC_DOCS_CLOUD_ANALYTICS_ENDPOINT",
|
|
17
|
+
"DOCS_CLOUD_ANALYTICS_ENDPOINT"
|
|
18
|
+
];
|
|
19
|
+
const DOCS_CLOUD_ANALYTICS_ROUTE_ENVS = [
|
|
20
|
+
"NEXT_PUBLIC_DOCS_CLOUD_ANALYTICS_ROUTE",
|
|
21
|
+
"PUBLIC_DOCS_CLOUD_ANALYTICS_ROUTE",
|
|
22
|
+
"DOCS_CLOUD_ANALYTICS_ROUTE"
|
|
23
|
+
];
|
|
24
|
+
const DOCS_CLOUD_ANALYTICS_ENABLED_ENVS = [
|
|
25
|
+
"NEXT_PUBLIC_DOCS_CLOUD_ANALYTICS_ENABLED",
|
|
26
|
+
"PUBLIC_DOCS_CLOUD_ANALYTICS_ENABLED",
|
|
27
|
+
"DOCS_CLOUD_ANALYTICS_ENABLED"
|
|
28
|
+
];
|
|
29
|
+
const DEFAULT_DOCS_CLOUD_ANALYTICS_ROUTE = "/api/docs?action=analytics";
|
|
30
|
+
function normalizeEnvValue(value) {
|
|
31
|
+
const normalized = value?.trim();
|
|
32
|
+
return normalized ? normalized : void 0;
|
|
33
|
+
}
|
|
34
|
+
function readFirstEnv(names) {
|
|
35
|
+
for (const name of names) {
|
|
36
|
+
const value = normalizeEnvValue(process.env[name]);
|
|
37
|
+
if (value) return value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function isFalsyEnv(value) {
|
|
41
|
+
return /^(0|false|no|off)$/i.test(value ?? "");
|
|
42
|
+
}
|
|
43
|
+
function withAnalyticsAction(route) {
|
|
44
|
+
try {
|
|
45
|
+
const url = new URL(route, "https://docs.local");
|
|
46
|
+
if (!url.searchParams.has("action")) url.searchParams.set("action", "analytics");
|
|
47
|
+
return route.startsWith("http://") || route.startsWith("https://") ? url.toString() : `${url.pathname}${url.search}${url.hash}`;
|
|
48
|
+
} catch {
|
|
49
|
+
const hashIndex = route.indexOf("#");
|
|
50
|
+
const pathAndQuery = hashIndex >= 0 ? route.slice(0, hashIndex) : route;
|
|
51
|
+
const hash = hashIndex >= 0 ? route.slice(hashIndex + 1) : "";
|
|
52
|
+
return `${pathAndQuery}${pathAndQuery.includes("?") ? "&" : "?"}action=analytics${hash ? `#${hash}` : ""}`;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function normalizeRoute(value) {
|
|
56
|
+
const normalized = normalizeEnvValue(value);
|
|
57
|
+
if (!normalized) return void 0;
|
|
58
|
+
if (normalized.startsWith("http://") || normalized.startsWith("https://")) return withAnalyticsAction(normalized);
|
|
59
|
+
return withAnalyticsAction(`/${normalized}`.replace(/\/+/g, "/"));
|
|
60
|
+
}
|
|
61
|
+
function resolveNextDocsCloudClientOptions(config) {
|
|
62
|
+
const analytics = config.analytics;
|
|
63
|
+
if (analytics === false || analytics && typeof analytics === "object" && (analytics.enabled === false || analytics.cloud === false)) return false;
|
|
64
|
+
if (isFalsyEnv(readFirstEnv(DOCS_CLOUD_ANALYTICS_ENABLED_ENVS))) return false;
|
|
65
|
+
const projectId = readFirstEnv(DOCS_CLOUD_PROJECT_ID_ENVS);
|
|
66
|
+
if (!projectId) return void 0;
|
|
67
|
+
const endpoint = readFirstEnv(DOCS_CLOUD_ANALYTICS_ENDPOINT_ENVS);
|
|
68
|
+
const route = normalizeRoute(readFirstEnv(DOCS_CLOUD_ANALYTICS_ROUTE_ENVS)) ?? normalizeRoute(config.cloud?.apiRoute);
|
|
69
|
+
const includeInputs = typeof analytics === "object" && analytics.includeInputs === true;
|
|
70
|
+
return {
|
|
71
|
+
projectId,
|
|
72
|
+
endpoint: endpoint ?? route ?? DEFAULT_DOCS_CLOUD_ANALYTICS_ROUTE,
|
|
73
|
+
includeInputs,
|
|
74
|
+
metadata: { framework: "next" }
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function createNextDocsMetadata(config) {
|
|
78
|
+
return createDocsMetadata(config);
|
|
79
|
+
}
|
|
80
|
+
function createNextDocsLayout(config) {
|
|
81
|
+
emitDocsTelemetryProjectEvent(config, { framework: "next" });
|
|
82
|
+
const DocsLayout = createDocsLayout(withNextApiReferenceBanner(config));
|
|
83
|
+
return function NextDocsLayout({ children }) {
|
|
84
|
+
const docsCloud = resolveNextDocsCloudClientOptions(config);
|
|
85
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
86
|
+
docsCloud ? /* @__PURE__ */ jsx(DocsCloudAnalytics, { ...docsCloud }) : null,
|
|
87
|
+
/* @__PURE__ */ jsx(DocsClientCallbacks, { docsCloudEnabled: Boolean(docsCloud) }),
|
|
88
|
+
/* @__PURE__ */ jsx(DocsLayout, { children })
|
|
89
|
+
] });
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
//#endregion
|
|
94
|
+
export { createNextDocsLayout, createNextDocsMetadata };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { remarkHeading as remarkHeading$1 } from "fumadocs-core/mdx-plugins/remark-heading";
|
|
2
|
+
|
|
3
|
+
//#region src/mdx-plugins/remark-heading.d.ts
|
|
4
|
+
declare function remarkHeading(options?: Parameters<typeof remarkHeading$1>[0]): ReturnType<typeof remarkHeading$1>;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { remarkHeading as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { applyDocsMarkdownHeadingAnchors, encodeDocsHeadingTocUrls, isolateDocsMarkdownPromptReferences, withDocsMarkdownRenderableHeadings } from "@farming-labs/docs";
|
|
2
|
+
import { remarkHeading as remarkHeading$1 } from "fumadocs-core/mdx-plugins/remark-heading";
|
|
3
|
+
|
|
4
|
+
//#region src/mdx-plugins/remark-heading.ts
|
|
5
|
+
function remarkHeading(options = {}) {
|
|
6
|
+
if (options.slug) {
|
|
7
|
+
const customRemarkHeading = remarkHeading$1(options);
|
|
8
|
+
return (root, file) => {
|
|
9
|
+
isolateDocsMarkdownPromptReferences(root, file.value);
|
|
10
|
+
const result = withDocsMarkdownRenderableHeadings(root, () => customRemarkHeading(root, file, () => void 0));
|
|
11
|
+
encodeDocsHeadingTocUrls(file.data.toc);
|
|
12
|
+
return result;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return (root, file) => {
|
|
16
|
+
isolateDocsMarkdownPromptReferences(root, file.value);
|
|
17
|
+
applyDocsMarkdownHeadingAnchors(root, { customId: options.customId });
|
|
18
|
+
withDocsMarkdownRenderableHeadings(root, () => remarkHeading$1({
|
|
19
|
+
...options,
|
|
20
|
+
customId: false
|
|
21
|
+
})(root, file, () => void 0));
|
|
22
|
+
encodeDocsHeadingTocUrls(file.data.toc);
|
|
23
|
+
return root;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
export { remarkHeading as default };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/mdx-plugins/remark-markdown-alternate.d.ts
|
|
2
|
+
interface RemarkMarkdownAlternateOptions {
|
|
3
|
+
entry?: string;
|
|
4
|
+
appDir?: string;
|
|
5
|
+
contentDir?: string;
|
|
6
|
+
docsPath?: string;
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface MarkdownNode {
|
|
10
|
+
type: string;
|
|
11
|
+
value?: string;
|
|
12
|
+
}
|
|
13
|
+
interface VFileLike {
|
|
14
|
+
path?: string;
|
|
15
|
+
history?: string[];
|
|
16
|
+
}
|
|
17
|
+
declare function remarkMarkdownAlternate(options?: RemarkMarkdownAlternateOptions): (tree: {
|
|
18
|
+
children: MarkdownNode[];
|
|
19
|
+
}, file?: VFileLike) => void;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { remarkMarkdownAlternate as default };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { toDocsMarkdownUrl } from "@farming-labs/docs";
|
|
2
|
+
|
|
3
|
+
//#region src/mdx-plugins/remark-markdown-alternate.ts
|
|
4
|
+
function normalizePath(value) {
|
|
5
|
+
return value.replace(/\\/g, "/").replace(/\/+/g, "/");
|
|
6
|
+
}
|
|
7
|
+
function normalizeSegment(value, fallback) {
|
|
8
|
+
return (value ?? fallback).replace(/^\/+|\/+$/g, "") || fallback;
|
|
9
|
+
}
|
|
10
|
+
function normalizeDocsPath(value, entry) {
|
|
11
|
+
if (typeof value !== "string") return `/${entry}`;
|
|
12
|
+
const cleaned = value.trim().replace(/^\/+|\/+$/g, "").replace(/\/+/g, "/");
|
|
13
|
+
if (cleaned === "") return "";
|
|
14
|
+
return `/${cleaned}`;
|
|
15
|
+
}
|
|
16
|
+
function joinDocsPath(docsPath, slug) {
|
|
17
|
+
if (!slug) return docsPath || "/";
|
|
18
|
+
return docsPath ? `${docsPath}/${slug}` : `/${slug}`;
|
|
19
|
+
}
|
|
20
|
+
function escapeYamlString(value) {
|
|
21
|
+
return value.replace(/\\/g, "\\\\").replace(/"/g, "\\\"");
|
|
22
|
+
}
|
|
23
|
+
function routeFromSourcePath(filePath, options) {
|
|
24
|
+
const normalized = `/${normalizePath(filePath).replace(/^\/+/, "")}`;
|
|
25
|
+
if (!/\/page\.mdx?$/.test(normalized)) return null;
|
|
26
|
+
const entry = normalizeSegment(options.entry, "docs");
|
|
27
|
+
const candidates = [
|
|
28
|
+
options.contentDir,
|
|
29
|
+
options.appDir ? `${options.appDir}/${entry}` : void 0,
|
|
30
|
+
`src/app/${entry}`,
|
|
31
|
+
`app/${entry}`
|
|
32
|
+
].filter((candidate) => typeof candidate === "string" && candidate.length > 0).map((candidate) => normalizePath(candidate).replace(/^\/+|\/+$/g, ""));
|
|
33
|
+
for (const candidate of candidates) {
|
|
34
|
+
const marker = `/${candidate}/`;
|
|
35
|
+
const markerIndex = normalized.lastIndexOf(marker);
|
|
36
|
+
if (markerIndex === -1) continue;
|
|
37
|
+
const relativePath = normalized.slice(markerIndex + marker.length);
|
|
38
|
+
if (!relativePath.endsWith("page.mdx") && !relativePath.endsWith("page.md")) continue;
|
|
39
|
+
const slug = relativePath.replace(/\/?page\.mdx?$/, "").replace(/^\/+|\/+$/g, "");
|
|
40
|
+
return joinDocsPath(normalizeDocsPath(options.docsPath, entry), slug);
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
function getFilePath(file) {
|
|
45
|
+
return file?.path ?? file?.history?.[0];
|
|
46
|
+
}
|
|
47
|
+
function hasAlternates(yaml) {
|
|
48
|
+
return /^\s*alternates\s*:/m.test(yaml);
|
|
49
|
+
}
|
|
50
|
+
function alternateYaml(url) {
|
|
51
|
+
return [
|
|
52
|
+
"alternates:",
|
|
53
|
+
" types:",
|
|
54
|
+
` text/markdown: "${escapeYamlString(url === "/" ? "/docs.md" : toDocsMarkdownUrl(url))}"`
|
|
55
|
+
].join("\n");
|
|
56
|
+
}
|
|
57
|
+
function remarkMarkdownAlternate(options = {}) {
|
|
58
|
+
return (tree, file) => {
|
|
59
|
+
if (options.enabled === false) return;
|
|
60
|
+
const filePath = getFilePath(file);
|
|
61
|
+
if (!filePath) return;
|
|
62
|
+
const route = routeFromSourcePath(filePath, options);
|
|
63
|
+
if (!route) return;
|
|
64
|
+
const yamlNode = tree.children.find((node) => node.type === "yaml");
|
|
65
|
+
if (yamlNode?.value) {
|
|
66
|
+
if (hasAlternates(yamlNode.value)) return;
|
|
67
|
+
yamlNode.value += `\n${alternateYaml(route)}`;
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
tree.children.unshift({
|
|
71
|
+
type: "yaml",
|
|
72
|
+
value: alternateYaml(route)
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
//#endregion
|
|
78
|
+
export { remarkMarkdownAlternate as default };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/mdx-plugins/remark-og.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Remark plugin that augments frontmatter with Open Graph metadata.
|
|
4
|
+
*
|
|
5
|
+
* Runs between remark-frontmatter and remark-mdx-frontmatter.
|
|
6
|
+
* Reads title/description from the YAML node and appends openGraph + twitter
|
|
7
|
+
* fields so that remark-mdx-frontmatter exports them as part of `metadata`.
|
|
8
|
+
*
|
|
9
|
+
* Skips injection when frontmatter already has `openGraph:` or `ogImage:`, so
|
|
10
|
+
* pages can use static OG images from frontmatter instead of the dynamic endpoint.
|
|
11
|
+
*/
|
|
12
|
+
interface RemarkOgOptions {
|
|
13
|
+
endpoint?: string;
|
|
14
|
+
}
|
|
15
|
+
declare function remarkOg(options?: RemarkOgOptions): (tree: {
|
|
16
|
+
children: Array<{
|
|
17
|
+
type: string;
|
|
18
|
+
value: string;
|
|
19
|
+
}>;
|
|
20
|
+
}) => void;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { remarkOg as default };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/mdx-plugins/remark-og.ts
|
|
2
|
+
function extractField(yaml, key) {
|
|
3
|
+
const re = new RegExp(`^${key}:\\s*(?:"([^"]*?)"|'([^']*?)'|(.+?))\\s*$`, "m");
|
|
4
|
+
const m = yaml.match(re);
|
|
5
|
+
return m?.[1] ?? m?.[2] ?? m?.[3];
|
|
6
|
+
}
|
|
7
|
+
/** True if the YAML already defines openGraph or ogImage (static OG). */
|
|
8
|
+
function hasStaticOg(yaml) {
|
|
9
|
+
return /^\s*openGraph\s*:/m.test(yaml) || /^\s*ogImage\s*:/m.test(yaml);
|
|
10
|
+
}
|
|
11
|
+
function remarkOg(options = {}) {
|
|
12
|
+
const { endpoint = "/api/og" } = options;
|
|
13
|
+
return (tree) => {
|
|
14
|
+
const yamlNode = tree.children.find((n) => n.type === "yaml");
|
|
15
|
+
if (!yamlNode) return;
|
|
16
|
+
if (hasStaticOg(yamlNode.value)) return;
|
|
17
|
+
const title = extractField(yamlNode.value, "title");
|
|
18
|
+
if (!title) return;
|
|
19
|
+
const description = extractField(yamlNode.value, "description");
|
|
20
|
+
const params = new URLSearchParams({ title });
|
|
21
|
+
if (description) params.set("description", description);
|
|
22
|
+
const ogUrl = `${endpoint}?${params.toString()}`;
|
|
23
|
+
yamlNode.value += `
|
|
24
|
+
openGraph:
|
|
25
|
+
images:\n - url: "${ogUrl}"\n width: 1200\n height: 630\ntwitter:\n card: "summary_large_image"\n images:\n - "${ogUrl}"`;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { remarkOg as default };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farming-labs/next",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.106",
|
|
4
4
|
"description": "Next.js adapter for @farming-labs/docs — MDX config wrapper",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"docs",
|
|
@@ -109,8 +109,8 @@
|
|
|
109
109
|
"tsdown": "^0.20.3",
|
|
110
110
|
"typescript": "^5.9.3",
|
|
111
111
|
"vitest": "^4.1.8",
|
|
112
|
-
"@farming-labs/docs": "0.2.
|
|
113
|
-
"@farming-labs/theme": "0.2.
|
|
112
|
+
"@farming-labs/docs": "0.2.106",
|
|
113
|
+
"@farming-labs/theme": "0.2.106"
|
|
114
114
|
},
|
|
115
115
|
"peerDependencies": {
|
|
116
116
|
"@farming-labs/docs": ">=0.2.73",
|