UNPKG

grind-cli

Version:
43 lines (32 loc) 3.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Runner = void 0; const path = require('path'); class Runner { constructor(bootstrapper) { this.app = null; this.bootstrapper = null; this.bootstrapper = bootstrapper; } run() { const app = this.bootstrapper(); this.app = app; return app.start(); } async watch(command, option, restartHandler) { // Build the dirs to watch const dirs = command.option(option).split(/,/).map(dir => { if (dir[0] === '/') { return dir; } return path.join(process.cwd(), dir); }); // Strip the option from `argv` to avoid infinite loops process.argv = process.argv.filter(arg => !arg.startsWith(`--${option}=`)); // Kick off the watcher const Watcher = require('./Runner/Watcher').Watcher; return new Watcher(this, dirs, restartHandler).watch(); } } exports.Runner = Runner; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9SdW5uZXIuanMiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJSdW5uZXIiLCJjb25zdHJ1Y3RvciIsImJvb3RzdHJhcHBlciIsImFwcCIsInJ1biIsInN0YXJ0Iiwid2F0Y2giLCJjb21tYW5kIiwib3B0aW9uIiwicmVzdGFydEhhbmRsZXIiLCJkaXJzIiwic3BsaXQiLCJtYXAiLCJkaXIiLCJqb2luIiwicHJvY2VzcyIsImN3ZCIsImFyZ3YiLCJmaWx0ZXIiLCJhcmciLCJzdGFydHNXaXRoIiwiV2F0Y2hlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BQU1BLElBQUksR0FBR0MsT0FBTyxDQUFDLE1BQUQsQ0FBcEI7O0FBRU8sTUFBTUMsTUFBTixDQUFhO0FBSW5CQyxFQUFBQSxXQUFXLENBQUNDLFlBQUQsRUFBZTtBQUFBLFNBSDFCQyxHQUcwQixHQUhwQixJQUdvQjtBQUFBLFNBRjFCRCxZQUUwQixHQUZYLElBRVc7QUFDekIsU0FBS0EsWUFBTCxHQUFvQkEsWUFBcEI7QUFDQTs7QUFFREUsRUFBQUEsR0FBRyxHQUFHO0FBQ0wsVUFBTUQsR0FBRyxHQUFHLEtBQUtELFlBQUwsRUFBWjtBQUNBLFNBQUtDLEdBQUwsR0FBV0EsR0FBWDtBQUVBLFdBQU9BLEdBQUcsQ0FBQ0UsS0FBSixFQUFQO0FBQ0E7O0FBRUQsUUFBTUMsS0FBTixDQUFZQyxPQUFaLEVBQXFCQyxNQUFyQixFQUE2QkMsY0FBN0IsRUFBNkM7QUFDNUM7QUFDQSxVQUFNQyxJQUFJLEdBQUdILE9BQU8sQ0FDbEJDLE1BRFcsQ0FDSkEsTUFESSxFQUVYRyxLQUZXLENBRUwsR0FGSyxFQUdYQyxHQUhXLENBR1BDLEdBQUcsSUFBSTtBQUNYLFVBQUlBLEdBQUcsQ0FBQyxDQUFELENBQUgsS0FBVyxHQUFmLEVBQW9CO0FBQ25CLGVBQU9BLEdBQVA7QUFDQTs7QUFFRCxhQUFPZixJQUFJLENBQUNnQixJQUFMLENBQVVDLE9BQU8sQ0FBQ0MsR0FBUixFQUFWLEVBQXlCSCxHQUF6QixDQUFQO0FBQ0EsS0FUVyxDQUFiLENBRjRDLENBYTVDOztBQUNBRSxJQUFBQSxPQUFPLENBQUNFLElBQVIsR0FBZUYsT0FBTyxDQUFDRSxJQUFSLENBQWFDLE1BQWIsQ0FBb0JDLEdBQUcsSUFBSSxDQUFDQSxHQUFHLENBQUNDLFVBQUosQ0FBZ0IsS0FBSVosTUFBTyxHQUEzQixDQUE1QixDQUFmLENBZDRDLENBZ0I1Qzs7QUFDQSxVQUFNYSxPQUFPLEdBQUd0QixPQUFPLENBQUMsa0JBQUQsQ0FBUCxDQUE0QnNCLE9BQTVDOztBQUNBLFdBQU8sSUFBSUEsT0FBSixDQUFZLElBQVosRUFBa0JYLElBQWxCLEVBQXdCRCxjQUF4QixFQUF3Q0gsS0FBeEMsRUFBUDtBQUNBOztBQWxDa0IiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBwYXRoID0gcmVxdWlyZSgncGF0aCcpXG5cbmV4cG9ydCBjbGFzcyBSdW5uZXIge1xuXHRhcHAgPSBudWxsXG5cdGJvb3RzdHJhcHBlciA9IG51bGxcblxuXHRjb25zdHJ1Y3Rvcihib290c3RyYXBwZXIpIHtcblx0XHR0aGlzLmJvb3RzdHJhcHBlciA9IGJvb3RzdHJhcHBlclxuXHR9XG5cblx0cnVuKCkge1xuXHRcdGNvbnN0IGFwcCA9IHRoaXMuYm9vdHN0cmFwcGVyKClcblx0XHR0aGlzLmFwcCA9IGFwcFxuXG5cdFx0cmV0dXJuIGFwcC5zdGFydCgpXG5cdH1cblxuXHRhc3luYyB3YXRjaChjb21tYW5kLCBvcHRpb24sIHJlc3RhcnRIYW5kbGVyKSB7XG5cdFx0Ly8gQnVpbGQgdGhlIGRpcnMgdG8gd2F0Y2hcblx0XHRjb25zdCBkaXJzID0gY29tbWFuZFxuXHRcdFx0Lm9wdGlvbihvcHRpb24pXG5cdFx0XHQuc3BsaXQoLywvKVxuXHRcdFx0Lm1hcChkaXIgPT4ge1xuXHRcdFx0XHRpZiAoZGlyWzBdID09PSAnLycpIHtcblx0XHRcdFx0XHRyZXR1cm4gZGlyXG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGRpcilcblx0XHRcdH0pXG5cblx0XHQvLyBTdHJpcCB0aGUgb3B0aW9uIGZyb20gYGFyZ3ZgIHRvIGF2b2lkIGluZmluaXRlIGxvb3BzXG5cdFx0cHJvY2Vzcy5hcmd2ID0gcHJvY2Vzcy5hcmd2LmZpbHRlcihhcmcgPT4gIWFyZy5zdGFydHNXaXRoKGAtLSR7b3B0aW9ufT1gKSlcblxuXHRcdC8vIEtpY2sgb2ZmIHRoZSB3YXRjaGVyXG5cdFx0Y29uc3QgV2F0Y2hlciA9IHJlcXVpcmUoJy4vUnVubmVyL1dhdGNoZXInKS5XYXRjaGVyXG5cdFx0cmV0dXJuIG5ldyBXYXRjaGVyKHRoaXMsIGRpcnMsIHJlc3RhcnRIYW5kbGVyKS53YXRjaCgpXG5cdH1cbn1cbiJdfQ==