UNPKG

paranormal

Version:
107 lines (76 loc) 2.97 kB
'use strict'; exports.__esModule = true; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _meow2 = require('meow'); var _meow3 = _interopRequireDefault(_meow2); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk); var _Runner = require('./Runner'); var _Runner2 = _interopRequireDefault(_Runner); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function cliToOptions(input, flags) { var match = input; var cwd = void 0; if (typeof flags.cwd === 'undefined') { cwd = process.cwd(); } else if (typeof flags.cwd === 'string') { cwd = _path2.default.resolve(process.cwd(), flags.cwd); } else { throw new Error(`The flag \`--cwd=<path>\` requires a path`); } var watch = void 0; if (typeof flags.watch === 'undefined') { watch = false; } else if (typeof flags.watch === 'boolean') { watch = flags.watch; } else { throw new Error(`The flag \`--watch/-w\` does not accept an argument`); } return { match, cwd, watch }; } exports.default = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(argv) { var start, _meow, pkg, input, flags, _cliToOptions, cwd, match, watch, runner, timing, rounded; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: start = Date.now(); _meow = (0, _meow3.default)({ argv, help: ` Usage $ paranormal <...globs> <...flags> Flags --watch, -w Watch files and update on changes --cwd <dir> Set the current working directory ` }), pkg = _meow.pkg, input = _meow.input, flags = _meow.flags; console.error(_chalk2.default.bold.cyan(`👻 Paranormal ${pkg.version} (node: ${process.versions.node})`)); _cliToOptions = cliToOptions(input, flags), cwd = _cliToOptions.cwd, match = _cliToOptions.match, watch = _cliToOptions.watch; runner = new _Runner2.default({ cwd }); _context.next = 7; return runner.run({ match, watch }); case 7: if (!watch) { timing = (Date.now() - start) / 1000; rounded = Math.round(timing * 100) / 100; console.error(_chalk2.default.dim(`💀 Done in ${rounded}s.`)); } case 8: case 'end': return _context.stop(); } } }, _callee, this); })); function cli(_x) { return _ref.apply(this, arguments); } return cli; }();