Registry / devops / esbuild-css-modules-plugin

esbuild-css-modules-plugin

JSON →
library3.1.5jsnpmunverified

An esbuild plugin that bundles CSS Modules into JavaScript/TypeScript files using Lightning CSS for fast transformation. Version 3.1.5 requires Node >= 20 and esbuild as a peer dependency. It supports both bundled and unbundled builds, offering features like type declaration generation, camelCase class renaming, and named exports. Key differentiators: built on Lightning CSS for speed, works with `bundle: false` to produce standalone .css.js files, and provides full TypeScript type definitions. Release cadence is active with frequent updates.

npm install esbuild-css-modules-plugin
INSTALL
IMPORT
SIG · ESBUILD-CSS-MODULE
E
esbuild-css-modules-plugin
devopsjavascriptv3.1.5
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–223 runs
build_error
glibc
node 18–223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

CssModulesPlugin
✓ import CssModulesPlugin from 'esbuild-css-modules-plugin'
✗ const CssModulesPlugin = require('esbuild-css-modules-plugin')
ESM-only since v3; CommonJS require() will error. Use ESM imports.
cssModulesPlugin
✓ import { cssModulesPlugin } from 'esbuild-css-modules-plugin'
✗ const cssModulesPlugin = require('esbuild-css-modules-plugin').cssModulesPlugin
The default export is CssModulesPlugin; named export cssModulesPlugin is also available.
Options
✓ import type { Options } from 'esbuild-css-modules-plugin'
✗ import { Options } from 'esbuild-css-modules-plugin'
Options is a TypeScript type, not a runtime value. Use type import.

Basic esbuild build with CSS Modules plugin, enabling named exports, type declarations, and camelCase class names.

import esbuild from 'esbuild'; import CssModulesPlugin from 'esbuild-css-modules-plugin'; await esbuild.build({ entryPoints: ['src/index.js'], outfile: 'dist/bundle.js', plugins: [ CssModulesPlugin({ force: true, emitDeclarationFile: true, localsConvention: 'camelCaseOnly', namedExports: true, inject: false }) ], bundle: true });
Debug
Known issues
breakingVersion 3.0 dropped CommonJS support; all imports must be ESM.
fix
Update imports to use ES module syntax: `import CssModulesPlugin from 'esbuild-css-modules-plugin'` and ensure your project uses ESM (e.g., `"type": "module"` in package.json).
affects: >=3.0.0
breakingMinimum Node version raised to 20 in v3; older versions not supported.
fix
Update Node.js to version 20 or later.
affects: >=3.0.0
deprecatedThe `inject` option is deprecated in v3; use `force` instead.
fix
Replace `inject: true` with `force: true` in plugin options.
affects: >=3.0.0
gotchaWhen `namedExports` is true, CSS class names must be valid JavaScript identifiers; otherwise, they are omitted or cause errors.
fix
Ensure CSS class names only contain alphanumeric characters, $, and _, or set `localsConvention` to 'camelCaseOnly' to auto-convert.
affects: >=1.0.0
gotchaThe plugin filters files by `.module.css` extension by default; CSS files without `.module.css` are ignored.
fix
To process any CSS file, set `force: true` in plugin options.
affects: >=1.0.0
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module .../esbuild-css-modules-plugin/index.js not supported.
Using CommonJS require() to import an ESM-only package (v3+).
fix
Switch to ESM imports or use dynamic import(): `const CssModulesPlugin = (await import('esbuild-css-modules-plugin')).default`.
TypeError: CssModulesPlugin is not a function
Using wrong import (e.g., default vs named) or incorrect plugin initialization.
fix
Use default import: `import CssModulesPlugin from 'esbuild-css-modules-plugin'` and call it as a function: `CssModulesPlugin({...})`.
Module not found: Error: Can't resolve 'esbuild-css-modules-plugin'
Package not installed or not in node_modules.
fix
Run `npm install -D esbuild-css-modules-plugin` or check your package.json dependencies.
Upgrade
Version history
3.1.5latest on npm
Audit
Dependencies
esbuildrequiredpeer dependency required for plugin to function
Agent activity
8 hits · last 30 days
node
8
Resources
esbuild-css-modules-plugin — npm install esbuild-css-modules-plugin · libregistry