mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-17 08:05:19 +00:00
65 lines
1.6 KiB
JavaScript
65 lines
1.6 KiB
JavaScript
#! /usr/bin/env node
|
|
|
|
const program = require('commander');
|
|
const path = require('path');
|
|
const winston = require('winston');
|
|
const inquirer = require('inquirer');
|
|
|
|
const pkg = require('../package.json');
|
|
const compile = require('./compile');
|
|
const create = require('./create');
|
|
|
|
const resolve = (input => path.resolve(process.cwd(), input));
|
|
|
|
program.version(pkg.version);
|
|
winston.cli();
|
|
|
|
program
|
|
.command('build [input] [output]')
|
|
.description('build a browser plugin')
|
|
.action(function(input, output, options) {
|
|
compile(resolve(input), resolve(output))
|
|
.then(
|
|
() => winston.info('Plugin compiled successfully'),
|
|
(err) => winston.error('Error: ', err)
|
|
);
|
|
});
|
|
|
|
program
|
|
.command('create [output]')
|
|
.description('create a new plugin')
|
|
.action(function(output, options) {
|
|
inquirer.prompt([
|
|
{
|
|
name: 'name',
|
|
message: 'name:'
|
|
},
|
|
{
|
|
name: 'desc',
|
|
message: 'description:'
|
|
},
|
|
{
|
|
name: 'github',
|
|
message: 'github url:'
|
|
}
|
|
])
|
|
.then(answers => {
|
|
output = resolve(output || answers.name);
|
|
return create(output, answers);
|
|
})
|
|
.then(
|
|
() => winston.info(`Plugin created successfully in "${output}"`),
|
|
(err) => winston.error('Error: ', err)
|
|
);
|
|
});
|
|
|
|
program
|
|
.command('test [plugin]')
|
|
.description('test specs for a plugin')
|
|
.action(function(plugin, options) {
|
|
|
|
});
|
|
|
|
|
|
program.parse(process.argv);
|