/
log
executable file
·81 lines (62 loc) · 1.95 KB
/
log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/usr/bin/env node
var pkg = require('../package.json');
var colors = require('colors');
var ora = require('ora');
var path = require('path');
'use strict';
var prefix = '[' + pkg.name + ']\t';
var cwd = process.cwd();
function toRel(target) {
return path.relative(cwd, target);
}
function getDeltaTime(time) {
return new Date().getTime() - time;
}
var spinners = {};
var log = {
bundleStart: function(dest) {
var msg = prefix + (toRel(dest) + ': bundle start').yellow;
var spinner = ora({ color: 'white', text: msg });
spinner.start();
spinners[dest] = spinner;
},
bundleSuccess: function(dest, startTime) {
var spinner = spinners[dest];
var time = getDeltaTime(startTime);
var msg = prefix + '%s: successfully created (%sms)'.green;
spinner.stop();
console.log(msg, toRel(dest), time);
},
bundleError: function(dest, err) {
var spinner = spinners[dest];
var msg = prefix + '%s: bundle error'.red;
spinner.stop();
console.log(msg, toRel(dest));
console.log('> ' + err.message);
},
transpileSuccess: function(src, dest, startTime) {
var time = getDeltaTime(startTime);
var msg = prefix + '%s: successfully transpiled to "%s" (%sms)'.green;
console.log(msg, toRel(src), toRel(dest), time);
},
transpileError: function(err) {
var parts = err.message.split(':');
var msg = prefix + '%s'.red;
console.log(msg, toRel(err.message));
console.log(err.codeFrame);
},
uglifySuccess: function(src, dest, startTime) {
var time = getDeltaTime(startTime);
var msg = prefix + '%s: successfully uglified to "%s" (%sms)'.green;
console.log(msg, toRel(src), toRel(dest), time);
},
deleteFile: function(filename) {
var msg = prefix + '%s: successfully removed'.yellow;
console.log(msg, toRel(filename));
},
serverStart: function(port) {
var msg = prefix + 'server listen on http://127.0.0.1:%s'.blue;
console.log(msg, port);
}
};
module.exports = log;