close
logo
Rslib
Guide
Config
Blog
English
简体中文
Guide
Config
Blog
English
简体中文
logo
Rslib
Config Overview

Lib Configurations

lib.format
lib.bundle
lib.autoExtension
lib.autoExternal
lib.redirect
lib.syntax
lib.externalHelpers
lib.banner
lib.footer
lib.dts
lib.shims
lib.id
lib.umdName
lib.outBase

Rsbuild Configurations

logLevel
resolve
source
output
tools
plugins
📝 Edit this page on GitHub
Previous Pagelib.bundle
Next Pagelib.autoExternal

#lib.autoExtension

  • Type: boolean
  • Default: true

Whether to automatically set the file extension based on the format option in the JavaScript output files.

#Default extension

By default that when autoExtension is set to true, the file extension will be:

  • .js with esm format and .cjs with cjs format when type: module in package.json.

  • .js with cjs format and .mjs with esm format when type: commonjs or no type field in package.json.

When autoExtension is set to false, the file extension will be default to .js.

#Customize extension

You can set autoExtension to false and use output.filename to customize the JavaScript output files.

rslib.config.ts
export default defineConfig({
  lib: [
    {
      format: 'cjs',
      autoExtension: false,
      output: {
        filename: {
          js: '[name].cjs',
        },
      },
    },
    {
      format: 'esm',
      output: {
        filename: {
          js: '[name].mjs',
        },
      },
    },
  ],
});