brianloveswords / buffer-crc32

A pure javascript CRC32 algorithm that plays nice with binary data
MIT License
97 stars 30 forks source link

0.2.8 build is broken #16

Closed kirrg001 closed 7 years ago

kirrg001 commented 7 years ago

Hey, can you fix your build and release 0.2.9? Thank you!

kirrg001 commented 7 years ago

Our build is broken because of your release.

chandlerprall commented 7 years ago

For details -

The switch to the new Buffer API and related package.json engine dependency is a breaking change for anyone on node < 6. This should have been a minor version bump (^0.2 would ignore 0.3)

kirrg001 commented 7 years ago

@brianloveswords Can you please undo any breaking changes in 0.2.x and publish a major version bump. Looks like the changes you have pushed are not backwards compatible.

ghost commented 7 years ago

When using a grunt plugin that uses buffer-crc32 (in my case, grunt-contrib-compress@1.3.0 which uses archiver@1.2.0, which uses this plugin), it spits out the following:

2016-11-21T17:38:21.1204716Z Running "compress:dist" (compress) task
2016-11-21T17:38:23.7103895Z >> Compressed 14068 files.
2016-11-21T17:38:23.7103895Z Mon, 21 Nov 2016 17:38:23 GMT uncaughtException: "value" argument must not be a number
2016-11-21T17:38:23.7103895Z TypeError: "value" argument must not be a number
2016-11-21T17:38:23.7103895Z   at Function.Buffer.from (buffer.js:107:11)
2016-11-21T17:38:23.7103895Z   at _crc32 (C:\a\1\s\node_modules\buffer-crc32\index.js:69:18)
2016-11-21T17:38:23.7103895Z   at Function.crc32.unsigned (C:\a\1\s\node_modules\buffer-crc32\index.js:88:17)
2016-11-21T17:38:23.7103895Z   at [object Object].DeflateCRC32Stream.digest (C:\a\1\s\node_modules\crc32-stream\lib\deflate-crc32-stream.js:52:16)
2016-11-21T17:38:23.7103895Z   at [object Object].handleStuff (C:\a\1\s\node_modules\compress-commons\lib\archivers\zip\zip-archive-output-stream.js:171:23)
2016-11-21T17:38:23.7103895Z   at [object Object].g (events.js:273:16)
2016-11-21T17:38:23.7103895Z   at emitNone (events.js:85:20)
2016-11-21T17:38:23.7103895Z   at [object Object].emit (events.js:179:7)
2016-11-21T17:38:23.7103895Z   at endReadableNT (_stream_readable.js:913:12)
2016-11-21T17:38:23.7103895Z   at _combinedTickCallback (internal/process/next_tick.js:74:11)
2016-11-21T17:38:23.7103895Z   at process._tickCallback (internal/process/next_tick.js:98:9)

In the meanwhile, I'm now forcing version 0.2.6 in my package.json, and everything runs perfectly.

Node 7.1.0, grunt@1.0.1

phips28 commented 7 years ago

Ours is broken too

brianloveswords commented 7 years ago

Apologies, 0.2.10 published which is just a rollback to 0.2.7 since I can't unpublish versions.

brianloveswords commented 7 years ago

I'm going to look into archiver to see why it's breaking with the changes the new internal buffer API.

brianloveswords commented 7 years ago

Figured out the issue I was having with using the new Buffer API and archiver (crc32-stream underneath) and added a new test case to cover it. About to publish a new patch update, since it does not modify the external interface, which uses the new APIs if available and otherwise falls back to new Buffer.

scottmtraver commented 7 years ago

When this is resolved can we close the issue if confirmed?

brianloveswords commented 7 years ago

Tested on node 0.10, 0.12, 4 and 6, v0.2.11 published. Let me know if you run into any issues.