@@ -6,28 +6,30 @@ const install = require('./install.js')
66module . exports = ( data , { color } ) => {
77 const summary = install . summary ( data , { color } )
88 const none = data . metadata . vulnerabilities . total === 0
9- return none ? summary : fullReport ( data , { color, summary} )
9+ return none ? summary : fullReport ( data , { color, summary } )
1010}
1111
1212const fullReport = ( data , { color, summary } ) => {
1313 const c = colors ( color )
1414 const output = [ c . white ( '# npm audit report' ) , '' ]
1515
1616 const printed = new Set ( )
17- for ( const [ name , vuln ] of Object . entries ( data . vulnerabilities ) ) {
17+ for ( const [ , vuln ] of Object . entries ( data . vulnerabilities ) ) {
1818 // only print starting from the top-level advisories
19- if ( vuln . via . filter ( v => typeof v !== 'string' ) . length !== 0 )
20- output . push ( printVuln ( vuln , c , data . vulnerabilities ) )
19+ if ( vuln . via . filter ( v => typeof v !== 'string' ) . length !== 0 ) {
20+ output . push ( printVuln ( vuln , c , data . vulnerabilities , printed ) )
21+ }
2122 }
2223
2324 output . push ( summary )
2425
2526 return output . join ( '\n' )
2627}
2728
28- const printVuln = ( vuln , c , vulnerabilities , printed = new Set ( ) , indent = '' ) => {
29- if ( printed . has ( vuln ) )
29+ const printVuln = ( vuln , c , vulnerabilities , printed , indent = '' ) => {
30+ if ( printed . has ( vuln ) ) {
3031 return null
32+ }
3133
3234 printed . add ( vuln )
3335 const output = [ ]
@@ -59,7 +61,7 @@ const printVuln = (vuln, c, vulnerabilities, printed = new Set(), indent = '') =
5961 `${ c . yellow ( 'fix available' ) } via \`npm audit fix --force\`` ,
6062 `Will install ${ fa . name } @${ fa . version } ` +
6163 `, which is ${ fa . isSemVerMajor ? 'a breaking change' :
62- 'outside the stated dependency range' } `
64+ 'outside the stated dependency range' } `
6365 )
6466 }
6567 }
@@ -70,10 +72,10 @@ const printVuln = (vuln, c, vulnerabilities, printed = new Set(), indent = '') =
7072 }
7173
7274 for ( const effect of vuln . effects ) {
73- const vuln = vulnerabilities [ effect ]
74- const e = printVuln ( vuln , c , vulnerabilities , printed , ' ' )
75- if ( e )
75+ const e = printVuln ( vulnerabilities [ effect ] , c , vulnerabilities , printed , ' ' )
76+ if ( e ) {
7677 output . push ( ...e . split ( '\n' ) )
78+ }
7779 }
7880
7981 if ( indent === '' ) {
0 commit comments