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

[WIP] Update dependencies and build system #4203

Merged
merged 8 commits into from
Dec 22, 2019

Conversation

limzykenneth
Copy link
Member

@limzykenneth limzykenneth commented Dec 20, 2019

Addresses #4201

Changes:

As per the related issue, I've begun updating the dependencies and refactoring the build system. This is a work in progress, I just want to share it here and if at any reasonable breakpoint the work should be merged before everything is done then just let me know I'll merge this in before continuing.

So far two big changes are included:

  1. grunt-saucelabs dependency has been removed and the related steps removed as well. As far as I know saucelabs isn't being used (CI isn't running the steps) and the package is full of security vulnerabilities.
  2. grunt-release-it has been replaced with release-it directly. The grunt plugin wasn't being maintained for several years now and it's only a thin wrapper around release-it. The version of release-it grunt-release-it was using is very out of date with the current version so a bit of refactoring of the config is required but the front facing interface remain the same, ie the release step remain the same grunt release-p5:[increment].

Very happy to say that right now npm audit only gives the following:

8 moderate severity vulnerabilities in 7106 scanned packages
  8 vulnerabilities require manual review. See the full report for details.

(all from grunt-contrib-yuidoc 😞 )

Edit 1
3. grunt karma now works. A dependency was missing. However, the benchmarking part will be refactor out of this repo into its own repo, hopefully with a CI running and reporting the benchmarking numbers.

Will continue on this...

PR Checklist

Usage and behaviour is consistent as before.

Some options changes for release-it, mainly using defaults or
refactoring for new version.
Except for 'prettier' which seems to introduce breaking changes
It runs now but Safari still require manual interaction and result
is local only
@limzykenneth
Copy link
Member Author

This is ready for review.

I've removed a few unused dependencies and refactor out another one with native node.js functionality. Several of the dependencies are updated to the latest version as well.

Two particular dependencies have a bit more problem than the others. One is grunt-contrib-yuidoc which despite the vulnerabilities, is no longer releasing new version and replacing it is a whole big project on its own. The other is prettier which oddly introduces incompatible rules in its minor release so will require some more configuration to be compatible with existing code.

Benchmark wise grunt karma is working now but I'll be working on a benchmarking repo so we can keep it here until that's done.

@limzykenneth limzykenneth marked this pull request as ready for review December 21, 2019 18:07
@lmccart
Copy link
Member

lmccart commented Dec 22, 2019

all looks great!

@lmccart lmccart merged commit 3e82f85 into processing:master Dec 22, 2019
@limzykenneth limzykenneth deleted the update-dependencies branch January 19, 2020 21:46
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.

2 participants