indix / kafkajs-lz4

🗜 LZ4 compression codec for KafkaJS
MIT License
15 stars 8 forks source link

⚡️ V2 Rewrite — Get rid of lz4 dependency #7

Closed paambaati closed 3 years ago

paambaati commented 3 years ago

The lz4 package has installation issues, and seems to be not maintained anymore.

This PR aims to remove this dependency entirely and instead use lz4-asm. It is actively maintained and offers near-native performance.

This PR should fix https://github.com/indix/kafkajs-lz4/issues/5 and https://github.com/indix/kafkajs-lz4/issues/3

Other changes include —

  1. Minimum required Node.js version now become 10 (because of lz4-asm).
  2. Travis CI configuration is removed in favour of Github Actions.
  3. TSLint is replaced with ESLint + Prettier for a more modern and consistent style.
  4. Test suite now runs against Kafka v2.5.0.
  5. All dependencies upgraded to their latest stable versions.

Rollout strategy

We'll be publishing this as a a beta (yarn add kafkajs-lz4@2.0.0-beta.0), collect feedback and then promote 2.0.0 to stable after a few weeks.

@Prsna23 Can you also upgrade to this internally and ensure this is stable?

CC: @ankon @Freakachoo

paambaati commented 3 years ago

I've just published this to NPM. This is now available to install with —

yarn add kafkajs-lz4@2.0.0-beta.0

@Prsna23 @ankon @Freakachoo Can you folks let me know if this beta version works for you?

Prsna23 commented 3 years ago

@paambaati I don't think we will be upgrading it for a while now. I am able to pull this package without a problem.

ankon commented 3 years ago

We replaced kafkajs-lz4 with a simple trivial wrapper based on #2. I'll have to check whether switching to lz4-asm would be worth the effort for us, but it's definitely nice to see activity here!