Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

vite-plugin-readable-classnames

teplostanski7.2kMIT1.5.3TypeScript support: included

Make your scoped CSS module class names clear and readable — this plugin automatically adds the module filename and other useful info to class names for easier development.

vite, vite-plugin, plugin, vite-plugin, css, scss, css module, scss module, class name, class names, classname, classnames, css module name, scss module class name

readme

Русский | English

vite-plugin-readable-classnames

NPM Version NPM License NPM Type Definitions NPM Downloads GitHub commit activity Coverage

Сделайте имена классов CSS-модулей понятными и читаемыми — плагин автоматически добавляет имя файла модуля и другую полезную информацию к именам классов для удобной разработки.

Входит в список Awesome Vite.js Awesome

📦 Установка

npmjs.comyarnpkg.com

npm install -D vite-plugin-readable-classnames

yarn add -D vite-plugin-readable-classnames

pnpm add -D vite-plugin-readable-classnames

bun add -d vite-plugin-readable-classnames

Миграция с vite-plugin-pretty-module-classnames

vite-plugin-readable-classnames это новое имя для vite-plugin-pretty-module-classnames. Это руководство поможет мигрировать с vite-plugin-pretty-module-classnames на vite-plugin-readable-classnames.

  1. Удалите старый плагин и установите новый

`sh [npm] npm uninstall vite-plugin-pretty-module-classnames npm install -D vite-plugin-readable-classnames


2. Обновите импорт и использование плагина в `vite.config.js` или `vite.config.ts`

```diff
- import prettyModuleClassnames from 'vite-plugin-pretty-module-classnames'
+ import readableClassnames from 'vite-plugin-readable-classnames'

export default defineConfig {
-  plugins: [prettyModuleClassnames()]
+  plugins: [readableClassnames()]
}

🦾 Функциональность

  • Не зависит от фреймворка:
    • Проверено на проектах с VanillaJS React Vue Astro
    • Потенциально работает с любым фреймворком. Если возникнут проблемы — создайте issue
  • Универсальный:
    • Совместим с CommonJS и ES Modules
    • Совместим с Vite 2.x
  • Настраиваемый: Гибкая настройка через объект параметров

🤔 Какую проблему решает плагин?

В React с CSS-модулями мы привыкли к именам классов вроде SomeComponent__classname_hash. По умолчанию Vite генерирует имена в формате __classname_hash, опуская имя компонента, что усложняет отладку.

Если попытаться добавить имя компонента через настройку generateScopedName: '[name]__[local]_[hash:base64:5]', в React появится лишний суффикс -module, а во Vue такая конфигурация может привести к ошибкам сборки.

Плагин решает эти проблемы и обеспечивает предсказуемое, читаемое именование классов в формате ComponentName__classname_hash независимо от фреймворка.

[!TIP] Что такое сгенерированные имена классов и где они видны?

Когда вы используете CSS-модули, итоговые имена классов автоматически генерируются сборщиком (например, Vite или Webpack). Эти имена видны:

  • в HTML-коде страницы (через DevTools браузера);
  • в итоговом CSS-файле;
  • при отладке в браузере, когда вы ищете нужный элемент или стиль.

Хорошо читаемые имена классов с именем компонента помогают быстро понять, откуда стиль, и упростить отладку и поддержку проекта.

⚙️ Применение

Пример
// vite.config.js
// ...
import readableClassnames from 'vite-plugin-readable-classnames'

export default defineConfig({
  plugins: [readableClassnames()],
})

📚 Документация

Полная документация доступна на vite-plugin-readable-classnames.teplostan.ski [ EN | RU ].

🤝 Вклад в проект

Хотите помочь проекту? Здорово! Поставьте звёздочку, расскажите друзьям или создайте issue на GitHub.

Перед тем как вносить изменения, ознакомьтесь с правилами.

Спасибо за вашу поддержку! 🙏

© Лицензия

MIT License © 2024-2025 teplostanski

❤ Поддержать проект

donate.teplostan.ski

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

1.5.2 (2025-05-29)

1.5.1 (2025-05-21)

Features

  • add custon i18n functions (390871c)

1.5.0 (2025-05-11)

Features

  • add custon i18n functions (390871c)

1.4.0 (2025-04-25)

Features

  • add customizable separator option for class name generation (b8d0a02)

1.3.2 (2025-01-12)

Bug Fixes

  • fix hash generation to account for file path (07c5900)

1.3.1 (2024-12-16)

Bug Fixes

  • Prevent plugin execution during vitest to avoid errors and warnings (f5f35d7)

1.3.0 (2024-09-09)

2.0.0-beta.1 (2024-08-11)

2.0.0-beta.0 (2024-08-11)

Features

  • added line number support in CSS module class names (b46f974)

Bug Fixes

1.2.0 (2024-08-09)

Features

Bug Fixes