source.exclude

Exclude JavaScript or TypeScript files that do not need to be compiled by SWC.

Usage

The usage of source.exclude is consistent with Rule.exclude in Rspack, which supports passing in strings or regular expressions to match the module path.

For example:

rsbuild.config.ts
import path from 'node:path';

export default {
  source: {
    exclude: [path.resolve(__dirname, 'src/module-a'), /src\/module-b/],
  },
};

Refer to source.include to learn more.

Exclude from bundling

source.exclude is used to specify JavaScript/TypeScript files that do not need to be compiled. This means that these files will not be translated by SWC, but the referenced files will still be bundled into the outputs.

If you want certain files to be excluded and not bundled into the outputs, you can use Rspack's IgnorePlugin.

rsbuild.config.ts
export default {
  tools: {
    rspack: (config, { rspack }) => {
      config.plugins?.push(
        new rspack.IgnorePlugin({
          resourceRegExp: /^\.\/locale$/,
          contextRegExp: /moment$/,
        }),
      );
      return config;
    },
  },
};