UNPKG

@dans98/prismabox

Version:

Typebox generator for prisma schema

23 lines (21 loc) 705 B
import { writeFile } from "node:fs/promises"; import { join } from "node:path"; import { generateBarrelFile } from "./barrel"; import { getConfig } from "./config"; import { format } from "./format"; import { mapAllModelsForWrite } from "./model"; export async function write() { const mappings = Array.from(mapAllModelsForWrite().entries()); return Promise.all([ ...mappings.map(async ([name, content]) => { return writeFile( join(getConfig().output, `${name}.ts`), await format(content), ); }), writeFile( join(getConfig().output, "barrel.ts"), await format(generateBarrelFile(mappings.map(([key]) => key))), ), ]); }