52 lines
4.0 KiB
JavaScript
52 lines
4.0 KiB
JavaScript
"use strict";
|
|
require('typings-global');
|
|
const path = require('path');
|
|
const chalk = require('chalk');
|
|
const 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;
|
|
}
|
|
if (process.argv.indexOf('-v') === -1 && process.env.CI) {
|
|
doText = true;
|
|
}
|
|
// exports
|
|
exports.start = function (moduleNameArg = '', loaderLengthArg = '10') {
|
|
startTime = Date.now();
|
|
moduleName = moduleNameArg;
|
|
if (doAnimation) {
|
|
earlyChild = childProcess.fork(path.join(__dirname, 'early.child.js'), [], {
|
|
env: {
|
|
moduleNameArg: moduleNameArg,
|
|
loaderLengthArg: loaderLengthArg,
|
|
CI: process.env.CI
|
|
}
|
|
});
|
|
}
|
|
else if (doText) {
|
|
console.log(`**** starting ${chalk.green(moduleNameArg)} ****`);
|
|
}
|
|
};
|
|
exports.stop = () => {
|
|
let done = q.defer();
|
|
let endTime = Date.now();
|
|
let executionTime = ((endTime - startTime) / 1000).toString();
|
|
if (doAnimation) {
|
|
earlyChild.kill('SIGINT');
|
|
earlyChild.on('close', function () {
|
|
console.log(`loaded ${chalk.green(moduleName)} in ${executionTime} seconds!`);
|
|
done.resolve();
|
|
});
|
|
}
|
|
else {
|
|
console.log(`... finished loading ${moduleName} in ${executionTime}`);
|
|
done.resolve();
|
|
}
|
|
return done.promise;
|
|
};
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFDUCxDQUFDLENBRHNCO0FBQ3ZCLE1BQU8sSUFBSSxXQUFXLE1BQU0sQ0FBQyxDQUFBO0FBQzdCLE1BQU8sS0FBSyxXQUFXLE9BQU8sQ0FBQyxDQUFBO0FBQy9CLE1BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFBO0FBQ3ZCLE1BQU8sWUFBWSxXQUFXLGVBQWUsQ0FBQyxDQUFBO0FBQzlDLElBQUksVUFBVSxDQUFBO0FBRWQsSUFBSSxXQUFXLEdBQVksSUFBSSxDQUFBO0FBQy9CLElBQUksTUFBTSxHQUFZLEtBQUssQ0FBQTtBQUMzQixJQUFJLFVBQVUsR0FBVyx1QkFBdUIsQ0FBQTtBQUNoRCxJQUFJLFNBQVMsQ0FBQTtBQUViLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxXQUFXLEdBQUcsS0FBSyxDQUFBO0FBQ3ZCLENBQUM7QUFDRCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsTUFBTSxHQUFHLElBQUksQ0FBQTtBQUNqQixDQUFDO0FBRUQsVUFBVTtBQUNDLGFBQUssR0FBRyxVQUFVLGFBQWEsR0FBVyxFQUFFLEVBQUUsZUFBZSxHQUFXLElBQUk7SUFFbkYsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUV0QixVQUFVLEdBQUcsYUFBYSxDQUFBO0lBQzFCLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDZCxVQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN2RSxHQUFHLEVBQUU7Z0JBQ0QsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxFQUFFLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2FBQ3JCO1NBQ0osQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ25FLENBQUM7QUFDTCxDQUFDLENBQUE7QUFFVSxZQUFJLEdBQUc7SUFDZCxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFRLENBQUE7SUFDMUIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQ3hCLElBQUksYUFBYSxHQUFXLENBQUMsQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDckUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNkLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDekIsVUFBVSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sYUFBYSxXQUFXLENBQUMsQ0FBQTtZQUM3RSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixVQUFVLE9BQU8sYUFBYSxFQUFFLENBQUMsQ0FBQTtRQUNyRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDbEIsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0FBQ3ZCLENBQUMsQ0FBQSJ9
|