1
1
const chalk = require ( 'chalk' )
2
2
const readline = require ( 'readline' )
3
3
const padStart = require ( 'string.prototype.padstart' )
4
+ const EventEmitter = require ( 'events' )
5
+
6
+ exports . events = new EventEmitter ( )
7
+
8
+ function _log ( type , tag , message ) {
9
+ if ( process . env . VUE_CLI_API_MODE && message ) {
10
+ exports . events . emit ( 'log' , {
11
+ message,
12
+ type,
13
+ tag
14
+ } )
15
+ }
16
+ }
4
17
5
18
const format = ( label , msg ) => {
6
19
return msg . split ( '\n' ) . map ( ( line , i ) => {
@@ -12,24 +25,32 @@ const format = (label, msg) => {
12
25
13
26
const chalkTag = msg => chalk . bgBlackBright . white . dim ( ` ${ msg } ` )
14
27
15
- exports . log = ( msg = '' , tag = null ) => tag ? console . log ( format ( chalkTag ( tag ) , msg ) ) : console . log ( msg )
28
+ exports . log = ( msg = '' , tag = null ) => {
29
+ tag ? console . log ( format ( chalkTag ( tag ) , msg ) ) : console . log ( msg )
30
+ _log ( 'log' , tag , msg )
31
+ }
16
32
17
33
exports . info = ( msg , tag = null ) => {
18
34
console . log ( format ( chalk . bgBlue . black ( ' INFO ' ) + ( tag ? chalkTag ( tag ) : '' ) , msg ) )
35
+ _log ( 'info' , tag , msg )
19
36
}
20
37
21
38
exports . done = ( msg , tag = null ) => {
22
39
console . log ( format ( chalk . bgGreen . black ( ' DONE ' ) + ( tag ? chalkTag ( tag ) : '' ) , msg ) )
40
+ _log ( 'done' , tag , msg )
23
41
}
24
42
25
43
exports . warn = ( msg , tag = null ) => {
26
44
console . warn ( format ( chalk . bgYellow . black ( ' WARN ' ) + ( tag ? chalkTag ( tag ) : '' ) , chalk . yellow ( msg ) ) )
45
+ _log ( 'warn' , tag , msg )
27
46
}
28
47
29
48
exports . error = ( msg , tag = null ) => {
30
49
console . error ( format ( chalk . bgRed ( ' ERROR ' ) + ( tag ? chalkTag ( tag ) : '' ) , chalk . red ( msg ) ) )
50
+ _log ( 'error' , tag , msg )
31
51
if ( msg instanceof Error ) {
32
52
console . error ( msg . stack )
53
+ _log ( 'error' , tag , msg . stack )
33
54
}
34
55
}
35
56
0 commit comments