96 lines
2.3 KiB
Markdown
96 lines
2.3 KiB
Markdown
# `@napi-rs/cli`
|
|
|
|
[![Download](https://img.shields.io/npm/dm/@napi-rs/cli)](https://www.npmjs.com/package/@napi-rs/cli)
|
|
[![Install size](https://packagephobia.com/badge?p=@napi-rs/cli)](https://packagephobia.com/result?p=@napi-rs/cli)
|
|
<a href="https://discord.gg/SpWzYHsKHs">
|
|
<img src="https://img.shields.io/discord/874290842444111882.svg?logo=discord&style=flat-square"
|
|
alt="chat" />
|
|
</a>
|
|
|
|
> Cli tools for napi-rs
|
|
|
|
## Commands
|
|
|
|
### Debug mode
|
|
|
|
```bash
|
|
DEBUG="napi:*" napi [command]
|
|
```
|
|
|
|
### `napi build`
|
|
|
|
> Build command. Build rust codes and copy the dynamic lib binary file to the dist dir.
|
|
|
|
#### `--platform`
|
|
|
|
> default `false`
|
|
|
|
Append `platform-arch-[abi]` name to dist file. eg: `index.darwin-x64.node`.
|
|
|
|
#### `--release`
|
|
|
|
> default `false`
|
|
|
|
Is release build. This flag will be passed to `Cargo` directly.
|
|
|
|
#### `--features`
|
|
|
|
> default `''`
|
|
|
|
Cargo features, passthrough to `cargo build` command.
|
|
|
|
#### `--config,-c`
|
|
|
|
> default `package.json`
|
|
|
|
`napi-rs` config file name. `napi-rs` config example :
|
|
|
|
```js
|
|
{
|
|
"name": "@native-binding/fib",
|
|
"version": "0.1.0",
|
|
"napi": {
|
|
"name": "fib", // binary name
|
|
"triples": {
|
|
"defaults": true, // default true, if this value is true, will build `x86_64-pc-windows-msvc`, `x86_64-apple-darwin` and `x86_64-unknown-linux-gnu`
|
|
"addition": [
|
|
"x86_64-unknown-linux-musl",
|
|
"x86_64-unknown-freebsd",
|
|
"aarch64-unknown-linux-gnu"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
#### `--cargo-name`
|
|
|
|
> default `undefined`
|
|
|
|
If not set, cli will read the `package.name` field in `Cargo.toml` under `process.cwd()`. The `-` in the name will be replaced with `_`.
|
|
|
|
#### `--target`
|
|
|
|
> default `undefined`
|
|
|
|
> Note you should have `rustup` installed if omit the `--target` flag. The `@napi-rs/cli` will try to find the default target on your system via `rustup` if no `--target` specified.
|
|
|
|
You can also define this value using the `RUST_TARGET` environment variable.
|
|
|
|
This value will be passed to `Cargo build` command directly. eg: `napi build --target x86_64-unknown-linux-musl`
|
|
|
|
#### `--cargo-flags`
|
|
|
|
> default `undefined`
|
|
|
|
Other flags you want pass to `Cargo build`.
|
|
|
|
#### `--cargo-cwd`
|
|
|
|
> default `undefined`
|
|
|
|
This flag can be used to build binaries that are not in the current directory. The path that is passed to this flag should be relative to the current directory.
|
|
|
|
### `napi artifacts`
|
|
|
|
> Copy artifact files in Github actions.
|