UNPKG

unique-interface

Version:

无UI组件库

55 lines (47 loc) 1.91 kB
#!/usr/bin/env node const Path = require('path'); const program = require('commander'); const fs = require('fs-extra'); const spawn = require("child_process").spawn; const packageJson = require('../package.json'); function cli(){ const configPath = Path.resolve('ui.config.js'); const libDir = Path.resolve(__dirname, '..'); program.version(packageJson.version); // .option('-c, --ccc <required> [optional]', 'description', function(){}); program.command('init [dir]') .description('init unique-interface directory') .action(function(dir = 'unique-interface'){ let exist = fs.existsSync(configPath); if(exist){ console.log('local unique-interface already exist, reset and try again.'); return; } fs.ensureDirSync(dir); ['src', 'theme', 'dist', 'package.json'].forEach(directory => { fs.copySync(Path.resolve(libDir, directory), Path.resolve(dir, directory)); }); fs.outputFile(configPath, `module.exports = {\n targetDir: "${dir}"\n};`); }); program.command('destroy') .description('remove local unique-interface and reset local config') .action(function(){ let exist = fs.existsSync(configPath); if(!exist){ console.log('local unique-interface not exist.'); return; } const local = require(configPath); fs.removeSync(local.targetDir); fs.removeSync(configPath); }); program.command('build') .description('build unique-interface file') .action(function(){ const build = require('./build/build.js'); const builds = require("./build/config.js"); build(builds); }); program.parse(process.argv); } module.exports = cli;