UNPKG

@mongez/gnz

Version:

Generator Z, the next generation of scaffolding tools.

19 lines (18 loc) 1.5 kB
'use strict';var fs=require('@mongez/fs'),chalk=require('chalk'),path=require('path'),namesFactory=require('../../../factories/names-factory.js');require('os'),require('eslint'),require('prettier');var throwIf=require('../../../utils/throw-if.js'),template=require('./template.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var chalk__default=/*#__PURE__*/_interopDefault(chalk);var path__default=/*#__PURE__*/_interopDefault(path);const generate = async (options) => { const { saveTo } = options; const outputName = options.name; options.name = namesFactory.namesFactory.outputClassName(options.name); fs.ensureDirectory(saveTo); options.fileName ||= namesFactory.namesFactory.outputFilePath(outputName); const outputFilePath = options.fileName + ".ts"; const now = Date.now(); const Path = path__default.default.join(saveTo, outputFilePath); throwIf.throwIf(fs.fileExists(Path), ` ${chalk__default.default.green(options.fileName)}.ts already exists in ${chalk__default.default.yellow(saveTo)}`); const content = await template.gnWarlockOutput(options); fs.putFile(Path, content); console.log(` ${chalk__default.default.green(options.name)} has been generated successfully in ${chalk__default.default.cyan(saveTo + "/" + outputFilePath)} ${chalk__default.default.gray(`(${Date.now() - now}ms)`)}`); return { ...options, path: Path, }; };exports.generate=generate;//# sourceMappingURL=generator.js.map