audit.js
function getValidVulnerabilities(productRange, details, pkg, depPaths) {
        var results = [];
        if(details != undefined) {
                for(var i = 0; i < details.length; i++) {
                        var detail = details[i];
                        detail.depPaths = depPaths;

                  		// Do we white-list this match?
                        var id = detail.id;
                        if (whitelist && whitelist[id]) {
                            var whitelistEntry = whitelist[id];
                            if (whitelistEntry.dependencyPaths) {
                              for (var whitelistIdx = 0; whitelistIdx < whitelistEntry.dependencyPaths.length; whitelistIdx++) {
                                var wDep = whitelistEntry.dependencyPaths[whitelistIdx];
                                var regex = new RegExp(wDep);
                                detail.depPaths = detail.depPaths.filter(function(dDep) {
                                  if (regex.test(dDep)){
                                    detail.whitelistedPaths = detail.whitelistedPaths || [];
                                    detail.whitelistedPaths.push(dDep);
                                    return false;
                                  }

                                  return true;
                                });
                              }

                              detail["package"] = pkg;
                              whitelistedVulnerabilities.push(detail);
                              if (detail.depPaths.length == 0) {
                                console.log('SKIPPING BECAUSE ALL PATHS MATCHED')
                              }
                            } else {
                              detail["package"] = pkg;
                              whitelistedVulnerabilities.push(detail);
                            }
                        }
                        else {
                          results.push(detail);
                        }
                }
        }
        return results;
}
function getValidVulnerabilities(productRange, details, pkg, depPaths) {
        var results = [];
        if(details != undefined) {
                for(var i = 0; i < details.length; i++) {
                        var detail = details[i];
                        detail.depPaths = depPaths;

                  		// Do we white-list this match?
                        var id = detail.id;
                        if (whitelist && whitelist[id]) {
                            var whitelistEntry = whitelist[id];
                            if (whitelistEntry.dependencyPaths) {
                              for (var whitelistIdx = 0; whitelistIdx < whitelistEntry.dependencyPaths.length; whitelistIdx++) {
                                var wDep = whitelistEntry.dependencyPaths[whitelistIdx];
                                var regex = new RegExp(wDep);
                                detail.depPaths = detail.depPaths.filter(function(dDep) {
                                  if (regex.test(dDep)){
                                    detail.whitelistedPaths = detail.whitelistedPaths || [];
                                    detail.whitelistedPaths.push(dDep);
                                    return false;
                                  }

                                  return true;
                                });
                              }

                              detail["package"] = pkg;
                              whitelistedVulnerabilities.push(detail);
                              if (detail.depPaths.length == 0) {
                                console.log('SKIPPING BECAUSE ALL PATHS MATCHED')
                              }
                            } else {
                              detail["package"] = pkg;
                              whitelistedVulnerabilities.push(detail);
                            }
                        }
                        else {
                          results.push(detail);
                        }
                }
        }
        return results;
}
function getValidVulnerabilities ( productRange , details , pkg , depPaths ) { var results = [ ] ; if ( details != undefined ) { for ( var i = 0 ; i < details . length ; i ++ ) { var detail = details [ i ] ; detail . depPaths = depPaths ; // Do we white-list this match? var id = detail . id ; if ( whitelist && whitelist [ id ] ) { var whitelistEntry = whitelist [ id ] ; if ( whitelistEntry . dependencyPaths ) { for ( var whitelistIdx = 0 ; whitelistIdx < whitelistEntry . dependencyPaths . length ; whitelistIdx ++ ) { var wDep = whitelistEntry . dependencyPaths [ whitelistIdx ] ; var regex = new RegExp ( wDep ) ; detail . depPaths = detail . depPaths . filter ( function ( dDep ) { if ( regex . test ( dDep ) ) { detail . whitelistedPaths = detail . whitelistedPaths || [ ] ; detail . whitelistedPaths . push ( dDep ) ; return false ; } return true ; } ) ; } detail [ "package" ] = pkg ; whitelistedVulnerabilities . push ( detail ) ; if ( detail . depPaths . length == 0 ) { console . log ( 'SKIPPING BECAUSE ALL PATHS MATCHED' ) } } else { detail [ "package" ] = pkg ; whitelistedVulnerabilities . push ( detail ) ; } } else { results . push ( detail ) ; } } } return results ; }
Return list of vulnerabilities found to affect this version.

@param productRange A version range as defined by semantic versioning
@param details Vulnerability details
@returns
Return list of vulnerabilities found to affect this version .