1 | import fs from 'fs'
|
2 | import postcss from 'postcss'
|
3 | import tailwind from '..'
|
4 | import CleanCSS from 'clean-css'
|
5 |
|
6 | function buildDistFile(filename) {
|
7 | return new Promise((resolve, reject) => {
|
8 | console.log(`Processing ./${filename}.css...`)
|
9 |
|
10 | fs.readFile(`./${filename}.css`, (err, css) => {
|
11 | if (err) throw err
|
12 |
|
13 | return postcss([tailwind(), require('autoprefixer')])
|
14 | .process(css, {
|
15 | from: `./${filename}.css`,
|
16 | to: `./dist/${filename}.css`,
|
17 | })
|
18 | .then(result => {
|
19 | fs.writeFileSync(`./dist/${filename}.css`, result.css)
|
20 | return result
|
21 | })
|
22 | .then(result => {
|
23 | const minified = new CleanCSS().minify(result.css)
|
24 | fs.writeFileSync(`./dist/${filename}.min.css`, minified.styles)
|
25 | })
|
26 | .then(resolve)
|
27 | .catch(error => {
|
28 | console.log(error)
|
29 | reject()
|
30 | })
|
31 | })
|
32 | })
|
33 | }
|
34 |
|
35 | console.info('Building Tailwind!')
|
36 |
|
37 | Promise.all([
|
38 | buildDistFile('base'),
|
39 | buildDistFile('components'),
|
40 | buildDistFile('utilities'),
|
41 | buildDistFile('tailwind'),
|
42 | ]).then(() => {
|
43 | console.log('Finished Building Tailwind!')
|
44 | })
|