#!/usr/bin/env node require('lego-colorful').colorful(); var program = require('commander'); var install = require('../lib/client').install; var log = require('lego-log'); program .usage('[options] name[@version]') .option('-r, --registry ', 'registry url of yuan server') .option('-I, --input-directory ', 'input directory, default: current working directory') .option('-O, --output-directory ', 'output directory, default: lego_modules') .option('-f, --force', 'force to download a unstable module') .option('-q, --quiet', 'show less logs') .option('-S, --save', 'save dependencies to package.json') .option('-a, --all', 'install all files as possible') .option('-SD, --save-dev', 'save devDependencies to package.json') .option('--verbose', 'show more logs') .option('--no-color', 'disable colorful print'); program.on('--help', function() { console.log(' ' + 'Examples:'.to.bold.blue); console.log(); console.log(' $ ' + 'lego install'.to.magenta.color + ' jquery'); console.log(' $ ' + 'lego install'.to.magenta.color + ' jquery arale-class'); console.log(' $ ' + 'lego install'.to.magenta.color + ' jquery' + '@1.8.2'.to.cyan.color); console.log(' $ ' + 'lego install'.to.magenta.color + ' underscore --save'); console.log(); }); program.parse(process.argv); console.log(); log.config(program); if (process.argv.indexOf('-SD') > -1) { program.save = false; program.saveDev = true; } install({ registry: program.registry, cwd: program.inputDirectory, destination: program.outputDirectory, force: program.force, save: program.save, saveDev: program.saveDev, name: program.args.length ? program.args : null }, function(err) { if (err) { log.error('exit', err.message); console.log(); process.exit(2); } console.log(); });