improved early and added loading time
This commit is contained in:
parent
5f17ea48ed
commit
569c597f8b
41
dist/early.child.js
vendored
41
dist/early.child.js
vendored
@ -1,21 +1,16 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var colors = require("colors");
|
||||
var readline = require("readline");
|
||||
var rl = readline.createInterface({
|
||||
const chalk = require("chalk");
|
||||
const readline = require("readline");
|
||||
let rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout
|
||||
});
|
||||
var moduleName;
|
||||
var loaderLength;
|
||||
var frameCounter = 0;
|
||||
var makeFrame = function () {
|
||||
var resultString = "["
|
||||
+ "/".green.repeat(frameCounter)
|
||||
+ " ".repeat(loaderLength - frameCounter)
|
||||
+ "]"
|
||||
+ " starting "
|
||||
+ moduleName.cyan;
|
||||
let moduleName;
|
||||
let loaderLength;
|
||||
let frameCounter = 0;
|
||||
let makeFrame = () => {
|
||||
let resultString = `[${chalk.green("/".repeat(frameCounter))}${" ".repeat(loaderLength - frameCounter)}] starting ${moduleName}`;
|
||||
if (frameCounter == loaderLength) {
|
||||
frameCounter = 0;
|
||||
}
|
||||
@ -24,29 +19,29 @@ var makeFrame = function () {
|
||||
}
|
||||
return resultString;
|
||||
};
|
||||
var logEarlyAbort = false;
|
||||
var logEarly = function () {
|
||||
let logEarlyAbort = false;
|
||||
let logEarly = () => {
|
||||
if (!logEarlyAbort) {
|
||||
rl.write(null, { ctrl: true, name: 'u' });
|
||||
rl.write(makeFrame());
|
||||
setTimeout(function () {
|
||||
if (!logEarlyAbort)
|
||||
logEarly();
|
||||
}, 80);
|
||||
}
|
||||
};
|
||||
var start = function (moduleNameArg, loaderLengthArg) {
|
||||
if (moduleNameArg === void 0) { moduleNameArg = ""; }
|
||||
if (loaderLengthArg === void 0) { loaderLengthArg = "10"; }
|
||||
let start = function (moduleNameArg = "", loaderLengthArg = "10") {
|
||||
moduleName = moduleNameArg;
|
||||
loaderLength = parseInt(loaderLengthArg);
|
||||
logEarly();
|
||||
};
|
||||
start(process.env.moduleNameArg, process.env.loaderLengthArg);
|
||||
process.on('SIGINT', function () {
|
||||
process.on('SIGHUP', () => {
|
||||
logEarlyAbort = true;
|
||||
rl.write(null, { ctrl: true, name: 'u' });
|
||||
rl.write(`loaded ${chalk.green(moduleName)}`);
|
||||
rl.close();
|
||||
rl.on("close", function () {
|
||||
rl.on("close", () => {
|
||||
process.exit(0);
|
||||
});
|
||||
});
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVhcmx5LmNoaWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9CLElBQU8sUUFBUSxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQ3RDLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7SUFDOUIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0lBQ3BCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtDQUN6QixDQUFDLENBQUM7QUFFSCxJQUFJLFVBQWlCLENBQUM7QUFDdEIsSUFBSSxZQUFtQixDQUFDO0FBQ3hCLElBQUksWUFBWSxHQUFVLENBQUMsQ0FBQztBQUU1QixJQUFJLFNBQVMsR0FBRztJQUNaLElBQUksWUFBWSxHQUFVLEdBQUc7VUFDdkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1VBQzlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztVQUN2QyxHQUFHO1VBQ0gsWUFBWTtVQUNaLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFFdEIsRUFBRSxDQUFBLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxDQUFBLENBQUM7UUFDN0IsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixZQUFZLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7QUFDMUIsSUFBSSxRQUFRLEdBQUc7SUFDWCxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7SUFDeEMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLFVBQVUsQ0FBQztRQUNQLEVBQUUsQ0FBQSxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDO0FBRUYsSUFBSSxLQUFLLEdBQUcsVUFBUyxhQUF5QixFQUFDLGVBQTZCO0lBQXZELDZCQUF5QixHQUF6QixrQkFBeUI7SUFBQywrQkFBNkIsR0FBN0Isc0JBQTZCO0lBQ3hFLFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDM0IsWUFBWSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QyxRQUFRLEVBQUUsQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRTdELE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pCLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDckIsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ3hDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNYLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJlYXJseS5jaGlsZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5sZXQgY29sb3JzID0gcmVxdWlyZShcImNvbG9yc1wiKTtcbmltcG9ydCByZWFkbGluZSA9IHJlcXVpcmUoXCJyZWFkbGluZVwiKTtcbmxldCBybCA9IHJlYWRsaW5lLmNyZWF0ZUludGVyZmFjZSh7XG4gICAgaW5wdXQ6IHByb2Nlc3Muc3RkaW4sXG4gICAgb3V0cHV0OiBwcm9jZXNzLnN0ZG91dFxufSk7XG5cbmxldCBtb2R1bGVOYW1lOnN0cmluZztcbmxldCBsb2FkZXJMZW5ndGg6bnVtYmVyO1xubGV0IGZyYW1lQ291bnRlcjpudW1iZXIgPSAwO1xuXG5sZXQgbWFrZUZyYW1lID0gKCk6c3RyaW5nID0+IHtcbiAgICBsZXQgcmVzdWx0U3RyaW5nOnN0cmluZyA9IFwiW1wiXG4gICAgICAgICsgXCIvXCIuZ3JlZW4ucmVwZWF0KGZyYW1lQ291bnRlcilcbiAgICAgICAgKyBcIiBcIi5yZXBlYXQobG9hZGVyTGVuZ3RoIC0gZnJhbWVDb3VudGVyKVxuICAgICAgICArIFwiXVwiXG4gICAgICAgICsgXCIgc3RhcnRpbmcgXCJcbiAgICAgICAgKyBtb2R1bGVOYW1lLmN5YW47XG5cbiAgICBpZihmcmFtZUNvdW50ZXIgPT0gbG9hZGVyTGVuZ3RoKXtcbiAgICAgICAgZnJhbWVDb3VudGVyID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBmcmFtZUNvdW50ZXIrKztcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFN0cmluZztcbn07XG5cbmxldCBsb2dFYXJseUFib3J0ID0gZmFsc2U7XG5sZXQgbG9nRWFybHkgPSAoKSA9PiB7XG4gICAgcmwud3JpdGUobnVsbCwge2N0cmw6IHRydWUsIG5hbWU6ICd1J30pO1xuICAgIHJsLndyaXRlKG1ha2VGcmFtZSgpKTtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7XG4gICAgICAgIGlmKCFsb2dFYXJseUFib3J0KSBsb2dFYXJseSgpO1xuICAgIH0sODApO1xufTtcblxubGV0IHN0YXJ0ID0gZnVuY3Rpb24obW9kdWxlTmFtZUFyZzpzdHJpbmcgPSBcIlwiLGxvYWRlckxlbmd0aEFyZzpzdHJpbmcgPSBcIjEwXCIpe1xuICAgIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lQXJnO1xuICAgIGxvYWRlckxlbmd0aCA9IHBhcnNlSW50KGxvYWRlckxlbmd0aEFyZyk7XG4gICAgbG9nRWFybHkoKTtcbn07XG5cbnN0YXJ0KHByb2Nlc3MuZW52Lm1vZHVsZU5hbWVBcmcscHJvY2Vzcy5lbnYubG9hZGVyTGVuZ3RoQXJnKTtcblxucHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZ0Vhcmx5QWJvcnQgPSB0cnVlO1xuICAgIHJsLndyaXRlKG51bGwsIHtjdHJsOiB0cnVlLCBuYW1lOiAndSd9KTtcbiAgICBybC5jbG9zZSgpO1xuICAgIHJsLm9uKFwiY2xvc2VcIixmdW5jdGlvbigpe1xuICAgIH0pXG59KTsiXX0=
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFybHkuY2hpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9lYXJseS5jaGlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLE1BQU8sS0FBSyxXQUFXLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLE1BQU8sUUFBUSxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQ3RDLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7SUFDOUIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0lBQ3BCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtDQUN6QixDQUFDLENBQUM7QUFFSCxJQUFJLFVBQWtCLENBQUM7QUFDdkIsSUFBSSxZQUFvQixDQUFDO0FBQ3pCLElBQUksWUFBWSxHQUFXLENBQUMsQ0FBQztBQUU3QixJQUFJLFNBQVMsR0FBRztJQUNaLElBQUksWUFBWSxHQUFXLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLGNBQWMsVUFBVSxFQUFFLENBQUM7SUFDekksRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDL0IsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixZQUFZLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7QUFDMUIsSUFBSSxRQUFRLEdBQUc7SUFDWCxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDakIsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN0QixVQUFVLENBQUM7WUFDUCxRQUFRLEVBQUUsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixJQUFJLEtBQUssR0FBRyxVQUFVLGFBQWEsR0FBVyxFQUFFLEVBQUUsZUFBZSxHQUFXLElBQUk7SUFDNUUsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUMzQixZQUFZLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pDLFFBQVEsRUFBRSxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFOUQsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakIsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNyQixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDMUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNYLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFDO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFDIn0=
|
35
dist/index.js
vendored
35
dist/index.js
vendored
@ -1,11 +1,14 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var path = require("path");
|
||||
var q = require("q");
|
||||
var childProcess = require("child_process");
|
||||
var earlyChild;
|
||||
var doAnimation = true;
|
||||
var doText = false;
|
||||
const path = require("path");
|
||||
const chalk = require("chalk");
|
||||
let q = require("q");
|
||||
const childProcess = require("child_process");
|
||||
let earlyChild;
|
||||
let doAnimation = true;
|
||||
let doText = false;
|
||||
let moduleName = "undefined module name";
|
||||
let startTime;
|
||||
if (process.argv.indexOf("-v") != -1 || process.env.CI) {
|
||||
doAnimation = false;
|
||||
}
|
||||
@ -13,9 +16,9 @@ else if (process.argv.indexOf("-v") == -1) {
|
||||
doText = true;
|
||||
}
|
||||
// exports
|
||||
exports.start = function (moduleNameArg, loaderLengthArg) {
|
||||
if (moduleNameArg === void 0) { moduleNameArg = ""; }
|
||||
if (loaderLengthArg === void 0) { loaderLengthArg = "10"; }
|
||||
exports.start = function (moduleNameArg = "", loaderLengthArg = "10") {
|
||||
startTime = process.hrtime();
|
||||
moduleName = moduleNameArg;
|
||||
if (doAnimation) {
|
||||
earlyChild = childProcess.fork(path.join(__dirname, "early.child.js"), [], {
|
||||
env: {
|
||||
@ -26,22 +29,24 @@ exports.start = function (moduleNameArg, loaderLengthArg) {
|
||||
});
|
||||
}
|
||||
else if (doText) {
|
||||
console.log("**** starting " + moduleNameArg.cyan + " ****");
|
||||
console.log(`**** starting ${chalk.green(moduleNameArg)} ****`);
|
||||
}
|
||||
};
|
||||
exports.stop = function () {
|
||||
var done = q.defer();
|
||||
let done = q.defer();
|
||||
let endTime = process.hrtime(startTime);
|
||||
let executionTime = (endTime[0] * 1e9 + endTime[1]) / 1000000000;
|
||||
if (doAnimation) {
|
||||
earlyChild.kill();
|
||||
earlyChild.kill("SIGHUP");
|
||||
earlyChild.on("close", function () {
|
||||
console.log("\n");
|
||||
console.log(` in ${executionTime} seconds!`);
|
||||
done.resolve();
|
||||
});
|
||||
}
|
||||
else {
|
||||
console.log("... finished loading moduleName in {executionTime}");
|
||||
done.resolve();
|
||||
}
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUNQLENBQUMsQ0FEc0I7QUFFdkIsSUFBTyxJQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDOUIsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRXJCLElBQU8sWUFBWSxXQUFXLGVBQWUsQ0FBQyxDQUFDO0FBQy9DLElBQUksVUFBVSxDQUFDO0FBRWYsSUFBSSxXQUFXLEdBQVcsSUFBSSxDQUFDO0FBQy9CLElBQUksTUFBTSxHQUFXLEtBQUssQ0FBQztBQUMzQixFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUM7SUFDbkQsV0FBVyxHQUFHLEtBQUssQ0FBQztBQUN4QixDQUFDO0FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztJQUN4QyxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxVQUFVO0FBQ0MsYUFBSyxHQUFHLFVBQVMsYUFBeUIsRUFBQyxlQUE2QjtJQUF2RCw2QkFBeUIsR0FBekIsa0JBQXlCO0lBQUMsK0JBQTZCLEdBQTdCLHNCQUE2QjtJQUMvRSxFQUFFLENBQUEsQ0FBQyxXQUFXLENBQUMsQ0FBQSxDQUFDO1FBQ1osVUFBVSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsZ0JBQWdCLENBQUMsRUFBQyxFQUFFLEVBQUM7WUFDcEUsR0FBRyxFQUFFO2dCQUNELGFBQWEsRUFBQyxhQUFhO2dCQUMzQixlQUFlLEVBQUMsZUFBZTtnQkFDL0IsRUFBRSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTthQUNyQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVTLFlBQUksR0FBRztJQUNkLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixFQUFFLENBQUEsQ0FBQyxXQUFXLENBQUMsQ0FBQSxDQUFDO1FBQ1osVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFDO1lBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiXG5pbXBvcnQgY29sb3JzID0gcmVxdWlyZShcImNvbG9yc1wiKTtcbmltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5sZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuaW1wb3J0IHJlYWRsaW5lID0gcmVxdWlyZShcInJlYWRsaW5lXCIpO1xuaW1wb3J0IGNoaWxkUHJvY2VzcyA9IHJlcXVpcmUoXCJjaGlsZF9wcm9jZXNzXCIpO1xubGV0IGVhcmx5Q2hpbGQ7XG5cbmxldCBkb0FuaW1hdGlvbjpib29sZWFuID0gdHJ1ZTtcbmxldCBkb1RleHQ6Ym9vbGVhbiA9IGZhbHNlO1xuaWYocHJvY2Vzcy5hcmd2LmluZGV4T2YoXCItdlwiKSAhPSAtMSB8fCBwcm9jZXNzLmVudi5DSSl7XG4gICAgZG9BbmltYXRpb24gPSBmYWxzZTtcbn0gZWxzZSBpZihwcm9jZXNzLmFyZ3YuaW5kZXhPZihcIi12XCIpID09IC0xKXtcbiAgICBkb1RleHQgPSB0cnVlO1xufVxuXG4vLyBleHBvcnRzXG5leHBvcnQgbGV0IHN0YXJ0ID0gZnVuY3Rpb24obW9kdWxlTmFtZUFyZzpzdHJpbmcgPSBcIlwiLGxvYWRlckxlbmd0aEFyZzpzdHJpbmcgPSBcIjEwXCIpe1xuICAgIGlmKGRvQW5pbWF0aW9uKXtcbiAgICAgICAgZWFybHlDaGlsZCA9IGNoaWxkUHJvY2Vzcy5mb3JrKHBhdGguam9pbihfX2Rpcm5hbWUsXCJlYXJseS5jaGlsZC5qc1wiKSxbXSx7XG4gICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgICBtb2R1bGVOYW1lQXJnOm1vZHVsZU5hbWVBcmcsXG4gICAgICAgICAgICAgICAgbG9hZGVyTGVuZ3RoQXJnOmxvYWRlckxlbmd0aEFyZyxcbiAgICAgICAgICAgICAgICBDSTogcHJvY2Vzcy5lbnYuQ0lcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChkb1RleHQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCIqKioqIHN0YXJ0aW5nIFwiICsgbW9kdWxlTmFtZUFyZy5jeWFuICsgXCIgKioqKlwiKTtcbiAgICB9XG59O1xuXG5leHBvcnQgbGV0IHN0b3AgPSBmdW5jdGlvbigpe1xuICAgIGxldCBkb25lID0gcS5kZWZlcigpO1xuICAgIGlmKGRvQW5pbWF0aW9uKXtcbiAgICAgICAgZWFybHlDaGlsZC5raWxsKCk7XG4gICAgICAgIGVhcmx5Q2hpbGQub24oXCJjbG9zZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIlxcblwiKTtcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTtcblxuIl19
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFDUCxDQUFDLENBRHNCO0FBQ3ZCLE1BQU8sSUFBSSxXQUFXLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLE1BQU8sS0FBSyxXQUFXLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVyQixNQUFPLFlBQVksV0FBVyxlQUFlLENBQUMsQ0FBQztBQUMvQyxJQUFJLFVBQVUsQ0FBQztBQUVmLElBQUksV0FBVyxHQUFZLElBQUksQ0FBQztBQUNoQyxJQUFJLE1BQU0sR0FBWSxLQUFLLENBQUM7QUFDNUIsSUFBSSxVQUFVLEdBQVUsdUJBQXVCLENBQUM7QUFDaEQsSUFBSSxTQUFTLENBQUM7QUFFZCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckQsV0FBVyxHQUFHLEtBQUssQ0FBQztBQUN4QixDQUFDO0FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxVQUFVO0FBQ0MsYUFBSyxHQUFHLFVBQVUsYUFBYSxHQUFXLEVBQUUsRUFBRSxlQUFlLEdBQVcsSUFBSTtJQUVuRixTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRTdCLFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDM0IsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNkLFVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3ZFLEdBQUcsRUFBRTtnQkFDRCxhQUFhLEVBQUUsYUFBYTtnQkFDNUIsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLEVBQUUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7YUFDckI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEUsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVTLFlBQUksR0FBRztJQUNkLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLElBQUksYUFBYSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDakUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNkLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsVUFBVSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLGFBQWEsV0FBVyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIn0=
|
@ -21,12 +21,13 @@
|
||||
},
|
||||
"homepage": "https://gitlab.com/pushrocks/early#readme",
|
||||
"devDependencies": {
|
||||
"npmts-g": "^5.2.6",
|
||||
"npmts-g": "^5.2.8",
|
||||
"typings-test": "^1.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"colors": "^1.1.2",
|
||||
"@types/chalk": "^0.4.28",
|
||||
"chalk": "^1.1.3",
|
||||
"q": "^1.4.1",
|
||||
"typings-global": "^1.0.3"
|
||||
"typings-global": "^1.0.6"
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
require("typings-test");
|
||||
var early = require("../dist/index");
|
||||
const early = require("../dist/index");
|
||||
describe("early", function () {
|
||||
it(".start()", function (done) {
|
||||
this.timeout(10000);
|
||||
@ -12,5 +12,4 @@ describe("early", function () {
|
||||
.then(done);
|
||||
});
|
||||
});
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsSUFBTyxLQUFLLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFFeEMsUUFBUSxDQUFDLE9BQU8sRUFBQztJQUNiLEVBQUUsQ0FBQyxVQUFVLEVBQUMsVUFBUyxJQUFJO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixVQUFVLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxDQUFDLFNBQVMsRUFBQyxVQUFTLElBQUk7UUFDdEIsS0FBSyxDQUFDLElBQUksRUFBRTthQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIiwiZmlsZSI6InRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLXRlc3RcIjtcbmltcG9ydCBlYXJseSA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4XCIpO1xuXG5kZXNjcmliZShcImVhcmx5XCIsZnVuY3Rpb24oKXtcbiAgICBpdChcIi5zdGFydCgpXCIsZnVuY3Rpb24oZG9uZSl7XG4gICAgICAgIHRoaXMudGltZW91dCgxMDAwMCk7XG4gICAgICAgIGVhcmx5LnN0YXJ0KFwiZWFybHlcIik7XG4gICAgICAgIHNldFRpbWVvdXQoZG9uZSw1MDAwKTtcbiAgICB9KTtcbiAgICBpdChcIi5zdG9wKClcIixmdW5jdGlvbihkb25lKXtcbiAgICAgICAgZWFybHkuc3RvcCgpXG4gICAgICAgICAgICAudGhlbihkb25lKTtcbiAgICB9KVxufSkiXX0=
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsTUFBTyxLQUFLLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFFeEMsUUFBUSxDQUFDLE9BQU8sRUFBQztJQUNiLEVBQUUsQ0FBQyxVQUFVLEVBQUMsVUFBUyxJQUFJO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixVQUFVLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxDQUFDLFNBQVMsRUFBQyxVQUFTLElBQUk7UUFDdEIsS0FBSyxDQUFDLElBQUksRUFBRTthQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIn0=
|
@ -1,24 +1,18 @@
|
||||
import "typings-global";
|
||||
let colors = require("colors");
|
||||
import chalk = require("chalk");
|
||||
import readline = require("readline");
|
||||
let rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout
|
||||
});
|
||||
|
||||
let moduleName:string;
|
||||
let loaderLength:number;
|
||||
let frameCounter:number = 0;
|
||||
let moduleName: string;
|
||||
let loaderLength: number;
|
||||
let frameCounter: number = 0;
|
||||
|
||||
let makeFrame = ():string => {
|
||||
let resultString:string = "["
|
||||
+ "/".green.repeat(frameCounter)
|
||||
+ " ".repeat(loaderLength - frameCounter)
|
||||
+ "]"
|
||||
+ " starting "
|
||||
+ moduleName.cyan;
|
||||
|
||||
if(frameCounter == loaderLength){
|
||||
let makeFrame = (): string => {
|
||||
let resultString: string = `[${chalk.green("/".repeat(frameCounter))}${" ".repeat(loaderLength - frameCounter)}] starting ${moduleName}`;
|
||||
if (frameCounter == loaderLength) {
|
||||
frameCounter = 0;
|
||||
} else {
|
||||
frameCounter++;
|
||||
@ -28,25 +22,29 @@ let makeFrame = ():string => {
|
||||
|
||||
let logEarlyAbort = false;
|
||||
let logEarly = () => {
|
||||
rl.write(null, {ctrl: true, name: 'u'});
|
||||
if (!logEarlyAbort) {
|
||||
rl.write(null, { ctrl: true, name: 'u' });
|
||||
rl.write(makeFrame());
|
||||
setTimeout(function(){
|
||||
if(!logEarlyAbort) logEarly();
|
||||
},80);
|
||||
setTimeout(function () {
|
||||
logEarly();
|
||||
}, 80);
|
||||
}
|
||||
};
|
||||
|
||||
let start = function(moduleNameArg:string = "",loaderLengthArg:string = "10"){
|
||||
let start = function (moduleNameArg: string = "", loaderLengthArg: string = "10") {
|
||||
moduleName = moduleNameArg;
|
||||
loaderLength = parseInt(loaderLengthArg);
|
||||
logEarly();
|
||||
};
|
||||
|
||||
start(process.env.moduleNameArg,process.env.loaderLengthArg);
|
||||
start(process.env.moduleNameArg, process.env.loaderLengthArg);
|
||||
|
||||
process.on('SIGINT', () => {
|
||||
process.on('SIGHUP', () => {
|
||||
logEarlyAbort = true;
|
||||
rl.write(null, {ctrl: true, name: 'u'});
|
||||
rl.write(null, { ctrl: true, name: 'u' });
|
||||
rl.write(`loaded ${chalk.green(moduleName)}`);
|
||||
rl.close();
|
||||
rl.on("close",function(){
|
||||
rl.on("close",() => {
|
||||
process.exit(0);
|
||||
})
|
||||
});
|
42
ts/index.ts
42
ts/index.ts
@ -1,43 +1,53 @@
|
||||
import "typings-global"
|
||||
import colors = require("colors");
|
||||
import path = require("path");
|
||||
import chalk = require("chalk");
|
||||
let q = require("q");
|
||||
import readline = require("readline");
|
||||
import childProcess = require("child_process");
|
||||
let earlyChild;
|
||||
|
||||
let doAnimation:boolean = true;
|
||||
let doText:boolean = false;
|
||||
if(process.argv.indexOf("-v") != -1 || process.env.CI){
|
||||
let doAnimation: boolean = true;
|
||||
let doText: boolean = false;
|
||||
let moduleName:string = "undefined module name";
|
||||
let startTime;
|
||||
|
||||
if (process.argv.indexOf("-v") != -1 || process.env.CI) {
|
||||
doAnimation = false;
|
||||
} else if(process.argv.indexOf("-v") == -1){
|
||||
} else if (process.argv.indexOf("-v") == -1) {
|
||||
doText = true;
|
||||
}
|
||||
|
||||
// exports
|
||||
export let start = function(moduleNameArg:string = "",loaderLengthArg:string = "10"){
|
||||
if(doAnimation){
|
||||
earlyChild = childProcess.fork(path.join(__dirname,"early.child.js"),[],{
|
||||
export let start = function (moduleNameArg: string = "", loaderLengthArg: string = "10") {
|
||||
|
||||
startTime = process.hrtime();
|
||||
|
||||
moduleName = moduleNameArg;
|
||||
if (doAnimation) {
|
||||
earlyChild = childProcess.fork(path.join(__dirname, "early.child.js"), [], {
|
||||
env: {
|
||||
moduleNameArg:moduleNameArg,
|
||||
loaderLengthArg:loaderLengthArg,
|
||||
moduleNameArg: moduleNameArg,
|
||||
loaderLengthArg: loaderLengthArg,
|
||||
CI: process.env.CI
|
||||
}
|
||||
});
|
||||
} else if (doText) {
|
||||
console.log("**** starting " + moduleNameArg.cyan + " ****");
|
||||
console.log(`**** starting ${chalk.green(moduleNameArg)} ****`);
|
||||
}
|
||||
};
|
||||
|
||||
export let stop = function(){
|
||||
export let stop = function () {
|
||||
let done = q.defer();
|
||||
if(doAnimation){
|
||||
earlyChild.kill();
|
||||
earlyChild.on("close",function(){
|
||||
console.log("\n");
|
||||
let endTime = process.hrtime(startTime);
|
||||
let executionTime = (endTime[0] * 1e9 + endTime[1]) / 1000000000;
|
||||
if (doAnimation) {
|
||||
earlyChild.kill("SIGHUP");
|
||||
earlyChild.on("close", function () {
|
||||
console.log(` in ${executionTime} seconds!`);
|
||||
done.resolve();
|
||||
})
|
||||
} else {
|
||||
console.log("... finished loading moduleName in {executionTime}");
|
||||
done.resolve();
|
||||
}
|
||||
return done.promise;
|
||||
|
Loading…
Reference in New Issue
Block a user