diff options
-rw-r--r-- | lib/parse/validateConfig.js | 2 | ||||
-rw-r--r-- | lib/plugins/validateConfig.js | 2 | ||||
-rw-r--r-- | lib/utils/mergeDefaults.js | 10 | ||||
-rw-r--r-- | package.json | 1 |
4 files changed, 12 insertions, 3 deletions
diff --git a/lib/parse/validateConfig.js b/lib/parse/validateConfig.js index 855edc3..21294ac 100644 --- a/lib/parse/validateConfig.js +++ b/lib/parse/validateConfig.js @@ -1,9 +1,9 @@ var jsonschema = require('jsonschema'); var jsonSchemaDefaults = require('json-schema-defaults'); -var mergeDefaults = require('merge-defaults'); var schema = require('../constants/configSchema'); var error = require('../utils/error'); +var mergeDefaults = require('../utils/mergeDefaults'); /** Validate a book.json content diff --git a/lib/plugins/validateConfig.js b/lib/plugins/validateConfig.js index 37f3c96..fab1fef 100644 --- a/lib/plugins/validateConfig.js +++ b/lib/plugins/validateConfig.js @@ -1,10 +1,10 @@ var Immutable = require('immutable'); var jsonschema = require('jsonschema'); var jsonSchemaDefaults = require('json-schema-defaults'); -var mergeDefaults = require('merge-defaults'); var Promise = require('../utils/promise'); var error = require('../utils/error'); +var mergeDefaults = require('../utils/mergeDefaults'); /** Validate one plugin for a book and update book's confiration diff --git a/lib/utils/mergeDefaults.js b/lib/utils/mergeDefaults.js new file mode 100644 index 0000000..8266b85 --- /dev/null +++ b/lib/utils/mergeDefaults.js @@ -0,0 +1,10 @@ +var _ = require('lodash'); + +module.exports = _.partialRight(_.merge, function recursiveDefaults () { + // Ensure dates and arrays are not recursively merged + if (_.isArray(arguments[0]) || _.isDate(arguments[0])) { + return arguments[0]; + } + + return _.merge(arguments[0], arguments[1], recursiveDefaults); +}); diff --git a/package.json b/package.json index 1ea583a..1ed11b9 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,6 @@ "json-schema-defaults": "0.1.1", "jsonschema": "1.1.0", "juice": "1.11.0", - "merge-defaults": "0.2.1", "mkdirp": "0.5.1", "moment": "2.13.0", "npm": "3.9.2", |