mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-11-09 22:14:29 +09:00
33 lines
926 B
JavaScript
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");
|