update webpack config to work with current dependencies

change purgecss extractor to tailwind recommendation

fix CopyWebpackPlugin configuration syntax
This commit is contained in:
MarcoGlauser 2020-09-25 16:03:04 +01:00
parent c8a4073811
commit 8dcfab79cb

View file

@ -35,16 +35,15 @@ if ( isProduction ) {
css: [
'./node_modules/tailwindcss/dist/base.css'
],
extractors: [
{
extractor: class TailwindExtractor {
static extract(content) {
return content.match(/[A-Za-z0-9-_:\/]+/g) || [];
}
},
extensions: ['php', 'js', 'svg', 'css',]
}
],
defaultExtractor: content => {
// Capture as liberally as possible, including things like `h-(screen-1.5)`
const broadMatches = content.match(/[^<>"'`\s]*[^<>"'`\s:]/g) || []
// Capture classes within other delimiters like .block(class="w-1/2") in Pug
const innerMatches = content.match(/[^<>"'`\s.()]*[^<>"'`\s.():]/g) || []
return broadMatches.concat(innerMatches)
},
whitelistPatterns: getCSSWhitelistPatterns()
})
)
@ -87,7 +86,6 @@ const config = {
loader: 'css-loader',
options: {
importLoaders: 1,
context: 'postcss',
sourceMap: ! isProduction
}
},
@ -113,13 +111,12 @@ const config = {
new MiniCssExtractPlugin({
filename: `[name]${prefix}.css`,
}),
new CopyWebpackPlugin([{
from: './assets/images/',
to: 'images',
ignore: [
'.DS_Store'
]
}]),
new CopyWebpackPlugin({
patterns: [{
from: './assets/images/',
to: 'images',
}]
}),
new ImageminPlugin({ test: /\.(jpe?g|png|gif|svg)$/i })
]
}
@ -180,4 +177,4 @@ function getCSSWhitelistPatterns() {
];
}
module.exports = config
module.exports = config