Skip to content

Commit

Permalink
Bump to Node 8
Browse files Browse the repository at this point in the history
Summary:
Moving to Node 8 in React Native will allow us to be consistent with Facebook, e.g. trailing commas.

As of April 30, Node 4.x is end of life, and Node 6.x entered maintenance mode (see https://medium.com/the-node-js-collection/april-2018-release-updates-from-the-node-js-project-71687e1f7742).

This will require our docs to be updated to require Node 8 as a minimum. This should be done as part of the following PR: facebook/react-native-website#355

Circle CI already runs all JS tests using Node 8, and it has an extra compatibility check that uses Node 6. This workflow is dropped as we no longer need to check for failures when Node 6 is used.

See facebook#19226

[GENERAL] [BREAKING] [Node] - Bump minimum req. Node version to 8
Closes facebook#19230

Differential Revision: D7979478

Pulled By: hramos

fbshipit-source-id: c91ec118f0a59c4daae5fcdbfc822ccead591304
  • Loading branch information
hramos authored and macdoum1 committed Jun 28, 2018
1 parent 003a211 commit ff75327
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 26 deletions.
22 changes: 0 additions & 22 deletions .circleci/config.yml
Expand Up @@ -365,24 +365,6 @@ jobs:
- store_test_results:
path: ~/react-native/reports/junit

# Runs JavaScript tests on Node 6
test_javascript_node6_compatibility:
<<: *defaults
docker:
- image: circleci/node:6
steps:
- checkout
- run: *setup-artifacts

- restore-cache: *restore-cache-yarn
- run: *yarn
- save-cache: *save-cache-yarn

- run: *run-js-tests

- store_test_results:
path: ~/react-native/reports/junit

# Runs unit tests on iOS devices
test_ios:
<<: *macos_defaults
Expand Down Expand Up @@ -624,10 +606,6 @@ workflows:
requires:
- checkout_code

# Test JavaScript using Node 6, the minimum supported version
- test_javascript_node6_compatibility:
filters: *filter-ignore-gh-pages

# Test Android
- test_android:
filters: *filter-ignore-gh-pages
Expand Down
6 changes: 3 additions & 3 deletions local-cli/server/checkNodeVersion.js
Expand Up @@ -14,7 +14,7 @@ var formatBanner = require('metro-core/src/formatBanner');
var semver = require('semver');

module.exports = function() {
if (!semver.satisfies(process.version, '>=4')) {
if (!semver.satisfies(process.version, '>=8')) {
var engine = semver.satisfies(process.version, '<1') ? 'Node' : 'io.js';

var message =
Expand All @@ -24,15 +24,15 @@ module.exports = function() {
process.version +
'.\n' +
'\n' +
'React Native runs on Node 4.0 or newer. There are several ways to ' +
'React Native runs on Node 8.0 or newer. There are several ways to ' +
'upgrade Node.js depending on your preference.\n' +
'\n' +
'nvm: nvm install node && nvm alias default node\n' +
'Homebrew: brew unlink iojs; brew install node\n' +
'Installer: download the Mac .pkg from https://nodejs.org/\n' +
'\n' +
'About Node.js: https://nodejs.org\n' +
'Follow along at: https://github.com/facebook/react-native/issues/2545';
'Follow along at: https://github.com/facebook/react-native/issues/19226';
console.log(
formatBanner(message, {
chalkFunction: chalk.green,
Expand Down
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -8,7 +8,7 @@
"url": "git@github.com:facebook/react-native.git"
},
"engines": {
"node": ">=4"
"node": ">=8"
},
"prettier": {
"requirePragma": true,
Expand Down

0 comments on commit ff75327

Please sign in to comment.