From cc0c312a9dfe8e82ef37ec9546903e43e49b6176 Mon Sep 17 00:00:00 2001 From: Pierre Vanduynslager Date: Thu, 11 Jan 2018 12:03:01 -0500 Subject: [PATCH] fix: set node minimum version to 8.3 The minimum Node version supported is 8.3 as we use Object properties spread. --- docs/support/FAQ.md | 10 +++++----- docs/support/node-version.md | 8 ++++---- package.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/support/FAQ.md b/docs/support/FAQ.md index a2f0bb1a0e..88c4012255 100644 --- a/docs/support/FAQ.md +++ b/docs/support/FAQ.md @@ -20,7 +20,7 @@ Yes with the [dry-run options](../usage/configuration.md#dryrun) which prints to ## Can I use semantic-release with Yarn? -If you are using a [local](../usage/installation.md#local-installation) **semantic-release** installation and run multiple CI jobs with different versions, the `yarn install` command will fail on jobs running with Node < 8 as **semantic-release** requires [Node >= 8](#why-does-semantic-release-require-node-version--8) and specifies it in its `package.json`s [`engines`](https://docs.npmjs.com/files/package.json#engines) key. +If you are using a [local](../usage/installation.md#local-installation) **semantic-release** installation and run multiple CI jobs with different versions, the `yarn install` command will fail on jobs running with Node < 8 as **semantic-release** requires [Node >= 8.3](#why-does-semantic-release-require-node-version--83) and specifies it in its `package.json`s [`engines`](https://docs.npmjs.com/files/package.json#engines) key. The recommended solution is to use the [Yarn](https://yarnpkg.com) [--ignore-engines](https://yarnpkg.com/en/docs/cli/install#toc-yarn-install-ignore-engines) option to install the project dependencies on the CI environment, so Yarn will ignore the **semantic-release**'s `engines` key: @@ -30,7 +30,7 @@ $ yarn install --ignore-engines **Note**: Several CI services use Yarn by default if your repository contains a `yarn.lock` file. So you should override the install step to specify `yarn install --ignore-engines`. -Alternatively you can use a [global](../usage/installation.md#global-installation) **semantic-release** installation and make sure to install and run the `semantic-release` command only in a CI jobs running with Node >= 8. +Alternatively you can use a [global](../usage/installation.md#global-installation) **semantic-release** installation and make sure to install and run the `semantic-release` command only in a CI jobs running with Node >= 8.3. If your CI environment provides [nvm](https://github.com/creationix/nvm) you can switch to Node 8 before installing and running the `semantic-release` command: @@ -47,7 +47,7 @@ Yes, **semantic-release** is a Node CLI application but it can be used to publis To publish a non-Node package (without a `package.json`) you would need to: - Use a [global](../usage/installation.md#global-installation) **semantic-release** installation - Set **semantic-release** [options](../usage/configuration.md#options) via [CLI arguments or rc file](../usage/configuration.md#configuration) -- Make sure your CI job executing the `semantic-release` command has access to [Node >= 8](#why-does-semantic-release-require-node-version--8) to execute the `semantic-release` command +- Make sure your CI job executing the `semantic-release` command has access to [Node >= 8](#why-does-semantic-release-require-node-version--83) to execute the `semantic-release` command See the [CI configuration recipes](../usage/ci-configuration.md) for more details on specific CI environments. @@ -151,8 +151,8 @@ See [“Introduction to SemVer” - Irina Gebauer](https://blog.greenkeeper.io/i In addition the [verify conditions step](../../README.md#release-steps) verifies that all necessary conditions for proceeding with a release are met, and a new release will be performed [only if all your tests pass](../usage/ci-configuration.md#run-semantic-release-only-after-all-tests-succeeded). -## Why does semantic-release require Node version >= 8? +## Why does semantic-release require Node version >= 8.3? -**semantic-release** is written using the latest [ECMAScript 2017](https://www.ecma-international.org/publications/standards/Ecma-262.htm) features, without transpilation which **requires Node version 8 or higher**. +**semantic-release** is written using the latest [ECMAScript 2017](https://www.ecma-international.org/publications/standards/Ecma-262.htm) features, without transpilation which **requires Node version 8.3 or higher**. See [Node version requirement](../support/node-version.md#node-version-requirement) for more details and solutions. diff --git a/docs/support/node-version.md b/docs/support/node-version.md index 12cbf22508..d6ae8b9374 100644 --- a/docs/support/node-version.md +++ b/docs/support/node-version.md @@ -1,6 +1,6 @@ # Node version requirement -**semantic-release** is written using the latest [ECMAScript 2017](https://www.ecma-international.org/publications/standards/Ecma-262.htm) features, without transpilation which requires **requires Node version 8 or higher**. +**semantic-release** is written using the latest [ECMAScript 2017](https://www.ecma-international.org/publications/standards/Ecma-262.htm) features, without transpilation which requires **requires Node version 8.3 or higher**. **semantic-release** is meant to be used in a CI environment as a development support tool, not as a production dependency. Therefore the only constraint is to run the `semantic-release` in a CI environment providing Node 8 or higher. @@ -8,9 +8,9 @@ See our [Node Support Policy](node-support-policy.md) for our long-term promise ## Recommended solution -### Run at least one CI job with Node >= 8 +### Run at least one CI job with Node >= 8.3 -The recommended approach is to run the `semantic-release` command from a CI job running on Node 8 or higher. This can either be a job used by your project to test on Node 8 or a dedicated job for the release steps. +The recommended approach is to run the `semantic-release` command from a CI job running on Node 8.3 or higher. This can either be a job used by your project to test on Node >= 8.3 or a dedicated job for the release steps. See [CI configuration](../usage/ci-configuration.md) and [CI configuration recipes](../recipes/README.md#ci-configurations) for more details. @@ -20,7 +20,7 @@ See [CI configuration](../usage/ci-configuration.md) and [CI configuration recip [`npx`](https://github.com/zkat/npx) is a CLI to execute npm binaries. It is bundled with [npm](https://www.npmjs.com/package/npm) >= 5.4, or can be installed via `npm install -g npx`. -`npx` can be used to download the [Node 8 package published on npm](https://www.npmjs.com/package/node) and use it to execute the `semantic-release` command. +`npx` can be used to download the latest [Node 8 package published on npm](https://www.npmjs.com/package/node) and use it to execute the `semantic-release` command. If you are using a [local](../usage/installation.md#local-installation) **semantic-release** installation: diff --git a/package.json b/package.json index 298d58572b..c295de722e 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "xo": "^0.18.2" }, "engines": { - "node": ">=8" + "node": ">=8.3" }, "files": [ "bin",