Closed ben-page closed 5 years ago
@mscdex, I'm hoping you can pull this soon. The current release does not work with Node.js 12
There's a lot of extra changes and additions here that I don't really agree with. I think the changes should strictly be related to upgrading the code base to use nan
-related functionality where possible and updating the upstream dependency (still as separate commits).
My intention definitely wasn't to make any unnecessary changes or addition. I'd like this to be very easy to pull. Would you mind clarifying what you object to?
I'll go over each commit to justify the changes that I made.
upgrades xxhash to v0.6.5 (d59891f) The only changes I made were literally extracting the official xxHash-0.6.5.zip file into the deps folder and changing a preprocess directive to be compatible with xxhash code.
fixes NodeJS 12 compatibility (1604274)
I'm not experienced with NAN, so I literally only made changes remove the errors and warnings thrown when building against Node.js 12.
Assuming that isn't the problem. Maybe you are referring to the formatting change to the package.json file? That was done by npm i nan@lastest
. I did not edit the file manually.
Also, I included a .gitignore file that ensures neither the node_modules or build folders are include in git or npm when publish. I thought this was a reasonable change, but I will happily remove it if you would like.
updated CI based on the recommendations (a8c656c) This updates the travis config (which is currently broken and out of date) and the appveyor config (which is out of date). I started with the recommended configs from https://github.com/nodejs/node-addon-api/. The only changes I made was to add Node.js 12 (they don't include it yet) and remove chakracore. These configs do not build against Node.js 0.10 and 0.12. So, I guess this is implicitly dropping support for those versions. If you think it's important to support them, I will add the build configurations and ensure they work.
I'm not against dropping v0.10 and v0.12 support.
As far as the CI configs go, you can probably use the configs from mmmagic
as a guide since I recently updated them.
OK, I imported the CI configs from mmagic. No changes were needed.
Removed .gitignore and formatting change to package.json
Would be nice to move this PR forward.
Would love to have this PR in, getting ready for Node 12 in a bunch of projects which use this :)
@ben-page can you make the last requested changes? Not sure if that is what is holding this up..
Hi @mscdex @ben-page, any one of you willing to finish this PR ? and move forward ? Thanks !
Landed in 0609e6235e7fdc49b83b2754c779cb42858f668b, bd134d81d584edc83bcba83032e75e91d7d23cdd, and 6fa15b74508bd8fece248a6c4a0fe7e1229ceefc. Thanks!
This fixes support for NodeJS 12, updated the xxhash dependency to v0.6.5, and fixes the broken CI configs.
Also, sorry about the noise on the previous PRs. I wanted to separate these three items into separate PRs. There was just no good way to do that until the CI scripts are fixed.
The current travis config always fails for travis and doesn't build against recent versions of NodeJS. So I needed the improved CI configs to prove the Node 12 support worked. So I decided that putting them into one PR with three commits is the best choice. Let me know if you prefer something else.