@farming-labs/docs 0.1.121 → 0.1.122
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/cli/index.mjs
CHANGED
|
@@ -122,7 +122,7 @@ async function main() {
|
|
|
122
122
|
}
|
|
123
123
|
await runDoctor(doctorOptions);
|
|
124
124
|
} else if (parsedCommand.command === "review") {
|
|
125
|
-
const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-
|
|
125
|
+
const { parseReviewArgs, printReviewHelp, runReview } = await import("../review-DEG_UnxV.mjs");
|
|
126
126
|
const reviewOptions = parseReviewArgs(args.slice(1));
|
|
127
127
|
if (reviewOptions.help) {
|
|
128
128
|
printReviewHelp();
|
|
@@ -3,6 +3,10 @@ import { dirname, isAbsolute, join, relative } from "node:path";
|
|
|
3
3
|
|
|
4
4
|
//#region src/review.ts
|
|
5
5
|
const DEFAULT_DOCS_REVIEW_WORKFLOW_PATH = ".github/workflows/docs-review.yml";
|
|
6
|
+
const DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW_PATH = ".github/workflows/docs-review-reusable.yml";
|
|
7
|
+
const DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW = "farming-labs/docs/.github/workflows/docs-review-reusable.yml@main";
|
|
8
|
+
const LOCAL_DOCS_REVIEW_REUSABLE_WORKFLOW = "./.github/workflows/docs-review-reusable.yml";
|
|
9
|
+
const DEFAULT_DOCS_REVIEW_PNPM_VERSION = "10";
|
|
6
10
|
const DEFAULT_DOCS_REVIEW_SCORE_THRESHOLD = 80;
|
|
7
11
|
const DEFAULT_DOCS_REVIEW_CI_NAME = "docs-review";
|
|
8
12
|
const DEFAULT_REVIEW_RULES = {
|
|
@@ -87,12 +91,18 @@ function buildDocsReviewWorkflow(options = {}) {
|
|
|
87
91
|
const packageManager = options.packageManager ?? "npm";
|
|
88
92
|
const ciName = normalizeCiName(options.ciName);
|
|
89
93
|
const projectDir = normalizeProjectDir(options.projectDir);
|
|
90
|
-
const
|
|
91
|
-
const
|
|
94
|
+
const configPath = options.configPath ?? "docs.config.ts";
|
|
95
|
+
const reusableWorkflow = options.reusableWorkflow ?? DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW;
|
|
92
96
|
const filters = normalizePathFilters(options.pathFilters);
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
const workflowInputs = [
|
|
98
|
+
["check-name", ciName],
|
|
99
|
+
["config", configPath],
|
|
100
|
+
["working-directory", projectDir],
|
|
101
|
+
["package-manager", packageManager],
|
|
102
|
+
options.pnpmVersion ? ["pnpm-version", options.pnpmVersion] : void 0,
|
|
103
|
+
options.buildCommand ? ["build-command", options.buildCommand] : void 0,
|
|
104
|
+
options.reviewCommand ? ["review-command", options.reviewCommand] : void 0
|
|
105
|
+
].filter((input) => Boolean(input)).map(([key, value]) => ` ${key}: ${JSON.stringify(value)}`).join("\n");
|
|
96
106
|
return `# Generated by @farming-labs/docs. You can edit this file.
|
|
97
107
|
name: Docs Review
|
|
98
108
|
|
|
@@ -109,17 +119,13 @@ permissions:
|
|
|
109
119
|
jobs:
|
|
110
120
|
docs-review:
|
|
111
121
|
name: ${JSON.stringify(ciName)}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
${buildStep}
|
|
120
|
-
|
|
121
|
-
- name: Review docs
|
|
122
|
-
run: ${reviewCommand}${workingDirectoryLine}
|
|
122
|
+
uses: ${reusableWorkflow}
|
|
123
|
+
with:
|
|
124
|
+
${workflowInputs}
|
|
125
|
+
permissions:
|
|
126
|
+
contents: read
|
|
127
|
+
checks: write
|
|
128
|
+
pull-requests: write
|
|
123
129
|
`;
|
|
124
130
|
}
|
|
125
131
|
function ensureDocsReviewWorkflow(options) {
|
|
@@ -146,6 +152,8 @@ function ensureDocsReviewWorkflow(options) {
|
|
|
146
152
|
const workflow = buildDocsReviewWorkflow({
|
|
147
153
|
packageManager,
|
|
148
154
|
ciName: review.ci.name,
|
|
155
|
+
reusableWorkflow: hasLocalDocsWorkspacePackage(repoRoot) ? LOCAL_DOCS_REVIEW_REUSABLE_WORKFLOW : DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW,
|
|
156
|
+
pnpmVersion: detectPnpmVersionFallback(repoRoot, packageManager),
|
|
149
157
|
projectDir,
|
|
150
158
|
configPath,
|
|
151
159
|
buildCommand: detectLocalDocsCliBuildCommand(repoRoot, packageManager),
|
|
@@ -209,7 +217,8 @@ function buildDocsReviewWorkflowPathFilters(options) {
|
|
|
209
217
|
prefixPath(projectPrefix, "content/docs/**"),
|
|
210
218
|
prefixPath(projectPrefix, "src/content/docs/**"),
|
|
211
219
|
prefixPath(projectPrefix, "src/lib/docs.config.*"),
|
|
212
|
-
DEFAULT_DOCS_REVIEW_WORKFLOW_PATH
|
|
220
|
+
DEFAULT_DOCS_REVIEW_WORKFLOW_PATH,
|
|
221
|
+
DEFAULT_DOCS_REVIEW_REUSABLE_WORKFLOW_PATH
|
|
213
222
|
];
|
|
214
223
|
return Array.from(new Set(candidates.filter((candidate) => Boolean(candidate))));
|
|
215
224
|
}
|
|
@@ -270,6 +279,13 @@ function detectLocalDocsCliBuildCommand(repoRoot, packageManager) {
|
|
|
270
279
|
if (packageManager === "bun") return "bun run --filter @farming-labs/docs build";
|
|
271
280
|
return "npm run build --workspace=@farming-labs/docs";
|
|
272
281
|
}
|
|
282
|
+
function detectPnpmVersionFallback(repoRoot, packageManager) {
|
|
283
|
+
if (packageManager !== "pnpm") return void 0;
|
|
284
|
+
try {
|
|
285
|
+
if (JSON.parse(readFileSync(join(repoRoot, "package.json"), "utf-8")).packageManager?.startsWith("pnpm@")) return void 0;
|
|
286
|
+
} catch {}
|
|
287
|
+
return DEFAULT_DOCS_REVIEW_PNPM_VERSION;
|
|
288
|
+
}
|
|
273
289
|
function detectLocalDocsCliReviewCommand(repoRoot, rootDir) {
|
|
274
290
|
if (!hasLocalDocsWorkspacePackage(repoRoot)) return void 0;
|
|
275
291
|
return `node ${shellQuote(toPosixPath(relative(rootDir, join(repoRoot, "packages", "docs", "dist", "cli", "index.mjs"))) || "./packages/docs/dist/cli/index.mjs")}`;
|
|
@@ -284,44 +300,6 @@ function hasLocalDocsWorkspacePackage(repoRoot) {
|
|
|
284
300
|
return false;
|
|
285
301
|
}
|
|
286
302
|
}
|
|
287
|
-
function buildInstallSteps(packageManager) {
|
|
288
|
-
if (packageManager === "pnpm") return ` - uses: pnpm/action-setup@v4
|
|
289
|
-
|
|
290
|
-
- uses: actions/setup-node@v4
|
|
291
|
-
with:
|
|
292
|
-
node-version: 20
|
|
293
|
-
cache: pnpm
|
|
294
|
-
|
|
295
|
-
- name: Install dependencies
|
|
296
|
-
run: pnpm install --frozen-lockfile`;
|
|
297
|
-
if (packageManager === "yarn") return ` - uses: actions/setup-node@v4
|
|
298
|
-
with:
|
|
299
|
-
node-version: 20
|
|
300
|
-
cache: yarn
|
|
301
|
-
|
|
302
|
-
- name: Enable Corepack
|
|
303
|
-
run: corepack enable
|
|
304
|
-
|
|
305
|
-
- name: Install dependencies
|
|
306
|
-
run: yarn install --immutable || yarn install --frozen-lockfile`;
|
|
307
|
-
if (packageManager === "bun") return ` - uses: oven-sh/setup-bun@v2
|
|
308
|
-
|
|
309
|
-
- name: Install dependencies
|
|
310
|
-
run: bun install --frozen-lockfile`;
|
|
311
|
-
return ` - uses: actions/setup-node@v4
|
|
312
|
-
with:
|
|
313
|
-
node-version: 20
|
|
314
|
-
cache: npm
|
|
315
|
-
|
|
316
|
-
- name: Install dependencies
|
|
317
|
-
run: npm ci`;
|
|
318
|
-
}
|
|
319
|
-
function reviewCommandForPackageManager(packageManager) {
|
|
320
|
-
if (packageManager === "pnpm") return "pnpm exec docs";
|
|
321
|
-
if (packageManager === "yarn") return "yarn exec docs";
|
|
322
|
-
if (packageManager === "bun") return "bunx docs";
|
|
323
|
-
return "npx --no-install docs";
|
|
324
|
-
}
|
|
325
303
|
function shellQuote(value) {
|
|
326
304
|
if (/^[A-Za-z0-9_./:-]+$/.test(value)) return value;
|
|
327
305
|
return `'${value.replaceAll("'", "'\\''")}'`;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as ensureDocsReviewWorkflow, o as readDocsReviewConfigFromSource, s as resolveDocsReviewConfig } from "./review-
|
|
1
|
+
import { a as ensureDocsReviewWorkflow, o as readDocsReviewConfigFromSource, s as resolveDocsReviewConfig } from "./review-B7goPYUb.mjs";
|
|
2
2
|
import { d as readTopLevelStringProperty, f as resolveDocsConfigPath, i as loadDocsConfigModule, p as resolveDocsContentDir } from "./config-BHRL4R2v.mjs";
|
|
3
3
|
import matter from "gray-matter";
|
|
4
4
|
import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
|
package/dist/server.d.mts
CHANGED
|
@@ -77,6 +77,8 @@ interface ResolvedDocsReviewConfig {
|
|
|
77
77
|
interface DocsReviewWorkflowOptions {
|
|
78
78
|
packageManager?: "npm" | "pnpm" | "yarn" | "bun";
|
|
79
79
|
ciName?: string;
|
|
80
|
+
reusableWorkflow?: string;
|
|
81
|
+
pnpmVersion?: string;
|
|
80
82
|
projectDir?: string;
|
|
81
83
|
configPath?: string;
|
|
82
84
|
buildCommand?: string;
|
package/dist/server.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A as resolveDocsAnalyticsConfig, D as emitDocsAgentTraceEvent, E as createDocsAgentTraceId, M as createDocsCloudAnalytics, O as emitDocsAnalyticsEvent, T as createDocsAgentTraceContext, a as createMcpSearchAdapter, c as formatDocsAskAIPackageHints, d as resolveAskAISearchRequestConfig, f as resolveSearchRequestConfig, i as createCustomSearchAdapter, j as resolveDocsObservabilityConfig, k as emitDocsObservabilityEvent, l as inferDocsAskAIPackageHints, n as buildDocsSearchDocuments, o as createSimpleSearchAdapter, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter, t as buildDocsAskAIContext, u as performDocsSearch, w as DOCS_AGENT_TRACE_EVENT_TYPES } from "./search-BL7o2rXk.mjs";
|
|
2
2
|
import { a as buildDocsSitemapManifest, c as renderDocsSitemapMarkdown, d as resolveDocsSitemapPageLastmod, f as resolveDocsSitemapRequest, i as DEFAULT_SITEMAP_XML_ROUTE, l as renderDocsSitemapXml, n as DEFAULT_SITEMAP_MD_ROUTE, o as createDocsSitemapResponse, p as toDocsSitemapMarkdownUrl, r as DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, s as readDocsSitemapManifestFromContentMap, t as DEFAULT_SITEMAP_MANIFEST_PATH, u as resolveDocsSitemapConfig } from "./sitemap-CnqcTdQg.mjs";
|
|
3
3
|
import { C as resolveApiReferenceOpenApiDiscovery, S as resolveApiReferenceConfig, _ as buildApiReferenceOpenApiDocument, a as DEFAULT_PROMPT_PROVIDER_TEMPLATES, b as buildApiReferenceScalarCss, c as resolvePromptProviderChoices, d as serializeDocsIconRegistry, f as serializeOpenDocsProvider, g as buildApiReferenceHtmlDocumentAsync, h as buildApiReferenceHtmlDocument, i as DEFAULT_OPEN_DOCS_TARGET, l as sanitizePromptText, m as DEFAULT_API_REFERENCE_OPENAPI_ROUTE, n as DEFAULT_OPEN_DOCS_PROMPT, o as normalizePromptProviderName, p as serializeOpenDocsProviders, r as DEFAULT_OPEN_DOCS_PROVIDER_IDS, s as parsePromptStringArray, t as readDocsSitemapManifest, u as serializeDocsIcon, v as buildApiReferenceOpenApiDocumentAsync, w as resolveApiReferenceRenderer, x as isApiReferenceOpenApiRequest, y as buildApiReferencePageTitle } from "./sitemap-server-DdHzJorR.mjs";
|
|
4
|
-
import { a as ensureDocsReviewWorkflow, i as buildDocsReviewWorkflowPathFilters, n as DEFAULT_DOCS_REVIEW_WORKFLOW_PATH, o as readDocsReviewConfigFromSource, r as buildDocsReviewWorkflow, s as resolveDocsReviewConfig, t as DEFAULT_DOCS_REVIEW_SCORE_THRESHOLD } from "./review-
|
|
4
|
+
import { a as ensureDocsReviewWorkflow, i as buildDocsReviewWorkflowPathFilters, n as DEFAULT_DOCS_REVIEW_WORKFLOW_PATH, o as readDocsReviewConfigFromSource, r as buildDocsReviewWorkflow, s as resolveDocsReviewConfig, t as DEFAULT_DOCS_REVIEW_SCORE_THRESHOLD } from "./review-B7goPYUb.mjs";
|
|
5
5
|
import { createDocsMcpHttpHandler, createDocsMcpServer, createFilesystemDocsMcpSource, normalizeDocsMcpRoute, resolveDocsMcpConfig, runDocsMcpStdio } from "./mcp.mjs";
|
|
6
6
|
|
|
7
7
|
export { DEFAULT_API_REFERENCE_OPENAPI_ROUTE, DEFAULT_DOCS_REVIEW_SCORE_THRESHOLD, DEFAULT_DOCS_REVIEW_WORKFLOW_PATH, DEFAULT_OPEN_DOCS_PROMPT, DEFAULT_OPEN_DOCS_PROVIDER_IDS, DEFAULT_OPEN_DOCS_TARGET, DEFAULT_PROMPT_PROVIDER_TEMPLATES, DEFAULT_SITEMAP_MANIFEST_PATH, DEFAULT_SITEMAP_MD_ROUTE, DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE, DEFAULT_SITEMAP_XML_ROUTE, DOCS_AGENT_TRACE_EVENT_TYPES, buildApiReferenceHtmlDocument, buildApiReferenceHtmlDocumentAsync, buildApiReferenceOpenApiDocument, buildApiReferenceOpenApiDocumentAsync, buildApiReferencePageTitle, buildApiReferenceScalarCss, buildDocsAskAIContext, buildDocsReviewWorkflow, buildDocsReviewWorkflowPathFilters, buildDocsSearchDocuments, buildDocsSitemapManifest, createAlgoliaSearchAdapter, createCustomSearchAdapter, createDocsAgentTraceContext, createDocsAgentTraceId, createDocsCloudAnalytics, createDocsMcpHttpHandler, createDocsMcpServer, createDocsSitemapResponse, createFilesystemDocsMcpSource, createMcpSearchAdapter, createSimpleSearchAdapter, createTypesenseSearchAdapter, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, emitDocsObservabilityEvent, ensureDocsReviewWorkflow, formatDocsAskAIPackageHints, inferDocsAskAIPackageHints, isApiReferenceOpenApiRequest, normalizeDocsMcpRoute, normalizePromptProviderName, parsePromptStringArray, performDocsSearch, readDocsReviewConfigFromSource, readDocsSitemapManifest, readDocsSitemapManifestFromContentMap, renderDocsSitemapMarkdown, renderDocsSitemapXml, resolveApiReferenceConfig, resolveApiReferenceOpenApiDiscovery, resolveApiReferenceRenderer, resolveAskAISearchRequestConfig, resolveDocsAnalyticsConfig, resolveDocsMcpConfig, resolveDocsObservabilityConfig, resolveDocsReviewConfig, resolveDocsSitemapConfig, resolveDocsSitemapPageLastmod, resolveDocsSitemapRequest, resolvePromptProviderChoices, resolveSearchRequestConfig, runDocsMcpStdio, sanitizePromptText, serializeDocsIcon, serializeDocsIconRegistry, serializeOpenDocsProvider, serializeOpenDocsProviders, toDocsSitemapMarkdownUrl };
|