UNPKG

paranormal

Version:
75 lines (53 loc) 1.84 kB
'use strict'; exports.__esModule = true; var _meow = require('meow'); var _meow2 = _interopRequireDefault(_meow); 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) { let match = input; let cwd; 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`); } let watch; 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 = async function cli(argv) { let start = Date.now(); let { pkg, input, flags } = (0, _meow2.default)({ argv, help: ` Usage $ paranormal <...globs> <...flags> Flags --watch, -w Watch files and update on changes --cwd <dir> Set the current working directory ` }); console.error(_chalk2.default.bold.cyan(`👻 Paranormal ${pkg.version} (node: ${process.versions.node})`)); let { cwd, match, watch } = cliToOptions(input, flags); let runner = new _Runner2.default({ cwd }); await runner.run({ match, watch }); if (!watch) { let timing = (Date.now() - start) / 1000; let rounded = Math.round(timing * 100) / 100; console.error(_chalk2.default.dim(`💀 Done in ${rounded}s.`)); } };