-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpurge_css.js
34 lines (31 loc) · 829 Bytes
/
purge_css.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
const Purgecss = require('purgecss')
const purgeHtml = require('purgecss-from-html')
const fs = require('fs')
const path = require('path')
const outputDir = path.resolve(__dirname, 'public')
const purgecss = new Purgecss({
content: [
'src/App.js', 'src/HomePage.js', 'src/PokemonPage.js', 'src/components/*.js',
'public/index.html'
],
css: ['src/index.css'],
extractors: [
{
extractor: class {
static extract(content) {
return content.match(/[A-Za-z0-9-_:\/]+/g) || [];
}
},
extensions: ['js']
},
{
extractor: purgeHtml,
extensions: ["html"]
}
]
})
const result = purgecss.purge()
result.forEach(out => {
const filePath = out.file.split('/')
fs.writeFileSync(`${outputDir}/${filePath[filePath.length - 1]}`, out.css, 'utf-8')
})