BAK BYEONG JUN 18932f4a5f
Some checks failed
CI / checks (push) Has been cancelled
init
2025-05-06 13:52:36 +00:00
..
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00
2025-05-06 13:52:36 +00:00

@loafle/nx-rust

A Nx plugin that adds support for Cargo and Rust in your Nx workspace.

Compatibility Chart

@loafle/nx-rust nx
<=1.2.1 <=17.1.0
>=1.3.0 >=17.1.0

Getting Started

Prerequisites

The following tools need to be installed on your system to take full advantage of @loafle/nx-rust

Install with npx create-nx-workspace preset

To bootstrap a new workspace with @loafle/nx-rust installed and ready, run:

npx create-nx-workspace --preset=@loafle/nx-rust

Installation in already set up workspace

Use your favourite package manager to install in your project:

yarn add -D @loafle/nx-rust
npm install -D @loafle/nx-rust
pnpm add -D @loafle/nx-rust

Initialization

After installing, you can run any of the project generators (binary, library) to have @loafle/nx-rust set up Cargo in your workspace.

Generators

Use Nx Console to see the full list of options for each generator.

@loafle/nx-rust:binary

Creates a Rust binary application to be run independently.

Create a new binary:

nx generate @loafle/nx-rust:binary my-rust-app

@loafle/nx-rust:library

Creates a Rust library that can be used in binaries, or compiled to be used for napi.

Create a new library:

nx generate @loafle/nx-rust:library my-rust-lib

Create a new library with napi:

nx generate @loafle/nx-rust:library my-rust-node-lib --napi

Napi

Generating a library with the --napi flag will set up the project to be built with it.

Executors

All the executors support these additional properties:

  • toolchain: (e.g. --toolchain='stable' | 'beta' | 'nightly');
    • Uses stable by default
  • target (e.g. --target=aarch64-apple-darwin);
  • profile (e.g. --profile=dev)
  • release
  • target-dir
  • features (e.g. --features=bmp)
  • all-features
  • args

@loafle/nx-rust:build

Runs cargo to build the project

Not supported with napi

@loafle/nx-rust:lint

Runs cargo clippy to lint the project

@loafle/nx-rust:napi

Runs the napi cli to build the project

@loafle/nx-rust:run

Runs cargo run for the project

Not supported with napi

@loafle/nx-rust:test

Runs cargo test for the project