napi-rs/cli/docs/build.md
forehal a781a4f27e feat(cli): brand new cli tool with both cli and programmatical usage (#1492)
BREAKING CHANGE: requires node >= 16 and some cli options have been renamed
2023-04-06 11:04:53 +08:00

5.4 KiB

Build

This file is generated by cli/codegen. Do not edit this file manually.

Build the napi-rs project

Usage

# CLI
napi build [--options]
// Programatically
import { NapiCli } from '@napi-rs/cli'

new NapiCli().build({
  // options
})

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
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
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.
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
crossCompile --cross-compile,-x boolean false [experimental] cross-compile for the specified target with cargo-xwin on windows and cargo-zigbuild on other platform
watch --watch,-w boolean false watch the crate changes and build continiously 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