npm-haxe
Installs Haxe using Node Package Manager aka npm
Key-features
- Global or per-project, sandboxed, standard Haxe installation
- Includes Haxelib and Neko
- Tested on Ubuntu/Linux and Windows
Usage
CLI installation
npm install haxe
By default, this will make haxe and haxelib available to npm scripts only,
with haxelib repository sandboxed to your current working directory.
To have haxe and haxelib commands available globally, use the -g flag.
This will also make the haxelib repo global.
Package.json sample
{
"scripts":{
"postinstall": "haxelib --always install build.hxml",
"build": "haxe build.hxml"
},
"dependencies": {
"haxe": "4.1.4" // the npm haxe module
},
"haxeDependencies": {
"haxe": "3.4.7", // haxe version
"haxelib": "3.3.0", // haxelib version
"neko": "2.2.0", // neko version
"pixijs": "4.5.5", // additionnal haxelib dependency
"perfjs": "1.1.18"
}
}
Please notice the --always flag in the haxelib command, to avoid having to confirm haxelibs installation.
Running Haxe from NodeJS
This package also comes with the minimal bindings to run the Haxe compiler from NodeJS.
var haxe = require('haxe').haxe;
var haxelib = require('haxe').haxelib;
// all commands return a ChildProcess instance
haxe( "-version" );
haxelib( "install", "hxnodejs" );
var server = haxe("--wait", "6000");
See also test.js
Configuration options
The following configuration options can be set in your package.json.
Please note they must be set before installing the package.
"haxeDependencies": {
"haxe": "3.4.7",
"haxelib": "3.3.0",
"neko": "2.2.0",
"pixijs": "4.5.5",
"perfjs": "1.1.18"
}
Version
See Haxe Download list. Please notice the directory name in the archive must match.
In this case, the haxeDependencies.haxe value is still used, and must match the one of the directory extracted from the archive.
Haxelib
haxeDependencies.haxelib must match a release from the official Haxelib repo
Known issues
The package relies on the node command, which [has issues on some Ubuntu versions] (http://stackoverflow.com/questions/21168141/cannot-install-packages-using-node-package-manager-in-ubuntu).
If you get an error similar to this :
sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian
Just install the nodejs-legacy package:
sudo apt-get install nodejs-legacy