abtnode
Version:
Command line tools to manage ABT Node
44 lines (34 loc) • 1.1 kB
JavaScript
/* eslint-disable no-console */
const program = require('commander');
const fs = require('fs');
const path = require('path');
const { version } = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json')));
const bundle = require('../lib/bundle');
program.version(version);
program
.option('-c --config <webpack-config>', 'Additional webpack configuration')
.option('-b --babelrc <babelrc>', 'Use .babelrc in root (default: true)', (v) => !!JSON.parse(v));
program
.command('bundle')
.description('bundle blocklet')
.action(() => {
console.log('abt-node: bundling blocklet');
const { config: userWebpackConfig, babelrc: useBabelrc = true } = program;
bundle
.run({ userWebpackConfig, useBabelrc })
.then((stats) => {
console.log(stats.toString(stats.compilation.options.stats));
})
.catch((err) => {
console.error(err);
process.exit(1);
});
});
program.on('command:*', () => {
program.help();
});
program.parse(process.argv);
if (program.args.length === 0) {
program.help();
}