UNPKG

simba-cli

Version:

A simple CLI to handle most basic and everyday usage cli command wishes

35 lines 1.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateModule = void 0; const path_1 = __importDefault(require("path")); const process_1 = require("process"); const fs_extra_1 = require("fs-extra"); const yargs_1 = __importDefault(require("yargs")); const log_1 = require("../log"); // Example command: as g w splash-screen --hooks --stateful const generateModule = (sName) => { const dir = (0, process_1.cwd)(); const options = yargs_1.default.argv; const name = sName.split('/').reverse()[0]; const base = `${dir}/${sName}`; if (!name) { throw Error(`Invalid module name: ${sName}`); } const filenames = 'controller,service,route,validator'.split(',').map(n => { return path_1.default.normalize(`${base}/${name}.${n}.${options.js ? 'js' : 'ts'}`); }); if ((0, fs_extra_1.existsSync)(base)) { log_1.Log.error('Could not create module because it already exists in same destination'); return; } filenames.forEach(f => { (0, fs_extra_1.ensureFileSync)(f); (0, fs_extra_1.writeFileSync)(f, ''); console.log(`Created file: ${f}`); }); }; exports.generateModule = generateModule; //# sourceMappingURL=module.js.map