41 lines
1.5 KiB
JavaScript
Executable File
41 lines
1.5 KiB
JavaScript
Executable File
const tailwind = require('./tailwind.config');
|
|
|
|
module.exports = ({ mode, file }) => ({
|
|
ident: 'postcss',
|
|
sourceMap: mode !== 'production',
|
|
plugins: [
|
|
require('postcss-import'),
|
|
require('tailwindcss/nesting'),
|
|
require('tailwindcss')({
|
|
...tailwind,
|
|
// Scope the editor css separately from the frontend css.
|
|
content: file.endsWith('editor.css')
|
|
? ['./src/editor/**/*.{ts,tsx}']
|
|
: ['./src/front/**/*.{ts,tsx}'],
|
|
important:
|
|
tailwind.important +
|
|
(file.endsWith('editor.css') ? '-editor' : ''),
|
|
}),
|
|
(css) =>
|
|
css.walkRules((rule) => {
|
|
// Removes top level TW styles like *::before {}
|
|
rule.selector.startsWith('*') && rule.remove();
|
|
}),
|
|
// See: https://github.com/WordPress/gutenberg/blob/trunk/packages/postcss-plugins-preset/lib/index.js
|
|
require('autoprefixer')({ grid: true }),
|
|
!file.endsWith('editor.css') && require('postcss-safe-important'),
|
|
mode === 'production' &&
|
|
// See: https://github.com/WordPress/gutenberg/blob/trunk/packages/scripts/config/webpack.config.js#L68
|
|
require('cssnano')({
|
|
preset: [
|
|
'default',
|
|
{
|
|
discardComments: {
|
|
removeAll: true,
|
|
},
|
|
},
|
|
],
|
|
}),
|
|
],
|
|
});
|