UNPKG

nhat-cli

Version:
76 lines (69 loc) 1.67 kB
const path = require('path') const fs = require('fs') const { bold, cyan } = require('kleur'); const figlet = require("figlet"); const center = require('center-align'); const cjsBpConfig = ` module.exports = { app: [{ name: 'app', script: 'index.js' }] } ` const esBpConfig = ` export default { app: [{ name: 'app', script: 'index.js' }] } ` exports.command = 'init <name>' exports.builder = { rootDirectory: { default: process.cwd(), aliases: ['rootDir'], desc: 'Set root directory of a project' } } exports.describe = bold(cyan('Init config file in root directory')) exports.handler = function (argv) { console.log( cyan( center( figlet.textSync("Blue Process", { font: "Ghost", horizontalLayout: "default", verticalLayout: "default", width: process.stdout.columns, whitespaceBreak: true } ), process.stdout.columns) ) + "\n\n" ) console.log( center( "=".repeat(process.stdout.columns / 2), process.stdout.columns ) ) let projectCfg = JSON.parse( fs.readFileSync( path.join(argv.rootDirectory, "package.json"), { encoding: 'utf-8' } ) ) console.log("projectCfg:", projectCfg) fs.writeFile( path.join(argv.rootDirectory, "bp.config.js"), ((!projectCfg.type || projectCfg.type === "commonjs") ? cjsBpConfig : esBpConfig), { encoding: 'utf-8' }, (err) => { if (err) { throw new Error("Something failed") } console.log(cyan("Successfully initialize")) } ) }