A Nx plugin that adds support for Cargo and Rust in your Nx workspace.
| @monodon/rust | nx |
|---|---|
| <=1.2.1 | <=17.1.0 |
| >=1.3.0 | >=17.1.0 |
The following tools need to be installed on your system to take full advantage of @monodon/rust
- Node (LTS)
- Rust / Cargo via https://rustup.rs
To bootstrap a new workspace with @monodon/rust installed and ready, run:
npx create-nx-workspace --preset=@monodon/rustUse your favourite package manager to install in your project:
yarn add -D @monodon/rustnpm install -D @monodon/rustpnpm add -D @monodon/rustAfter installing, you can run any of the project generators (binary, library) to have @monodon/rust set up Cargo in your workspace.
Use Nx Console to see the full list of options for each generator.
Creates a Rust binary application to be run independently.
Create a new binary:
nx generate @monodon/rust:binary my-rust-app
Creates a Rust library that can be used in binaries, or compiled to be used for napi.
Create a new library:
nx generate @monodon/rust:library my-rust-lib
Create a new library with napi:
nx generate @monodon/rust:library my-rust-node-lib --napi
Generating a library with the --napi flag will set up the project to be built with it.
All the executors support these additional properties:
- toolchain: (e.g.
--toolchain='stable' | 'beta' | 'nightly');- Uses
stableby default
- Uses
- target (e.g.
--target=aarch64-apple-darwin); - profile (e.g.
--profile=dev) - release
- target-dir
- features (e.g.
--features=bmp) - all-features
- args
- Arguments forwarding to the executor.
Runs cargo to build the project
Not supported with napi
Runs cargo clippy to lint the project
Runs the napi cli to build the project
Runs cargo run for the project
Not supported with napi
Runs cargo test for the project