lib.banner

  • Type:
type Banner = {
  js?: string;
  css?: string;
  dts?: string;
};
  • Default: {}

Inject content into the top of each JavaScript, CSS or DTS output file.

Object Type

banner.js

  • Type: string
  • Default: undefined

Inject content into the top of each JavaScript output file.

banner.css

  • Type: string
  • Default: undefined

Inject content into the top of each CSS output file.

banner.dts

  • Type: string
  • Default: undefined

Inject content into the top of each DTS output file.

Notice

The banner content in JavaScript and CSS file is based on the BannerPlugin of Rspack. You should notice the following points:

  • raw: true is enabled by default, so the banner content will be injected as a raw string instead of wrapping in a comment. So if you want to inject a comment, you should add /* and */ or other comment syntax by yourself.
  • The stage option is set to the stage after the JavaScript and CSS files are optimized, thus preventing the banner content from being optimized away.

Customize Banner Content

If the above default settings cannot meet your requirements, you can customize the banner content through tools.rspack.plugins to add a BannerPlugin instance with the corresponding options.

rslib.config.ts
export default {
  lib: [
    {
      // ...
      tools: {
        rspack: {
          plugins: [
            new rspack.BannerPlugin({
              // ... options
            }),
          ],
        },
      },
    },
  ],
};
WARNING

The banner content in DTS files is handled differently from JavaScript and CSS output files. It is written directly using the file system API, so setting BannerPlugin will not affect it.