From 29b9dc92c5324da6069ce2956ca0d55cd8ba7492 Mon Sep 17 00:00:00 2001 From: Nils Knappmeier Date: Thu, 14 Feb 2019 22:27:50 +0100 Subject: [PATCH] chore: drop support for Node pre LTS BREAKING CHANGE --- .thought/partials/api.md.hbs | 3 +++ .travis.yml | 3 ++- README.md | 35 +++++++++++++++++++---------------- package-lock.json | 15 +++++++++++++++ package.json | 1 + 5 files changed, 40 insertions(+), 17 deletions(-) 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",