vite-plugin-purgecss
Version:
PurgeCSS plugin for Vite
31 lines (30 loc) • 826 B
JavaScript
// src/index.ts
import { PurgeCSS } from "purgecss";
var index_default = (options) => {
let _html = "";
return {
name: "vite-plugin-purgecss",
enforce: "post",
transformIndexHtml(html) {
_html += html;
},
async generateBundle(_options, bundle) {
const cssFiles = Object.keys(bundle).filter((key) => key.endsWith(".css"));
if (!cssFiles)
return;
for (const file of cssFiles) {
const purged = await new PurgeCSS().purge({
content: [{ raw: _html + " " + Object.entries(bundle).map(([k, v]) => {
return v.code;
}).join("; "), extension: "html" }],
css: [{ raw: bundle[file].source }],
...options
});
bundle[file].source = purged[0].css;
}
}
};
};
export {
index_default as default
};