2017-08-26 14:36:40 -05:00
|
|
|
import fs from 'fs'
|
|
|
|
|
import postcss from 'postcss'
|
2017-08-28 15:02:50 -05:00
|
|
|
import tailwind from '..'
|
2017-10-19 12:00:14 -04:00
|
|
|
import CleanCSS from 'clean-css'
|
2017-08-26 14:36:40 -05:00
|
|
|
|
2020-08-18 13:28:59 -04:00
|
|
|
function buildDistFile(filename, config = {}, outFilename = filename) {
|
2017-11-02 13:26:27 -04:00
|
|
|
return new Promise((resolve, reject) => {
|
2018-03-13 09:49:48 -04:00
|
|
|
console.log(`Processing ./${filename}.css...`)
|
2017-08-26 14:36:40 -05:00
|
|
|
|
2018-03-13 09:49:48 -04:00
|
|
|
fs.readFile(`./${filename}.css`, (err, css) => {
|
2017-11-04 01:32:25 -05:00
|
|
|
if (err) throw err
|
|
|
|
|
|
2020-08-18 13:28:59 -04:00
|
|
|
return postcss([tailwind(config), require('autoprefixer')])
|
2017-11-02 13:26:27 -04:00
|
|
|
.process(css, {
|
2018-03-13 09:49:48 -04:00
|
|
|
from: `./${filename}.css`,
|
2020-08-18 13:28:59 -04:00
|
|
|
to: `./dist/${outFilename}.css`,
|
2017-11-02 13:26:27 -04:00
|
|
|
})
|
2020-10-16 15:39:44 -04:00
|
|
|
.then((result) => {
|
2020-08-18 13:28:59 -04:00
|
|
|
fs.writeFileSync(`./dist/${outFilename}.css`, result.css)
|
2017-11-02 13:26:27 -04:00
|
|
|
return result
|
|
|
|
|
})
|
2020-10-16 15:39:44 -04:00
|
|
|
.then((result) => {
|
2017-11-02 13:26:27 -04:00
|
|
|
const minified = new CleanCSS().minify(result.css)
|
2020-08-18 13:28:59 -04:00
|
|
|
fs.writeFileSync(`./dist/${outFilename}.min.css`, minified.styles)
|
2017-11-02 13:26:27 -04:00
|
|
|
})
|
|
|
|
|
.then(resolve)
|
2020-10-16 15:39:44 -04:00
|
|
|
.catch((error) => {
|
2017-11-02 13:26:27 -04:00
|
|
|
console.log(error)
|
|
|
|
|
reject()
|
|
|
|
|
})
|
2017-08-26 14:36:40 -05:00
|
|
|
})
|
2017-11-02 13:26:27 -04:00
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
console.info('Building Tailwind!')
|
|
|
|
|
|
|
|
|
|
Promise.all([
|
2019-02-11 12:46:19 -05:00
|
|
|
buildDistFile('base'),
|
2018-03-13 09:41:23 -04:00
|
|
|
buildDistFile('components'),
|
2017-11-02 13:26:27 -04:00
|
|
|
buildDistFile('utilities'),
|
2017-11-05 13:32:02 -06:00
|
|
|
buildDistFile('tailwind'),
|
2020-11-12 08:45:21 -05:00
|
|
|
buildDistFile('tailwind', { darkMode: 'class' }, 'tailwind-dark'),
|
2020-08-18 13:28:59 -04:00
|
|
|
buildDistFile('tailwind', { future: 'all', experimental: 'all' }, 'tailwind-experimental'),
|
2017-11-02 13:26:27 -04:00
|
|
|
]).then(() => {
|
|
|
|
|
console.log('Finished Building Tailwind!')
|
2017-08-26 14:36:40 -05:00
|
|
|
})
|