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/rust
Use your favourite package manager to install in your project:
yarn add -D @monodon/rust
npm install -D @monodon/rust
pnpm add -D @monodon/rust
After 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
stable
by default
- Uses
- target (e.g.
--target=aarch64-apple-darwin
); - profile (e.g.
--profile=dev
) - release
- target-dir
- features (e.g.
--features=bmp
) - all-features
Runs cargo to build the project
Not supported with napi
Runs cargo clippy to link 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