This commit is contained in:
2016-09-19 00:34:38 +02:00
parent eddc64b891
commit bfef45cab3
13 changed files with 65 additions and 849 deletions

View File

@ -1,50 +0,0 @@
import 'typings-global'
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 makeFrame = (): string => {
let resultString: string = `[${chalk.green('/'.repeat(frameCounter))}${' '.repeat(loaderLength - frameCounter)}] starting ${moduleName}`
if (frameCounter === loaderLength) {
frameCounter = 0
} else {
frameCounter++
}
return resultString
}
let logEarlyAbort = false
let logEarly = () => {
if (!logEarlyAbort) {
rl.write(null, { ctrl: true, name: 'u' })
rl.write(makeFrame())
setTimeout(function () {
logEarly()
}, 80)
} else {
rl.write(null, { ctrl: true, name: 'u' })
rl.close()
setTimeout(function () {
process.exit(0)
}, 80)
}
}
let start = function (moduleNameArg: string = '', loaderLengthArg: string = '10') {
moduleName = moduleNameArg
loaderLength = parseInt(loaderLengthArg)
logEarly()
}
process.on('SIGINT', () => {
logEarlyAbort = true
})
start()

View File

@ -2,36 +2,22 @@ import 'typings-global'
import path = require('path')
import chalk = require('chalk')
import q = require('q')
import childProcess = require('child_process')
let earlyChild
let doAnimation: boolean = true
let doText: boolean = false
let moduleName: string = 'undefined module name'
let startTime
let startTime = Date.now()
if (process.argv.indexOf('-v') !== -1 || process.env.CI) {
doAnimation = false
}
if (process.argv.indexOf('-v') === -1 && process.env.CI) {
if (process.argv.indexOf('-v') === -1) {
doText = true
}
// exports
/**
* start the loading
*/
export let start = function (moduleNameArg: string = '', loaderLengthArg: string = '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) {
if (doText) {
console.log(`**** starting ${chalk.green(moduleNameArg)} ****`)
}
}
@ -41,15 +27,7 @@ export let stop = (): q.Promise<number> => {
let endTime = Date.now()
let earlyExecutionTime: number = (endTime - startTime)
let earlyExecutionTimeString: string = (earlyExecutionTime / 1000).toString()
if (doAnimation) {
earlyChild.kill('SIGINT')
earlyChild.on('close', function () {
console.log(`loaded ${chalk.green(moduleName)} in ${earlyExecutionTimeString} seconds!`)
done.resolve(earlyExecutionTime)
})
} else {
console.log(`... finished loading ${moduleName} in ${earlyExecutionTimeString}`)
done.resolve(earlyExecutionTime)
}
console.log(`... finished loading ${moduleName} in ${earlyExecutionTimeString}`)
done.resolve(earlyExecutionTime)
return done.promise
}