UNPKG

3.02 kBJavaScriptView Raw
1#!/usr/bin/env node
2"use strict";
3
4var _get = _interopRequireDefault(require("lodash/get"));
5
6var _commander = _interopRequireDefault(require("commander"));
7
8var _ = _interopRequireDefault(require(".."));
9
10var _helpers = require("../helpers");
11
12var _package = _interopRequireDefault(require("../../package.json"));
13
14function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16_commander.default.version(_package.default.version).description(_package.default.description).usage('[options] <source directory>').option('-w, --watch', 'Watch files for changes').option('--root <directory>', 'Root directory for babel. This is where presets are resolved from').option('--ignored <list>', 'Ignored files and directories that match the given globs', value => value.split(',').map(item => item.trim()).filter(Boolean)).option('--ignored-for-restart <list>', 'These files are compiled, but do not cause restart').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 (defaults to 1000ms)', value => parseInt(value, 10) || 1000).option('--typescript', 'Enables typescript support by processing .ts and .tsx files').parse(process.argv);
17
18if (_commander.default.args.length !== 1) {
19 _commander.default.outputHelp();
20
21 process.exit(1);
22}
23
24if (typeof _commander.default.outputDirectory === 'undefined') {
25 console.log('ERROR: You must specify output directory');
26
27 _commander.default.outputHelp();
28
29 process.exit(1);
30}
31
32const config = {
33 root: (0, _get.default)(_commander.default, 'root', process.cwd()),
34 watch: (0, _get.default)(_commander.default, 'watch', false),
35 ignored: (0, _get.default)(_commander.default, 'ignored', []),
36 ignoredForRestart: (0, _get.default)(_commander.default, 'ignoredForRestart', null),
37 disableCache: (0, _get.default)(_commander.default, 'disableCache', false),
38 writeFlowSources: (0, _get.default)(_commander.default, 'writeFlowSources', false),
39 keepExtraFiles: (0, _get.default)(_commander.default, 'keepExtraFiles', false),
40 sourceDirectory: _commander.default.args[0],
41 outputDirectory: _commander.default.outputDirectory,
42 typescript: _commander.default.typescript,
43 execute: (0, _get.default)(_commander.default, 'execute', ''),
44 executeDelay: (0, _get.default)(_commander.default, 'executeDelay', 250)
45};
46
47if (!config.watch && config.execute) {
48 console.error('ERROR: --execute is not supported without --watch');
49 process.exit(1);
50}
51
52(0, _.default)(config).catch(error => {
53 (0, _helpers.logError)(error);
54 process.exit(1);
55});
\No newline at end of file