-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpostcss.config.js
39 lines (32 loc) · 969 Bytes
/
postcss.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const tailwind = require("tailwindcss");
const autoprefixer = require("autoprefixer");
const postcssImport = require("postcss-import");
const purgecss = require("@fullhuman/postcss-purgecss")({
whitelistPatterns: [/svelte/, /fa/, /notyf/, /leaflet/, /ssp/, /mc_embed/, /mc-/, /mce-/],
content: ["./src/**/*.html", "./src/**/*.svelte"],
defaultExtractor: (content) => {
const regExp = new RegExp(/[\w-/:]+(?<!:)/g);
const matchedTokens = [];
let match = regExp.exec(content);
while (match) {
if (match[0].startsWith("class:")) {
matchedTokens.push(match[0].substring(6));
} else {
matchedTokens.push(match[0]);
}
match = regExp.exec(content);
}
return matchedTokens;
},
});
const production = !process.env.ROLLUP_WATCH;
module.exports = {
parser: "postcss-scss",
plugins: [
postcssImport,
tailwind(),
autoprefixer,
production && purgecss,
].filter(Boolean),
extract: true,
};