early/ts/index.ts

45 lines
1.1 KiB
TypeScript
Raw Normal View History

2016-06-10 03:18:03 +00:00
import "typings-global"
2016-05-23 02:51:45 +00:00
import colors = require("colors");
import path = require("path");
2016-06-11 21:47:52 +00:00
let q = require("q");
2016-06-10 03:18:03 +00:00
import readline = require("readline");
import childProcess = require("child_process");
let earlyChild;
2016-06-10 03:18:03 +00:00
let doAnimation:boolean = true;
2016-06-10 03:36:06 +00:00
let doText:boolean = false;
if(process.argv.indexOf("-v") != -1 || process.env.CI){
2016-06-10 03:18:03 +00:00
doAnimation = false;
2016-06-10 03:43:27 +00:00
} else if(process.argv.indexOf("-v") == -1){
2016-06-10 03:36:06 +00:00
doText = true;
2016-06-10 03:18:03 +00:00
}
2016-05-21 18:33:13 +00:00
// exports
export let start = function(moduleNameArg:string = "",loaderLengthArg:string = "10"){
2016-06-10 03:18:03 +00:00
if(doAnimation){
earlyChild = childProcess.fork(path.join(__dirname,"early.child.js"),[],{
env: {
moduleNameArg:moduleNameArg,
loaderLengthArg:loaderLengthArg,
CI: process.env.CI
}
});
2016-06-10 03:36:06 +00:00
} else if (doText) {
console.log("**** starting " + moduleNameArg.cyan + " ****");
2016-06-10 03:18:03 +00:00
}
2016-05-20 17:06:25 +00:00
};
export let stop = function(){
2016-06-11 21:53:48 +00:00
let done = q.defer();
2016-06-10 03:18:03 +00:00
if(doAnimation){
earlyChild.kill();
2016-06-11 21:47:52 +00:00
earlyChild.on("close",function(){
done.resolve();
})
2016-06-11 21:53:48 +00:00
} else {
done.resolve();
2016-06-10 03:18:03 +00:00
}
2016-06-11 21:53:48 +00:00
return done.promise;
2016-05-20 17:06:25 +00:00
};