@wpk-cli/cli
Version:
an unofficial CLI for webpack
64 lines (48 loc) • 1.75 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
run();
function run() {
return _run.apply(this, arguments);
}
function _run() {
_run = (0, _asyncToGenerator2.default)(function* () {
if (process.argv.join(" ").indexOf("--version") !== -1) {
console.log(require("../package").version);
process.exit(0);
return;
}
const IS_PROFILING_FLAG = "--wpk-is-profiling";
const SHOULD_PROFILE_FLAG = "--wpk-profile";
const shouldProfile = "WPK_PROFILE" in process.env || process.argv.find(f => f === SHOULD_PROFILE_FLAG);
const isProfiling = process.argv.find(f => f === IS_PROFILING_FLAG);
if (shouldProfile && !isProfiling) {
try {
const file = yield require("0x")({
argv: process.argv.slice(1).concat(IS_PROFILING_FLAG),
workingDir: process.cwd()
});
console.log("\nprofiling complete:");
console.log(`flamegraph in ${file}`);
} catch (err) {
console.error("\nprofiling error:");
console.error(err);
}
return;
}
global.WPK_START_TIME = Date.now();
if (!isProfiling && !("WPK_DISABLE_COMPILE_CACHE" in process.env)) {
require("v8-compile-cache");
}
require("@babel/polyfill");
global.Promise = require("bluebird");
const _require = require("./util"),
processError = _require.processError;
process.on("uncaughtException", processError);
process.on("unhandledRejection", processError);
require("./global");
require("./cli").run();
});
return _run.apply(this, arguments);
}