> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# supports

- **Type:** [Supports Types](#supportstypes)
- **Optional:** `true`
- **Default:** `undefined`

This option controls detailed analysis behavior, such as BannerPlugin compatibility, bundle parsing, and gzip size calculation.

## supportsTypes

```ts
type ISupport = {
  banner?: boolean;
  parseBundle?: boolean;
  brotli?: boolean | { brotliLevel?: number };
  gzip?:
    | boolean
    | {
        gzipLevel?: number;
      };
};
```

## banner

:::danger
`supports.banner` option is only used for debugging, do not use it in production.
:::

- **Type:** `boolean`
- **Default:** `true`

If `supports.banner` is enabled, Rsdoctor will enable compatibility logic for BannerPlugin. For more details, please refer to: [Supports BannerPlugin](/guide/usage/bundle-size.md#-supports-bannerplugin)

## parseBundle

- **Type:** `boolean`
- **Default:** `true`

In some large repositories, the execution time of parsing the bundle is too long. Since the Parse Bundle analysis utilizes AST parsing and processing, it can be time-consuming when there are a large number of output files.
If this capability is not necessary, it can be selectively disabled using the supports.parseBundle configuration. An example is shown below:

```ts
chain.plugin('Rsdoctor').use(RsdoctorRspackPlugin, [
  {
    supports: {
      parseBundle: false,
    },
  },
]);
```

Disabling the Parse Bundle capability will only affect the visibility of the Bundled Size and Bundled Code of the modules in the bundle:


![](https://assets.rspack.rs/others/assets/rsdoctor/bundled-size.jpeg)![](https://assets.rspack.rs/others/assets/rsdoctor/bundled-code.png)

## gzip

- **Type:** `boolean | { gzipLevel?: number }`
- **Default:** `true`

Controls whether Rsdoctor calculates gzip sizes for assets and modules. This calculation only affects the size data in the Rsdoctor report; it does not modify or compress the build output.

Rsdoctor skips gzip size calculation while the compiler is running in watch mode. Run a one-time build when you need gzip sizes for production bundle analysis.

Gzip size calculation is enabled by default with a compression level of `6`. Set `gzip` to an object to customize `gzipLevel`, which must be an integer between `0` and `9`:

```ts
new RsdoctorRspackPlugin({
  supports: {
    gzip: {
      gzipLevel: 9,
    },
  },
});
```

Set `gzip` to `false` to disable gzip size calculation:

```ts
new RsdoctorRspackPlugin({
  supports: {
    gzip: false,
  },
});
```

## brotli

- **Type:** `boolean | { brotliLevel?: number }`
- **Default:** `false`

Calculates Brotli sizes for assets and modules in the report, including the size cards and treemap. This does not compress or modify build output. Like gzip, Brotli calculation is skipped in watch mode.

Set `brotli: true` or `brotli: {}` to use quality `6`, or specify `brotliLevel` as an integer from `0` to `11`. Higher levels can increase analysis time. Disable gzip independently when you only need Brotli sizes:

```ts
new RsdoctorRspackPlugin({
  supports: {
    gzip: false,
    brotli: { brotliLevel: 11 },
  },
});
```
