Files
webstudio/packages/cli/scripts/generate-docs.mjs
T

33 lines
926 B
JavaScript

import { readdirSync, readFileSync, writeFileSync } from "node:fs";
import { basename, join } from "node:path";
import { format } from "prettier";
const docsDir = new URL("../src/docs", import.meta.url);
const outputFile = new URL("../src/docs.generated.ts", import.meta.url);
const docs = Object.fromEntries(
readdirSync(docsDir)
.filter((fileName) => fileName.endsWith(".md"))
.sort()
.map((fileName) => [
basename(fileName, ".md"),
readFileSync(join(docsDir.pathname, fileName), "utf8"),
])
);
const output = await format(
[
"// This file is generated by scripts/generate-docs.mjs.",
"// Edit markdown files in src/docs instead.",
`export const cliDocs = ${JSON.stringify(docs, null, 2)} as const;`,
"",
"export type CliDocName = keyof typeof cliDocs;",
"",
].join("\n"),
{
filepath: outputFile.pathname,
}
);
writeFileSync(outputFile, output, "utf8");