indooorsman/esbuild-css-modules-plugin

A esbuild plugin to bundle css modules into js(x)/ts(x)

95

stars

145

commits

JavaScript

primary language

May 29, 2025

updated

css
css-modules
esbuild
esbuild-plugin
lightningcss

README

esbuild-css-modules-plugin

npm version Test

A esbuild plugin to bundle css modules into js(x)/ts(x). Based on extremely fast Lightning CSS

Works both with bundle: false and bundle: true.

If build with bundle: false, xxx.modules.css will be transformed to xxx.modules.css.js.

See index.d.ts for all settings & ./test/test.js for examples.

Install

npm i -D esbuild-css-modules-plugin

or

yarn add -D esbuild-css-modules-plugin

Usage

import esbuild from 'esbuild';
import CssModulesPlugin from 'esbuild-css-modules-plugin';

esbuild.build({
  plugins: [
    CssModulesPlugin({
      // @see https://github.com/indooorsman/esbuild-css-modules-plugin/blob/main/index.d.ts for more details
      force: true,
      emitDeclarationFile: true,
      localsConvention: 'camelCaseOnly',
      namedExports: true,
      inject: false
    })
  ]
});

Contributors

indooorsman

134 commits

mxlje

3 commits

FuriouZz

1 commits

JodiWarren

1 commits

indooorsman/esbuild-css-modules-plugin

A esbuild plugin to bundle css modules into js(x)/ts(x)

95

stars

145

commits

JavaScript

primary language

May 29, 2025

updated

css
css-modules
esbuild
esbuild-plugin
lightningcss

README

esbuild-css-modules-plugin

npm version Test

A esbuild plugin to bundle css modules into js(x)/ts(x). Based on extremely fast Lightning CSS

Works both with bundle: false and bundle: true.

If build with bundle: false, xxx.modules.css will be transformed to xxx.modules.css.js.

See index.d.ts for all settings & ./test/test.js for examples.

Install

npm i -D esbuild-css-modules-plugin

or

yarn add -D esbuild-css-modules-plugin

Usage

import esbuild from 'esbuild';
import CssModulesPlugin from 'esbuild-css-modules-plugin';

esbuild.build({
  plugins: [
    CssModulesPlugin({
      // @see https://github.com/indooorsman/esbuild-css-modules-plugin/blob/main/index.d.ts for more details
      force: true,
      emitDeclarationFile: true,
      localsConvention: 'camelCaseOnly',
      namedExports: true,
      inject: false
    })
  ]
});

Contributors

indooorsman

134 commits

mxlje

3 commits

FuriouZz

1 commits

JodiWarren

1 commits

Languages

JavaScript

97.4%

CSS

2.6%