1 const MiniCssExtractPlugin
= require('mini-css-extract-plugin');
3 const RAW_TEXT
= /.*\.theme\.css|\.raw\.scss$/;
5 const handleUrlResolve
= (url
) => {
6 // Transparent image, included through write
7 if (url
.includes('host.png')) {
13 module
.exports
= ({ browserslist
, logical
, webpackOnCaffeine
}) => {
16 loader
: require
.resolve('css-loader'),
18 url
: { filter
: handleUrlResolve
},
22 loader
: require
.resolve('postcss-loader'),
26 require('autoprefixer')({
27 overrideBrowserslist
: browserslist
,
30 require('postcss-color-functional-notation')(),
31 !logical
&& require('postcss-logical')(),
36 !webpackOnCaffeine
&& {
37 loader
: require
.resolve('resolve-url-loader'),
40 loader
: require
.resolve('sass-loader'),
41 options
: webpackOnCaffeine
43 implementation
: require('sass'),
45 outputStyle
: 'compressed',
53 loader
: MiniCssExtractPlugin
.loader
,
59 exclude
: /.*\.theme\.css/,
63 loader
: require
.resolve('css-loader'),
66 url
: { filter
: handleUrlResolve
},
75 use: [miniLoader
, ...sassLoaders
],
80 // Prevent loading the theme in <style>, we want to load it as a raw string
81 use: [...sassLoaders
],