Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to node8 & npm5 #2323

Merged
merged 11 commits into from
Feb 2, 2018
Merged

Switch to node8 & npm5 #2323

merged 11 commits into from
Feb 2, 2018

Conversation

etpinard
Copy link
Contributor

@etpinard etpinard commented Feb 1, 2018

resolves #1798

Tech-debt week continues ⛏️ 💰 🎉

This PR makes CI use node v8.9.4 and npm v5.6.0 (which works much better v3 😏 ). This CI image use Chrome 64 (i.e. the latest version) which should make it easier for us to make our tests run consistency locally and on CI.

Using npm5 gives us access to package-lock.json file (more info here) which contains a complete description of the node_modules/ tree. Now, npm i (should) give the same result everywhere everytime. This makes a few our tooling helpers obsolete: dist/npm-ls.json is gone and no need to dedupe on preversion.

A few more things:

  • dev deps have been updated. Most notably eslint@4 (which runs a little faster now) and karma@2,
  • check-node-version now runs on preversion ensuring that whoever bundles the dist/ use node8 and npm5.

cc @alexcjohnson @dfcreative @nicolaskruchten @monfera

- use official '8.9.4' docker images
- checksum package-lock.json to check cache
- replace (now unnecessary) install/dedupe/prune/install with
  a simple install (now with package-lock.json this does the right
  thing everytime ;)
... to ensure that we're bundling dist/ using node8/npm5
... as package-lock-json essentially does the same now.
@@ -65,6 +66,7 @@
"no-use-before-define": [2, "nofunc"],
"no-loop-func": [2],
"no-console": [0],
"no-unused-labels": [2]
"no-unused-labels": [2],
"no-useless-escape": [0]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how badly do we break this rule?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this bad:

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... and they are not auto-fixable (using eslint . --fix) unfortunately.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... and I don't want to waste time with linting stuff. I really think we should be switching to standardjs and be done with it (cc #950) 😛

@alexcjohnson
Copy link
Collaborator

Looks great, lets do it! 💃

@etpinard
Copy link
Contributor Author

etpinard commented Feb 2, 2018

Ok. Merging this in.


Devs, please make sure to update to node8/npm5 and rm -rf node_modules && npm i after doing so. 🚀

@etpinard etpinard merged commit 84c064b into master Feb 2, 2018
@etpinard etpinard deleted the node8 branch February 2, 2018 00:05
@etpinard etpinard mentioned this pull request Feb 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make CircleCI use node@8 and npm @5
2 participants