<commit_before># mininode - Node.js for Embedded Systems
[![MIT Licensed](https://badges.frapsoft.com/os/mit/mit.svg?v=102)](https://github.com/mininode/mininode/blob/master/LICENSE.md)[![Build Status](https://travis-ci.org/mininode/mininode.svg)](https://travis-ci.org/mininode/mininode)[![Fuck it! Ship it!](https://img.shields.io/badge/FUCK%20IT!-SHIP%20IT!-brightgreen.svg)](https://hackernoon.com/fuck-it-ship-it-905afd092547#.tnzm8yqap)

This is [libuv][1], [http-parser][2], [mbedtls][3], [libslz][4], and [lowzip][5]
held together with [duktape][6]. The goal here is to produce an implementation
of the [Node.js 6.9.2 API][7] with a full-fledged Javascript interpreter 
in a single binary with no runtime dependencies other than a standard C library.

This aims to implement the Node.js standard library entirely in C.

This is very early in development. Any feedback is very welcome!

## NOTE: PRE-ALPHA QUALITY!

I've posted this for early feedback and to receive input during the development 
process, but this is not close to being usable. I intend to borrow a lot of 
code from [Dukluv][8] and track the upstream Duktape development process, but 
any thoughts (in, say, the form of issues) would be appreciated!

## Supported Modules Matrix

| module name | mininode docs | upstream docs  | status  | notes |
|---|---|---|---|---|
| assert  |   |   |   |   |
| buffer  |   |   |   |   |
| child_process  |   |   |   |   |
| cluster  |   |   |   |   |
| console  |   |   |   |   |
| crypto  |   |   |   |   |
| debugger  |   |   |   |   |
| dgram  |   |   |   |   |
| dns  |   |   |   |   |
| domain  |   |   |   |   |
| errors  |   |   |   |   |
| events  |   |   |   |   |
| fs  |   |   |   |   |
| http  |   |   |   |   |
| https  |   |   |   |   |
| net  |   |   |   |   |
| os  |   |   |   |   |
| path  |   |   |   |   |
| process  |   |   |   |   |
| punycode  |   |   |   |   |
| querystring  |   |   |   |   |
| readline  |   |   |   |   |
| repl  |   |   |   |   |
| stream  |   |   |   |   |
| string_decoder  |   |   |   |   |
| timers  |   |   |   |   |
| tls  |   |   |   |   |
| tty  |   |   |   |   |
| url  |   |   |   |   |
| util  |   |   |   |   |
| v8  |   |   |   |   |
| vm  |   |   |   |   |
| zlib  |   |   |   |   |

## Notes on Compatibility

While this aspires to be compatible with the Node 6.9.2 API, it does not aspire 
to be tit-for-tat compatible with every nuance of the V8 Node.js runtime. Since 
the standard library is written in C (as opposed to Javascript), it may not be 
possible to (for example) access the prototypes of built-in modules unless this 
has been explicitly implemented. Remote debugging in Chrome is challenging, but
I don't want to completely rule out the possibility.

So, while I'd like for the overall development experience to be very similar, 
code which is heavily dependent on the features and internal behavior of the 
mainline Node.js runtime will likely need to be ported.

## Build Instructions

This uses GNU make and it is currently being developed on and forLinux,
other systems are not yet supported but this should also work on OSX, Illumos/Solaris
and *BSD (possibly with minimal porting effort).<commit_msg>Update statuses on module compat matrix<commit_after># mininode - Node.js for Embedded Systems
[![MIT Licensed](https://badges.frapsoft.com/os/mit/mit.svg?v=102)](https://github.com/mininode/mininode/blob/master/LICENSE.md)[![Build Status](https://travis-ci.org/mininode/mininode.svg)](https://travis-ci.org/mininode/mininode)[![Fuck it! Ship it!](https://img.shields.io/badge/FUCK%20IT!-SHIP%20IT!-brightgreen.svg)](https://hackernoon.com/fuck-it-ship-it-905afd092547#.tnzm8yqap)

This is [libuv][1], [http-parser][2], [mbedtls][3], [libslz][4], and [lowzip][5]
held together with [duktape][6]. The goal here is to produce an implementation
of the [Node.js 6.9.2 API][7] with a full-fledged Javascript interpreter 
in a single binary with no runtime dependencies other than a standard C library.

This aims to implement the Node.js standard library entirely in C.

This is very early in development. Any feedback is very welcome!

## NOTE: PRE-ALPHA QUALITY!

I've posted this for early feedback and to receive input during the development 
process, but this is not close to being usable. I intend to borrow a lot of 
code from [Dukluv][8] and track the upstream Duktape development process, but 
any thoughts (in, say, the form of issues) would be appreciated!

## Supported Modules Matrix

| module name | mininode docs | upstream docs  | status  | notes |
|---|---|---|---|---|
| assert  |   |   | INCOMPLETE |   |
| buffer  |   |   | INCOMPLETE  |   |
| child_process  |   |   | INCOMPLETE |   |
| cluster  |   |   | INCOMPLETE  |   |
| console  |   |   | INCOMPLETE  |   |
| crypto  |   |   |  INCOMPLETE |   |
| debugger  |   |   |  INCOMPLETE |   |
| dgram  |   |   |  INCOMPLETE |   |
| dns  |   |   |  INCOMPLETE |   |
| domain  |   |   |  INCOMPLETE |   |
| errors  |   |   |  INCOMPLETE |   |
| events  |   |   |  INCOMPLETE |   |
| fs  |   |   |   |  INCOMPLETE |
| http  |   |   |  INCOMPLETE |   |
| https  |   |   |  INCOMPLETE |   |
| net  |   |   |  INCOMPLETE |   |
| os  |   |   |  INCOMPLETE |   |
| path  |   |   |  INCOMPLETE |   |
| process  |   |   |  INCOMPLETE |   |
| punycode  |   |   | INCOMPLETE |   |
| querystring  |   |   | INCOMPLETE |   |
| readline  |   |   | INCOMPLETE  |   |
| repl  |   |   |  INCOMPLETE |   |
| stream  |   |   |  INCOMPLETE |   |
| string_decoder  |   |   | INCOMPLETE |   |
| timers  |   |   | INCOMPLETE |   |
| tls  |   |   | INCOMPLETE |   |
| tty  |   |   | INCOMPLETE |   |
| url  |   |   | INCOMPLETE |   |
| util  |   |   | INCOMPLETE |   |
| v8  |   |   | INCOMPLETE |   |
| vm  |   |   | INCOMPLETE |   |
| zlib  |   |   | INCOMPLETE |   |

## Notes on Compatibility

While this aspires to be compatible with the Node 6.9.2 API, it does not aspire 
to be tit-for-tat compatible with every nuance of the V8 Node.js runtime. Since 
the standard library is written in C (as opposed to Javascript), it may not be 
possible to (for example) access the prototypes of built-in modules unless this 
has been explicitly implemented. Remote debugging in Chrome is challenging, but
I don't want to completely rule out the possibility.

So, while I'd like for the overall development experience to be very similar, 
code which is heavily dependent on the features and internal behavior of the 
mainline Node.js runtime will likely need to be ported.

## Build Instructions

This uses GNU make and it is currently being developed on and forLinux,
other systems are not yet supported but this should also work on OSX, Illumos/Solaris
and *BSD (possibly with minimal porting effort).
{'fraction_non_alphanumeric': 0.12390432328034467, 'fraction_numerical': 0.00980537810132224, 'mean_word_length': 2.5751460435475306, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '998585', 'n_tokens_mistral': 2381, 'n_tokens_neox': 2341, 'n_words': 687}