UNPKG

1.36 kBJavaScriptView Raw
1import fs from 'fs'
2import postcss from 'postcss'
3import tailwind from '..'
4import CleanCSS from 'clean-css'
5
6function buildDistFile(filename, config = {}, outFilename = 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(config), require('autoprefixer')])
14 .process(css, {
15 from: `./${filename}.css`,
16 to: `./dist/${outFilename}.css`,
17 })
18 .then((result) => {
19 fs.writeFileSync(`./dist/${outFilename}.css`, result.css)
20 return result
21 })
22 .then((result) => {
23 const minified = new CleanCSS().minify(result.css)
24 fs.writeFileSync(`./dist/${outFilename}.min.css`, minified.styles)
25 })
26 .then(resolve)
27 .catch((error) => {
28 console.log(error)
29 reject()
30 })
31 })
32 })
33}
34
35console.info('Building Tailwind!')
36
37Promise.all([
38 buildDistFile('base'),
39 buildDistFile('components'),
40 buildDistFile('utilities'),
41 buildDistFile('tailwind'),
42 buildDistFile('tailwind', { darkMode: 'class' }, 'tailwind-dark'),
43 buildDistFile('tailwind', { future: 'all', experimental: 'all' }, 'tailwind-experimental'),
44]).then(() => {
45 console.log('Finished Building Tailwind!')
46})