{"id":25365,"library":"esbuild-plugin-lightningcss-modules","title":"esbuild-plugin-lightningcss-modules","description":"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.","status":"active","version":"0.1.2","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install esbuild-plugin-lightningcss-modules","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-lightningcss-modules","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-lightningcss-modules","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; plugin hooks into esbuild's build process","package":"esbuild","optional":false}],"imports":[{"note":"Named export; default export not supported. CommonJS require works for older Node.js versions but prefer ES import.","wrong":"const cssModules = require('esbuild-plugin-lightningcss-modules')","symbol":"cssModules","correct":"import { cssModules } from 'esbuild-plugin-lightningcss-modules'"}],"quickstart":{"code":"import { cssModules } from 'esbuild-plugin-lightningcss-modules';\nimport * as esbuild from 'esbuild';\n\nawait esbuild.build({\n  entryPoints: ['src/index.js'],\n  bundle: true,\n  outfile: 'dist/bundle.js',\n  plugins: [\n    cssModules({\n      targets: { chrome: 80 },\n      drafts: { nesting: true },\n    }),\n  ],\n});","lang":"typescript","description":"Shows how to configure esbuild with the plugin, enabling CSS Modules and nesting support."},"warnings":[{"fix":"Add includeFilter: /\\.css$/ to the plugin options if your CSS modules lack the .module.css extension.","message":"CSS files without .module.css extension are not treated as CSS modules by default. Use includeFilter to override.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Pin esbuild to 0.16.x or 0.17.x, or consider an alternative plugin that supports newer esbuild.","message":"The plugin only supports esbuild versions ~0.16.0 or ~0.17.0. Newer esbuild versions may not work.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"Set excludeFilter: /node_modules\\/some-lib\\/styles\\.css/ to exclude global CSS.","message":"The 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.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure cssModules() is added to plugins array in esbuild.build call.","cause":"The plugin is not installed or loaded in esbuild plugins array.","error":"Error: Build failed with 1 error: error: No loader is configured for \".module.css\" files: src/styles.module.css"},{"fix":"Use named import: import { cssModules } from 'esbuild-plugin-lightningcss-modules'","cause":"Incorrect import: using default import instead of named import.","error":"TypeError: cssModules is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}