diff --git a/.thought/partials/api.md.hbs b/.thought/partials/api.md.hbs
index c229ca6..050d365 100644
--- a/.thought/partials/api.md.hbs
+++ b/.thought/partials/api.md.hbs
@@ -1,5 +1,8 @@
## API-reference
+This package will always support the latest version of NodeJS and as well as the current LTS version.
+In the future, it will not be considered a breaking change to drop support of a pre-LTS version of NodeJS.
+
The exported module is a function that creates a new empty Customize-instance.
{{{jsdoc package.main}}}
diff --git a/.travis.yml b/.travis.yml
index 3e71b6b..1f587e8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,8 @@
sudo: false
language: "node_js"
node_js:
- - "10"
+ - "node"
+ - "lts"
script:
- npm install
- npm run coverage
diff --git a/README.md b/README.md
index 8d17639..6d8fa34 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# customize
-[![NPM version](https://badge.fury.io/js/customize.svg)](http://badge.fury.io/js/customize)
+[![NPM version](https://img.shields.io/npm/v/customize.svg)](https://npmjs.com/package/customize)
[![Travis Build Status](https://travis-ci.org/bootprint/customize.svg?branch=master)](https://travis-ci.org/bootprint/customize)
[![Coverage Status](https://img.shields.io/coveralls/bootprint/customize.svg)](https://coveralls.io/r/bootprint/customize)
[![Greenkeeper badge](https://badges.greenkeeper.io/bootprint/customize.svg)](https://greenkeeper.io/)
@@ -286,6 +286,9 @@ Customize uses the [debug](https://npmjs.com/package/debug) module for debug log
## API-reference
+This package will always support the latest version of NodeJS and as well as the current LTS version.
+In the future, it will not be considered a breaking change to drop support of a pre-LTS version of NodeJS.
+
The exported module is a function that creates a new empty Customize-instance.
@@ -319,32 +322,32 @@ Create a new Customize object with an empty configuration
### customize.debugState
For coverage testing: Expose the debugState object so it can be enabled an disabled in testcases
-**Kind**: static property of [customize](#module_customize)
+**Kind**: static property of [customize
](#module_customize)
### customize.debug
For coverage testing: Expose the debug object so it can be enabled an disabled in testcases
-**Kind**: static property of [customize](#module_customize)
+**Kind**: static property of [customize
](#module_customize)
### customize.Customize : customize
Exposes the constructor of the `customize` object
-**Kind**: static property of [customize](#module_customize)
+**Kind**: static property of [customize
](#module_customize)
### customize.overrider : customOverrider
Custom overrider-function (that is used as `customizer` in (lodash#merge)[https://lodash.com/docs#merge]
-**Kind**: static property of [customize](#module_customize)
+**Kind**: static property of [customize
](#module_customize)
### customize.withParent
Wrap a function so that if it overrides another function, that function will
be available as `this.parent`
-**Kind**: static property of [customize](#module_customize)
+**Kind**: static property of [customize
](#module_customize)
**Read only**: true
**Api**: public
@@ -359,7 +362,7 @@ Create a promise that is regarded as leaf in the configuration tree.
That means, that the overrider is not resolving this promise when overriding values.
Promised object values will not be merged but replaced.
-**Kind**: static property of [customize](#module_customize)
+**Kind**: static property of [customize
](#module_customize)
**Access**: public
**Read only**: true
@@ -370,7 +373,7 @@ Promised object values will not be merged but replaced.
### customize~Customize
-**Kind**: inner class of [customize](#module_customize)
+**Kind**: inner class of [customize
](#module_customize)
* [~Customize](#module_customize..Customize)
* [new Customize()](#new_module_customize..Customize_new)
@@ -401,7 +404,7 @@ this module
#### customize.registerEngine(id, engine)
Register an engine
-**Kind**: instance method of [Customize](#module_customize..Customize)
+**Kind**: instance method of [Customize
](#module_customize..Customize)
**Access**: public
| Param | Type | Description |
@@ -420,14 +423,14 @@ Register an engine
Returns the JSON-schema that configuration objects must match for this
configuration. The schema does not contain main description property
-**Kind**: instance method of [Customize](#module_customize..Customize)
+**Kind**: instance method of [Customize
](#module_customize..Customize)
#### customize.merge(config) ⇒ Customize
Creates a new instance of Customize. The configuration values of the current Customize
are used as default values and are overridden by the configuration provided as parameter.
-**Kind**: instance method of [Customize](#module_customize..Customize)
+**Kind**: instance method of [Customize
](#module_customize..Customize)
**Returns**: Customize
- the new Customize instance
**Api**: public
@@ -446,7 +449,7 @@ This function needs to be passed in here.
A new Customize will be returned that overrides the current configuration
with the configuration of the module.
-**Kind**: instance method of [Customize](#module_customize..Customize)
+**Kind**: instance method of [Customize
](#module_customize..Customize)
**Returns**: Customize
- the Customize instance returned by the module
**Access**: public
@@ -461,7 +464,7 @@ Return a promise for the merged configuration.
This functions is only needed to inspect intermediate configuration results
(i.e. for testing and documentation purposes)
-**Kind**: instance method of [Customize](#module_customize..Customize)
+**Kind**: instance method of [Customize
](#module_customize..Customize)
**Returns**: Promise.<object>
- a promise for the whole configuration
**Access**: public
@@ -470,7 +473,7 @@ This functions is only needed to inspect intermediate configuration results
Return a promise for the files needing to be watched in watch-mode,
indexed by engine.
-**Kind**: instance method of [Customize](#module_customize..Customize)
+**Kind**: instance method of [Customize
](#module_customize..Customize)
**Returns**: Promise.<object.<Array.<string>>>
- a promise for the files to be watched.
**Access**: public
@@ -478,7 +481,7 @@ indexed by engine.
#### customize.run([options]) ⇒ Promise.<object>
Run each engine with its part of the config.
-**Kind**: instance method of [Customize](#module_customize..Customize)
+**Kind**: instance method of [Customize
](#module_customize..Customize)
**Returns**: Promise.<object>
- an object containing on property per registered engine
(the key is the engine-id) containing the result of each engine
**Access**: public
@@ -491,7 +494,7 @@ Run each engine with its part of the config.
### customize~customize() ⇒ Customize
-**Kind**: inner method of [customize](#module_customize)
+**Kind**: inner method of [customize
](#module_customize)
**Api**: public
diff --git a/package-lock.json b/package-lock.json
index e3287b8..936c305 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1562,6 +1562,15 @@
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "~0.0.0"
+ }
+ },
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
@@ -1577,6 +1586,12 @@
"graceful-fs": "^4.1.6"
}
},
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
"jsonschema": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz",
diff --git a/package.json b/package.json
index 798beeb..ad0745b 100644
--- a/package.json
+++ b/package.json
@@ -55,6 +55,7 @@
"eslint-plugin-promise": "^4.0.1",
"eslint-plugin-standard": "^4.0.0",
"istanbul": "^0.4.5",
+ "json-stable-stringify": "^1.0.1",
"mocha": "^5.2.0",
"stream-to-string": "^1.1.0",
"thought": "^1.1.0",