The Nx Plugin for Rspack contains executors, generators, and utilities for managing Rspack projects in an Nx Workspace. It helps you run, cache, and scale builds across an Rspack monorepo, with executors and generators that wire each project into the workspace.
Requirements
Section titled “Requirements”The @nx/rspack plugin supports the following package versions.
| Package | Supported Versions | Default Installed |
|---|---|---|
@rspack/core | ^1.0.0 || ^2.0.0 | 2.0.3 |
Nx generators install the latest supported version automatically when scaffolding new projects. When @rspack/core is already installed in your workspace, generators detect the installed version and keep it in place rather than overwriting it.
Setting up @nx/rspack
Section titled “Setting up @nx/rspack”Installation
Section titled “Installation”In any Nx workspace, you can install @nx/rspack by running the following command:
nx add @nx/rspackThis will install the correct version of @nx/rspack.
How @nx/rspack infers tasks
Section titled “How @nx/rspack infers tasks”The @nx/rspack plugin will create a task for any project that has a Rspack configuration file present. Any of the following files will be recognized as a Rspack configuration file:
rspack.config.jsrspack.config.tsrspack.config.mjsrspack.config.mtsrspack.config.cjsrspack.config.cts
View inferred tasks
Section titled “View inferred tasks”To view inferred tasks for a project, open the project details view in Nx Console or run nx show project my-project --web in the command line.
@nx/rspack configuration
Section titled “@nx/rspack configuration”The @nx/rspack/plugin is configured in the plugins array in nx.json.
{ "plugins": [ { "plugin": "@nx/rspack/plugin", "options": { "buildTargetName": "build", "previewTargetName": "preview", "serveTargetName": "serve", "serveStaticTargetName": "serve-static", "buildDepsTargetName": "build-deps", "watchDepsTargetName": "watch-deps" } } ]}| Option | Default | Inferred behavior |
|---|---|---|
buildTargetName | build | Runs and caches rspack build with its configured outputs. |
serveTargetName | serve | Runs rspack serve continuously in development mode. |
previewTargetName | preview | Runs rspack serve continuously in production mode. |
serveStaticTargetName | serve-static | Serves the build output continuously after the build task. |
buildDepsTargetName | none | Name of an optional dependency build task. |
watchDepsTargetName | none | Name of an optional dependency watch task. |
The build task depends on builds of project dependencies. When TypeScript project references are enabled, the tasks also run the TypeScript sync generator.
Use include and exclude glob patterns on the plugin entry to scope inference. A target defaults plugin filter must use the exact identifier @nx/rspack/plugin.
Using @nx/rspack
Section titled “Using @nx/rspack”Generate a new project using Rspack
Section titled “Generate a new project using Rspack”You can generate a React application that uses Rspack. The @nx/react:app generator accepts the bundler option, where you can pass rspack. This will generate a new application configured to use Rspack, and it will also install all the necessary dependencies, including the @nx/rspack plugin.
To generate a React application using Rspack, run the following:
nx g @nx/react:app my-app --bundler=rspackModify an existing React project to use Rspack
Section titled “Modify an existing React project to use Rspack”You can use the @nx/rspack:configuration generator to change your React to use Rspack. This generator will modify your project's configuration to use Rspack, and it will also install all the necessary dependencies, including the @nx/rspack plugin.
You can read more about this generator on the @nx/rspack:configuration generator page.
Set up CI for your Rspack monorepo
Section titled “Set up CI for your Rspack monorepo”In CI, Nx runs nx affected to rebuild and retest only the projects a change touches, and caches results to skip repeated work.
For a complete pipeline, see Set up CI.