CLI

Rsbuild comes with a lightweight CLI that includes commands such as dev and build.

rsbuild -h

To view all available CLI commands, run the following command in the project directory:

npx rsbuild -h

The output is shown below:

Usage: rsbuild <command> [options]

Options:
  -V, --version      output the version number
  -h, --help         display help for command

Commands:
  dev [options]      starting the dev server
  build [options]    build the app for production
  preview [options]  preview the production build locally
  inspect [options]  inspect the Rspack and Rsbuild configs
  help [command]     display help for command

rsbuild dev

The rsbuild dev command is used to start a local dev server and compile the source code for development.

Usage: rsbuild dev [options]

Options:
  -c --config <config>  specify the configuration file, can be a relative or absolute path
  -r --root <root>      specify the project root directory, can be an absolute path or a path relative to cwd
  -m --mode <mode>      specify the build mode, can be `development`, `production` or `none`
  -o, --open [url]      open the page in browser on startup
  --port <port>         specify a port number for Rsbuild Server to listen
  --host <host>         specify the host that the Rsbuild Server listens to
  --env-mode <mode>     specify the env mode to load the `.env.[mode]` file
  --env-dir <dir>       specify the directory to load `.env` files
  --environment <name>  specify the name of environment to build
  -h, --help            display help for command

Opening Page

The --open option allows you to automatically open a page when starting the dev server, which is equivalent to setting server.open to true.

rsbuild dev --open

The --open option also supports specifying the URL to be opened, for example:

rsbuild dev --open http://localhost:3000/foo

The --open option can also be abbreviated to -o:

rsbuild dev -o
TIP

When using server.open and --open at the same time, --open takes precedence.

rsbuild build

The rsbuild build command will build the outputs for production in the dist/ directory by default.

Usage: rsbuild build [options]

Options:
  -c --config <config>  specify the configuration file, can be a relative or absolute path
  -r --root <root>      specify the project root directory, can be an absolute path or a path relative to cwd
  -m --mode <mode>      specify the build mode, can be `development`, `production` or `none`
  -w --watch            turn on watch mode, watch for changes and rebuild
  --env-mode <mode>     specify the env mode to load the `.env.[mode]` file
  --env-dir <dir>       specify the directory to load `.env` files
  --environment <name>  specify the name of environment to build
  -h, --help            display help for command

rsbuild preview

The rsbuild preview command is used to preview the production build outputs locally. Note that you need to execute the rsbuild build command beforehand to generate the build outputs.

Usage: rsbuild preview [options]

Options:
  -c --config <config>  specify the configuration file, can be a relative or absolute path
  -r --root <root>      specify the project root directory, can be an absolute path or a path relative to cwd
  -m --mode <mode>      specify the build mode, can be `development`, `production` or `none`
  -o, --open [url]      open the page in browser on startup
  --port <port>         specify a port number for Rsbuild Server to listen
  --host <host>         specify the host that the Rsbuild Server listens to
  --env-mode <mode>     specify the env mode to load the `.env.[mode]` file
  --env-dir <dir>       specify the directory to load `.env` files
  --environment <name>  specify the name of environment to build
  -h, --help            display help for command
TIP

The preview command is only used for local preview. Do not use it for production servers, as it is not designed for that.

rsbuild inspect

The rsbuild inspect command is used to view the Rsbuild config and Rspack config of the project.

Usage: rsbuild inspect [options]

Options:
  -c --config <config>  specify the configuration file, can be a relative or absolute path
  -r --root <root>      specify the project root directory, can be an absolute path or a path relative to cwd
  -m --mode <mode>      specify the build mode, can be `development`, `production` or `none`
  --output <output>     specify the path to output in the dist (default: "/")
  --verbose             show the full function in the result
  --env-mode <mode>     specify the env mode to load the `.env.[mode]` file
  --env-dir <dir>       specify the directory to load `.env` files
  --environment <name>  specify the name of environment to build
  -h, --help            show command help

When you run the command npx rsbuild inspect in the project root directory, the following files will be generated in the dist/.rsbuild directory of the project:

  • rsbuild.config.mjs: Represents the Rsbuild configuration used during the build.
  • rspack.config.web.mjs: Represents the Rspack configuration used during the build.
➜ npx rsbuild inspect

Inspect config succeed, open following files to view the content:

  - Rsbuild Config: /project/dist/.rsbuild/rsbuild.config.mjs
  - Rspack Config (web): /project/dist/.rsbuild/rspack.config.web.mjs

Specifying Mode

By default, the inspect command outputs the configuration for the development mode. You can add the --env production option to output the configuration for the production mode:

rsbuild inspect --mode production

Verbose content

By default, the inspect command omits the content of functions in the configuration object. You can add the --verbose option to output the complete content of functions:

rsbuild inspect --verbose

Multiple Targets

If the current project has multiple build targets, such as building browser artifact and Node.js artifact simultaneously, multiple Rspack configuration files will be generated in the dist/.rsbuild directory.

➜ npx rsbuild inspect

Inspect config succeed, open following files to view the content:

  - Rsbuild Config (web): /project/dist/.rsbuild/rsbuild.config.web.mjs
  - Rsbuild Config (node): /project/dist/.rsbuild/rsbuild.config.node.mjs
  - Rspack Config (web): /project/dist/.rsbuild/rspack.config.web.mjs
  - Rspack Config (node): /project/dist/.rsbuild/rspack.config.node.mjs