@umijs/bundler-webpack 4.0.42 → 4.0.43

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.
Files changed (84) hide show
  1. package/client/utils/formatWebpackMessages.js +27 -8
  2. package/compiled/babel-loader/index.js +8 -2
  3. package/compiled/babel-loader/package.json +1 -1
  4. package/compiled/less-loader/index.js +1 -1
  5. package/compiled/less-loader/package.json +1 -1
  6. package/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js +22 -60
  7. package/compiled/mini-css-extract-plugin/hmr/normalize-url.js +2 -10
  8. package/compiled/mini-css-extract-plugin/index.js +492 -696
  9. package/compiled/mini-css-extract-plugin/loader.js +54 -120
  10. package/compiled/mini-css-extract-plugin/package.json +1 -1
  11. package/compiled/mini-css-extract-plugin/utils.js +27 -44
  12. package/compiled/postcss-loader/index.js +1 -1
  13. package/compiled/postcss-loader/package.json +1 -1
  14. package/compiled/sass-loader/index.js +1 -1
  15. package/compiled/sass-loader/package.json +1 -1
  16. package/compiled/sass-loader/sass.default.dart.js +4 -0
  17. package/compiled/terser/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts +90 -0
  18. package/compiled/terser/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +12 -0
  19. package/compiled/terser/@jridgewell/gen-mapping/dist/types/types.d.ts +35 -0
  20. package/compiled/terser/@jridgewell/source-map/dist/types/source-map.d.ts +25 -0
  21. package/compiled/terser/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
  22. package/compiled/terser/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +74 -0
  23. package/compiled/terser/@jridgewell/trace-mapping/dist/types/types.d.ts +92 -0
  24. package/compiled/terser/index.js +1 -1
  25. package/compiled/terser/package.json +1 -1
  26. package/compiled/terser/tools/terser.d.ts +6 -3
  27. package/compiled/terser-webpack-plugin/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
  28. package/compiled/terser-webpack-plugin/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +74 -0
  29. package/compiled/terser-webpack-plugin/@jridgewell/trace-mapping/dist/types/types.d.ts +92 -0
  30. package/compiled/terser-webpack-plugin/index.js +1211 -3390
  31. package/compiled/terser-webpack-plugin/package.json +1 -1
  32. package/compiled/terser-webpack-plugin/types/index.d.ts +10 -10
  33. package/compiled/terser-webpack-plugin/types/utils.d.ts +10 -9
  34. package/compiled/terser-webpack-plugin/utils.js +36 -10
  35. package/compiled/webpack/package.json +1 -1
  36. package/compiled/webpack/types.d.ts +137 -126
  37. package/compiled/webpack-5-chain/index.js +1 -1
  38. package/compiled/webpack-5-chain/package.json +1 -1
  39. package/compiled/webpack-5-chain/types/index.d.ts +76 -20
  40. package/compiled/webpack-bundle-analyzer/index.js +7 -6
  41. package/compiled/webpack-bundle-analyzer/package.json +1 -1
  42. package/compiled/webpack-bundle-analyzer/public/viewer.js +2 -2
  43. package/compiled/webpack-bundle-analyzer/public/viewer.js.map +1 -1
  44. package/compiled/webpack-dev-middleware/index.js +5 -5
  45. package/compiled/webpack-dev-middleware/package.json +1 -1
  46. package/compiled/ws/LICENSE +13 -12
  47. package/compiled/ws/index.d.ts +73 -33
  48. package/compiled/ws/index.js +1 -1
  49. package/compiled/ws/package.json +1 -1
  50. package/dist/build.js +8 -2
  51. package/dist/cli.js +4 -1
  52. package/dist/config/compressPlugin.js +4 -1
  53. package/dist/config/config.js +41 -11
  54. package/dist/config/cssRules.js +17 -5
  55. package/dist/config/detectDeadCode.js +38 -8
  56. package/dist/config/detectDeadCodePlugin.js +8 -2
  57. package/dist/config/fastRefreshPlugin.js +4 -1
  58. package/dist/config/forkTSCheckerPlugin.js +4 -1
  59. package/dist/config/harmonyLinkingErrorPlugin.js +14 -11
  60. package/dist/config/javaScriptRules.js +10 -5
  61. package/dist/config/miniCSSExtractPlugin.js +4 -1
  62. package/dist/config/progressPlugin.js +9 -2
  63. package/dist/config/speedMeasureWebpackPlugin.js +7 -2
  64. package/dist/config/ssrPlugin.js +20 -6
  65. package/dist/config/svgRules.js +4 -1
  66. package/dist/dev.js +29 -10
  67. package/dist/loader/svgr.js +16 -11
  68. package/dist/loader/swc.js +26 -8
  69. package/dist/parcelCSS.js +4 -1
  70. package/dist/plugins/ProgressPlugin.js +6 -2
  71. package/dist/plugins/RuntimePublicPathPlugin.js +9 -6
  72. package/dist/plugins/_SamplePlugin.d.ts +1 -1
  73. package/dist/plugins/_SamplePlugin.js +1 -1
  74. package/dist/requireHook.js +4 -1
  75. package/dist/schema.js +58 -23
  76. package/dist/server/server.d.ts +1 -4
  77. package/dist/server/server.js +37 -23
  78. package/dist/server/ws.js +8 -3
  79. package/dist/swcPlugins/autoCSSModules.js +4 -1
  80. package/dist/swcPlugins/lockCoreJS.js +8 -2
  81. package/dist/types.d.ts +2 -1
  82. package/dist/utils/formatWebpackMessages.js +31 -9
  83. package/dist/utils/getEsBuildTarget.js +7 -1
  84. 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={937: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},669:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.default=void 0;var n=_interopRequireDefault(r(622));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},988:function(e,t,r){"use strict";e.exports=r(805).default},805:function(e,t,r){"use strict";var n;n={value:true};t.default=void 0;var s=_interopRequireDefault(r(622));var o=_interopRequireDefault(r(359));var i=r(697);var a=_interopRequireDefault(r(669));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},697: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(622));var s=r(937);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}},359: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}')},622:function(e){"use strict";e.exports=require("path")}};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__(988);module.exports=r})();
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; // eslint-disable-next-line prefer-rest-params
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
- clearTimeout(timeout); // @ts-ignore
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
- } // eslint-disable-next-line
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
- } // eslint-disable-next-line no-param-reassign
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; // eslint-disable-next-line no-param-reassign
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(/\.$/, "");