@storm-software/workspace-tools
Version:
Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.
283 lines (248 loc) • 4.16 kB
TypeScript
// Generated by @storm-software/untyped
// Do not edit this file directly
export interface NapiExecutorSchema {
/**
* Output Path
*
* The path to the output directory
*
* @default "{sourceRoot}"
*
* @format path
*/
outputPath: string,
/**
* Package Name
*
* Build the specified library or the one at cwd
*
*/
package: string,
/**
* Toolchain
*
* The type of toolchain to use for the build
*
* @default "stable"
*
* @enum stable,beta,nightly
*/
toolchain?: string,
/**
* Target Triple
*
* Build for the target triple, bypassed to `cargo build --target`
*
*/
target?: string,
/**
* All Targets
*
* Build all targets
*
*/
allTargets?: boolean,
/**
* Cargo Profile
*
* Build artifacts with the specified profile
*
*/
profile?: string,
/**
* Release Mode
*
* Build in release mode
*
*/
release?: boolean,
/**
* Cargo Features
*
* List of features to activate
*
*/
features?: Array<string>,
/**
* All Features
*
* Activate all available features
*
*/
allFeatures?: boolean,
/**
* JS Binding File
*
* The path to the output JavaScript file
*
* @default "binding.js"
*/
jsBinding: string,
/**
* DTS Binding File
*
* The path to the output TypeScript declaration file
*
* @default "binding.d.ts"
*/
dts: string,
/**
* Manifest Path
*
* The path to the Cargo.toml manifest file
*
*
* @format path
*/
manifestPath: string,
/**
* Working Directory
*
* Working directory where napi command will be executed; other paths are relative to this
*
*
* @format path
*/
cwd?: string,
/**
* NAPI Config Path
*
* Path to napi config JSON file
*
*
* @format path
*/
configPath?: string,
/**
* package.json Path
*
* Path to package.json
*
*
* @format path
*/
packageJsonPath?: string,
/**
* Cargo Target Dir
*
* Directory for all crate generated artifacts (cargo build --target-dir)
*
*
* @format path
*/
targetDir?: string,
/**
* Platform Suffix
*
* Add platform triple to generated Node.js binding file, e.g. [name].linux-x64-gnu.node
*
* @default true
*/
platform?: boolean,
/**
* JS Package Name
*
* Package name in generated JS binding file. Works only with --platform
*
*/
jsPackageName?: string,
/**
* Const Enum
*
* Whether to generate const enum for TypeScript bindings
*
*/
constEnum?: boolean,
/**
* Disable JS Binding
*
* Disable generation of JS binding file. Works only with --platform
*
*/
noJsBinding?: boolean,
/**
* DTS Header
*
* Custom file header for generated type def file (requires typedef feature)
*
*/
dtsHeader?: string,
/**
* Disable Default DTS Header
*
* Disable default file header for generated type def file (requires typedef feature)
*
*/
noDtsHeader?: boolean,
/**
* Enable DTS Cache
*
* Enable the DTS cache
*
* @default true
*/
dtsCache?: boolean,
/**
* ESM Output
*
* Emit an ESM JS binding file instead of CJS (works only with --platform)
*
*/
esm?: boolean,
/**
* Strip Binary
*
* Strip the library to minimize file size
*
*/
strip?: boolean,
/**
* Verbose
*
* Verbosely log build command trace
*
*/
verbose?: boolean,
/**
* Binary
*
* Build only the specified binary
*
*/
bin?: string,
/**
* Cross Compile
*
* [experimental] Cross-compile for the specified target with cargo-xwin on Windows and cargo-zigbuild on other platforms
*
*/
crossCompile?: boolean,
/**
* Use cross
*
* [experimental] Use cross (https://github.com/cross-rs/cross) instead of cargo
*
*/
useCross?: boolean,
/**
* Use @napi-rs/cross-toolchain
*
* [experimental] Use @napi-rs/cross-toolchain to cross-compile Linux arm/arm64/x64 gnu targets
*
*/
useNapiCross?: boolean,
/**
* Watch
*
* Watch crate changes and build continuously with cargo-watch
*
*/
watch?: boolean,
/**
* No Default Features
*
* Do not activate the default feature
*
*/
noDefaultFeatures?: boolean,
}