Compare commits

..

43 Commits

Author SHA1 Message Date
58b6a9a328 2.0.24 2016-08-20 08:42:42 +02:00
1c4020824d switch from process.hrtime() to Date.now() 2016-08-20 08:42:39 +02:00
521e5740e5 2.0.23 2016-08-20 08:29:25 +02:00
ce76702d53 make it even more foolproof 2016-08-20 08:29:18 +02:00
4590c8f64e 2.0.22 2016-08-20 08:06:47 +02:00
ab7155f198 fix 2016-08-20 08:06:41 +02:00
feba451f90 2.0.21 2016-08-20 07:51:41 +02:00
1ba1b0447b fixed CI console output 2016-08-20 07:51:04 +02:00
e4db3ba7ee 2.0.20 2016-08-20 07:46:42 +02:00
da209ecc06 2.0.19 2016-08-20 07:42:04 +02:00
e010b01c42 fixed error 2016-08-20 07:41:56 +02:00
225c46a788 2.0.18 2016-08-20 07:32:48 +02:00
7883f1cb7d add npmextra.json 2016-08-20 07:32:44 +02:00
394dd88a1d 2.0.17 2016-08-20 07:29:30 +02:00
1d8fee1506 fixed small error 2016-08-20 07:29:27 +02:00
88d5409c40 2.0.16 2016-08-20 07:15:55 +02:00
b8c9508d21 try catch for execution time 2016-08-20 07:15:52 +02:00
59f97c3254 2.0.15 2016-08-20 07:12:24 +02:00
0491493b2e fixed typo 2016-08-20 07:12:19 +02:00
aca45165f8 2.0.14 2016-08-20 07:04:03 +02:00
569c597f8b improved early and added loading time 2016-08-20 07:03:49 +02:00
5f17ea48ed 2.0.13 2016-06-12 00:42:24 +02:00
6a9cdd297a fix 2016-06-12 00:42:04 +02:00
0a363b441c 2.0.12 2016-06-12 00:38:17 +02:00
3af6edd5e6 move new line to main process 2016-06-12 00:38:11 +02:00
9a26f1367d 2.0.11 2016-06-12 00:30:14 +02:00
15dd17e7a7 now inserting new line 2016-06-12 00:30:10 +02:00
3b704dbde5 2.0.10 2016-06-12 00:12:46 +02:00
48aeb16dfd fix some readline closing issue 2016-06-12 00:12:40 +02:00
b40d8452ec 2.0.9 2016-06-11 23:53:55 +02:00
d8281f098a fix promise for CI 2016-06-11 23:53:48 +02:00
3ffee9d0d6 2.0.8 2016-06-11 23:47:57 +02:00
03dfdda812 now removing readline correcctly 2016-06-11 23:47:52 +02:00
24cce5d9b2 2.0.7 2016-06-10 06:08:06 +02:00
295e568097 now preventing async readline clutter 2016-06-10 06:08:03 +02:00
846bcf66db 2.0.6 2016-06-10 05:59:24 +02:00
fc7d7fd27f now clearing correctly 2016-06-10 05:59:21 +02:00
9829c7bb1e 2.0.5 2016-06-10 05:43:39 +02:00
6827999cf8 fix another issue 2016-06-10 05:43:27 +02:00
b318fa2076 2.0.4 2016-06-10 05:36:09 +02:00
0c751e1bca fix CI issue 2016-06-10 05:36:06 +02:00
cb489552f2 2.0.3 2016-06-10 05:21:47 +02:00
addd66091f fix gitlab ci base image 2016-06-10 05:21:44 +02:00
11 changed files with 161 additions and 120 deletions

View File

@ -1,9 +1,16 @@
image: hosttoday/ht-docker-node:latest image: hosttoday/ht-docker-node:npmts
stages: stages:
- test - test
- release - release
testLEGACY:
stage: test
script:
- npmci test legacy
tags:
- docker
testLTS: testLTS:
stage: test stage: test
script: script:

View File

@ -1,4 +1,2 @@
docs/ docs/
coverage/ coverage/
ts/typings/
.travis.yml

69
dist/early.child.js vendored
View File

@ -1,24 +1,16 @@
"use strict"; "use strict";
require("typings-global"); require("typings-global");
var colors = require("colors"); const chalk = require("chalk");
var readline = require("readline"); const readline = require("readline");
var rl; let rl = readline.createInterface({
var initReadline = function () { input: process.stdin,
rl = readline.createInterface({ output: process.stdout
input: process.stdin, });
output: process.stdout let moduleName;
}); let loaderLength;
}; let frameCounter = 0;
var moduleName; let makeFrame = () => {
var loaderLength; let resultString = `[${chalk.green("/".repeat(frameCounter))}${" ".repeat(loaderLength - frameCounter)}] starting ${moduleName}`;
var frameCounter = 0;
var makeFrame = function () {
var resultString = "["
+ "/".green.repeat(frameCounter)
+ " ".repeat(loaderLength - frameCounter)
+ "]"
+ " starting "
+ moduleName.cyan;
if (frameCounter == loaderLength) { if (frameCounter == loaderLength) {
frameCounter = 0; frameCounter = 0;
} }
@ -27,27 +19,28 @@ var makeFrame = function () {
} }
return resultString; return resultString;
}; };
var logEarly = function () { let logEarlyAbort = false;
rl.write(null, { ctrl: true, name: 'u' }); let logEarly = () => {
rl.write(makeFrame()); if (!logEarlyAbort) {
setTimeout(function () { rl.write(null, { ctrl: true, name: 'u' });
logEarly(); rl.write(makeFrame());
}, 80); setTimeout(function () {
logEarly();
}, 80);
}
}; };
var start = function (moduleNameArg, loaderLengthArg) { let start = function (moduleNameArg = "", loaderLengthArg = "10") {
if (moduleNameArg === void 0) { moduleNameArg = ""; }
if (loaderLengthArg === void 0) { loaderLengthArg = "10"; }
moduleName = moduleNameArg; moduleName = moduleNameArg;
loaderLength = parseInt(loaderLengthArg); loaderLength = parseInt(loaderLengthArg);
if (process.env.CI == "undefined") { logEarly();
initReadline();
logEarly();
}
else {
console.log("**** starting " + moduleName.cyan + " ****");
}
;
}; };
start(process.env.moduleNameArg, process.env.loaderLengthArg); start(process.env.moduleNameArg, process.env.loaderLengthArg);
process.on('SIGINT', () => {
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVhcmx5LmNoaWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9CLElBQU8sUUFBUSxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQ3RDLElBQUksRUFBRSxDQUFDO0FBQ1AsSUFBSSxZQUFZLEdBQUc7SUFDZixFQUFFLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUM5QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO0tBQ3JCLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLElBQUksVUFBaUIsQ0FBQztBQUN0QixJQUFJLFlBQW1CLENBQUM7QUFDeEIsSUFBSSxZQUFZLEdBQVUsQ0FBQyxDQUFDO0FBRTVCLElBQUksU0FBUyxHQUFHO0lBQ1osSUFBSSxZQUFZLEdBQVUsR0FBRztVQUN2QixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7VUFDOUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1VBQ3ZDLEdBQUc7VUFDSCxZQUFZO1VBQ1osVUFBVSxDQUFDLElBQUksQ0FBQztJQUV0QixFQUFFLENBQUEsQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLENBQUEsQ0FBQztRQUM3QixZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLFlBQVksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksUUFBUSxHQUFHO0lBQ1gsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ3hDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN0QixVQUFVLENBQUM7UUFDUCxRQUFRLEVBQUUsQ0FBQztJQUNmLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQztBQUVGLElBQUksS0FBSyxHQUFHLFVBQVMsYUFBeUIsRUFBQyxlQUE2QjtJQUF2RCw2QkFBeUIsR0FBekIsa0JBQXlCO0lBQUMsK0JBQTZCLEdBQTdCLHNCQUE2QjtJQUN4RSxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQzNCLFlBQVksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksV0FBVyxDQUFDLENBQUEsQ0FBQztRQUMvQixZQUFZLEVBQUUsQ0FBQztRQUNmLFFBQVEsRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFBQSxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMiLCJmaWxlIjoiZWFybHkuY2hpbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xubGV0IGNvbG9ycyA9IHJlcXVpcmUoXCJjb2xvcnNcIik7XG5pbXBvcnQgcmVhZGxpbmUgPSByZXF1aXJlKFwicmVhZGxpbmVcIik7XG5sZXQgcmw7IFxubGV0IGluaXRSZWFkbGluZSA9ICgpID0+IHtcbiAgICBybCA9IHJlYWRsaW5lLmNyZWF0ZUludGVyZmFjZSh7XG4gICAgaW5wdXQ6IHByb2Nlc3Muc3RkaW4sXG4gICAgb3V0cHV0OiBwcm9jZXNzLnN0ZG91dFxuICAgIH0pO1xufTtcblxubGV0IG1vZHVsZU5hbWU6c3RyaW5nO1xubGV0IGxvYWRlckxlbmd0aDpudW1iZXI7XG5sZXQgZnJhbWVDb3VudGVyOm51bWJlciA9IDA7XG5cbmxldCBtYWtlRnJhbWUgPSAoKTpzdHJpbmcgPT4ge1xuICAgIGxldCByZXN1bHRTdHJpbmc6c3RyaW5nID0gXCJbXCJcbiAgICAgICAgKyBcIi9cIi5ncmVlbi5yZXBlYXQoZnJhbWVDb3VudGVyKVxuICAgICAgICArIFwiIFwiLnJlcGVhdChsb2FkZXJMZW5ndGggLSBmcmFtZUNvdW50ZXIpXG4gICAgICAgICsgXCJdXCJcbiAgICAgICAgKyBcIiBzdGFydGluZyBcIlxuICAgICAgICArIG1vZHVsZU5hbWUuY3lhbjtcblxuICAgIGlmKGZyYW1lQ291bnRlciA9PSBsb2FkZXJMZW5ndGgpe1xuICAgICAgICBmcmFtZUNvdW50ZXIgPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZyYW1lQ291bnRlcisrO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0U3RyaW5nO1xufTtcblxubGV0IGxvZ0Vhcmx5ID0gKCkgPT4ge1xuICAgIHJsLndyaXRlKG51bGwsIHtjdHJsOiB0cnVlLCBuYW1lOiAndSd9KTtcbiAgICBybC53cml0ZShtYWtlRnJhbWUoKSk7XG4gICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xuICAgICAgICBsb2dFYXJseSgpO1xuICAgIH0sODApO1xufTtcblxubGV0IHN0YXJ0ID0gZnVuY3Rpb24obW9kdWxlTmFtZUFyZzpzdHJpbmcgPSBcIlwiLGxvYWRlckxlbmd0aEFyZzpzdHJpbmcgPSBcIjEwXCIpe1xuICAgIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lQXJnO1xuICAgIGxvYWRlckxlbmd0aCA9IHBhcnNlSW50KGxvYWRlckxlbmd0aEFyZyk7XG4gICAgaWYgKHByb2Nlc3MuZW52LkNJID09IFwidW5kZWZpbmVkXCIpe1xuICAgICAgICBpbml0UmVhZGxpbmUoKTtcbiAgICAgICAgbG9nRWFybHkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZyhcIioqKiogc3RhcnRpbmcgXCIgKyBtb2R1bGVOYW1lLmN5YW4gKyBcIiAqKioqXCIpO1xuICAgIH07XG59O1xuXG5zdGFydChwcm9jZXNzLmVudi5tb2R1bGVOYW1lQXJnLHByb2Nlc3MuZW52LmxvYWRlckxlbmd0aEFyZyk7Il19 logEarlyAbort = true;
rl.write(null, { ctrl: true, name: 'u' });
rl.write(`loaded ${chalk.green(moduleName)}`);
rl.close();
rl.on("close", () => {
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFybHkuY2hpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9lYXJseS5jaGlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLE1BQU8sS0FBSyxXQUFXLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLE1BQU8sUUFBUSxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQ3RDLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7SUFDOUIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0lBQ3BCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtDQUN6QixDQUFDLENBQUM7QUFFSCxJQUFJLFVBQWtCLENBQUM7QUFDdkIsSUFBSSxZQUFvQixDQUFDO0FBQ3pCLElBQUksWUFBWSxHQUFXLENBQUMsQ0FBQztBQUU3QixJQUFJLFNBQVMsR0FBRztJQUNaLElBQUksWUFBWSxHQUFXLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLGNBQWMsVUFBVSxFQUFFLENBQUM7SUFDekksRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDL0IsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixZQUFZLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7QUFDMUIsSUFBSSxRQUFRLEdBQUc7SUFDWCxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDakIsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN0QixVQUFVLENBQUM7WUFDUCxRQUFRLEVBQUUsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixJQUFJLEtBQUssR0FBRyxVQUFVLGFBQWEsR0FBVyxFQUFFLEVBQUUsZUFBZSxHQUFXLElBQUk7SUFDNUUsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUMzQixZQUFZLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pDLFFBQVEsRUFBRSxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFOUQsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakIsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNyQixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDMUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNYLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFDO0lBRWQsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQyJ9

2
dist/index.d.ts vendored
View File

@ -1,3 +1,3 @@
import "typings-global"; import "typings-global";
export declare let start: (moduleNameArg?: string, loaderLengthArg?: string) => void; export declare let start: (moduleNameArg?: string, loaderLengthArg?: string) => void;
export declare let stop: () => void; export declare let stop: () => any;

56
dist/index.js vendored
View File

@ -1,17 +1,24 @@
"use strict"; "use strict";
require("typings-global"); require("typings-global");
var path = require("path"); const path = require("path");
var readline = require("readline"); const chalk = require("chalk");
var childProcess = require("child_process"); let q = require("q");
var earlyChild; const childProcess = require("child_process");
var doAnimation = true; let earlyChild;
if (process.argv.indexOf("-v") != -1) { let doAnimation = true;
let doText = false;
let moduleName = "undefined module name";
let startTime;
if (process.argv.indexOf("-v") != -1 || process.env.CI) {
doAnimation = false; doAnimation = false;
} }
if (process.argv.indexOf("-v") == -1 && process.env.CI) {
doText = true;
}
// exports // exports
exports.start = function (moduleNameArg, loaderLengthArg) { exports.start = function (moduleNameArg = "", loaderLengthArg = "10") {
if (moduleNameArg === void 0) { moduleNameArg = ""; } startTime = Date.now();
if (loaderLengthArg === void 0) { loaderLengthArg = "10"; } moduleName = moduleNameArg;
if (doAnimation) { if (doAnimation) {
earlyChild = childProcess.fork(path.join(__dirname, "early.child.js"), [], { earlyChild = childProcess.fork(path.join(__dirname, "early.child.js"), [], {
env: { env: {
@ -21,16 +28,25 @@ exports.start = function (moduleNameArg, loaderLengthArg) {
} }
}); });
} }
}; else if (doText) {
exports.stop = function () { console.log(`**** starting ${chalk.green(moduleNameArg)} ****`);
if (doAnimation) {
earlyChild.kill();
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.close();
} }
}; };
exports.stop = function () {
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUNQLENBQUMsQ0FEc0I7QUFFdkIsSUFBTyxJQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDOUIsSUFBTyxRQUFRLFdBQVcsVUFBVSxDQUFDLENBQUM7QUFDdEMsSUFBTyxZQUFZLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFDL0MsSUFBSSxVQUFVLENBQUM7QUFFZixJQUFJLFdBQVcsR0FBVyxJQUFJLENBQUM7QUFDL0IsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO0lBQ2pDLFdBQVcsR0FBRyxLQUFLLENBQUM7QUFDeEIsQ0FBQztBQUVELFVBQVU7QUFDQyxhQUFLLEdBQUcsVUFBUyxhQUF5QixFQUFDLGVBQTZCO0lBQXZELDZCQUF5QixHQUF6QixrQkFBeUI7SUFBQywrQkFBNkIsR0FBN0Isc0JBQTZCO0lBQy9FLEVBQUUsQ0FBQSxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUM7UUFDWixVQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxnQkFBZ0IsQ0FBQyxFQUFDLEVBQUUsRUFBQztZQUNwRSxHQUFHLEVBQUU7Z0JBQ0QsYUFBYSxFQUFDLGFBQWE7Z0JBQzNCLGVBQWUsRUFBQyxlQUFlO2dCQUMvQixFQUFFLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2FBQ3JCO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVTLFlBQUksR0FBRztJQUNkLEVBQUUsQ0FBQSxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUM7UUFDWixVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUM5QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1NBQ3pCLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7QUFDTCxDQUFDLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiXG5pbXBvcnQgY29sb3JzID0gcmVxdWlyZShcImNvbG9yc1wiKTtcbmltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5pbXBvcnQgcmVhZGxpbmUgPSByZXF1aXJlKFwicmVhZGxpbmVcIik7XG5pbXBvcnQgY2hpbGRQcm9jZXNzID0gcmVxdWlyZShcImNoaWxkX3Byb2Nlc3NcIik7XG5sZXQgZWFybHlDaGlsZDtcblxubGV0IGRvQW5pbWF0aW9uOmJvb2xlYW4gPSB0cnVlO1xuaWYocHJvY2Vzcy5hcmd2LmluZGV4T2YoXCItdlwiKSAhPSAtMSl7XG4gICAgZG9BbmltYXRpb24gPSBmYWxzZTtcbn1cblxuLy8gZXhwb3J0c1xuZXhwb3J0IGxldCBzdGFydCA9IGZ1bmN0aW9uKG1vZHVsZU5hbWVBcmc6c3RyaW5nID0gXCJcIixsb2FkZXJMZW5ndGhBcmc6c3RyaW5nID0gXCIxMFwiKXtcbiAgICBpZihkb0FuaW1hdGlvbil7XG4gICAgICAgIGVhcmx5Q2hpbGQgPSBjaGlsZFByb2Nlc3MuZm9yayhwYXRoLmpvaW4oX19kaXJuYW1lLFwiZWFybHkuY2hpbGQuanNcIiksW10se1xuICAgICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICAgICAgbW9kdWxlTmFtZUFyZzptb2R1bGVOYW1lQXJnLFxuICAgICAgICAgICAgICAgIGxvYWRlckxlbmd0aEFyZzpsb2FkZXJMZW5ndGhBcmcsXG4gICAgICAgICAgICAgICAgQ0k6IHByb2Nlc3MuZW52LkNJXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmV4cG9ydCBsZXQgc3RvcCA9IGZ1bmN0aW9uKCl7XG4gICAgaWYoZG9BbmltYXRpb24pe1xuICAgICAgICBlYXJseUNoaWxkLmtpbGwoKTtcbiAgICAgICAgbGV0IHJsID0gcmVhZGxpbmUuY3JlYXRlSW50ZXJmYWNlKHtcbiAgICAgICAgICAgIGlucHV0OiBwcm9jZXNzLnN0ZGluLFxuICAgICAgICAgICAgb3V0cHV0OiBwcm9jZXNzLnN0ZG91dFxuICAgICAgICB9KTtcbiAgICAgICAgcmwuY2xvc2UoKTtcbiAgICB9XG59O1xuXG4iXX0= 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(` in ${executionTime} seconds!`);
done.resolve();
});
}
else {
console.log(`... finished loading ${moduleName} in ${executionTime}`);
done.resolve();
}
return done.promise;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFDUCxDQUFDLENBRHNCO0FBQ3ZCLE1BQU8sSUFBSSxXQUFXLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLE1BQU8sS0FBSyxXQUFXLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVyQixNQUFPLFlBQVksV0FBVyxlQUFlLENBQUMsQ0FBQztBQUMvQyxJQUFJLFVBQVUsQ0FBQztBQUVmLElBQUksV0FBVyxHQUFZLElBQUksQ0FBQztBQUNoQyxJQUFJLE1BQU0sR0FBWSxLQUFLLENBQUM7QUFDNUIsSUFBSSxVQUFVLEdBQVcsdUJBQXVCLENBQUM7QUFDakQsSUFBSSxTQUFTLENBQUM7QUFFZCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckQsV0FBVyxHQUFHLEtBQUssQ0FBQztBQUN4QixDQUFDO0FBQ0QsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDbEIsQ0FBQztBQUVELFVBQVU7QUFDQyxhQUFLLEdBQUcsVUFBVSxhQUFhLEdBQVcsRUFBRSxFQUFFLGVBQWUsR0FBVyxJQUFJO0lBRW5GLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFdkIsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUMzQixFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2QsVUFBVSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDdkUsR0FBRyxFQUFFO2dCQUNELGFBQWEsRUFBRSxhQUFhO2dCQUM1QixlQUFlLEVBQUUsZUFBZTtnQkFDaEMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTthQUNyQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRSxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRVMsWUFBSSxHQUFHO0lBQ2QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6QixJQUFJLGFBQWEsR0FBVSxDQUFDLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDZCxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFCLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxhQUFhLFdBQVcsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLFVBQVUsT0FBTyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIn0=

5
npmextra.json Normal file
View File

@ -0,0 +1,5 @@
{
"npmts":{
"coverageTreshold":50
}
}

View File

@ -1,6 +1,6 @@
{ {
"name": "early", "name": "early",
"version": "2.0.2", "version": "2.0.24",
"description": "nice module loading animation for modules that need a little starting time.", "description": "nice module loading animation for modules that need a little starting time.",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",
@ -21,11 +21,13 @@
}, },
"homepage": "https://gitlab.com/pushrocks/early#readme", "homepage": "https://gitlab.com/pushrocks/early#readme",
"devDependencies": { "devDependencies": {
"npmts": "^5.2.5", "npmts-g": "^5.2.8",
"typings-test": "^1.0.1" "typings-test": "^1.0.1"
}, },
"dependencies": { "dependencies": {
"colors": "^1.1.2", "@types/chalk": "^0.4.28",
"typings-global": "^1.0.3" "chalk": "^1.1.3",
"q": "^1.4.1",
"typings-global": "^1.0.6"
} }
} }

View File

@ -1,15 +1,15 @@
"use strict"; "use strict";
require("typings-test"); require("typings-test");
var early = require("../dist/index"); const early = require("../dist/index");
describe("early", function () { describe("early", function () {
it(".start()", function (done) { it(".start()", function (done) {
this.timeout(10000); this.timeout(10000);
early.start("early"); early.start("early");
setTimeout(done, 5000); setTimeout(done, 5000);
}); });
it(".stop()", function () { it(".stop()", function (done) {
early.stop(); early.stop()
.then(done);
}); });
}); });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsTUFBTyxLQUFLLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFFeEMsUUFBUSxDQUFDLE9BQU8sRUFBQztJQUNiLEVBQUUsQ0FBQyxVQUFVLEVBQUMsVUFBUyxJQUFJO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixVQUFVLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxDQUFDLFNBQVMsRUFBQyxVQUFTLElBQUk7UUFDdEIsS0FBSyxDQUFDLElBQUksRUFBRTthQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIn0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsSUFBTyxLQUFLLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFFeEMsUUFBUSxDQUFDLE9BQU8sRUFBQztJQUNiLEVBQUUsQ0FBQyxVQUFVLEVBQUMsVUFBUyxJQUFJO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixVQUFVLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxDQUFDLFNBQVMsRUFBQztRQUNULEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIiwiZmlsZSI6InRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLXRlc3RcIjtcbmltcG9ydCBlYXJseSA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4XCIpO1xuXG5kZXNjcmliZShcImVhcmx5XCIsZnVuY3Rpb24oKXtcbiAgICBpdChcIi5zdGFydCgpXCIsZnVuY3Rpb24oZG9uZSl7XG4gICAgICAgIHRoaXMudGltZW91dCgxMDAwMCk7XG4gICAgICAgIGVhcmx5LnN0YXJ0KFwiZWFybHlcIik7XG4gICAgICAgIHNldFRpbWVvdXQoZG9uZSw1MDAwKTtcbiAgICB9KTtcbiAgICBpdChcIi5zdG9wKClcIixmdW5jdGlvbigpe1xuICAgICAgICBlYXJseS5zdG9wKCk7XG4gICAgfSlcbn0pIl19

View File

@ -7,7 +7,8 @@ describe("early",function(){
early.start("early"); early.start("early");
setTimeout(done,5000); setTimeout(done,5000);
}); });
it(".stop()",function(){ it(".stop()",function(done){
early.stop(); early.stop()
.then(done);
}) })
}) })

View File

@ -1,27 +1,18 @@
import "typings-global"; import "typings-global";
let colors = require("colors"); import chalk = require("chalk");
import readline = require("readline"); import readline = require("readline");
let rl; let rl = readline.createInterface({
let initReadline = () => {
rl = readline.createInterface({
input: process.stdin, input: process.stdin,
output: process.stdout output: process.stdout
}); });
};
let moduleName:string; let moduleName: string;
let loaderLength:number; let loaderLength: number;
let frameCounter:number = 0; let frameCounter: number = 0;
let makeFrame = ():string => { let makeFrame = (): string => {
let resultString:string = "[" let resultString: string = `[${chalk.green("/".repeat(frameCounter))}${" ".repeat(loaderLength - frameCounter)}] starting ${moduleName}`;
+ "/".green.repeat(frameCounter) if (frameCounter == loaderLength) {
+ " ".repeat(loaderLength - frameCounter)
+ "]"
+ " starting "
+ moduleName.cyan;
if(frameCounter == loaderLength){
frameCounter = 0; frameCounter = 0;
} else { } else {
frameCounter++; frameCounter++;
@ -29,23 +20,31 @@ let makeFrame = ():string => {
return resultString; return resultString;
}; };
let logEarlyAbort = false;
let logEarly = () => { let logEarly = () => {
rl.write(null, {ctrl: true, name: 'u'}); if (!logEarlyAbort) {
rl.write(makeFrame()); rl.write(null, { ctrl: true, name: 'u' });
setTimeout(function(){ rl.write(makeFrame());
logEarly(); setTimeout(function () {
},80); logEarly();
}, 80);
}
}; };
let start = function(moduleNameArg:string = "",loaderLengthArg:string = "10"){ let start = function (moduleNameArg: string = "", loaderLengthArg: string = "10") {
moduleName = moduleNameArg; moduleName = moduleNameArg;
loaderLength = parseInt(loaderLengthArg); loaderLength = parseInt(loaderLengthArg);
if (process.env.CI == "undefined"){ logEarly();
initReadline();
logEarly();
} else {
console.log("**** starting " + moduleName.cyan + " ****");
};
}; };
start(process.env.moduleNameArg,process.env.loaderLengthArg); start(process.env.moduleNameArg, process.env.loaderLengthArg);
process.on('SIGINT', () => {
logEarlyAbort = true;
rl.write(null, { ctrl: true, name: 'u' });
rl.write(`loaded ${chalk.green(moduleName)}`);
rl.close();
rl.on("close",() => {
})
});

View File

@ -1,36 +1,56 @@
import "typings-global" import "typings-global"
import colors = require("colors");
import path = require("path"); import path = require("path");
import chalk = require("chalk");
let q = require("q");
import readline = require("readline"); import readline = require("readline");
import childProcess = require("child_process"); import childProcess = require("child_process");
let earlyChild; let earlyChild;
let doAnimation:boolean = true; let doAnimation: boolean = true;
if(process.argv.indexOf("-v") != -1){ let doText: boolean = false;
let moduleName: string = "undefined module name";
let startTime;
if (process.argv.indexOf("-v") != -1 || process.env.CI) {
doAnimation = false; doAnimation = false;
} }
if (process.argv.indexOf("-v") == -1 && process.env.CI) {
doText = true;
}
// exports // exports
export let start = function(moduleNameArg:string = "",loaderLengthArg:string = "10"){ export let start = function (moduleNameArg: string = "", loaderLengthArg: string = "10") {
if(doAnimation){
earlyChild = childProcess.fork(path.join(__dirname,"early.child.js"),[],{ startTime = Date.now();
moduleName = moduleNameArg;
if (doAnimation) {
earlyChild = childProcess.fork(path.join(__dirname, "early.child.js"), [], {
env: { env: {
moduleNameArg:moduleNameArg, moduleNameArg: moduleNameArg,
loaderLengthArg:loaderLengthArg, loaderLengthArg: loaderLengthArg,
CI: process.env.CI CI: process.env.CI
} }
}); });
} else if (doText) {
console.log(`**** starting ${chalk.green(moduleNameArg)} ****`);
} }
}; };
export let stop = function(){ export let stop = function () {
if(doAnimation){ let done = q.defer();
earlyChild.kill(); let endTime = Date.now();
let rl = readline.createInterface({ let executionTime:string = ((endTime - startTime) / 1000).toString();
input: process.stdin, if (doAnimation) {
output: process.stdout earlyChild.kill("SIGINT");
}); earlyChild.on("close", function () {
rl.close(); console.log(` in ${executionTime} seconds!`);
done.resolve();
})
} else {
console.log(`... finished loading ${moduleName} in ${executionTime}`);
done.resolve();
} }
return done.promise;
}; };