{"id":22827,"library":"vite-plugin-setting-css-module","title":"vite-plugin-setting-css-module","description":"A Vite plugin (v1.1.4, last updated 2024) that enables CSS Modules for all CSS/SCSS files without requiring the .module.css naming convention. Primarily designed for migrating legacy React projects to Vite where files are not named with the .module.css pattern. Supports custom include/exclude patterns via regex or function, and per-file opting out with ?global query. Lightweight, TypeScript-compatible, but has minimal documentation and no tests.","status":"active","version":"1.1.4","language":"javascript","source_language":"en","source_url":"https://github.com/ProgrameBoy/vite-plugin-setting-css-module","tags":["javascript","vite","vite-plugin","react","css","css-module","vite-plugin-setting-css-module","typescript"],"install":[{"cmd":"npm install vite-plugin-setting-css-module","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-setting-css-module","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-setting-css-module","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Default ESM export only; CJS require is not supported.","wrong":"const { vitePluginSettingCssModule } = require('vite-plugin-setting-css-module')","symbol":"vitePluginSettingCssModule","correct":"import vitePluginSettingCssModule from 'vite-plugin-setting-css-module'"},{"note":"The plugin is exported as a default export; there are no named exports.","symbol":"vitePluginSettingCssModule","correct":"import vitePluginSettingCssModule from 'vite-plugin-setting-css-module'"},{"note":"Options type is only available via type import. Do not import as value at runtime.","wrong":"import { Options } from 'vite-plugin-setting-css-module'","symbol":"type Options","correct":"import type { Options } from 'vite-plugin-setting-css-module'"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite'\nimport react from '@vitejs/plugin-react'\nimport vitePluginSettingCssModule from 'vite-plugin-setting-css-module'\n\nexport default defineConfig({\n  plugins: [\n    react(),\n    vitePluginSettingCssModule()\n  ]\n})","lang":"typescript","description":"Basic setup enabling CSS Modules for all CSS/SCSS files in a Vite + React project."},"warnings":[{"fix":"Use exclude option to exclude global CSS files, e.g., exclude: /.*\\.global\\.css$/","message":"Plugin applies CSS Modules to ALL CSS files by default, including those that were previously global. This may break global styles unexpectedly.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use function for more control: include: (fileName) => fileName.endsWith('.scss')","message":"The include option expects a RegExp or function, but the regex must match the full file path. Partial patterns like /\\.scss$/ may not match correctly if the path contains modules.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"No fix needed, but be aware that support may be limited.","message":"The package description and release notes are partially in Chinese; no breaking changes documented.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use: import vitePluginSettingCssModule from 'vite-plugin-setting-css-module'","cause":"Using wrong import syntax (e.g., named import or require).","error":"Error: The plugin 'vite-plugin-setting-css-module' doesn't have a default export."},{"fix":"Ensure you call the plugin as a function: plugins: [vitePluginSettingCssModule()]","cause":"Plugin configuration passed incorrectly (e.g., using object syntax instead of function call).","error":"TypeError: plugin.apply is not a function"},{"fix":"Add the exclude option: exclude: /.*\\.global\\.css$/","cause":"Default behavior applies modules to all CSS; likely unintended.","error":"WARNING: All CSS files are being treated as CSS Modules by vite-plugin-setting-css-module."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}