This file is generated by cli/codegen. Do not edit this file manually.
Build the NAPI-RS project
# CLI
napi build [--options]// Programatically
import { NapiCli } from '@napi-rs/cli'
new NapiCli().build({
// options
})| Options | CLI Options | type | required | default | description |
|---|---|---|---|---|---|
| --help,-h | get help | ||||
| target | --target,-t | string | false | Build for the target triple, bypassed to cargo build --target |
|
| cwd | --cwd | string | false | The working directory of where napi command will be executed in, all other paths options are relative to this path | |
| manifestPath | --manifest-path | string | false | Path to Cargo.toml |
|
| configPath | --config-path,-c | string | false | Path to napi config json file |
|
| packageJsonPath | --package-json-path | string | false | Path to package.json |
|
| targetDir | --target-dir | string | false | Directory for all crate generated artifacts, see cargo build --target-dir |
|
| outputDir | --output-dir,-o | string | false | Path to where all the built files would be put. Default to the crate folder | |
| platform | --platform | boolean | false | Add platform triple to the generated nodejs binding file, eg: [name].linux-x64-gnu.node |
|
| jsPackageName | --js-package-name | string | false | Package name in generated js binding file. Only works with --platform flag |
|
| constEnum | --const-enum | boolean | false | Whether generate const enum for typescript bindings | |
| runtimeStringEnum | --runtime-string-enum | boolean | false | Emit #[napi(string_enum)] enums as runtime enums (export declare enum) under --no-const-enum. Default: type-only union. |
|
| jsBinding | --js | string | false | Path and filename of generated JS binding file. Only works with --platform flag. Relative to --output-dir. |
|
| noJsBinding | --no-js | boolean | false | Whether to disable the generation JS binding file. Only works with --platform flag. |
|
| dts | --dts | string | false | Path and filename of generated type def file. Relative to --output-dir |
|
| dtsHeader | --dts-header | string | false | Custom file header for generated type def file. Only works when typedef feature enabled. |
|
| noDtsHeader | --no-dts-header | boolean | false | Whether to disable the default file header for generated type def file. Only works when typedef feature enabled. |
|
| dtsCache | --dts-cache | boolean | false | true | Whether to enable the dts cache, default to true |
| esm | --esm | boolean | false | Whether to emit an ESM JS binding file instead of CJS format. Only works with --platform flag. |
|
| strip | --strip,-s | boolean | false | Whether strip the library to achieve the minimum file size | |
| release | --release,-r | boolean | false | Build in release mode | |
| verbose | --verbose,-v | boolean | false | Verbosely log build command trace | |
| bin | --bin | string | false | Build only the specified binary | |
| package | --package,-p | string | false | Build the specified library or the one at cwd | |
| profile | --profile | string | false | Build artifacts with the specified profile | |
| crossCompile | --cross-compile,-x | boolean | false | [experimental] cross compile by replacing the cargo subcommand: Windows MSVC targets from a non-Windows host build with cargo-xwin (windows-gnu targets are rejected, cargo-xwin cannot handle them), non-Windows targets build with cargo-zigbuild (requires zig on PATH). The selected subcommand is auto-installed on first use. Cannot be combined with --use-cross, --use-napi-cross or --watch |
|
| useCross | --use-cross | boolean | false | [experimental] not recommended, prefer --cross-compile or --use-napi-cross: build in a Docker or Podman container with cross, which must be installed manually and needs a running container engine. Cannot be combined with --cross-compile, --use-napi-cross or --watch |
|
| useNapiCross | --use-napi-cross | boolean | false | [experimental] download a prebuilt gcc cross toolchain from @napi-rs/cross-toolchain (glibc 2.17) and set linker and C compiler environment variables. Linux glibc targets only (x64, arm64, armv7, ppc64le, s390x) on a Linux x64 or arm64 host, any other target or host errors. Cannot be combined with --cross-compile or --use-cross |
|
| watch | --watch,-w | boolean | false | watch the crate changes and build continuously with cargo-watch crates |
|
| features | --features,-F | string[] | false | Space-separated list of features to activate | |
| allFeatures | --all-features | boolean | false | Activate all available features | |
| noDefaultFeatures | --no-default-features | boolean | false | Do not activate the default feature |