Use webpack based string replacement

Doing the seddery in Makefile breaks `npm run build`, webpack watching,
and was generally brittle.

Revert the sed/make rules, and instead do the font replacement hacking
with `string-replace-loader`, which fits into webpack much more nicely.

There is still some potential simplification by not duplicating the
entire scss loader chain.
This commit is contained in:
Martin Pitt 2020-05-27 21:03:14 +02:00
parent 22db5fe5c0
commit 5277019312
7 changed files with 43 additions and 15 deletions

View file

@ -135,8 +135,45 @@ module.exports = {
use: babel_loader,
test: /\.(js|jsx)$/
},
/* HACK: remove unwanted fonts from PatternFly's css */
{
test: /patternfly-4-cockpit.scss$/,
use: [
extract.loader,
{
loader: 'css-loader',
options: {
sourceMap: true,
url: false
}
},
{
loader: 'string-replace-loader',
options: {
multiple: [
{
search: /src:url\("patternfly-icons-fake-path\/pficon[^}]*/g,
replace: "src:url('fonts/patternfly.woff')format('woff');",
},
{
search: /@font-face[^}]*patternfly-fonts-fake-path[^}]*}/g,
replace: '',
},
]
},
},
{
loader: 'sass-loader',
options: {
sourceMap: true,
outputStyle: 'compressed',
},
},
]
},
{
test: /\.s?css$/,
exclude: /patternfly-4-cockpit.scss/,
use: [
extract.loader,
{