UNPKG

@mongez/gnz

Version:

Generator Z, the next generation of scaffolding tools.

22 lines (20 loc) 994 B
import {toStudlyCase}from'@mongez/reinforcements';import {formatDate}from'../../utils/format-date.js';import {newLine}from'../../utils/lines.js';import {format}from'../../utils/prettifier.js';async function generateMigrationTemplate(options) { const { modelClass, modelFileName, migrationFunctionName, indexes, indexesDown, } = options; const importPath = `../${modelFileName.replace(/^\.\//, "")}`; const content = ` import { migrationOffice, type Blueprint } from "@warlock.js/cascade"; import { ${modelClass} } from "${importPath}"; export default migrationOffice.register({ name: "${migrationFunctionName}", createdAt: "${formatDate()}", blueprint: ${toStudlyCase(modelClass)}.blueprint(), up: (blueprint: Blueprint) => { ${indexes.join(newLine)} }, down: (blueprint: Blueprint) => { ${indexesDown.join(newLine)} }, }); `; return await format.typescript(content); }export{generateMigrationTemplate};//# sourceMappingURL=template.js.map