const glob = require("glob-all");
const PurgecssPlugin = require("purgecss-webpack-plugin");
// Custom PurgeCSS extractor for Tailwind that allows special characters in class names
class TailwindExtractor {
static extract(content) {
return content.match(/[A-Za-z0-9-_:\/]+/g) || [];
}
}
// Example integration with Webpack/Laravel Mix
if (mix.inProduction()) {
mix.webpackConfig({
plugins: [
new PurgecssPlugin({
paths: glob.sync([
path.join(__dirname, "resources/views/**/*.blade.php"),
path.join(__dirname, "resources/js/**/*.vue")
]),
extractors: [
{
extractor: TailwindExtractor,
extensions: ["html", "js", "php", "vue"]
}
]
})
]
});
}