Back to Rspack

Next.js

website/docs/en/guide/tech/next.mdx

2.0.12.3 KB
Original Source

import { Tabs, Tab, PackageManagerTabs } from '@theme';

Next.js

next-rspack is a community-driven plugin that enables Next.js projects to use Rspack as the bundler (experimental).

:::tip See the Rspack joins the Next.js ecosystem blog post to learn more details. :::

Installation

Install the next-rspack package:

<PackageManagerTabs command="add next-rspack -D" />

:::tip If you are using a Next.js version below 15.3.0, please upgrade to >= 15.3.0 first, see Next.js - Upgrading. :::

Usage

Wrap your existing configuration in the project's next.config.mjs or next.config.ts:

<Tabs> <Tab label="next.config.ts">
ts
import withRspack from 'next-rspack';
import type { NextConfig } from 'next';

const nextConfig: NextConfig = {
  /* config options here */
};

export default withRspack(nextConfig);
</Tab> <Tab label="next.config.mjs">
js
import withRspack from 'next-rspack';

/** @type {import('next').NextConfig} */
const nextConfig = {
  /* config options here */
};

export default withRspack(nextConfig);
</Tab> </Tabs>

Example: next.js/examples/with-rspack.

Customizing Rspack configuration

Through Rspack's compatibility with webpack, when using next-rspack, you can customize configurations in the same way as you would with webpack.

In next.config.mjs, modify Rspack's configuration by adding the following callback function:

js
export default {
  webpack: (
    config,
    { buildId, dev, isServer, defaultLoaders, nextRuntime, webpack },
  ) => {
    // Important: return the modified config
    return config;
  },
};

For more details, see the Next.js - Custom Webpack Config.

Usage with next-compose-plugins

Alternatively, you can use next-compose-plugins to quickly integrate next-rspack with other Next.js plugins:

js
import withPlugins from 'next-compose-plugins';
import withRspack from 'next-rspack';

export default withPlugins([
  [withRspack],
  // your other plugins here
]);