3
3
// class handles all the IO with the registry and cache.
4
4
const pacote = require ( 'pacote' )
5
5
const cacache = require ( 'cacache' )
6
+ const { time } = require ( 'proc-log' )
6
7
const Advisory = require ( './advisory.js' )
7
8
const { homedir } = require ( 'os' )
8
9
const jsonParse = require ( 'json-parse-even-better-errors' )
@@ -48,34 +49,33 @@ class Calculator {
48
49
49
50
async [ _calculate ] ( name , source ) {
50
51
const k = `security-advisory:${ name } :${ source . id } `
51
- const t = `metavuln:calculate:${ k } `
52
- process . emit ( 'time' , t )
52
+ const timeEnd = time . start ( `metavuln:calculate:${ k } ` )
53
53
const advisory = new Advisory ( name , source , this [ _options ] )
54
54
// load packument and cached advisory
55
55
const [ cached , packument ] = await Promise . all ( [
56
56
this [ _cacheGet ] ( advisory ) ,
57
57
this [ _packument ] ( name ) ,
58
58
] )
59
- process . emit ( 'time' , `metavuln:load:${ k } ` )
59
+ const timeEndLoad = time . start ( `metavuln:load:${ k } ` )
60
60
advisory . load ( cached , packument )
61
- process . emit ( 'timeEnd' , `metavuln:load: ${ k } ` )
61
+ timeEndLoad ( )
62
62
if ( advisory . updated ) {
63
63
await this [ _cachePut ] ( advisory )
64
64
}
65
65
this [ _advisories ] . set ( k , advisory )
66
- process . emit ( ' timeEnd' , t )
66
+ timeEnd ( )
67
67
return advisory
68
68
}
69
69
70
70
async [ _cachePut ] ( advisory ) {
71
71
const { name, id } = advisory
72
72
const key = `security-advisory:${ name } :${ id } `
73
- process . emit ( 'time' , `metavuln:cache:put:${ key } ` )
73
+ const timeEnd = time . start ( `metavuln:cache:put:${ key } ` )
74
74
const data = JSON . stringify ( advisory )
75
75
const options = { ...this [ _options ] }
76
76
this [ _cacheData ] . set ( key , jsonParse ( data ) )
77
77
await cacache . put ( this [ _cache ] , key , data , options ) . catch ( ( ) => { } )
78
- process . emit ( ' timeEnd' , `metavuln:cache:put: ${ key } ` )
78
+ timeEnd ( )
79
79
}
80
80
81
81
async [ _cacheGet ] ( advisory ) {
@@ -87,12 +87,12 @@ class Calculator {
87
87
return this [ _cacheData ] . get ( key )
88
88
}
89
89
90
- process . emit ( 'time' , `metavuln:cache:get:${ key } ` )
90
+ const timeEnd = time . start ( `metavuln:cache:get:${ key } ` )
91
91
const p = cacache . get ( this [ _cache ] , key , { ...this [ _options ] } )
92
92
. catch ( ( ) => ( { data : '{}' } ) )
93
93
. then ( ( { data } ) => {
94
94
data = jsonParse ( data )
95
- process . emit ( ' timeEnd' , `metavuln:cache:get: ${ key } ` )
95
+ timeEnd ( )
96
96
this [ _cacheData ] . set ( key , data )
97
97
return data
98
98
} )
@@ -105,7 +105,7 @@ class Calculator {
105
105
return this [ _packuments ] . get ( name )
106
106
}
107
107
108
- process . emit ( 'time' , `metavuln:packument:${ name } ` )
108
+ const timeEnd = time . start ( `metavuln:packument:${ name } ` )
109
109
const p = pacote . packument ( name , { ...this [ _options ] } )
110
110
. catch ( ( er ) => {
111
111
// presumably not something from the registry.
@@ -116,7 +116,7 @@ class Calculator {
116
116
}
117
117
} )
118
118
. then ( paku => {
119
- process . emit ( ' timeEnd' , `metavuln:packument: ${ name } ` )
119
+ timeEnd ( )
120
120
this [ _packuments ] . set ( name , paku )
121
121
return paku
122
122
} )
0 commit comments