Skip to content

Commit 4d1875c

Browse files
committed
maint(Build): Use val-loader instead of the outdated webpack-modernizr-loader for Modernizr.
1 parent e22f5cc commit 4d1875c

File tree

4 files changed

+25
-7
lines changed

4 files changed

+25
-7
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@
4444
"@patternslib/pat-tiptap": "^4.7.2",
4545
"@patternslib/pat-upload": "^3.1.1",
4646
"copy-webpack-plugin": "^11.0.0",
47+
"modernizr": "^3.12.0",
4748
"pegjs": "0.11.0-master.b7b87ea",
48-
"webpack-modernizr-loader": "^5.0.0"
49+
"val-loader": "^5.0.1"
4950
},
5051
"resolutions": {
5152
"jquery": "3.6.2"

src/modernizr.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// From: https://github.com/webpack-contrib/val-loader#modernizr
2+
const modernizr = require("modernizr");
3+
4+
module.exports = function (options) {
5+
return new Promise(function (resolve) {
6+
// It is impossible to throw an error because modernizr causes the process.exit(1)
7+
modernizr.build(options, function (output) {
8+
resolve({
9+
cacheable: true,
10+
code: `var modernizr; var hadGlobal = 'Modernizr' in window; var oldGlobal = window.Modernizr; ${output} modernizr = window.Modernizr; if (hadGlobal) { window.Modernizr = oldGlobal; } else { delete window.Modernizr; } export default modernizr;`,
11+
});
12+
});
13+
});
14+
};

src/patterns.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ import "@patternslib/pat-upload";
7979
// You might want to disable it for your project by setting:
8080
// window.__patternslib_disable_modernizr = true;
8181
if (!window.__patternslib_disable_modernizr) {
82-
import("modernizr");
82+
import("./modernizr");
8383
}
8484

8585
registry.init();

webpack/webpack.config.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const mf_config = require("@patternslib/dev/webpack/webpack.mf");
55
const package_json = require("../package.json");
66
const path = require("path");
77
const webpack_config = require("@patternslib/dev/webpack/webpack.config").config;
8+
const modernizr_config = require("../.modernizrrc.js");
89

910
module.exports = () => {
1011
let config = {
@@ -22,12 +23,14 @@ module.exports = () => {
2223

2324
// Modernizr
2425
config.module.rules.push({
25-
test: /\.modernizrrc\.js$/,
26-
loader: "webpack-modernizr-loader",
26+
test: path.resolve(__dirname, "../src/modernizr.js"),
27+
use: [
28+
{
29+
loader: "val-loader",
30+
options: modernizr_config,
31+
},
32+
],
2733
});
28-
config.resolve.alias = {
29-
modernizr$: path.resolve(__dirname, "../.modernizrrc.js"),
30-
};
3134

3235
// Module federation
3336
config.plugins.push(

0 commit comments

Comments
 (0)