import path from "path" import fs from "fs" import { BuildCtx } from "../../util/ctx" import { FilePath, FullSlug, joinSegments } from "../../util/path" type WriteOptions = { ctx: BuildCtx slug: FullSlug ext: `.${string}` | "" content: string } export const write = async ({ ctx, slug, ext, content }: WriteOptions): Promise => { const pathToPage = joinSegments(ctx.argv.output, slug + ext) as FilePath const dir = path.dirname(pathToPage) await fs.promises.mkdir(dir, { recursive: true }) await fs.promises.writeFile(pathToPage, content) return pathToPage }