node-gyp@4?

Created on 31 Jul 2018  路  7Comments  路  Source: nodejs/node-gyp

AFAIK we have not published a version 4 of node-gyp even though we bumped the version in package.json in https://github.com/nodejs/node-gyp/pull/1212. For the current version (from the v3.x branch) we're still maintaining compatibility with Node.js v0.10, v0.12 and v4 which are all EOL. One of the justifications previously used to pin the version of request was compatibility with those versions (although https://github.com/nodejs/node-gyp/pull/1492 looks to be okay on that front).

I propose that we should release a v4 of node-gyp that drops support for EOL versions of Node.js. I also propose we drop support in v4 of node-gyp for Node.js v6, which is in maintenance, as it is extremely unlikely it will get a npm (and hence node-gyp) update before it goes EOL (and if one is required we can do another node-gyp@3 release).

Most helpful comment

Out of interest, what's the rationale behind this?

Starting in v6, require('os') provides all of what node-gyp currently uses from osenv, so figured may as well drop a dependency and just use what's already built in :)

All 7 comments

+1, hopefully #1492 and #1518 can be part of a "final" v3.x release.

I've been going through the issue tracker lately to see if there are any large changes/feature requests lurking, but none seem to really pop out. I think a good start for a v4.0.0 checklist would probably be

  • Dropping support for Node.js <=6 as already mentioned
  • Don't run builds for Node.js <=6 as part of nodegyp-test-pull-request if PR is targeted at master branch
  • Switch to using require('os') and remove osenv dependency
  • Create fix for https://github.com/nodejs/node-gyp/issues/1118
  • Create fix for https://github.com/nodejs/node-gyp/issues/1123
  • Remove dead gyp code
  • Discuss removing parts of gyp that aren't used by Node.js or are large maintenance burdens (I believe Ben had talked about doing this at one point)

Switch to using require('os') and remove osenv dependency

Out of interest, what's the rationale behind this?

Out of interest, what's the rationale behind this?

Starting in v6, require('os') provides all of what node-gyp currently uses from osenv, so figured may as well drop a dependency and just use what's already built in :)

It would be good to have https://github.com/nodejs/node-gyp/pull/1516 in the final v3 release as well.

How is the v3.x branch being maintained? Can I just land it there as well?

How is the v3.x branch being maintained? Can I just land it there as well?

For landing in master (same guidelines for v3.x as well I guess?), I've been getting at least one signoff, making sure CI is green, and keeping open for at least 48 hours.

How is the v3.x branch being maintained? Can I just land it there as well?

The consensus in https://github.com/nodejs/node-gyp/pull/1212#issuecomment-305539119 was to land on master and backport. As much as possible.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

halkar picture halkar  路  4Comments

jhermsmeier picture jhermsmeier  路  3Comments

andrewaustin picture andrewaustin  路  3Comments

zghbyslzf picture zghbyslzf  路  3Comments

gengjiawen picture gengjiawen  路  3Comments