2018-10-25 23:49:22 +00:00
|
|
|
class TailwindExtractor {
|
|
|
|
static extract(content) {
|
|
|
|
return content.match(/[A-Za-z0-9-_:/]+/g) || [];
|
2018-02-13 19:32:59 +00:00
|
|
|
}
|
2018-10-25 23:49:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
const options = {
|
|
|
|
plugins: [
|
|
|
|
require('tailwindcss')('./tailwind.js'),
|
2018-10-26 01:55:11 +00:00
|
|
|
require('postcss-preset-env')
|
|
|
|
]
|
|
|
|
};
|
|
|
|
|
|
|
|
if (process.env.NODE_ENV === 'development') {
|
|
|
|
options.map = { inline: true };
|
|
|
|
} else {
|
|
|
|
options.plugins.push(
|
2018-10-25 23:49:22 +00:00
|
|
|
require('@fullhuman/postcss-purgecss')({
|
|
|
|
content: ['./app/*.js', './app/ui/*.js'],
|
|
|
|
extractors: [
|
|
|
|
{
|
|
|
|
extractor: TailwindExtractor,
|
|
|
|
extensions: ['js']
|
|
|
|
}
|
|
|
|
]
|
2018-10-26 01:55:11 +00:00
|
|
|
})
|
|
|
|
);
|
|
|
|
options.plugins.push(
|
2018-10-25 23:49:22 +00:00
|
|
|
require('cssnano')({
|
|
|
|
preset: 'default'
|
|
|
|
})
|
2018-10-26 01:55:11 +00:00
|
|
|
);
|
2017-08-04 00:07:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = options;
|