Registry / testing / css-modules-lint

css-modules-lint

JSON →
library1.0.3jsnpmunverified

Lint, autocomplete, and generate types for CSS Modules. Version 1.0.3 runs on Node >=20 and supports TypeScript, Vite, and ESLint. Includes a TypeScript Language Service Plugin for real-time diagnostics, Vite plugin for automatic .d.ts generation, and an ESLint plugin with undefined/unused class rules. Differentiators include unified tooling for both type generation and linting, CLI for CI integration, and support for SCSS, CSS, and Less modules.

npm install css-modules-lint
INSTALL
IMPORT
SIG · CSS-MODULES-LINT
C
css-modules-lint
testingjavascriptv1.0.3
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.

cssModulesLint (ESLint plugin)
import cssModulesLint from 'css-modules-lint/eslint'
const cssModulesLint = require('css-modules-lint/eslint')
ESM-only; ESLint >=9 flat config required
cssModulesDts (Vite plugin)
import cssModulesDts from 'css-modules-lint/vite'
import { cssModulesDts } from 'css-modules-lint/vite'
Default export from 'css-modules-lint/vite', not named
TypeScript plugin
{ "plugins": [{ "name": "css-modules-lint" }] }
{ "plugins": [{ "name": "css-modules-lint/typescript" }] }
Not a JS import; configured in tsconfig.json

Full setup with init command, manual configurations for TypeScript, Vite, ESLint, .gitignore, and CI script.

// Install npm install -D css-modules-lint // Automatic setup npx css-modules-lint init // Or manual setup: // 1. tsconfig.json { "compilerOptions": { "plugins": [{ "name": "css-modules-lint" }] } } // 2. Vite plugin (optional) // vite.config.ts import cssModulesDts from 'css-modules-lint/vite'; export default defineConfig({ plugins: [cssModulesDts()], }); // 3. ESLint plugin (optional) // eslint.config.js import cssModulesLint from 'css-modules-lint/eslint'; export default [cssModulesLint.configs.recommended]; // 4. .gitignore *.module.scss.d.ts *.module.css.d.ts *.module.less.d.ts // 5. CI script "scripts": { "lint:css": "css-modules-lint check" } // Run npx css-modules-lint check npx css-modules-lint generate
css-modules-lint --version
Debug
Known issues
breakingPeer dependencies: requires Node >=20, TypeScript >=5, ESLint >=9, and Vite >=4
fix
Update Node, TypeScript, ESLint, or Vite to the required versions.
affects: >=1.0.0
breakingESLint plugin uses flat config only (ESLint >=9) and ESM imports
fix
Migrate ESLint config to flat config and use ESM imports (e.g., import cssModulesLint from 'css-modules-lint/eslint').
affects: >=1.0.0
gotchaTypeScript plugin must be configured in tsconfig.json and editor's TypeScript language server must be restarted for changes to take effect
fix
After adding plugin to tsconfig.json, reload the TypeScript language server (e.g., VS Code: Ctrl+Shift+P -> TypeScript: Reload Project).
affects: >=1.0.0
deprecatedCLI 'generate' command for .d.ts generation is superseded by Vite plugin for development workflows
fix
Prefer using the Vite plugin cssModulesDts() for automatic generation during dev/build; CLI generate is still valid for CI.
affects: >=1.0.0
gotchaGenerated .d.ts files should be gitignored to avoid conflicts; they are regenerated by Vite plugin or CLI
fix
Add *.module.scss.d.ts, *.module.css.d.ts, *.module.less.d.ts to .gitignore.
affects: >=1.0.0
Errors
Common errors & fixes
Error: Cannot find module 'css-modules-lint/eslint'
Using CommonJS require() instead of ESM import
fix
Use import statement: import cssModulesLint from 'css-modules-lint/eslint'; and ensure package.json has "type": "module" or file extension .mjs.
Cannot start TypeScript LSP: No registered language service plugin 'css-modules-lint'
Plugin name not correctly specified in tsconfig.json
fix
Ensure tsconfig.json has: "plugins": [{ "name": "css-modules-lint" }] (not 'css-modules-lint/typescript' or other paths).
Parsing error: The keyword 'import' is reserved
ESLint config still using legacy .eslintrc format but package requires flat config
fix
Upgrade to ESLint >=9 and use eslint.config.js with import syntax.
TypeError: cssModulesDts is not a function
Importing named export instead of default from 'css-modules-lint/vite'
fix
Change import to: import cssModulesDts from 'css-modules-lint/vite'; (not named import).
Upgrade
Version history
1.0.3latest on npm
Audit
Dependencies
typescriptrequiredpeer dependency for TypeScript plugin and types
eslintoptionalpeer dependency for ESLint plugin
viteoptionalpeer dependency for Vite plugin
Agent activity
8 hits · last 30 days
node
6
OpenAI (training)
1
Resources
css-modules-lint — npm install css-modules-lint · libregistry