Registry / web-framework / esbuild-plugin-lightningcss-modules

esbuild-plugin-lightningcss-modules

JSON →
library0.1.2jsnpmunverified

A minimal CSS Modules plugin for esbuild using Lightning CSS (Rust-based) for transformations. Version 0.1.2, with monthly releases. Supports the `composes` feature with dependencies (`composes: mixin from './mixin.module.css'`), which other esbuild CSS modules plugins often fail to handle correctly due to reliance on postcss-modules. Tested with ~100 CSS modules in production. Requires esbuild ~0.16.0 or ~0.17.0 as a peer dependency. Simpler than alternatives like `esbuild-css-modules-plugin` but with fewer features.

npm install esbuild-plugin-lightningcss-modules
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-LIG
E
esbuild-plugin-lightningcss-modules
web-frameworkjavascriptv0.1.2
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

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

cssModules
import { cssModules } from 'esbuild-plugin-lightningcss-modules'
const cssModules = require('esbuild-plugin-lightningcss-modules')
Named export; default export not supported. CommonJS require works for older Node.js versions but prefer ES import.

Shows how to configure esbuild with the plugin, enabling CSS Modules and nesting support.

import { cssModules } from 'esbuild-plugin-lightningcss-modules'; import * as esbuild from 'esbuild'; await esbuild.build({ entryPoints: ['src/index.js'], bundle: true, outfile: 'dist/bundle.js', plugins: [ cssModules({ targets: { chrome: 80 }, drafts: { nesting: true }, }), ], });
Debug
Known issues
breakingCSS files without .module.css extension are not treated as CSS modules by default. Use includeFilter to override.
fix
Add includeFilter: /\.css$/ to the plugin options if your CSS modules lack the .module.css extension.
affects: >=0.1.0
deprecatedThe plugin only supports esbuild versions ~0.16.0 or ~0.17.0. Newer esbuild versions may not work.
fix
Pin esbuild to 0.16.x or 0.17.x, or consider an alternative plugin that supports newer esbuild.
affects: >=0.1.0
gotchaThe plugin does not support CSS modules without explicit .module.css suffix if other CSS files exist; use excludeFilter to prevent global CSS from being processed as modules.
fix
Set excludeFilter: /node_modules\/some-lib\/styles\.css/ to exclude global CSS.
affects: >=0.1.0
Errors
Common errors & fixes
Error: Build failed with 1 error: error: No loader is configured for ".module.css" files: src/styles.module.css
The plugin is not installed or loaded in esbuild plugins array.
fix
Ensure cssModules() is added to plugins array in esbuild.build call.
TypeError: cssModules is not a function
Incorrect import: using default import instead of named import.
fix
Use named import: import { cssModules } from 'esbuild-plugin-lightningcss-modules'
Upgrade
Version history
0.1.2latest on npm
Audit
Dependencies
esbuildrequiredpeer dependency; plugin hooks into esbuild's build process
Agent activity
2 hits · last 30 days
node
2
Resources
esbuild-plugin-lightningcss-modules — npm install esbuild-plugin-lightningcss-modules · libregistry