Currently 70 % of the Node.js API is implemented, the other 30 % are still to be done. Still, the currently implemented API already makes low.js very powerful already.
We have the goal of fully implementing the Node.js API of Node.js version 10.0 (with the exceptions below) by end of 2019.
- March 4th, 2019: UDP/dgram module is implemented, with the exception of multicast and broadcast functionality.
What we will not implement by design
- Depreciated or experimental APIs
child_processmodules, as low.js is designed to run on microcontrollers without the concept of processes
- Debugger and v8, as very specific to Node.js internals. neonious one has it's own WYSIWYG debugger
- Internalization, as not required for typical microcontroller usage
|Module / Node.js
|crypto||currently implemented: crypto.createHash / crypto.createHmac, resulting object supports update and digest|
|fs||not yet implemented: (f/l)chmod, (f/l)chown, copyFile, f(data)sync, ftruncate, link, lstat, mkdtemp and the corresponding sync functions|
|Globals||currently not implemented: URL, URLSearchParams. For process global, see process below|
|http||not implemented yet: upgrade for clients, information, checkContinue, checkExpectation, writeContinue, writeProcessing|
|https||currently implemented for server side only, only supports one cert, key, ca, all in PEM format|
|Modules||custom search paths are not followed yet|
|process||among other things, currently no way to give data to process.stdin|
|string_decoder||only supports utf8|
|tls||currently implemented for server side only, only supports one cert, key, ca, all in PEM format|
|dgram||working, but multicast and broadcast functionality is missing|
|url||only supports "old style" urlObjects. Currently not implemented: URL, URLSearchParams|
|vm||not implemented yet: timeout, breakOnSigint|
|zlib||not implemented yet|