UNPKG

sb-babel-cli

Version:
72 lines (56 loc) 2.79 kB
#!/usr/bin/env node 'use strict'; var _commander = require('commander'); var _commander2 = _interopRequireDefault(_commander); var _ = require('../'); var _2 = _interopRequireDefault(_); var _handleError = require('../handleError'); var _handleError2 = _interopRequireDefault(_handleError); var _package = require('../../package.json'); var _package2 = _interopRequireDefault(_package); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function get(obj, key, defaultValue) { if (typeof obj[key] === 'undefined') { return defaultValue; } return obj[key]; } _commander2.default.version(_package2.default.version).description(_package2.default.description).usage('[options] <source directory>').option('-w, --watch', 'Watch files for changes').option('--ignored <list>', 'Ignored files and directories that match the given globs', function (value) { return value.split(',').map(function (item) { return item.trim(); }).filter(Boolean); }).option('--write-flow-sources', 'Write .flow files that are symlinked to source files. Helps with monorepos in some cases').option('--disable-cache', 'Force recompile all files ignoring cache').option('--keep-extra-files', 'Do NOT delete extra files in the output directory').option('-o, --output-directory <directory>', 'Output directory to write transpiled files to').option('-x, --execute <entryFile>', 'Relative path of file to execute (only supported in watcher mode)').option('--execute-delay <delay>', 'Delay in ms to in between restarts of executed file', function (value) { return parseInt(value, 10); }).parse(process.argv); if (_commander2.default.args.length !== 1) { _commander2.default.outputHelp(); process.exit(1); } if (typeof _commander2.default.outputDirectory === 'undefined') { console.log('ERROR: You must specify output directory'); _commander2.default.outputHelp(); process.exit(1); } var config = { watch: get(_commander2.default, 'watch', false), ignored: get(_commander2.default, 'ignored', []), disableCache: get(_commander2.default, 'disableCache', false), writeFlowSources: get(_commander2.default, 'writeFlowSources', false), keepExtraFiles: get(_commander2.default, 'keepExtraFiles', false), sourceDirectory: _commander2.default.args[0], outputDirectory: _commander2.default.outputDirectory, execute: get(_commander2.default, 'execute', ''), executeDelay: get(_commander2.default, 'executeDelay', 250) }; if (!config.watch && config.execute) { console.error('ERROR: --execute is not supported without --watch'); process.exit(1); } (0, _2.default)(config).then(function () { if (!config.watch) { process.exit(); } }).catch(function (error) { (0, _handleError2.default)(error); process.exit(1); });