[SoC] Week 5 Report: Integrating Node.js with ZOO-services

Momtchil Momtchev momtchil at momtchev.com
Sat Jul 16 10:45:38 PDT 2022


Hello,

Week 5 was the last coding week before the midterm evaluation.

It has been used mostly for improving libnode in the hope that it will 
find other uses besides ZOO-Project.

Proper support for loading of both CJS and ES6 modules from C++ has been 
implemented, eliminating the need for any custom bootstrapping code as 
shown in the examples: https://github.com/mmomtchev/libnode

The modified Node.js event loop now runs successfully all of Node.js own 
internal unit tests. Alas, those modifications go as deep as libuv, 
which means that they will be very difficult to merge. In order to 
mitigate the risks, ZOO-Project does not use napi_await_promise which 
required those modifications and which is at risk of not being mergeable 
into the mainstream tree.

The remote debugger is now also supported both with CJS/ES6 modules and 
it allows to debug the JS code while running in the server environment.

The PR of the Node.js feature branch is now submitted: 
https://github.com/ZOO-Project/ZOO-Project/pull/30


Next week will be dedicated to adding unit tests and code that makes use 
of the new features - including asynchronous calls through RabbitMQ - in 
preparation for the mid-term evaluation due in 10 days.


-- 
Cordialement,
Momtchil Momtchev <momtchil at momtchev.com>



More information about the SoC mailing list