@google-cloud/dns
Advanced tools
Comparing version 0.7.1 to 0.7.2
{ | ||
"name": "@google-cloud/dns", | ||
"description": "Cloud DNS Client Library for Node.js", | ||
"version": "0.7.1", | ||
"version": "0.7.2", | ||
"license": "Apache-2.0", | ||
@@ -59,3 +59,6 @@ "author": "Google Inc.", | ||
"is": "^3.0.1", | ||
"lodash.flatten": "^4.4.0", | ||
"lodash.groupby": "^4.6.0", | ||
"methmeth": "^1.0.0", | ||
"propprop": "^0.3.1", | ||
"string-format-obj": "^1.0.0" | ||
@@ -79,3 +82,3 @@ }, | ||
"prettier": "^1.7.4", | ||
"proxyquire": "^1.7.10", | ||
"proxyquire": "^2.0.0", | ||
"tmp": "^0.0.33", | ||
@@ -82,0 +85,0 @@ "uuid": "^3.0.1" |
@@ -23,4 +23,7 @@ /*! | ||
var extend = require('extend'); | ||
var flatten = require('lodash.flatten'); | ||
var fs = require('fs'); | ||
var groupBy = require('lodash.groupby'); | ||
var is = require('is'); | ||
var prop = require('propprop'); | ||
var util = require('util'); | ||
@@ -346,10 +349,36 @@ var zonefile = require('dns-zonefile'); | ||
var body = extend({}, config, { | ||
additions: arrify(config.add).map(exec('toJSON')), | ||
deletions: arrify(config.delete).map(exec('toJSON')), | ||
}); | ||
var body = extend( | ||
{ | ||
additions: groupByType(arrify(config.add).map(exec('toJSON'))), | ||
deletions: groupByType(arrify(config.delete).map(exec('toJSON'))), | ||
}, | ||
config | ||
); | ||
delete body.add; | ||
delete body.delete; | ||
function groupByType(changes) { | ||
changes = groupBy(changes, 'type'); | ||
var changesArray = []; | ||
for (var recordType in changes) { | ||
var recordsByName = groupBy(changes[recordType], 'name'); | ||
for (var recordName in recordsByName) { | ||
var records = recordsByName[recordName]; | ||
var templateRecord = extend({}, records[0]); | ||
if (records.length > 1) { | ||
// Combine the `rrdatas` values from all records of the same type. | ||
templateRecord.rrdatas = flatten(records.map(prop('rrdatas'))); | ||
} | ||
changesArray.push(templateRecord); | ||
} | ||
} | ||
return changesArray; | ||
} | ||
this.request( | ||
@@ -1008,2 +1037,5 @@ { | ||
var parsedZonefile = zonefile.parse(file); | ||
var defaultTTL = parsedZonefile.$ttl; | ||
delete parsedZonefile.$ttl; | ||
var recordTypes = Object.keys(parsedZonefile); | ||
@@ -1016,2 +1048,3 @@ var recordsToCreate = []; | ||
recordTypeSet.forEach(function(record) { | ||
record.ttl = record.ttl || defaultTTL; | ||
recordsToCreate.push(Record.fromZoneRecord_(self, recordType, record)); | ||
@@ -1018,0 +1051,0 @@ }); |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
77148
1946
1
10
+ Addedlodash.flatten@^4.4.0
+ Addedlodash.groupby@^4.6.0
+ Addedpropprop@^0.3.1
+ Addedlodash.flatten@4.4.0(transitive)
+ Addedlodash.groupby@4.6.0(transitive)
+ Addedpropprop@0.3.1(transitive)