@mongez/gnz
Version:
Generator Z, the next generation of scaffolding tools.
15 lines (14 loc) • 942 B
JavaScript
import chalk from'chalk';import {registerGenerators}from'./generators-list.js';import'os';import'eslint';import'prettier';import {showSpinner}from'./utils/show-spinner.js';import {welcome}from'./utils/welcome.js';async function gnz(options) {
welcome();
const { generators = [] } = options();
registerGenerators(...generators);
}
gnz.execute = async (generator, executeOptions) => {
const { generate, optionsList } = generator;
const now = new Date();
const spinner = showSpinner(`Calling ${chalk.cyanBright(generator.label || generator.name)} generator...`);
const output = await generate(optionsList);
spinner.stop(`Generator ${chalk.greenBright(generator.label || generator.name)} has been completed successfully (${chalk.gray(`${new Date().getTime() - now.getTime()}ms`)})`);
await executeOptions?.onComplete?.(optionsList, generator);
return output;
};export{gnz};//# sourceMappingURL=main.js.map