Expand description
This crate provides an abstraction over Command
to use npm
in a simple and easy package with fluent API.
npm_rs
exposes NpmEnv
to configure the npm
execution enviroment and
Npm
to use said enviroment to execute npm
commands.
§Examples
§Manual NODE_ENV
setup
// build.rs
use npm_rs::*;
let exit_status = NpmEnv::default()
.with_node_env(&NodeEnv::Production)
.with_env("FOO", "bar")
.init_env()
.install(None)
.run("build")
.exec()?;
§Automatic NODE_ENV
setup
// build.rs
use npm_rs::*;
let exit_status = NpmEnv::default()
.with_node_env(&NodeEnv::from_cargo_profile().unwrap_or_default())
.with_env("FOO", "bar")
.init_env()
.install(None)
.run("build")
.exec()?;
Structs§
- Npm
- This struct is used to execute npm commands.
Can be created from
NpmEnv
of usingDefault
. - NpmEnv
- This struct is used to create the enviroment in which npm will execute commands.
NpmEnv
usesCommand
so it takes all the env variables in your system.
Enums§
- NodeEnv
- This enum is used to determine the desired
NODE_ENV
variable value. Its value byDefault
isNodeEnv::Development