Registry / devops / esbuild-plugin-class-modules

esbuild-plugin-class-modules

JSON →
library2.1.9jsnpmunverified

An esbuild plugin that compiles CSS/SCSS/Sass stylesheets using Sass, PostCSS, and CSS Modules. Version 2.1.9 ships TypeScript types and supports global and local scoped outputs. It filters files by extension (.css, .module.css, .scss, .module.scss, .sass, etc.) and allows customization of Sass options, PostCSS plugins, and CSS Modules settings. Differentiates by combining Sass compilation with PostCSS processing and CSS Modules in one plugin, with support for global scoping via file naming or import style (named vs default import).

npm install esbuild-plugin-class-modules
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-CLA
E
esbuild-plugin-class-modules
devopsjavascriptv2.1.9
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.

classModules
import { classModules } from 'esbuild-plugin-class-modules'
const classModules = require('esbuild-plugin-class-modules');
The package supports both ESM and CJS; named export only.
ClassModulesOptions
import type { ClassModulesOptions } from 'esbuild-plugin-class-modules'
import { ClassModulesOptions } from 'esbuild-plugin-class-modules'
Type-only import for TypeScript users.
CssCompilerOptions
import { CssCompilerOptions } from 'esbuild-plugin-class-modules'
Type available for TypeScript users; not a runtime value.

Shows minimal setup to bundle JS with CSS/SCSS compiled via Sass, PostCSS, and CSS Modules.

const esbuild = require('esbuild'); const { classModules } = require('esbuild-plugin-class-modules'); esbuild.build({ entryPoints: ['src/index.js'], outdir: 'dist', bundle: true, plugins: [classModules()] }).then(() => { console.log('Build complete'); }).catch(() => process.exit(1));
Debug
Known issues
breakingFrom v2, the plugin no longer includes sass or postcss as dependencies; they must be installed separately.
fix
Ensure sass and postcss are in your devDependencies.
affects: >=2.0.0
gotchaIf you use both this plugin and another CSS plugin, classModules must be listed after the other CSS plugin in the plugins array.
fix
Reorder plugins array: other CSS plugins first, then classModules.
affects: >=1.0.0
gotchaGlobal scope via default import: import './styles.css' treats classes as global, while named import import styles from './styles.css' enables local scoping.
fix
Use named imports for CSS Modules local scoping; default imports for global styles.
affects: >=1.0.0
deprecatedThe old import path 'esbuild-plugin-class-modules/dist' is no longer available.
fix
Import directly from 'esbuild-plugin-class-modules'.
affects: >=2.0.0
Errors
Common errors & fixes
Error: Cannot find module 'sass'
sass is not installed; it's a peer dependency.
fix
Run npm install -D sass
TypeError: classModules is not a function
Importing the default export instead of named export.
fix
Use const { classModules } = require('esbuild-plugin-class-modules');
Error: No matching plugin for file extension .scss
The plugin's default filter regex does not include .scss? Ensure file extension matches.
fix
Set custom filter: { filter: /\.scss$/i }
Error: PostCSS plugin not found
PostCSS is not installed or not configured in options.postcss.
fix
Install postcss and add plugins to options.postcss array.
Upgrade
Version history
2.1.9latest on npm
Audit
Dependencies
esbuildrequiredPeer dependency; plugin runs as an esbuild plugin.
sassrequiredRequired for Sass/SCSS compilation (used inside the plugin).
postcssoptionalRequired for PostCSS processing.
postcss-modulesoptionalRequired for CSS Modules support.
Agent activity
2 hits · last 30 days
node
2
Resources
esbuild-plugin-class-modules — npm install esbuild-plugin-class-modules · libregistry