Module Node

Placeholder for Node bindings

type node_exports;
type node_module = Js.t({. id: string , exports: node_exports , parrent: Js.null_undefined(node_module) , filename: string , loaded: bool , children: array(node_module) , paths: array(string)});
type node_require = Js.t({. main: Js.undefined(node_module) , resolve: Js.Fn.arity1((string => string))});
type string_buffer;
type buffer;
type string_buffer_kind(_) =
  1. | String : string_buffer_kind(string)
  2. | Buffer : string_buffer_kind(buffer)
;
let test: string_buffer => (string_buffer_kind('t), 't0);

We expect a good inliner will eliminate such boxing in the future

module Path = Node_path;
module Fs = Node_fs;
module Process = Node_process;
module Module = Node_module;
module Buffer = Node_buffer;
module Child_process = Node_child_process;