https://github.com/haxefoundation/hxnodejs
Haxe externs for working with node.js
https://github.com/haxefoundation/hxnodejs
extern haxe node-js nodejs
Last synced: 3 months ago
JSON representation
Haxe externs for working with node.js
- Host: GitHub
- URL: https://github.com/haxefoundation/hxnodejs
- Owner: HaxeFoundation
- License: mit
- Created: 2014-10-05T18:55:27.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-06-18T10:51:57.000Z (over 1 year ago)
- Last Synced: 2025-06-06T03:41:53.045Z (4 months ago)
- Topics: extern, haxe, node-js, nodejs
- Language: Haxe
- Size: 4.14 MB
- Stars: 172
- Watchers: 22
- Forks: 61
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README

# Haxe Node.JS
[](https://travis-ci.org/HaxeFoundation/hxnodejs)
[](https://lib.haxe.org/p/hxnodejs)
[](https://lib.haxe.org/p/hxnodejs)
[](LICENSE.md)Extern type definitions for Node.JS. Haxe **3.4** or newer is required.
Haxe-generated API documentation is available at http://haxefoundation.github.io/hxnodejs/js/Node.html.
Original node.js documentation can be found at http://nodejs.org/api/index.html.
## Features
- Full node.js API with documentation.
- Strict typing for everything, fully leveraging Haxe type system.
- Optionally typed event listeners.
- Automatic insert of "require" statements for used modules.
- Clean output.## Quick example
1. Install hxnodejs with `haxelib install hxnodejs` (released version) or `haxelib git hxnodejs https://github.com/HaxeFoundation/hxnodejs` (latest from GitHub).
2. Write some code and save to `Main.hx`:```haxe
class Main {
static function main() {
var server = js.node.Net.createServer(function(socket) {
socket.write("Echo server\n\n");
socket.pipe(socket);
});
server.listen(1337, "127.0.0.1");
}
}
```3. Compile it with with `haxe -lib hxnodejs -main Main -js main.js` (optionally add `-D js-es=6` for cleaner JavaScript output, since node.js is ES6-compliant)
4. Look at generated `main.js`:```js
// Generated by Haxe 4.0.0-rc.2+63144f6db
(function ($global) { "use strict";
class Main {
static main() {
var server = js_node_Net.createServer(function(socket) {
socket.write("Echo server\n\n");
socket.pipe(socket);
});
server.listen(1337,"127.0.0.1");
}
}
var js_node_Net = require("net");
Main.main();
})({});
```5. You're awesome! (See more [examples](examples))
## Status
This library is considered complete, but testing and contributions are welcome. See [current issues](https://github.com/HaxeFoundation/hxnodejs/issues) and [extern guidelines](https://github.com/HaxeFoundation/hxnodejs/blob/master/HOWTO.md).