[![Build Status]( "Build Status")](

# Nox

Embeds node, npm and provides wrappers for running it.

## Installation

If [available in Hex](, the package can be installed
by adding `nox` to your list of dependencies in `mix.exs`:

def deps do
    {:nox, "~> 0.1.0"}

The docs is available at [](

## Usage

Nox can manage multiple environments. All functions take as argument an environment.
A default one can be obtained with:


Custom ones can be built with:


Get full path to executable:

Nox.which(env, "node")

Get OS env for executing command in the node environment, for instance
to give to `env` option of `System.cmd/3`:

env = Nox.sys_env(Nox.Env.default())
System.cmd("aglio", ["-i", "", "-o", "doc.out"], env: env)

Nox provides also wrappers for some well-know commands: see `Nox.Npm`,

## Command line parsers

Nox includes tools for parsing command line output, as for `into`
option of `System.cmd/3`.

If you simply want to redirect command output to `Logger`:

System.cmd("echo", ["\"my tailor is rich\""], into:

If you want to use a custom parser:

System.cmd("npm", ["install"], into:{Nox.Parsers.Npm, []}))

## License

Nox source code is released under Apache 2 License.

Check the [LICENSE](LICENSE) file for more information.