@umijs/bundler-webpack 4.0.42 → 4.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/utils/formatWebpackMessages.js +27 -8
- package/compiled/babel-loader/index.js +8 -2
- package/compiled/babel-loader/package.json +1 -1
- package/compiled/less-loader/index.js +1 -1
- package/compiled/less-loader/package.json +1 -1
- package/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js +22 -60
- package/compiled/mini-css-extract-plugin/hmr/normalize-url.js +2 -10
- package/compiled/mini-css-extract-plugin/index.js +492 -696
- package/compiled/mini-css-extract-plugin/loader.js +54 -120
- package/compiled/mini-css-extract-plugin/package.json +1 -1
- package/compiled/mini-css-extract-plugin/utils.js +27 -44
- package/compiled/postcss-loader/index.js +1 -1
- package/compiled/postcss-loader/package.json +1 -1
- package/compiled/sass-loader/index.js +1 -1
- package/compiled/sass-loader/package.json +1 -1
- package/compiled/sass-loader/sass.default.dart.js +4 -0
- package/compiled/terser/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts +90 -0
- package/compiled/terser/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +12 -0
- package/compiled/terser/@jridgewell/gen-mapping/dist/types/types.d.ts +35 -0
- package/compiled/terser/@jridgewell/source-map/dist/types/source-map.d.ts +25 -0
- package/compiled/terser/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
- package/compiled/terser/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +74 -0
- package/compiled/terser/@jridgewell/trace-mapping/dist/types/types.d.ts +92 -0
- package/compiled/terser/index.js +1 -1
- package/compiled/terser/package.json +1 -1
- package/compiled/terser/tools/terser.d.ts +6 -3
- package/compiled/terser-webpack-plugin/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
- package/compiled/terser-webpack-plugin/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +74 -0
- package/compiled/terser-webpack-plugin/@jridgewell/trace-mapping/dist/types/types.d.ts +92 -0
- package/compiled/terser-webpack-plugin/index.js +1211 -3390
- package/compiled/terser-webpack-plugin/package.json +1 -1
- package/compiled/terser-webpack-plugin/types/index.d.ts +10 -10
- package/compiled/terser-webpack-plugin/types/utils.d.ts +10 -9
- package/compiled/terser-webpack-plugin/utils.js +36 -10
- package/compiled/webpack/package.json +1 -1
- package/compiled/webpack/types.d.ts +137 -126
- package/compiled/webpack-5-chain/index.js +1 -1
- package/compiled/webpack-5-chain/package.json +1 -1
- package/compiled/webpack-5-chain/types/index.d.ts +76 -20
- package/compiled/webpack-bundle-analyzer/index.js +7 -6
- package/compiled/webpack-bundle-analyzer/package.json +1 -1
- package/compiled/webpack-bundle-analyzer/public/viewer.js +2 -2
- package/compiled/webpack-bundle-analyzer/public/viewer.js.map +1 -1
- package/compiled/webpack-dev-middleware/index.js +5 -5
- package/compiled/webpack-dev-middleware/package.json +1 -1
- package/compiled/ws/LICENSE +13 -12
- package/compiled/ws/index.d.ts +73 -33
- package/compiled/ws/index.js +1 -1
- package/compiled/ws/package.json +1 -1
- package/dist/build.js +8 -2
- package/dist/cli.js +4 -1
- package/dist/config/compressPlugin.js +4 -1
- package/dist/config/config.js +41 -11
- package/dist/config/cssRules.js +17 -5
- package/dist/config/detectDeadCode.js +38 -8
- package/dist/config/detectDeadCodePlugin.js +8 -2
- package/dist/config/fastRefreshPlugin.js +4 -1
- package/dist/config/forkTSCheckerPlugin.js +4 -1
- package/dist/config/harmonyLinkingErrorPlugin.js +14 -11
- package/dist/config/javaScriptRules.js +10 -5
- package/dist/config/miniCSSExtractPlugin.js +4 -1
- package/dist/config/progressPlugin.js +9 -2
- package/dist/config/speedMeasureWebpackPlugin.js +7 -2
- package/dist/config/ssrPlugin.js +20 -6
- package/dist/config/svgRules.js +4 -1
- package/dist/dev.js +29 -10
- package/dist/loader/svgr.js +16 -11
- package/dist/loader/swc.js +26 -8
- package/dist/parcelCSS.js +4 -1
- package/dist/plugins/ProgressPlugin.js +6 -2
- package/dist/plugins/RuntimePublicPathPlugin.js +9 -6
- package/dist/plugins/_SamplePlugin.d.ts +1 -1
- package/dist/plugins/_SamplePlugin.js +1 -1
- package/dist/requireHook.js +4 -1
- package/dist/schema.js +58 -23
- package/dist/server/server.d.ts +1 -4
- package/dist/server/server.js +37 -23
- package/dist/server/ws.js +8 -3
- package/dist/swcPlugins/autoCSSModules.js +4 -1
- package/dist/swcPlugins/lockCoreJS.js +8 -2
- package/dist/types.d.ts +2 -1
- package/dist/utils/formatWebpackMessages.js +31 -9
- package/dist/utils/getEsBuildTarget.js +7 -1
- package/package.json +25 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"babel-loader","author":"Luis Couto <hello@luiscouto.pt>","license":"MIT"}
|
|
1
|
+
{"name":"babel-loader","version":"9.1.2","author":"Luis Couto <hello@luiscouto.pt>","license":"MIT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){var e={
|
|
1
|
+
(function(){var e={195:function(e,t){function set(e,t,r){if(typeof r.value==="object")r.value=klona(r.value);if(!r.enumerable||r.get||r.set||!r.configurable||!r.writable||t==="__proto__"){Object.defineProperty(e,t,r)}else e[t]=r.value}function klona(e){if(typeof e!=="object")return e;var t=0,r,n,s,o=Object.prototype.toString.call(e);if(o==="[object Object]"){s=Object.create(e.__proto__||null)}else if(o==="[object Array]"){s=Array(e.length)}else if(o==="[object Set]"){s=new Set;e.forEach((function(e){s.add(klona(e))}))}else if(o==="[object Map]"){s=new Map;e.forEach((function(e,t){s.set(klona(t),klona(e))}))}else if(o==="[object Date]"){s=new Date(+e)}else if(o==="[object RegExp]"){s=new RegExp(e.source,e.flags)}else if(o==="[object DataView]"){s=new e.constructor(klona(e.buffer))}else if(o==="[object ArrayBuffer]"){s=e.slice(0)}else if(o.slice(-6)==="Array]"){s=new e.constructor(e)}if(s){for(n=Object.getOwnPropertySymbols(e);t<n.length;t++){set(s,n[t],Object.getOwnPropertyDescriptor(e,n[t]))}for(t=0,n=Object.getOwnPropertyNames(e);t<n.length;t++){if(Object.hasOwnProperty.call(s,r=n[t])&&s[r]===e[r])continue;set(s,r,Object.getOwnPropertyDescriptor(e,r))}}return s||e}t.klona=klona},154:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(17));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class LessError extends Error{constructor(e){super();this.message=["\n",...LessError.getFileExcerptIfPossible(e),e.message.charAt(0).toUpperCase()+e.message.slice(1),e.filename?` Error in ${n.default.normalize(e.filename)} (line ${e.line}, column ${e.column})`:""].join("\n");this.hideStack=true}static getFileExcerptIfPossible(e){if(typeof e.extract==="undefined"){return[]}const t=e.extract.slice(0,2);const r=Math.max(e.column-1,0);if(typeof t[0]==="undefined"){t.shift()}t.push(`${new Array(r).join(" ")}^`);return t}}var s=LessError;t["default"]=s},100:function(e,t,r){"use strict";e.exports=r(94)["default"]},94:function(e,t,r){"use strict";var n;n={value:true};t["default"]=void 0;var s=_interopRequireDefault(r(17));var o=_interopRequireDefault(r(305));var i=r(196);var a=_interopRequireDefault(r(154));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}async function lessLoader(e){const t=this.getOptions(o.default);const r=this.async();const n=(0,i.getLessImplementation)(this,t.implementation);if(!n){r(new Error(`The Less implementation "${t.implementation}" not found`));return}const l=(0,i.getLessOptions)(this,t,n);const c=typeof t.sourceMap==="boolean"?t.sourceMap:this.sourceMap;if(c){l.sourceMap={outputSourceFiles:true}}let u=e;if(typeof t.additionalData!=="undefined"){u=typeof t.additionalData==="function"?`${await t.additionalData(u,this)}`:`${t.additionalData}\n${u}`}const p=this.getLogger("less-loader");const f={error(e){p.error(e)},warn(e){p.warn(e)},info(e){p.log(e)},debug(e){p.debug(e)}};n.logger.addListener(f);let d;try{d=await n.render(u,l)}catch(e){if(e.filename){this.addDependency(s.default.normalize(e.filename))}r(new a.default(e));return}finally{n.logger.removeListener(f);delete l.pluginManager.webpackLoaderContext;delete l.pluginManager}const{css:m,imports:b}=d;b.forEach((e=>{if((0,i.isUnsupportedUrl)(e)){return}const t=s.default.normalize(e);if(s.default.isAbsolute(t)){this.addDependency(t)}}));let g=typeof d.map==="string"?JSON.parse(d.map):d.map;if(g&&c){g=(0,i.normalizeSourceMap)(g,this.rootContext)}r(null,m,g)}var l=lessLoader;t["default"]=l},196:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getLessImplementation=getLessImplementation;t.getLessOptions=getLessOptions;t.isUnsupportedUrl=isUnsupportedUrl;t.normalizeSourceMap=normalizeSourceMap;var n=_interopRequireDefault(r(17));var s=r(195);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=/[/\\]$/;const i=/^~[^/]+$/;const a=/^[a-z]:[/\\]|^\\\\/i;const l=/^~([^/]+|[^/]+\/|@[^/]+[/][^/]+|@[^/]+\/?|@[^/]+[/][^/]+\/)$/;const c=/^[^?]*~/;function createWebpackLessPlugin(e,t){const r=e.getResolve({dependencyType:"less",conditionNames:["less","style","..."],mainFields:["less","style","main","..."],mainFiles:["index","..."],extensions:[".less",".css"],preferRelative:true});class WebpackFileManager extends t.FileManager{supports(e){if(e[0]==="/"||a.test(e)){return true}if(this.isPathAbsolute(e)){return false}return true}supportsSync(){return false}async resolveFilename(e,t){const r=t.replace(o,"");let n=e;if(c.test(e)){n=n.replace(c,"")}if(l.test(e)){n=n[n.length-1]==="/"?n:`${n}/`}return this.resolveRequests(r,[...new Set([n,e])])}async resolveRequests(e,t){if(t.length===0){return Promise.reject()}let n;try{n=await r(e,t[0])}catch(r){const[,...s]=t;if(s.length===0){throw r}n=await this.resolveRequests(e,s)}return n}async loadFile(t,...r){let s;try{if(i.test(t)){const e=new Error;e.type="Next";throw e}s=await super.loadFile(t,...r)}catch(n){if(n.type!=="File"&&n.type!=="Next"){return Promise.reject(n)}try{s=await this.resolveFilename(t,...r)}catch(e){n.message=`Less resolver error:\n${n.message}\n\n`+`Webpack resolver error details:\n${e.details}\n\n`+`Webpack resolver error missing:\n${e.missing}\n\n`;return Promise.reject(n)}e.addDependency(s);return super.loadFile(s,...r)}e.addDependency(n.default.normalize(s.filename));return s}}return{install(e,t){t.addFileManager(new WebpackFileManager)},minVersion:[3,0,0]}}function getLessOptions(e,t,r){const n=(0,s.klona)(typeof t.lessOptions==="function"?t.lessOptions(e)||{}:t.lessOptions||{});const o={plugins:[],relativeUrls:true,filename:e.resourcePath,...n};const i=typeof t.webpackImporter==="boolean"?t.webpackImporter:true;if(i){o.plugins.unshift(createWebpackLessPlugin(e,r))}o.plugins.unshift({install(t,r){r.webpackLoaderContext=e;o.pluginManager=r}});return o}function isUnsupportedUrl(e){if(a.test(e)){return false}return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e)}function normalizeSourceMap(e){const t=e;delete t.file;t.sourceRoot="";t.sources=t.sources.map((e=>n.default.normalize(e)));return t}function getLessImplementation(e,t){let r=t;if(!t||typeof t==="string"){const n=t||"less";try{r=require(n)}catch(t){e.emitError(t);return}}return r}},17:function(e){"use strict";e.exports=require("path")},305:function(e){"use strict";e.exports=JSON.parse('{"title":"Less Loader options","type":"object","properties":{"lessOptions":{"description":"Options to pass through to `Less`.","link":"https://github.com/webpack-contrib/less-loader#lessoptions","anyOf":[{"type":"object","additionalProperties":true},{"instanceof":"Function"}]},"additionalData":{"description":"Prepends/Appends `Less` code to the actual entry file.","link":"https://github.com/webpack-contrib/less-loader#additionalData","anyOf":[{"type":"string"},{"instanceof":"Function"}]},"sourceMap":{"description":"Enables/Disables generation of source maps.","link":"https://github.com/webpack-contrib/less-loader#sourcemap","type":"boolean"},"webpackImporter":{"description":"Enables/Disables default `webpack` importer.","link":"https://github.com/webpack-contrib/less-loader#webpackimporter","type":"boolean"},"implementation":{"description":"The implementation of the `Less` to be used.","link":"https://github.com/webpack-contrib/less-loader#implementation","anyOf":[{"type":"string"},{"type":"object"}]}},"additionalProperties":false}')}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var s=t[r]={exports:{}};var o=true;try{e[r](s,s.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return s.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(100);module.exports=r})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"less-loader","author":"Johannes Ewald @jhnns","license":"MIT"}
|
|
1
|
+
{"name":"less-loader","version":"11.1.0","author":"Johannes Ewald @jhnns","license":"MIT"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/* eslint-env browser */
|
|
4
|
-
|
|
5
4
|
/*
|
|
6
5
|
eslint-disable
|
|
7
6
|
no-console,
|
|
@@ -9,122 +8,103 @@
|
|
|
9
8
|
*/
|
|
10
9
|
|
|
11
10
|
/** @typedef {any} TODO */
|
|
12
|
-
var normalizeUrl = require("./normalize-url");
|
|
13
11
|
|
|
12
|
+
var normalizeUrl = require("./normalize-url");
|
|
14
13
|
var srcByModuleId = Object.create(null);
|
|
15
14
|
var noDocument = typeof document === "undefined";
|
|
16
15
|
var forEach = Array.prototype.forEach;
|
|
16
|
+
|
|
17
17
|
/**
|
|
18
18
|
* @param {function} fn
|
|
19
19
|
* @param {number} time
|
|
20
20
|
* @returns {(function(): void)|*}
|
|
21
21
|
*/
|
|
22
|
-
|
|
23
22
|
function debounce(fn, time) {
|
|
24
23
|
var timeout = 0;
|
|
25
24
|
return function () {
|
|
26
25
|
// @ts-ignore
|
|
27
|
-
var self = this;
|
|
28
|
-
|
|
26
|
+
var self = this;
|
|
27
|
+
// eslint-disable-next-line prefer-rest-params
|
|
29
28
|
var args = arguments;
|
|
30
|
-
|
|
31
29
|
var functionCall = function functionCall() {
|
|
32
30
|
return fn.apply(self, args);
|
|
33
31
|
};
|
|
32
|
+
clearTimeout(timeout);
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
// @ts-ignore
|
|
37
35
|
timeout = setTimeout(functionCall, time);
|
|
38
36
|
};
|
|
39
37
|
}
|
|
40
|
-
|
|
41
38
|
function noop() {}
|
|
39
|
+
|
|
42
40
|
/**
|
|
43
41
|
* @param {TODO} moduleId
|
|
44
42
|
* @returns {TODO}
|
|
45
43
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
44
|
function getCurrentScriptUrl(moduleId) {
|
|
49
45
|
var src = srcByModuleId[moduleId];
|
|
50
|
-
|
|
51
46
|
if (!src) {
|
|
52
47
|
if (document.currentScript) {
|
|
53
|
-
src =
|
|
54
|
-
/** @type {HTMLScriptElement} */
|
|
55
|
-
document.currentScript.src;
|
|
48
|
+
src = /** @type {HTMLScriptElement} */document.currentScript.src;
|
|
56
49
|
} else {
|
|
57
50
|
var scripts = document.getElementsByTagName("script");
|
|
58
51
|
var lastScriptTag = scripts[scripts.length - 1];
|
|
59
|
-
|
|
60
52
|
if (lastScriptTag) {
|
|
61
53
|
src = lastScriptTag.src;
|
|
62
54
|
}
|
|
63
55
|
}
|
|
64
|
-
|
|
65
56
|
srcByModuleId[moduleId] = src;
|
|
66
57
|
}
|
|
58
|
+
|
|
67
59
|
/**
|
|
68
60
|
* @param {string} fileMap
|
|
69
61
|
* @returns {null | string[]}
|
|
70
62
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
73
63
|
return function (fileMap) {
|
|
74
64
|
if (!src) {
|
|
75
65
|
return null;
|
|
76
66
|
}
|
|
77
|
-
|
|
78
67
|
var splitResult = src.split(/([^\\/]+)\.js$/);
|
|
79
68
|
var filename = splitResult && splitResult[1];
|
|
80
|
-
|
|
81
69
|
if (!filename) {
|
|
82
70
|
return [src.replace(".js", ".css")];
|
|
83
71
|
}
|
|
84
|
-
|
|
85
72
|
if (!fileMap) {
|
|
86
73
|
return [src.replace(".js", ".css")];
|
|
87
74
|
}
|
|
88
|
-
|
|
89
75
|
return fileMap.split(",").map(function (mapRule) {
|
|
90
76
|
var reg = new RegExp("".concat(filename, "\\.js$"), "g");
|
|
91
77
|
return normalizeUrl(src.replace(reg, "".concat(mapRule.replace(/{fileName}/g, filename), ".css")));
|
|
92
78
|
});
|
|
93
79
|
};
|
|
94
80
|
}
|
|
81
|
+
|
|
95
82
|
/**
|
|
96
83
|
* @param {TODO} el
|
|
97
84
|
* @param {string} [url]
|
|
98
85
|
*/
|
|
99
|
-
|
|
100
|
-
|
|
101
86
|
function updateCss(el, url) {
|
|
102
87
|
if (!url) {
|
|
103
88
|
if (!el.href) {
|
|
104
89
|
return;
|
|
105
|
-
}
|
|
106
|
-
|
|
90
|
+
}
|
|
107
91
|
|
|
92
|
+
// eslint-disable-next-line
|
|
108
93
|
url = el.href.split("?")[0];
|
|
109
94
|
}
|
|
110
|
-
|
|
111
|
-
if (!isUrlRequest(
|
|
112
|
-
/** @type {string} */
|
|
113
|
-
url)) {
|
|
95
|
+
if (!isUrlRequest( /** @type {string} */url)) {
|
|
114
96
|
return;
|
|
115
97
|
}
|
|
116
|
-
|
|
117
98
|
if (el.isLoaded === false) {
|
|
118
99
|
// We seem to be about to replace a css link that hasn't loaded yet.
|
|
119
100
|
// We're probably changing the same file more than once.
|
|
120
101
|
return;
|
|
121
102
|
}
|
|
122
|
-
|
|
123
103
|
if (!url || !(url.indexOf(".css") > -1)) {
|
|
124
104
|
return;
|
|
125
|
-
}
|
|
126
|
-
|
|
105
|
+
}
|
|
127
106
|
|
|
107
|
+
// eslint-disable-next-line no-param-reassign
|
|
128
108
|
el.visited = true;
|
|
129
109
|
var newEl = el.cloneNode();
|
|
130
110
|
newEl.isLoaded = false;
|
|
@@ -132,7 +112,6 @@ function updateCss(el, url) {
|
|
|
132
112
|
if (newEl.isLoaded) {
|
|
133
113
|
return;
|
|
134
114
|
}
|
|
135
|
-
|
|
136
115
|
newEl.isLoaded = true;
|
|
137
116
|
el.parentNode.removeChild(el);
|
|
138
117
|
});
|
|
@@ -140,28 +119,26 @@ function updateCss(el, url) {
|
|
|
140
119
|
if (newEl.isLoaded) {
|
|
141
120
|
return;
|
|
142
121
|
}
|
|
143
|
-
|
|
144
122
|
newEl.isLoaded = true;
|
|
145
123
|
el.parentNode.removeChild(el);
|
|
146
124
|
});
|
|
147
125
|
newEl.href = "".concat(url, "?").concat(Date.now());
|
|
148
|
-
|
|
149
126
|
if (el.nextSibling) {
|
|
150
127
|
el.parentNode.insertBefore(newEl, el.nextSibling);
|
|
151
128
|
} else {
|
|
152
129
|
el.parentNode.appendChild(newEl);
|
|
153
130
|
}
|
|
154
131
|
}
|
|
132
|
+
|
|
155
133
|
/**
|
|
156
134
|
* @param {string} href
|
|
157
135
|
* @param {TODO} src
|
|
158
136
|
* @returns {TODO}
|
|
159
137
|
*/
|
|
160
|
-
|
|
161
|
-
|
|
162
138
|
function getReloadUrl(href, src) {
|
|
163
|
-
var ret;
|
|
139
|
+
var ret;
|
|
164
140
|
|
|
141
|
+
// eslint-disable-next-line no-param-reassign
|
|
165
142
|
href = normalizeUrl(href);
|
|
166
143
|
src.some(
|
|
167
144
|
/**
|
|
@@ -175,34 +152,28 @@ function getReloadUrl(href, src) {
|
|
|
175
152
|
});
|
|
176
153
|
return ret;
|
|
177
154
|
}
|
|
155
|
+
|
|
178
156
|
/**
|
|
179
157
|
* @param {string} [src]
|
|
180
158
|
* @returns {boolean}
|
|
181
159
|
*/
|
|
182
|
-
|
|
183
|
-
|
|
184
160
|
function reloadStyle(src) {
|
|
185
161
|
if (!src) {
|
|
186
162
|
return false;
|
|
187
163
|
}
|
|
188
|
-
|
|
189
164
|
var elements = document.querySelectorAll("link");
|
|
190
165
|
var loaded = false;
|
|
191
166
|
forEach.call(elements, function (el) {
|
|
192
167
|
if (!el.href) {
|
|
193
168
|
return;
|
|
194
169
|
}
|
|
195
|
-
|
|
196
170
|
var url = getReloadUrl(el.href, src);
|
|
197
|
-
|
|
198
171
|
if (!isUrlRequest(url)) {
|
|
199
172
|
return;
|
|
200
173
|
}
|
|
201
|
-
|
|
202
174
|
if (el.visited === true) {
|
|
203
175
|
return;
|
|
204
176
|
}
|
|
205
|
-
|
|
206
177
|
if (url) {
|
|
207
178
|
updateCss(el, url);
|
|
208
179
|
loaded = true;
|
|
@@ -210,57 +181,49 @@ function reloadStyle(src) {
|
|
|
210
181
|
});
|
|
211
182
|
return loaded;
|
|
212
183
|
}
|
|
213
|
-
|
|
214
184
|
function reloadAll() {
|
|
215
185
|
var elements = document.querySelectorAll("link");
|
|
216
186
|
forEach.call(elements, function (el) {
|
|
217
187
|
if (el.visited === true) {
|
|
218
188
|
return;
|
|
219
189
|
}
|
|
220
|
-
|
|
221
190
|
updateCss(el);
|
|
222
191
|
});
|
|
223
192
|
}
|
|
193
|
+
|
|
224
194
|
/**
|
|
225
195
|
* @param {string} url
|
|
226
196
|
* @returns {boolean}
|
|
227
197
|
*/
|
|
228
|
-
|
|
229
|
-
|
|
230
198
|
function isUrlRequest(url) {
|
|
231
199
|
// An URL is not an request if
|
|
200
|
+
|
|
232
201
|
// It is not http or https
|
|
233
202
|
if (!/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(url)) {
|
|
234
203
|
return false;
|
|
235
204
|
}
|
|
236
|
-
|
|
237
205
|
return true;
|
|
238
206
|
}
|
|
207
|
+
|
|
239
208
|
/**
|
|
240
209
|
* @param {TODO} moduleId
|
|
241
210
|
* @param {TODO} options
|
|
242
211
|
* @returns {TODO}
|
|
243
212
|
*/
|
|
244
|
-
|
|
245
|
-
|
|
246
213
|
module.exports = function (moduleId, options) {
|
|
247
214
|
if (noDocument) {
|
|
248
215
|
console.log("no window.document found, will not HMR CSS");
|
|
249
216
|
return noop;
|
|
250
217
|
}
|
|
251
|
-
|
|
252
218
|
var getScriptSrc = getCurrentScriptUrl(moduleId);
|
|
253
|
-
|
|
254
219
|
function update() {
|
|
255
220
|
var src = getScriptSrc(options.filename);
|
|
256
221
|
var reloaded = reloadStyle(src);
|
|
257
|
-
|
|
258
222
|
if (options.locals) {
|
|
259
223
|
console.log("[HMR] Detected local css modules. Reload all css");
|
|
260
224
|
reloadAll();
|
|
261
225
|
return;
|
|
262
226
|
}
|
|
263
|
-
|
|
264
227
|
if (reloaded) {
|
|
265
228
|
console.log("[HMR] css reload %s", src.join(" "));
|
|
266
229
|
} else {
|
|
@@ -268,6 +231,5 @@ module.exports = function (moduleId, options) {
|
|
|
268
231
|
reloadAll();
|
|
269
232
|
}
|
|
270
233
|
}
|
|
271
|
-
|
|
272
234
|
return debounce(update, 50);
|
|
273
235
|
};
|
|
@@ -12,32 +12,24 @@ function normalizeUrl(pathComponents) {
|
|
|
12
12
|
case "..":
|
|
13
13
|
accumulator.pop();
|
|
14
14
|
break;
|
|
15
|
-
|
|
16
15
|
case ".":
|
|
17
16
|
break;
|
|
18
|
-
|
|
19
17
|
default:
|
|
20
18
|
accumulator.push(item);
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
return accumulator;
|
|
24
|
-
},
|
|
25
|
-
/** @type {string[]} */
|
|
26
|
-
[]).join("/");
|
|
21
|
+
}, /** @type {string[]} */[]).join("/");
|
|
27
22
|
}
|
|
23
|
+
|
|
28
24
|
/**
|
|
29
25
|
* @param {string} urlString
|
|
30
26
|
* @returns {string}
|
|
31
27
|
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
28
|
module.exports = function (urlString) {
|
|
35
29
|
urlString = urlString.trim();
|
|
36
|
-
|
|
37
30
|
if (/^data:/i.test(urlString)) {
|
|
38
31
|
return urlString;
|
|
39
32
|
}
|
|
40
|
-
|
|
41
33
|
var protocol = urlString.indexOf("//") !== -1 ? urlString.split("//")[0] + "//" : "";
|
|
42
34
|
var components = urlString.replace(new RegExp(protocol, "i"), "").split("/");
|
|
43
35
|
var host = components[0].toLowerCase().replace(/\.$/, "");
|