const { join, dirname } = require("node:path"); const { promises: fs } = require("node:fs"); const api = require("./api"); const Template = (output, { api, title, redoc }) => fs.writeFile(output, ` ${title} `); const Api = output => fs.writeFile(output, JSON.stringify(api)); const Redoc = output => fs.copyFile(join( dirname(require.resolve("redoc")), "redoc.standalone.js"), output); module.exports = (async () => { const out = join(__dirname, "static"); const apiFile = "api.json"; const redocFile = "redoc.js"; await fs.mkdir(out, { recursive: true }); return Promise.all([ Api(join(out, apiFile)), Redoc(join(out, redocFile)), Template(join(out, "index.html"), { api: apiFile, title: api.info.title, redoc: redocFile }), ]); })();