UNPKG

@mongez/gnz

Version:

Generator Z, the next generation of scaffolding tools.

28 lines (27 loc) 1.64 kB
'use strict';var fs=require('@mongez/fs'),reinforcements=require('@mongez/reinforcements'),path=require('path'),formatDate=require('../../utils/format-date.js');require('os'),require('eslint'),require('prettier');var throwIf=require('../../utils/throw-if.js'),template=require('./template.js'),utilizer=require('./utilizer.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);const defaultMigrationFileName = (name) => { return `${formatDate.formatDate()}-${reinforcements.toKebabCase(name)}.migration`; }; const generate = async ({ name, modelClass, modelPath = "./" + reinforcements.toKebabCase(modelClass), unique = [], index = [], text = [], geo = [], fileName = defaultMigrationFileName(name) + ".ts", uniqueId = true, saveTo, }) => { fs.ensureDirectory(saveTo); const migrationFilePath = path__default.default.join(saveTo, `${name}.ts`); throwIf.throwIf(fs.fileExists(migrationFilePath), `Migration file ${name}.ts already exists`); const { indexes, indexesDown, modelFileName, bluePrintClassName, migrationFunctionName, } = utilizer.utilizeMigration({ name, geo, index, modelClass, modelPath, text, unique, uniqueId, }); const modelContent = await template.generateMigrationTemplate({ indexes, indexesDown, modelClass, modelFileName, bluePrintClassName, migrationFunctionName, }); fs.putFile(path__default.default.join(saveTo, fileName), modelContent); };exports.generate=generate;//# sourceMappingURL=generator.js.map