private void _removeExcludedDependencies( Map<String, Object> map, Iterable<String> excludedDependencies) { for (Map.Entry<String, Object> entry : map.entrySet()) { Object value = entry.getValue(); if (!(value instanceof Map<?, ?>)) { continue; } Map<String, Object> valueMap = (Map<String, Object>)value; String key = entry.getKey(); if (key.equals("dependencies")) { for (String excludedDependency : excludedDependencies) { valueMap.remove(excludedDependency); } } _removeExcludedDependencies(valueMap, excludedDependencies); } }
private void _removeExcludedDependencies( Map<String, Object> map, Iterable<String> excludedDependencies) { for (Map.Entry<String, Object> entry : map.entrySet()) { Object value = entry.getValue(); if (!(value instanceof Map<?, ?>)) { continue; } Map<String, Object> valueMap = (Map<String, Object>)value; String key = entry.getKey(); if (key.equals("dependencies")) { for (String excludedDependency : excludedDependencies) { valueMap.remove(excludedDependency); } } _removeExcludedDependencies(valueMap, excludedDependencies); } }
@Override public void executeNode() throws Exception { super.executeNode(); File shrinkwrapJsonFile = new File( getWorkingDir(), "npm-shrinkwrap.json"); JsonSlurper jsonSlurper = new JsonSlurper(); Map<String, Object> shrinkwrap = (Map<String, Object>)jsonSlurper.parse( shrinkwrapJsonFile); List<String> excludedDependencies = getExcludedDependencies(); if (!excludedDependencies.isEmpty()) { _removeExcludedDependencies(shrinkwrap, getExcludedDependencies()); } String shrinkwrapJSON = JsonOutput.prettyPrint( JsonOutput.toJson(shrinkwrap)); shrinkwrapJSON = shrinkwrapJSON.replace(_FOUR_SPACES, "\t"); Files.write( shrinkwrapJsonFile.toPath(), shrinkwrapJSON.getBytes(StandardCharsets.UTF_8)); }
@Override public void executeNode() throws Exception { super.executeNode(); File shrinkwrapJsonFile = new File( getWorkingDir(), "npm-shrinkwrap.json"); JsonSlurper jsonSlurper = new JsonSlurper(); Map<String, Object> shrinkwrap = (Map<String, Object>)jsonSlurper.parse( shrinkwrapJsonFile); List<String> excludedDependencies = getExcludedDependencies(); if (!excludedDependencies.isEmpty()) { _removeExcludedDependencies(shrinkwrap, getExcludedDependencies()); } String shrinkwrapJSON = JsonOutput.prettyPrint( JsonOutput.toJson(shrinkwrap)); shrinkwrapJSON = shrinkwrapJSON.replace(_FOUR_SPACES, "\t"); Files.write( shrinkwrapJsonFile.toPath(), shrinkwrapJSON.getBytes(StandardCharsets.UTF_8)); }