dgurkaynak / nodeshout

Native libshout bindings for node.js
MIT License
49 stars 19 forks source link

Update to work on node 12 , 14 and 16 #10

Closed twosdai closed 1 year ago

twosdai commented 1 year ago

Description

Hey so I saw that this repository was only working with older versions of node, so I went ahead and updated the relevant dependencies to use the new napi ones. From the tests I ran via the ./demos/ folder I verified that they work on 12, 14 and 16 versions. However its not backwards compatible with older versions of node.

I've bumped the major release number in the project to indicate the breaking change, and additionally I added some documentation to make it easier for other devs in the future to get up and running, there were some issues with installing the required libshout dep on my linux system.

Let me know if you want me to change anything else in order to get this merged.

Bonus meme:

I also made running the demos a little easier, now you can just run npm run test to run them all.

                Y.                      _   
                YiL                   .```.  
                Yii;   1337    .; .;;`.    
                YY;ii._           .;`.;;;; :    
                iiYYYYYYiiiii;;;;i` ;;::;;;;    
            _.;YYYYYYiiiiiiYYYii  .;;.   ;;; 
         .YYYYYYYYYYiiYYYYYYYYYYYYii;`  ;;;;    
       .YYYYYYY$$YYiiYY$$$$iiiYYYYYY;.ii;`..   
      :YYY$!.  TYiiYY$$$$$YYYYYYYiiYYYYiYYii.    
      Y$MM$:   :YYYYYY$!"``"4YYYYYiiiYYYYiiYY.    
   `. :MM$$b.,dYY$$Yii" :'   :YYYYllYiiYYYiYY    
_.._ :`4MM$!YYYYYYYYYii,.__.diii$$YYYYYYYYYYY
.,._ $b`P`     "4$$$$$iiiiiiii$$$$YY$$$$$$YiY;
   `,.`$:       :$$$$$$$$$YYYYY$$$$$$$$$YYiiYYL
    "`;$$.    .;PPb$`.,.``T$$YY$$$$YYYYYYiiiYYU:  
    ;$P$;;: ;;;;i$y$"!Y$$$b;$$$Y$YY$$YYYiiiYYiYY 
    $Fi$$ .. ``:iii.`-":YYYYY$$YY$$$$$YYYiiYiYYY    
    :Y$$rb ````  `_..;;i;YYY$YY$$$$$$$YYYYYYYiYY:    
     :$$$$$i;;iiiiidYYYYYYYYYY$$$$$$YYYYYYYiiYYYY. 
      `$$$$$$$YYYYYYYYYYYYY$$$$$$YYYYYYYYiiiYYYYYY    
      .i!$$$$$$YYYYYYYYY$$$$$$YYY$$YYiiiiiiYYYYYYY    
     :YYiii$$$$$$$YYYYYYY$$$$YY$$$$YYiiiiiYYYYYYi'  
twosdai commented 1 year ago

For reference regarding why the napi dependency was chosen over trying to fix the upstream deps in node-ffi I saw this issue: https://github.com/node-ffi/node-ffi/issues/511 referenced in the node-ffi project that lead me to try it out.

dgurkaynak commented 1 year ago

Wow, this looks perfect 👏 Tomorrow I will look in more detail and test it on my system. Thank you for your contribution!

twosdai commented 1 year ago

No problem! I was looking for a node tool to send information to icecast for a side project and this seemed like the best fit, besides it just not being on a more recent node version. So I figured I should publish my changes and save some time for others hopefully :)

dgurkaynak commented 1 year ago

Just released version 1.0.0 to npm 👍 https://www.npmjs.com/package/nodeshout