diff --git a/webpack.config.js b/webpack.config.js
index fc0357e..d881172 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -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
\ No newline at end of file
+module.exports = config