This plugin requires vite of v3 or greater. It only makes sense to use if you're using css modules.
$ npm install --save-dev vite-plugin-optimize-css-modules
In your vite.config.ts
simply add the plugin:
import { optimizeCssModules } from 'vite-plugin-optimize-css-modules';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [
optimizeCssModules()
]
})
And that's it. When running vite build
your generated CSS should be significantly smaller.
By default, when using css modules, you end up with hashes or other long class-names in your bundled css files:
@keyframes _close-card_pzatx_1 {
/* ...css */
}
._card_pzatx_32 {
/* ...css */
}
._back_pzatx_49 ._content_pzatx_70 ._close_pzatx_74 {
/* ...css */
}
By using this module, the smalles possible classname will be used for each "id":
@keyframes a {
/* ...css */
}
.v {
/* ...css */
}
.c .s .w {
/* ...css */
}