xdenser / node-firebird-libfbclient

Firebird SQL binding
MIT License
82 stars 34 forks source link

Node 12 compatibility #88

Closed jacobalberty closed 4 years ago

jacobalberty commented 5 years ago

Well, the library will not compile against the latest version of node. It seems the version of v8 used for node 12 removed v8::Handle. It was apparently deprecated for quite a while and should have been handled with my node 4.0 patchset but I'm not a big v8 or node internals guy so I missed it.

You can replace v8::Handle with v8::Local in theory.... the classes are a little different so there's more to it than just that. I've started on this now.

If I get something working I will open a pull request with it. I will probably at the same time look for any other deprecated classes/feastures that node-firebird-libfbclient uses and fix them as well at the same time. When I open up my own branch with my work I'll go ahead and link it in this issue before it's finished so others can see the progress.

If you're looking for node 12 support this is why it doesn't work at this time. No promises on a timeframe for getting it working but if someone else wants to beat me to it I wanted to document my work on it.

mreis1 commented 5 years ago

Hey @jacobalberty . Did you manage to fix this?

jacobalberty commented 5 years ago

@mreis1 unfortunately I have not been able to get the time to look deeper at it. It's easy to get lost in the v8 internals and hard to find good documentation on what all has changed between specific node versions. It is possible an update to NaN would get things working but I havent seen that happen yet.

mreis1 commented 5 years ago

@jacobalberty NaN could definitively make things easier to maintain overtime since they ensure a common API among V8 changes and node versions. There are many examples at https://github.com/nodejs/node-addon-examples but unfortunately, my actual knowledge in C++ and V8 doesn't allow me to perform this task myself without driving me crazy.

@xdenser What you do you think about this?

mjschutz commented 4 years ago

I made the update to the code, with the Nan functions for better portability between versions, and now is part of current release of the module. The module is not part of npm repository, and need to be updated, you guys can add it with the github repo:

npm install xdenser/node-firebird-libfbclient --build-from-source

xdenser commented 4 years ago

fixed in v0.1.4