@lwrjs/loader 0.23.12 → 0.23.14

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.
@@ -4,5 +4,5 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Error Shim v0.23.12 */
7
+ /* LWR Error Shim v0.23.14 */
8
8
  !function(){"use strict";const o=globalThis;if(!(o.LWR&&o.LWR.define)){const r=new Error("The LWR application failed to bootstrap");if(!o.LWR||!o.LWR.onError)throw r;o.LWR.onError(r)}}();
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Legacy Module Loader Shim v0.23.12 */
7
+ /* LWR Legacy Module Loader Shim v0.23.14 */
8
8
  (function () {
9
9
  'use strict';
10
10
 
@@ -423,6 +423,11 @@
423
423
 
424
424
  __init() {this.defineCache = {};}
425
425
  __init2() {this.orderedDefs = [];}
426
+ // Snapshot of requiredModules not yet defined. Enables an O(1) readiness check in
427
+ // canInit() instead of re-scanning the growing orderedDefs array on every define().
428
+ // Assigned in the constructor (declared without an initializer, like bootReady, to
429
+ // avoid emitting a throwaway field-init helper in the minified bundle).
430
+
426
431
  __init3() {this.importMapUpdatesCache = {};}
427
432
 
428
433
  // eslint-disable-line no-undef, lwr/no-unguarded-apis
@@ -436,7 +441,10 @@
436
441
  // Parse configuration
437
442
  this.global = global;
438
443
  this.config = global.LWR ;
439
- this.loaderModule = 'lwr/loaderLegacy/v/0_23_12';
444
+ // Snapshot the required modules that still need to be defined. `requiredModules` is
445
+ // fully populated before `new LoaderShim` (see shim-legacy/index.ts), so this is complete.
446
+ this.pendingRequired = new Set(this.config.requiredModules || []);
447
+ this.loaderModule = 'lwr/loaderLegacy/v/0_23_14';
440
448
 
441
449
  // Set up error handler
442
450
  this.errorHandler = this.config.onError ;
@@ -472,9 +480,8 @@
472
480
  }
473
481
  // Initialize the app if:
474
482
  // - bootReady: autoBoot is on OR customInit has finished
475
- // - all required modules are defined
476
- const allDefined = this.config.requiredModules.every((m) => this.orderedDefs.includes(m));
477
- return this.bootReady && allDefined;
483
+ // - all required modules are defined (tracked by the pendingRequired countdown)
484
+ return this.bootReady && this.pendingRequired.size === 0;
478
485
  }
479
486
 
480
487
  /**
@@ -491,6 +498,8 @@
491
498
  const moduleName = args[0];
492
499
  this.defineCache[moduleName] = args;
493
500
  this.orderedDefs.push(moduleName);
501
+ // O(1) countdown: no-op for non-required modules (e.g. the ~hundreds of labels)
502
+ this.pendingRequired.delete(moduleName);
494
503
  if (this.canInit()) {
495
504
  if (hasSetTimeout) {
496
505
  // requiredModules are defined, clear watchdog timer
@@ -636,7 +645,7 @@
636
645
  const exporter = (exports) => {
637
646
  Object.assign(exports, { logOperationStart, logOperationEnd });
638
647
  };
639
- define('lwr/profiler/v/0_23_12', ['exports'], exporter, {});
648
+ define('lwr/profiler/v/0_23_14', ['exports'], exporter, {});
640
649
  }
641
650
 
642
651
  // Set up the application globals, import map, root custom element...
@@ -733,14 +742,14 @@
733
742
  // The loader module is ALWAYS required
734
743
  const GLOBAL = globalThis ;
735
744
  GLOBAL.LWR.requiredModules = GLOBAL.LWR.requiredModules || [];
736
- if (GLOBAL.LWR.requiredModules.indexOf('lwr/loaderLegacy/v/0_23_12') < 0) {
737
- GLOBAL.LWR.requiredModules.push('lwr/loaderLegacy/v/0_23_12');
745
+ if (GLOBAL.LWR.requiredModules.indexOf('lwr/loaderLegacy/v/0_23_14') < 0) {
746
+ GLOBAL.LWR.requiredModules.push('lwr/loaderLegacy/v/0_23_14');
738
747
  }
739
748
  new LoaderShim(GLOBAL);
740
749
 
741
750
  })();
742
751
 
743
- LWR.define('lwr/loaderLegacy/v/0_23_12', ['exports'], (function (exports) { 'use strict';
752
+ LWR.define('lwr/loaderLegacy/v/0_23_14', ['exports'], (function (exports) { 'use strict';
744
753
 
745
754
  const templateRegex = /\{([0-9]+)\}/g;
746
755
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1162,7 +1171,7 @@ LWR.define('lwr/loaderLegacy/v/0_23_12', ['exports'], (function (exports) { 'use
1162
1171
  // swallow
1163
1172
  }
1164
1173
  const trusted = createPolicy('trusted', policyOptions);
1165
- /*! version: 0.28.4 */
1174
+ /*! version: 0.28.5 */
1166
1175
 
1167
1176
  /* global console,process */
1168
1177
 
@@ -4,8 +4,8 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Legacy Module Loader Shim v0.23.12 */
8
- !function(){"use strict";var e=function(e){return e[e.Start=0]="Start",e[e.End=1]="End",e}(e||{});let t;function r(e){t=e}const o=globalThis.performance,n=void 0!==o&&"function"==typeof o.mark&&"function"==typeof o.clearMarks&&"function"==typeof o.measure&&"function"==typeof o.clearMeasures;function i(e,t){return t?`${e}-${t}`:e}function s(e,t,r){const o=i(e,t);return t&&r?`${o}_${r}`:o}function a(e,t){const r=e||t?{...t}:null;return r&&e&&(r.specifier=e),r}function l({id:r,specifier:i,specifierIndex:l,metadata:c}){if(t)t({id:r,phase:e.Start,specifier:i,metadata:c,specifierIndex:l});else if(n){const e=s(r,i,l),t=a(i,c);o.mark(e,{detail:t})}}function c({id:r,specifier:l,specifierIndex:c,metadata:d}){if(t)t({id:r,phase:e.End,specifier:l,metadata:d,specifierIndex:c});else if(n){const e=s(r,l,c),t=i(r,l),n=a(l,d);o.measure(t,{start:e,detail:n}),o.clearMarks(e),o.clearMeasures(t)}}function d(e){const[,t,r]=e;if(Array.isArray(t)&&"function"==typeof r)return{deps:t,factory:r};if("function"==typeof t)return{deps:[],factory:t};throw new Error("Invalid module definition")}function p(e,t,r){if("exports"===e)return t;const o=r[e];if(!o)throw new Error(`Dependency "${e}" not found in defineCache for loader`);try{return function(e){const{deps:t,factory:r}=d(e);if(t.length>1||1===t.length&&"exports"!==t[0])throw new Error(`Loader dependencies must have no deps or only ['exports']; got [${t.join(", ")}]`);const o={},n=r(o);return void 0!==n?n:o}(o)}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Loader dependency "${e}" has invalid definition: ${r}`)}}function u(e,t,r){try{const{deps:e,factory:o}=function(e){const{deps:t,factory:r}=d(e);if(t.includes("exports"))return{deps:t,factory:r};const o=0===t.length;return{deps:["exports",...t],factory:(e,...t)=>{const n=o?r(e):r(...t);void 0!==n&&"object"==typeof n&&Object.assign(e,n)}}}(t),n={};return{factory:o,args:e.map((e=>p(e,n,r))),exportsObj:n}}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Expected loader with specifier "${e}" to be a module. ${r}`)}}function f(e,t,o,n){const{autoBoot:i,customInit:s}=e;if(function(e,t){if(!e&&!t)throw new Error("The customInit hook is required when autoBoot is false");if(e&&t)throw new Error("The customInit hook must not be defined when autoBoot is true")}(i,s),s){s({initializeApp:t,define:o,onBootstrapError:n,attachDispatcher:r},e)}}const h="undefined"!=typeof console;function m(e,t){const r=e.toLowerCase();if(r.startsWith("blob:"))throw new Error(`Cannot map ${t} to blob: URL`);if(r.startsWith("data:"))throw new Error(`Cannot map ${t} to data: URL`)}function g(e){if("string"!=typeof e||0===e.length)throw new Error("Specifier must be a non-empty string")}function E(e,t,r){const o=r[e];void 0!==o?o!==t&&function(e,t,r){h&&console.warn("Package target "+r+", resolving target '"+t+"' for "+e)}(e,t,`already mapped to "${o}", ignoring conflicting mapping`):r[e]=t}function y(e){let t,r=e[0],o=1;for(;o<e.length;){const n=e[o],i=e[o+1];if(o+=2,("optionalAccess"===n||"optionalCall"===n)&&null==r)return;"access"===n||"optionalAccess"===n?(t=r,r=i(r)):"call"!==n&&"optionalCall"!==n||(r=i(((...e)=>r.call(t,...e))),t=void 0)}return r}"undefined"!=typeof process&&process.env;const O="function"==typeof setTimeout,M="undefined"!=typeof console;class R{__init(){this.defineCache={}}__init2(){this.orderedDefs=[]}__init3(){this.importMapUpdatesCache={}}constructor(e){R.prototype.__init.call(this),R.prototype.__init2.call(this),R.prototype.__init3.call(this),O&&(this.watchdogTimerId=this.startWatchdogTimer()),this.global=e,this.config=e.LWR,this.loaderModule="lwr/loaderLegacy/v/0_23_12",this.errorHandler=this.config.onError;const t=this.tempDefine.bind(this);e.LWR.define=t;const r=this.tempImportMap.bind(this);e.LWR.importMap=r,this.bootReady=this.config.autoBoot;try{this.createProfilerModule(e.LWR.define),f(Object.freeze(this.config),this.postCustomInit.bind(this),t,(e=>{this.errorHandler=e}))}catch(e){this.enterErrorState(e)}}canInit(){if(!this.config.requiredModules)throw new Error("Unexpected missing requiredModules");const e=this.config.requiredModules.every((e=>this.orderedDefs.includes(e)));return this.bootReady&&e}tempDefine(...e){const t=e[0];this.defineCache[t]=e,this.orderedDefs.push(t),this.canInit()&&(O&&clearTimeout(this.watchdogTimerId),this.initApp())}tempImportMap(e){try{const t=function(e){if(!e||"object"!=typeof e)throw new Error("LWR.importMap() requires an object argument");const t=Object.entries(e);if(0===t.length)return h&&console.warn("LWR.importMap() called with empty update object"),null;const r={};for(const[e,o]of t){if(!Array.isArray(o))throw new Error("moduleNames must be an array");if(!e||"string"!=typeof e)throw new Error("moduleScriptURL must be a string");m(e,e);for(const t of o)g(t),t in r?h&&console.warn(`LWR.importMap(): duplicate module "${t}" — already mapped to "${r[t]}", ignoring mapping to "${e}"`):r[t]=e}return{imports:r}}(e);if(!t)return;for(const[e,r]of Object.entries(t.imports))E(e,r,this.importMapUpdatesCache)}catch(e){this.enterErrorState(e)}}getImportMappingsWithUpdates(){const e=this.config.importMappings,t={...y([e,"optionalAccess",e=>e.imports])||{}};for(const[e,r]of Object.entries(this.importMapUpdatesCache))E(e,r,t);return{...e||{},imports:t}}postCustomInit(){this.bootReady=!0,this.canInit()&&(O&&clearTimeout(this.watchdogTimerId),this.initApp())}initApp(){try{const e={baseUrl:this.config.baseUrl,profiler:{logOperationStart:l,logOperationEnd:c},appMetadata:{appId:this.config.appId,bootstrapModule:this.config.bootstrapModule,rootComponent:this.config.rootComponent,rootComponents:this.config.rootComponents}},t=function(e,t,r,o,n){if(!t||"function"!=typeof t[2])throw new Error(`Expected loader with specifier "${e}" to be a module`);const i={};if(n){const{factory:r,args:o,exportsObj:s}=u(e,t,n);r(...o),Object.assign(i,s)}else t[2].call(null,i);const{Loader:s}=i;if(!s)throw new Error("Expected Loader class to be defined");const a=new s(r);return o&&o.length&&a.registerExternalModules(o),a.define(e,["exports"],(e=>{Object.assign(e,{define:a.define.bind(a),load:a.load.bind(a),services:a.services,clearRegistry:a.clearRegistry.bind(a)})}),t[3]),a}(this.loaderModule,this.defineCache[this.loaderModule],e,this.config.preloadModules,this.defineCache);this.mountApp(t),t&&t.getModuleWarnings}catch(e){this.enterErrorState(e)}}waitForBody(){return new Promise((e=>{if(document.body)e();else{const t=new MutationObserver((()=>{document.body&&(t.disconnect(),e())}));t.observe(document.documentElement,{childList:!0})}}))}waitForDOMContentLoaded(){return"interactive"===document.readyState||"complete"===document.readyState?Promise.resolve():new Promise((e=>{document.addEventListener("DOMContentLoaded",(()=>{e()}))}))}createProfilerModule(e){e("lwr/profiler/v/0_23_12",["exports"],(e=>{Object.assign(e,{logOperationStart:l,logOperationEnd:c})}),{})}mountApp(e){const{bootstrapModule:t,rootComponent:r,rootComponents:o,serverData:n,endpoints:i}=this.config,s=this.getImportMappingsWithUpdates();this.global.LWR=Object.freeze({define:e.define.bind(e),importMap:e.importMap.bind(e),rootComponent:r,rootComponents:o,serverData:n||{},importMappings:s,endpoints:i,env:this.global.LWR.env}),this.orderedDefs.forEach((t=>{t!==this.loaderModule&&e.define(...this.defineCache[t])}));const{initDeferDOM:a}=this.config;e.registerImportMappings(s).then((()=>"undefined"==typeof window||"undefined"==typeof document?Promise.resolve():a?this.waitForDOMContentLoaded():this.waitForBody())).then((()=>e.load(t))).catch((e=>{this.enterErrorState(new Error(`Application ${r||t} could not be loaded: ${e}`))}))}enterErrorState(e){l({id:"lwr.bootstrap.error"}),this.errorHandler?this.errorHandler(e):M&&console.error(`An error occurred during LWR bootstrap. ${e.message}`,e.stack)}startWatchdogTimer(){return setTimeout((()=>{const e=this.config.requiredModules&&this.config.requiredModules.filter((e=>!this.orderedDefs.includes(e)))||[];this.enterErrorState(new Error(`Failed to load required modules - timed out: ${e.join(", ")}`))}),6e4)}logWarnings(e){for(const t in e)e[t].length&&console.warn(t,e[t])}}const _=globalThis;_.LWR.requiredModules=_.LWR.requiredModules||[],_.LWR.requiredModules.indexOf("lwr/loaderLegacy/v/0_23_12")<0&&_.LWR.requiredModules.push("lwr/loaderLegacy/v/0_23_12"),new R(_)}(),LWR.define("lwr/loaderLegacy/v/0_23_12",["exports"],(function(exports){"use strict";const templateRegex=/\{([0-9]+)\}/g;function templateString(e,t){return e.replace(templateRegex,((e,r)=>t[r]))}function generateErrorMessage(e,t){const r=Array.isArray(t)?templateString(e.message,t):e.message;return`LWR${e.code}: ${r}`}class LoaderError extends Error{constructor(e,t){super(),this.message=generateErrorMessage(e,t)}}function invariant(e,t){if(!e)throw new LoaderError(t)}const MISSING_NAME=Object.freeze({code:3e3,message:"A module name is required.",level:0}),FAIL_INSTANTIATE=Object.freeze({code:3004,message:"Failed to instantiate module: {0}",level:0}),NO_AMD_REQUIRE=Object.freeze({code:3005,message:"AMD require not supported.",level:0}),FAILED_DEP=Object.freeze({code:3006,level:0,message:"Failed to load dependency: {0}"}),INVALID_DEPS=Object.freeze({code:3007,message:"Unexpected value received for dependencies argument; expected an array.",level:0}),FAIL_LOAD=Object.freeze({code:3008,level:0,message:"Error loading {0}"});Object.freeze({code:3008,level:0,message:"Error loading empty code for {0}"});const UNRESOLVED=Object.freeze({code:3009,level:0,message:"Unable to resolve bare specifier: {0}"}),NO_BASE_URL=Object.freeze({code:3010,level:0,message:"baseUrl not set"});Object.freeze({code:3011,level:0,message:"Cannot set a loader service multiple times"});const INVALID_HOOK=Object.freeze({code:3012,level:0,message:"Invalid hook received"}),INVALID_LOADER_SERVICE_RESPONSE=Object.freeze({code:3013,level:0,message:"Invalid response received from hook"}),MODULE_LOAD_TIMEOUT=Object.freeze({code:3014,level:0,message:"Error loading {0} - timed out"}),HTTP_FAIL_LOAD=Object.freeze({code:3015,level:0,message:"Error loading {0}, status code {1}"}),STALE_HOOK_ERROR=Object.freeze({code:3016,level:0,message:"An error occurred handling module conflict"});Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded: {0}"});const FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),EXPORTER_ERROR=Object.freeze({code:3021,level:0,message:'Error evaluating module "{0}", error was {1}'}),NO_IMPORT_LWC=Object.freeze({code:3022,level:0,message:'Cannot dynamically import "lwc" with importer "{0}"'}),NO_BLOB_IMPORT=Object.freeze({code:3023,level:0,message:"Cannot import a blob URL"}),NO_IMPORT_LOADER=Object.freeze({code:3024,level:0,message:'Cannot dynamically import the LWR loader with importer "{0}"'}),NO_IMPORT_TRANSPORT=Object.freeze({code:3025,level:0,message:'Cannot dynamically import "transport" with importer "{0}"'}),BAD_IMPORT_MAP=Object.freeze({code:3011,level:0,message:"import map is not valid"}),hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console,hasProcess="undefined"!=typeof process;function getBaseUrl(){let e;if(hasDocument){const t=document.querySelector("base[href]");e=t&&t.href}if(!e&&"undefined"!=typeof location){e=location.href.split("#")[0].split("?")[0];const t=e.lastIndexOf("/");-1!==t&&(e=e.slice(0,t+1))}return e}function isUrl(e){return-1!==e.indexOf("://")}function resolveIfNotPlainOrUrl(e,t){if(-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/")),"/"===e[0]&&"/"===e[1])return t.slice(0,t.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){const r=t.slice(0,t.indexOf(":")+1);let o;if("/"===t[r.length+1]?"file:"!==r?(o=t.slice(r.length+2),o=o.slice(o.indexOf("/")+1)):o=t.slice(8):o=t.slice(r.length+("/"===t[r.length]?1:0)),"/"===e[0])return t.slice(0,t.length-o.length-1)+e;const n=o.slice(0,o.lastIndexOf("/")+1)+e,i=[];let s=-1;for(let e=0;e<n.length;e++)-1!==s?"/"===n[e]&&(i.push(n.slice(s,e+1)),s=-1):"."===n[e]?"."!==n[e+1]||"/"!==n[e+2]&&e+2!==n.length?"/"===n[e+1]||e+1===n.length?e+=1:s=e:(i.pop(),e+=2):s=e;return-1!==s&&i.push(n.slice(s)),t.slice(0,t.length-o.length)+i.join("")}}function resolveUrl(e,t){return resolveIfNotPlainOrUrl(e,t)||(isUrl(e)?e:resolveIfNotPlainOrUrl("./"+e,t))}function createScript(e){const t=document.createElement("script");return t.async=!0,t.crossOrigin="anonymous",t.src=e,t}let lastWindowError$1,lastWindowErrorUrl;function loadModuleDef(e){return new Promise((function(t,r){if(hasDocument){const o=createScript(e);o.addEventListener("error",(()=>{r(new LoaderError(FAIL_LOAD,[e]))})),o.addEventListener("load",(()=>{document.head.removeChild(o),lastWindowErrorUrl===e?r(lastWindowError$1):t()})),document.head.appendChild(o)}}))}hasProcess&&process.env,hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const MODULE_LOAD_TIMEOUT_TIMER=6e4;var MODULE_WARNING;!function(e){e.MODULE_REDEFINE="Module redefine attempted";e.MODULE_ALREADY_LOADED="Marking module(s) as externally loaded, but they are already loaded";e.ALIAS_UPDATE="Alias update attempt"}(MODULE_WARNING||(MODULE_WARNING={}));
7
+ /* LWR Legacy Module Loader Shim v0.23.14 */
8
+ !function(){"use strict";var e=function(e){return e[e.Start=0]="Start",e[e.End=1]="End",e}(e||{});let t;function r(e){t=e}const o=globalThis.performance,n=void 0!==o&&"function"==typeof o.mark&&"function"==typeof o.clearMarks&&"function"==typeof o.measure&&"function"==typeof o.clearMeasures;function i(e,t){return t?`${e}-${t}`:e}function s(e,t,r){const o=i(e,t);return t&&r?`${o}_${r}`:o}function a(e,t){const r=e||t?{...t}:null;return r&&e&&(r.specifier=e),r}function l({id:r,specifier:i,specifierIndex:l,metadata:c}){if(t)t({id:r,phase:e.Start,specifier:i,metadata:c,specifierIndex:l});else if(n){const e=s(r,i,l),t=a(i,c);o.mark(e,{detail:t})}}function c({id:r,specifier:l,specifierIndex:c,metadata:d}){if(t)t({id:r,phase:e.End,specifier:l,metadata:d,specifierIndex:c});else if(n){const e=s(r,l,c),t=i(r,l),n=a(l,d);o.measure(t,{start:e,detail:n}),o.clearMarks(e),o.clearMeasures(t)}}function d(e){const[,t,r]=e;if(Array.isArray(t)&&"function"==typeof r)return{deps:t,factory:r};if("function"==typeof t)return{deps:[],factory:t};throw new Error("Invalid module definition")}function p(e,t,r){if("exports"===e)return t;const o=r[e];if(!o)throw new Error(`Dependency "${e}" not found in defineCache for loader`);try{return function(e){const{deps:t,factory:r}=d(e);if(t.length>1||1===t.length&&"exports"!==t[0])throw new Error(`Loader dependencies must have no deps or only ['exports']; got [${t.join(", ")}]`);const o={},n=r(o);return void 0!==n?n:o}(o)}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Loader dependency "${e}" has invalid definition: ${r}`)}}function u(e,t,r){try{const{deps:e,factory:o}=function(e){const{deps:t,factory:r}=d(e);if(t.includes("exports"))return{deps:t,factory:r};const o=0===t.length;return{deps:["exports",...t],factory:(e,...t)=>{const n=o?r(e):r(...t);void 0!==n&&"object"==typeof n&&Object.assign(e,n)}}}(t),n={};return{factory:o,args:e.map((e=>p(e,n,r))),exportsObj:n}}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Expected loader with specifier "${e}" to be a module. ${r}`)}}function f(e,t,o,n){const{autoBoot:i,customInit:s}=e;if(function(e,t){if(!e&&!t)throw new Error("The customInit hook is required when autoBoot is false");if(e&&t)throw new Error("The customInit hook must not be defined when autoBoot is true")}(i,s),s){s({initializeApp:t,define:o,onBootstrapError:n,attachDispatcher:r},e)}}const h="undefined"!=typeof console;function m(e,t){const r=e.toLowerCase();if(r.startsWith("blob:"))throw new Error(`Cannot map ${t} to blob: URL`);if(r.startsWith("data:"))throw new Error(`Cannot map ${t} to data: URL`)}function g(e){if("string"!=typeof e||0===e.length)throw new Error("Specifier must be a non-empty string")}function E(e,t,r){const o=r[e];void 0!==o?o!==t&&function(e,t,r){h&&console.warn("Package target "+r+", resolving target '"+t+"' for "+e)}(e,t,`already mapped to "${o}", ignoring conflicting mapping`):r[e]=t}function y(e){let t,r=e[0],o=1;for(;o<e.length;){const n=e[o],i=e[o+1];if(o+=2,("optionalAccess"===n||"optionalCall"===n)&&null==r)return;"access"===n||"optionalAccess"===n?(t=r,r=i(r)):"call"!==n&&"optionalCall"!==n||(r=i(((...e)=>r.call(t,...e))),t=void 0)}return r}"undefined"!=typeof process&&process.env;const O="function"==typeof setTimeout,R="undefined"!=typeof console;class M{__init(){this.defineCache={}}__init2(){this.orderedDefs=[]}__init3(){this.importMapUpdatesCache={}}constructor(e){M.prototype.__init.call(this),M.prototype.__init2.call(this),M.prototype.__init3.call(this),O&&(this.watchdogTimerId=this.startWatchdogTimer()),this.global=e,this.config=e.LWR,this.pendingRequired=new Set(this.config.requiredModules||[]),this.loaderModule="lwr/loaderLegacy/v/0_23_14",this.errorHandler=this.config.onError;const t=this.tempDefine.bind(this);e.LWR.define=t;const r=this.tempImportMap.bind(this);e.LWR.importMap=r,this.bootReady=this.config.autoBoot;try{this.createProfilerModule(e.LWR.define),f(Object.freeze(this.config),this.postCustomInit.bind(this),t,(e=>{this.errorHandler=e}))}catch(e){this.enterErrorState(e)}}canInit(){if(!this.config.requiredModules)throw new Error("Unexpected missing requiredModules");return this.bootReady&&0===this.pendingRequired.size}tempDefine(...e){const t=e[0];this.defineCache[t]=e,this.orderedDefs.push(t),this.pendingRequired.delete(t),this.canInit()&&(O&&clearTimeout(this.watchdogTimerId),this.initApp())}tempImportMap(e){try{const t=function(e){if(!e||"object"!=typeof e)throw new Error("LWR.importMap() requires an object argument");const t=Object.entries(e);if(0===t.length)return h&&console.warn("LWR.importMap() called with empty update object"),null;const r={};for(const[e,o]of t){if(!Array.isArray(o))throw new Error("moduleNames must be an array");if(!e||"string"!=typeof e)throw new Error("moduleScriptURL must be a string");m(e,e);for(const t of o)g(t),t in r?h&&console.warn(`LWR.importMap(): duplicate module "${t}" — already mapped to "${r[t]}", ignoring mapping to "${e}"`):r[t]=e}return{imports:r}}(e);if(!t)return;for(const[e,r]of Object.entries(t.imports))E(e,r,this.importMapUpdatesCache)}catch(e){this.enterErrorState(e)}}getImportMappingsWithUpdates(){const e=this.config.importMappings,t={...y([e,"optionalAccess",e=>e.imports])||{}};for(const[e,r]of Object.entries(this.importMapUpdatesCache))E(e,r,t);return{...e||{},imports:t}}postCustomInit(){this.bootReady=!0,this.canInit()&&(O&&clearTimeout(this.watchdogTimerId),this.initApp())}initApp(){try{const e={baseUrl:this.config.baseUrl,profiler:{logOperationStart:l,logOperationEnd:c},appMetadata:{appId:this.config.appId,bootstrapModule:this.config.bootstrapModule,rootComponent:this.config.rootComponent,rootComponents:this.config.rootComponents}},t=function(e,t,r,o,n){if(!t||"function"!=typeof t[2])throw new Error(`Expected loader with specifier "${e}" to be a module`);const i={};if(n){const{factory:r,args:o,exportsObj:s}=u(e,t,n);r(...o),Object.assign(i,s)}else t[2].call(null,i);const{Loader:s}=i;if(!s)throw new Error("Expected Loader class to be defined");const a=new s(r);return o&&o.length&&a.registerExternalModules(o),a.define(e,["exports"],(e=>{Object.assign(e,{define:a.define.bind(a),load:a.load.bind(a),services:a.services,clearRegistry:a.clearRegistry.bind(a)})}),t[3]),a}(this.loaderModule,this.defineCache[this.loaderModule],e,this.config.preloadModules,this.defineCache);this.mountApp(t),t&&t.getModuleWarnings}catch(e){this.enterErrorState(e)}}waitForBody(){return new Promise((e=>{if(document.body)e();else{const t=new MutationObserver((()=>{document.body&&(t.disconnect(),e())}));t.observe(document.documentElement,{childList:!0})}}))}waitForDOMContentLoaded(){return"interactive"===document.readyState||"complete"===document.readyState?Promise.resolve():new Promise((e=>{document.addEventListener("DOMContentLoaded",(()=>{e()}))}))}createProfilerModule(e){e("lwr/profiler/v/0_23_14",["exports"],(e=>{Object.assign(e,{logOperationStart:l,logOperationEnd:c})}),{})}mountApp(e){const{bootstrapModule:t,rootComponent:r,rootComponents:o,serverData:n,endpoints:i}=this.config,s=this.getImportMappingsWithUpdates();this.global.LWR=Object.freeze({define:e.define.bind(e),importMap:e.importMap.bind(e),rootComponent:r,rootComponents:o,serverData:n||{},importMappings:s,endpoints:i,env:this.global.LWR.env}),this.orderedDefs.forEach((t=>{t!==this.loaderModule&&e.define(...this.defineCache[t])}));const{initDeferDOM:a}=this.config;e.registerImportMappings(s).then((()=>"undefined"==typeof window||"undefined"==typeof document?Promise.resolve():a?this.waitForDOMContentLoaded():this.waitForBody())).then((()=>e.load(t))).catch((e=>{this.enterErrorState(new Error(`Application ${r||t} could not be loaded: ${e}`))}))}enterErrorState(e){l({id:"lwr.bootstrap.error"}),this.errorHandler?this.errorHandler(e):R&&console.error(`An error occurred during LWR bootstrap. ${e.message}`,e.stack)}startWatchdogTimer(){return setTimeout((()=>{const e=this.config.requiredModules&&this.config.requiredModules.filter((e=>!this.orderedDefs.includes(e)))||[];this.enterErrorState(new Error(`Failed to load required modules - timed out: ${e.join(", ")}`))}),6e4)}logWarnings(e){for(const t in e)e[t].length&&console.warn(t,e[t])}}const _=globalThis;_.LWR.requiredModules=_.LWR.requiredModules||[],_.LWR.requiredModules.indexOf("lwr/loaderLegacy/v/0_23_14")<0&&_.LWR.requiredModules.push("lwr/loaderLegacy/v/0_23_14"),new M(_)}(),LWR.define("lwr/loaderLegacy/v/0_23_14",["exports"],(function(exports){"use strict";const templateRegex=/\{([0-9]+)\}/g;function templateString(e,t){return e.replace(templateRegex,((e,r)=>t[r]))}function generateErrorMessage(e,t){const r=Array.isArray(t)?templateString(e.message,t):e.message;return`LWR${e.code}: ${r}`}class LoaderError extends Error{constructor(e,t){super(),this.message=generateErrorMessage(e,t)}}function invariant(e,t){if(!e)throw new LoaderError(t)}const MISSING_NAME=Object.freeze({code:3e3,message:"A module name is required.",level:0}),FAIL_INSTANTIATE=Object.freeze({code:3004,message:"Failed to instantiate module: {0}",level:0}),NO_AMD_REQUIRE=Object.freeze({code:3005,message:"AMD require not supported.",level:0}),FAILED_DEP=Object.freeze({code:3006,level:0,message:"Failed to load dependency: {0}"}),INVALID_DEPS=Object.freeze({code:3007,message:"Unexpected value received for dependencies argument; expected an array.",level:0}),FAIL_LOAD=Object.freeze({code:3008,level:0,message:"Error loading {0}"});Object.freeze({code:3008,level:0,message:"Error loading empty code for {0}"});const UNRESOLVED=Object.freeze({code:3009,level:0,message:"Unable to resolve bare specifier: {0}"}),NO_BASE_URL=Object.freeze({code:3010,level:0,message:"baseUrl not set"});Object.freeze({code:3011,level:0,message:"Cannot set a loader service multiple times"});const INVALID_HOOK=Object.freeze({code:3012,level:0,message:"Invalid hook received"}),INVALID_LOADER_SERVICE_RESPONSE=Object.freeze({code:3013,level:0,message:"Invalid response received from hook"}),MODULE_LOAD_TIMEOUT=Object.freeze({code:3014,level:0,message:"Error loading {0} - timed out"}),HTTP_FAIL_LOAD=Object.freeze({code:3015,level:0,message:"Error loading {0}, status code {1}"}),STALE_HOOK_ERROR=Object.freeze({code:3016,level:0,message:"An error occurred handling module conflict"});Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded: {0}"});const FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),EXPORTER_ERROR=Object.freeze({code:3021,level:0,message:'Error evaluating module "{0}", error was {1}'}),NO_IMPORT_LWC=Object.freeze({code:3022,level:0,message:'Cannot dynamically import "lwc" with importer "{0}"'}),NO_BLOB_IMPORT=Object.freeze({code:3023,level:0,message:"Cannot import a blob URL"}),NO_IMPORT_LOADER=Object.freeze({code:3024,level:0,message:'Cannot dynamically import the LWR loader with importer "{0}"'}),NO_IMPORT_TRANSPORT=Object.freeze({code:3025,level:0,message:'Cannot dynamically import "transport" with importer "{0}"'}),BAD_IMPORT_MAP=Object.freeze({code:3011,level:0,message:"import map is not valid"}),hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console,hasProcess="undefined"!=typeof process;function getBaseUrl(){let e;if(hasDocument){const t=document.querySelector("base[href]");e=t&&t.href}if(!e&&"undefined"!=typeof location){e=location.href.split("#")[0].split("?")[0];const t=e.lastIndexOf("/");-1!==t&&(e=e.slice(0,t+1))}return e}function isUrl(e){return-1!==e.indexOf("://")}function resolveIfNotPlainOrUrl(e,t){if(-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/")),"/"===e[0]&&"/"===e[1])return t.slice(0,t.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){const r=t.slice(0,t.indexOf(":")+1);let o;if("/"===t[r.length+1]?"file:"!==r?(o=t.slice(r.length+2),o=o.slice(o.indexOf("/")+1)):o=t.slice(8):o=t.slice(r.length+("/"===t[r.length]?1:0)),"/"===e[0])return t.slice(0,t.length-o.length-1)+e;const n=o.slice(0,o.lastIndexOf("/")+1)+e,i=[];let s=-1;for(let e=0;e<n.length;e++)-1!==s?"/"===n[e]&&(i.push(n.slice(s,e+1)),s=-1):"."===n[e]?"."!==n[e+1]||"/"!==n[e+2]&&e+2!==n.length?"/"===n[e+1]||e+1===n.length?e+=1:s=e:(i.pop(),e+=2):s=e;return-1!==s&&i.push(n.slice(s)),t.slice(0,t.length-o.length)+i.join("")}}function resolveUrl(e,t){return resolveIfNotPlainOrUrl(e,t)||(isUrl(e)?e:resolveIfNotPlainOrUrl("./"+e,t))}function createScript(e){const t=document.createElement("script");return t.async=!0,t.crossOrigin="anonymous",t.src=e,t}let lastWindowError$1,lastWindowErrorUrl;function loadModuleDef(e){return new Promise((function(t,r){if(hasDocument){const o=createScript(e);o.addEventListener("error",(()=>{r(new LoaderError(FAIL_LOAD,[e]))})),o.addEventListener("load",(()=>{document.head.removeChild(o),lastWindowErrorUrl===e?r(lastWindowError$1):t()})),document.head.appendChild(o)}}))}hasProcess&&process.env,hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const MODULE_LOAD_TIMEOUT_TIMER=6e4;var MODULE_WARNING;!function(e){e.MODULE_REDEFINE="Module redefine attempted";e.MODULE_ALREADY_LOADED="Marking module(s) as externally loaded, but they are already loaded";e.ALIAS_UPDATE="Alias update attempt"}(MODULE_WARNING||(MODULE_WARNING={}));
9
9
  /*!
10
10
  * Copyright (C) 2023 salesforce.com, inc.
11
11
  */
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Legacy Module Loader Shim v0.23.12 */
7
+ /* LWR Legacy Module Loader Shim v0.23.14 */
8
8
  (function () {
9
9
  'use strict';
10
10
 
@@ -423,6 +423,11 @@
423
423
 
424
424
  __init() {this.defineCache = {};}
425
425
  __init2() {this.orderedDefs = [];}
426
+ // Snapshot of requiredModules not yet defined. Enables an O(1) readiness check in
427
+ // canInit() instead of re-scanning the growing orderedDefs array on every define().
428
+ // Assigned in the constructor (declared without an initializer, like bootReady, to
429
+ // avoid emitting a throwaway field-init helper in the minified bundle).
430
+
426
431
  __init3() {this.importMapUpdatesCache = {};}
427
432
 
428
433
  // eslint-disable-line no-undef, lwr/no-unguarded-apis
@@ -436,7 +441,10 @@
436
441
  // Parse configuration
437
442
  this.global = global;
438
443
  this.config = global.LWR ;
439
- this.loaderModule = 'lwr/loaderLegacy/v/0_23_12';
444
+ // Snapshot the required modules that still need to be defined. `requiredModules` is
445
+ // fully populated before `new LoaderShim` (see shim-legacy/index.ts), so this is complete.
446
+ this.pendingRequired = new Set(this.config.requiredModules || []);
447
+ this.loaderModule = 'lwr/loaderLegacy/v/0_23_14';
440
448
 
441
449
  // Set up error handler
442
450
  this.errorHandler = this.config.onError ;
@@ -472,9 +480,8 @@
472
480
  }
473
481
  // Initialize the app if:
474
482
  // - bootReady: autoBoot is on OR customInit has finished
475
- // - all required modules are defined
476
- const allDefined = this.config.requiredModules.every((m) => this.orderedDefs.includes(m));
477
- return this.bootReady && allDefined;
483
+ // - all required modules are defined (tracked by the pendingRequired countdown)
484
+ return this.bootReady && this.pendingRequired.size === 0;
478
485
  }
479
486
 
480
487
  /**
@@ -491,6 +498,8 @@
491
498
  const moduleName = args[0];
492
499
  this.defineCache[moduleName] = args;
493
500
  this.orderedDefs.push(moduleName);
501
+ // O(1) countdown: no-op for non-required modules (e.g. the ~hundreds of labels)
502
+ this.pendingRequired.delete(moduleName);
494
503
  if (this.canInit()) {
495
504
  if (hasSetTimeout) {
496
505
  // requiredModules are defined, clear watchdog timer
@@ -636,7 +645,7 @@
636
645
  const exporter = (exports) => {
637
646
  Object.assign(exports, { logOperationStart, logOperationEnd });
638
647
  };
639
- define('lwr/profiler/v/0_23_12', ['exports'], exporter, {});
648
+ define('lwr/profiler/v/0_23_14', ['exports'], exporter, {});
640
649
  }
641
650
 
642
651
  // Set up the application globals, import map, root custom element...
@@ -733,8 +742,8 @@
733
742
  // The loader module is ALWAYS required
734
743
  const GLOBAL = globalThis ;
735
744
  GLOBAL.LWR.requiredModules = GLOBAL.LWR.requiredModules || [];
736
- if (GLOBAL.LWR.requiredModules.indexOf('lwr/loaderLegacy/v/0_23_12') < 0) {
737
- GLOBAL.LWR.requiredModules.push('lwr/loaderLegacy/v/0_23_12');
745
+ if (GLOBAL.LWR.requiredModules.indexOf('lwr/loaderLegacy/v/0_23_14') < 0) {
746
+ GLOBAL.LWR.requiredModules.push('lwr/loaderLegacy/v/0_23_14');
738
747
  }
739
748
  new LoaderShim(GLOBAL);
740
749
 
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Module Loader Shim v0.23.12 */
7
+ /* LWR Module Loader Shim v0.23.14 */
8
8
  (function () {
9
9
  'use strict';
10
10
 
@@ -297,6 +297,11 @@
297
297
 
298
298
  __init() {this.defineCache = {};}
299
299
  __init2() {this.orderedDefs = [];}
300
+ // Snapshot of requiredModules not yet defined. Enables an O(1) readiness check in
301
+ // canInit() instead of re-scanning the growing orderedDefs array on every define().
302
+ // Assigned in the constructor (declared without an initializer, like bootReady, to
303
+ // avoid emitting a throwaway field-init helper in the minified bundle).
304
+
300
305
 
301
306
  // eslint-disable-line no-undef, lwr/no-unguarded-apis
302
307
 
@@ -310,7 +315,10 @@
310
315
  // Parse configuration
311
316
  this.global = global;
312
317
  this.config = global.LWR ;
313
- this.loaderSpecifier = 'lwr/loader/v/0_23_12';
318
+ // Snapshot the required modules that still need to be defined. `requiredModules` is
319
+ // fully populated before `new LoaderShim` (see shim/index.ts), so this is complete.
320
+ this.pendingRequired = new Set(this.config.requiredModules || []);
321
+ this.loaderSpecifier = 'lwr/loader/v/0_23_14';
314
322
 
315
323
  // Set up error handler
316
324
  this.errorHandler = this.config.onError ;
@@ -347,9 +355,8 @@
347
355
  }
348
356
  // Initialize the app if:
349
357
  // - bootReady: autoBoot is on OR customInit has finished
350
- // - all required modules are defined
351
- const allDefined = this.config.requiredModules.every((m) => this.orderedDefs.includes(m));
352
- return this.bootReady && allDefined;
358
+ // - all required modules are defined (tracked by the pendingRequired countdown)
359
+ return this.bootReady && this.pendingRequired.size === 0;
353
360
  }
354
361
 
355
362
  /**
@@ -366,6 +373,8 @@
366
373
  const moduleName = args[0];
367
374
  this.defineCache[moduleName] = args;
368
375
  this.orderedDefs.push(moduleName);
376
+ // O(1) countdown: no-op for non-required modules (e.g. the ~hundreds of labels)
377
+ this.pendingRequired.delete(moduleName);
369
378
  if (this.canInit()) {
370
379
  if (hasSetTimeout) {
371
380
  // requiredModules are defined, clear watchdog timer
@@ -474,7 +483,7 @@
474
483
  const exporter = (exports) => {
475
484
  Object.assign(exports, { logOperationStart, logOperationEnd });
476
485
  };
477
- define('lwr/profiler/v/0_23_12', ['exports'], exporter);
486
+ define('lwr/profiler/v/0_23_14', ['exports'], exporter);
478
487
  }
479
488
 
480
489
  // Set up the application globals, import map, root custom element...
@@ -575,14 +584,14 @@
575
584
  // The loader module is ALWAYS required
576
585
  const GLOBAL = globalThis ;
577
586
  GLOBAL.LWR.requiredModules = GLOBAL.LWR.requiredModules || [];
578
- if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_23_12') < 0) {
579
- GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_23_12');
587
+ if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_23_14') < 0) {
588
+ GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_23_14');
580
589
  }
581
590
  new LoaderShim(GLOBAL);
582
591
 
583
592
  })();
584
593
 
585
- LWR.define('lwr/loader/v/0_23_12', ['exports'], (function (exports) { 'use strict';
594
+ LWR.define('lwr/loader/v/0_23_14', ['exports'], (function (exports) { 'use strict';
586
595
 
587
596
  const templateRegex = /\{([0-9]+)\}/g;
588
597
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1300,7 +1309,7 @@ LWR.define('lwr/loader/v/0_23_12', ['exports'], (function (exports) { 'use stric
1300
1309
  // swallow
1301
1310
  }
1302
1311
  const trusted = createPolicy('trusted', policyOptions);
1303
- /*! version: 0.28.4 */
1312
+ /*! version: 0.28.5 */
1304
1313
 
1305
1314
  /* global console,process */
1306
1315
 
@@ -4,8 +4,8 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Module Loader Shim v0.23.12 */
8
- !function(){"use strict";var e=function(e){return e[e.Start=0]="Start",e[e.End=1]="End",e}(e||{});let t;function r(e){t=e}const o=globalThis.performance,i=void 0!==o&&"function"==typeof o.mark&&"function"==typeof o.clearMarks&&"function"==typeof o.measure&&"function"==typeof o.clearMeasures;function n(e,t){return t?`${e}-${t}`:e}function s(e,t,r){const o=n(e,t);return t&&r?`${o}_${r}`:o}function a(e,t){const r=e||t?{...t}:null;return r&&e&&(r.specifier=e),r}function l({id:r,specifier:n,specifierIndex:l,metadata:d}){if(t)t({id:r,phase:e.Start,specifier:n,metadata:d,specifierIndex:l});else if(i){const e=s(r,n,l),t=a(n,d);o.mark(e,{detail:t})}}function d({id:r,specifier:l,specifierIndex:d,metadata:c}){if(t)t({id:r,phase:e.End,specifier:l,metadata:c,specifierIndex:d});else if(i){const e=s(r,l,d),t=n(r,l),i=a(l,c);o.measure(t,{start:e,detail:i}),o.clearMarks(e),o.clearMeasures(t)}}function c(e){const[,t,r]=e;if(Array.isArray(t)&&"function"==typeof r)return{deps:t,factory:r};if("function"==typeof t)return{deps:[],factory:t};throw new Error("Invalid module definition")}function p(e,t,r){if("exports"===e)return t;const o=r[e];if(!o)throw new Error(`Dependency "${e}" not found in defineCache for loader`);try{return function(e){const{deps:t,factory:r}=c(e);if(t.length>1||1===t.length&&"exports"!==t[0])throw new Error(`Loader dependencies must have no deps or only ['exports']; got [${t.join(", ")}]`);const o={},i=r(o);return void 0!==i?i:o}(o)}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Loader dependency "${e}" has invalid definition: ${r}`)}}function u(e,t,r){try{const{deps:e,factory:o}=function(e){const{deps:t,factory:r}=c(e);if(t.includes("exports"))return{deps:t,factory:r};const o=0===t.length;return{deps:["exports",...t],factory:(e,...t)=>{const i=o?r(e):r(...t);void 0!==i&&"object"==typeof i&&Object.assign(e,i)}}}(t),i={};return{factory:o,args:e.map((e=>p(e,i,r))),exportsObj:i}}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Expected loader with specifier "${e}" to be a module. ${r}`)}}function f(e,t,o,i){const{autoBoot:n,customInit:s}=e;if(function(e,t){if(!e&&!t)throw new Error("The customInit hook is required when autoBoot is false");if(e&&t)throw new Error("The customInit hook must not be defined when autoBoot is true")}(n,s),s){s({initializeApp:t,define:o,onBootstrapError:i,attachDispatcher:r},e)}}const h="function"==typeof setTimeout,g="undefined"!=typeof console;class m{__init(){this.defineCache={}}__init2(){this.orderedDefs=[]}constructor(e){m.prototype.__init.call(this),m.prototype.__init2.call(this),h&&(this.watchdogTimerId=this.startWatchdogTimer()),this.global=e,this.config=e.LWR,this.loaderSpecifier="lwr/loader/v/0_23_12",this.errorHandler=this.config.onError,this.initAppHandler=this.config.onInitApp;const t=this.tempDefine.bind(this);e.LWR.define=t,this.bootReady=this.config.autoBoot;try{this.createProfilerModule(e.LWR.define),f(Object.freeze(this.config),this.postCustomInit.bind(this),t,(e=>{this.errorHandler=e}))}catch(e){this.enterErrorState(e)}}canInit(){if(!this.config.requiredModules)throw new Error("Unexpected missing requiredModules");const e=this.config.requiredModules.every((e=>this.orderedDefs.includes(e)));return this.bootReady&&e}tempDefine(...e){const t=e[0];this.defineCache[t]=e,this.orderedDefs.push(t),this.canInit()&&(h&&clearTimeout(this.watchdogTimerId),this.initApp())}postCustomInit(){this.bootReady=!0,this.canInit()&&(h&&clearTimeout(this.watchdogTimerId),this.initApp())}initApp(){try{this.initAppHandler&&this.initAppHandler()}catch(e){console.error(`An error occurred in the onInitApp function. ${e.message}`,e.stack)}try{const e={endpoints:this.config.endpoints,baseUrl:this.config.baseUrl,profiler:{logOperationStart:l,logOperationEnd:d},appMetadata:{appId:this.config.appId,bootstrapModule:this.config.bootstrapModule,rootComponent:this.config.rootComponent,rootComponents:this.config.rootComponents}},t=function(e,t,r,o,i){if(!t||"function"!=typeof t[2])throw new Error(`Expected loader with specifier "${e}" to be a module`);const n={};if(i){const{factory:r,args:o,exportsObj:s}=u(e,t,i);r(...o),Object.assign(n,s)}else t[2].call(null,n);const{Loader:s}=n;if(!s)throw new Error("Expected Loader class to be defined");const a=new s(r);return o&&o.length&&a.registerExternalModules(o),a.define(e,["exports"],(e=>{Object.assign(e,{define:a.define.bind(a),load:a.load.bind(a),services:a.services})})),a}(this.loaderSpecifier,this.defineCache[this.loaderSpecifier],e,this.config.preloadModules,this.defineCache);this.mountApp(t),t&&t.getModuleWarnings}catch(e){this.enterErrorState(e)}}waitForBody(){return new Promise((e=>{if(document.body)e();else{const t=new MutationObserver((()=>{document.body&&(t.disconnect(),e())}));t.observe(document.documentElement,{childList:!0})}}))}waitForDOMContentLoaded(){return"interactive"===document.readyState||"complete"===document.readyState?Promise.resolve():new Promise((e=>{document.addEventListener("DOMContentLoaded",(()=>{e()}))}))}createProfilerModule(e){e("lwr/profiler/v/0_23_12",["exports"],(e=>{Object.assign(e,{logOperationStart:l,logOperationEnd:d})}))}mountApp(e){const{bootstrapModule:t,rootComponent:r,rootComponents:o,serverData:i,endpoints:n,imports:s,index:a}=this.config,l=s||{};this.global.LWR=Object.freeze({define:e.define.bind(e),importMap:t=>e.importMap(t),rootComponent:r,rootComponents:o,serverData:i||{},endpoints:n,imports:l,index:a||{},env:this.global.LWR.env}),this.orderedDefs.forEach((t=>{t!==this.loaderSpecifier&&e.define(...this.defineCache[t])}));const{initDeferDOM:d}=this.config;e.importMap({imports:l,index:a},[t,r]).then((()=>"undefined"==typeof window||"undefined"==typeof document?Promise.resolve():d?this.waitForDOMContentLoaded():this.waitForBody())).then((()=>e.load(t))).catch((e=>{this.enterErrorState(new Error(`Application ${r||t} could not be loaded: ${e}`))}))}enterErrorState(e){l({id:"lwr.bootstrap.error"}),this.errorHandler?this.errorHandler(e):g&&console.error(`An error occurred during LWR bootstrap. ${e.message}`,e.stack)}startWatchdogTimer(){return setTimeout((()=>{const e=this.config.requiredModules&&this.config.requiredModules.filter((e=>!this.orderedDefs.includes(e)))||[];this.enterErrorState(new Error(`Failed to load required modules - timed out: ${e.join(", ")}`))}),6e4)}logWarnings(e){for(const t in e)e[t].length&&console.warn(t,e[t])}}const E=globalThis;E.LWR.requiredModules=E.LWR.requiredModules||[],E.LWR.requiredModules.indexOf("lwr/loader/v/0_23_12")<0&&E.LWR.requiredModules.push("lwr/loader/v/0_23_12"),new m(E)}(),LWR.define("lwr/loader/v/0_23_12",["exports"],(function(exports){"use strict";const templateRegex=/\{([0-9]+)\}/g;function templateString(e,t){return e.replace(templateRegex,((e,r)=>t[r]))}function generateErrorMessage(e,t){const r=Array.isArray(t)?templateString(e.message,t):e.message;return`LWR${e.code}: ${r}`}class LoaderError extends Error{constructor(e,t){super(),this.message=generateErrorMessage(e,t)}}function invariant(e,t){if(!e)throw new LoaderError(t)}const MISSING_NAME=Object.freeze({code:3e3,message:"A module name is required.",level:0}),FAIL_INSTANTIATE=Object.freeze({code:3004,message:"Failed to instantiate module: {0}",level:0}),NO_AMD_REQUIRE=Object.freeze({code:3005,message:"AMD require not supported.",level:0}),FAILED_DEP=Object.freeze({code:3006,level:0,message:"Failed to load dependency: {0}"}),INVALID_DEPS=Object.freeze({code:3007,message:"Unexpected value received for dependencies argument; expected an array.",level:0}),FAIL_LOAD=Object.freeze({code:3008,level:0,message:"Error loading {0}"});Object.freeze({code:3008,level:0,message:"Error loading empty code for {0}"});const UNRESOLVED=Object.freeze({code:3009,level:0,message:"Unable to resolve bare specifier: {0}"}),NO_BASE_URL=Object.freeze({code:3010,level:0,message:"baseUrl not set"});Object.freeze({code:3011,level:0,message:"Cannot set a loader service multiple times"});const INVALID_HOOK=Object.freeze({code:3012,level:0,message:"Invalid hook received"}),INVALID_LOADER_SERVICE_RESPONSE=Object.freeze({code:3013,level:0,message:"Invalid response received from hook"}),MODULE_LOAD_TIMEOUT=Object.freeze({code:3014,level:0,message:"Error loading {0} - timed out"}),HTTP_FAIL_LOAD=Object.freeze({code:3015,level:0,message:"Error loading {0}, status code {1}"}),STALE_HOOK_ERROR=Object.freeze({code:3016,level:0,message:"An error occurred handling module conflict"});Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded:"});const FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),NO_MAPPING_URL=Object.freeze({code:3019,level:0,message:"Mapping endpoint not set"}),BAD_IMPORT_METADATA=Object.freeze({code:3020,level:0,message:"Invalid import metadata: {0} {1}"}),EXPORTER_ERROR=Object.freeze({code:3021,level:0,message:'Error evaluating module "{0}", error was "{1}"'}),UNRESOLVEABLE_MAPPING_ERROR=Object.freeze({code:3022,level:0,message:'Unexpected undefined URI resolving mapping for "{0}"'}),NO_IMPORT_LWC=Object.freeze({code:3023,level:0,message:'Cannot dynamically import "lwc" with importer "{0}"'}),NO_IMPORT_LOADER=Object.freeze({code:3024,level:0,message:'Cannot dynamically import the LWR loader with importer "{0}"'}),NO_BLOB_IMPORT=Object.freeze({code:3024,level:0,message:"Cannot import a blob URL"}),NO_IMPORT_TRANSPORT=Object.freeze({code:3025,level:0,message:'Cannot dynamically import "transport" with importer "{0}"'});Object.freeze({code:3011,level:0,message:"import map is not valid"});const hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console,hasProcess="undefined"!=typeof process;function getBaseUrl(){let e;if(hasDocument){const t=document.querySelector("base[href]");e=t&&t.href}if(!e&&"undefined"!=typeof location){e=location.href.split("#")[0].split("?")[0];const t=e.lastIndexOf("/");-1!==t&&(e=e.slice(0,t+1))}return e}function isUrl(e){return-1!==e.indexOf("://")}function resolveIfNotPlainOrUrl(e,t){if(-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/")),"/"===e[0]&&"/"===e[1])return t.slice(0,t.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){const r=t.slice(0,t.indexOf(":")+1);let o;if("/"===t[r.length+1]?"file:"!==r?(o=t.slice(r.length+2),o=o.slice(o.indexOf("/")+1)):o=t.slice(8):o=t.slice(r.length+("/"===t[r.length]?1:0)),"/"===e[0])return t.slice(0,t.length-o.length-1)+e;const i=o.slice(0,o.lastIndexOf("/")+1)+e,n=[];let s=-1;for(let e=0;e<i.length;e++)-1!==s?"/"===i[e]&&(n.push(i.slice(s,e+1)),s=-1):"."===i[e]?"."!==i[e+1]||"/"!==i[e+2]&&e+2!==i.length?"/"===i[e+1]||e+1===i.length?e+=1:s=e:(n.pop(),e+=2):s=e;return-1!==s&&n.push(i.slice(s)),t.slice(0,t.length-o.length)+n.join("")}}function resolveUrl(e,t){return resolveIfNotPlainOrUrl(e,t)||(isUrl(e)?e:resolveIfNotPlainOrUrl("./"+e,t))}function createScript(e){const t=document.createElement("script");return t.async=!0,t.crossOrigin="anonymous",t.src=e,t}let lastWindowError$1,lastWindowErrorUrl;function loadModuleDef(e){return new Promise((function(t,r){if(hasDocument){const o=createScript(e);o.addEventListener("error",(()=>{r(new LoaderError(FAIL_LOAD,[e]))})),o.addEventListener("load",(()=>{document.head.removeChild(o),lastWindowErrorUrl===e?r(lastWindowError$1):t()})),document.head.appendChild(o)}}))}hasProcess&&process.env,hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_DYNAMIC_LOAD=`${LOADER_PREFIX}module.dynamicLoad`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`,MAPPINGS_FETCH=`${LOADER_PREFIX}mappings.fetch`,MAPPINGS_ERROR=`${LOADER_PREFIX}mappings.error`;function _optionalChain(e){let t,r=e[0],o=1;for(;o<e.length;){const i=e[o],n=e[o+1];if(o+=2,("optionalAccess"===i||"optionalCall"===i)&&null==r)return;"access"===i||"optionalAccess"===i?(t=r,r=n(r)):"call"!==i&&"optionalCall"!==i||(r=n(((...e)=>r.call(t,...e))),t=void 0)}return r}class ImportMetadataResolver{__init(){this.importURICache=new Map}__init2(){this.pendingURICache=new Map}__init3(){this.loadMappingHooks=[]}constructor(e,t){ImportMetadataResolver.prototype.__init.call(this),ImportMetadataResolver.prototype.__init2.call(this),ImportMetadataResolver.prototype.__init3.call(this),this.config=e,this.invalidationCallback=t}addLoadMappingHook(e){this.loadMappingHooks.push(e)}getMappingEndpoint(){return this.config.endpoints&&this.config.endpoints.uris?this.config.endpoints.uris.mapping:void 0}getModifiersAsUrlParams(){const e=this.config.endpoints?this.config.endpoints.modifiers:void 0;if(e){return`?${Object.keys(e).map((t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`)).join("&")}`}return""}buildMappingUrl(e){return`${this.getMappingEndpoint()}${encodeURIComponent(e)}${this.getModifiersAsUrlParams()}`}getBaseUrl(){return this.config.baseUrl||""}registerImportMappings(e,t=[]){if(!e)throw new LoaderError(BAD_IMPORT_METADATA,["undefined",JSON.stringify(t)]);if(!e.imports||0===Object.keys(e.imports).length)throw new LoaderError(BAD_IMPORT_METADATA,[JSON.stringify(e),JSON.stringify(t)]);const r=e.index||{};for(const[o,i]of Object.entries(e.imports))i.forEach((e=>{const i=r[e],n=this.importURICache.get(e);if(n){const t=i||o,r=n.identity||n.uri;r!==t&&this.invalidationCallback({name:e,oldUrl:r,newUrl:t})}else this.saveImportURIRecord(e,o,i,t.includes(e))}))}getMappingUri(e){return _optionalChain([this,"access",e=>e.importURICache,"access",e=>e.get,"call",t=>t(e),"optionalAccess",e=>e.uri])}getURI(e){return this.importURICache&&this.importURICache.has(e)?resolveUrl(this.importURICache.get(e).uri,this.getBaseUrl()):void 0}resolveLocal(e){const t=this.getURI(e);return t||(isUrl(e)||e.startsWith("/")?e:void 0)}async resolve(e){let t=this.getURI(e);if(t)return t;if(isUrl(e)||e.startsWith("/"))return e;{const r=this.pendingURICache.get(e);if(r)return r;this.config.profiler.logOperationStart({id:MAPPINGS_FETCH,specifier:e});const o=(this.hasMappingHooks()?this.evaluateMappingHooks:this.fetchNewMappings).bind(this)(e).then((r=>{if(!r||!r.imports)throw new LoaderError(UNRESOLVED,[e]);if(this.registerImportMappings(r,[e]),t=this.getURI(e),!t)throw new LoaderError(UNRESOLVED,[e]);return this.config.profiler.logOperationEnd({id:MAPPINGS_FETCH,specifier:e}),t})).finally((()=>{this.pendingURICache.delete(e)}));return this.pendingURICache.set(e,o),o}}hasMappingHooks(){return this.loadMappingHooks.length>0}async evaluateMappingHooks(e){const t=this.loadMappingHooks;if(t.length){const r=Array.from(this.importURICache.keys());for(let o=0;o<t.length;o++){const i=t[o],n=await i(e,{knownModules:r});if(n||void 0===n)return n}}return this.fetchNewMappings(e)}async fetchNewMappings(e){if("function"!=typeof globalThis.fetch)throw new LoaderError(UNRESOLVED,[e]);const t=resolveUrl(this.buildMappingUrl(e),this.getBaseUrl());if(!t)throw new LoaderError(UNRESOLVEABLE_MAPPING_ERROR,[e]);return globalThis.fetch(t).then((t=>{if(!t.ok)throw this.config.profiler.logOperationStart({id:MAPPINGS_ERROR,specifier:e}),new LoaderError(UNRESOLVED,[e]);return t.json().then((e=>e))})).catch((t=>{throw new LoaderError(UNRESOLVED,[e])}))}saveImportURIRecord(e,t,r,o){r&&t!==r?this.importURICache.set(e,{uri:t,identity:r,isRoot:o}):this.importURICache.set(e,{uri:t,isRoot:o})}}function reportError(e){hasConsole&&console.error(e)}function evaluateHandleStaleModuleHooks(e,t){const{name:r,oldUrl:o,newUrl:i}=t;for(let t=0;t<e.length;t++){const n=e[t];try{if(null!==n({name:r,oldUrl:o,newUrl:i}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}const MODULE_LOAD_TIMEOUT_TIMER=6e4;var MODULE_WARNING;!function(e){e.MODULE_REDEFINE="Module redefine attempted";e.MODULE_ALREADY_LOADED="Marking module(s) as externally loaded, but they are already loaded";e.ALIAS_UPDATE="Alias update attempt"}(MODULE_WARNING||(MODULE_WARNING={}));
7
+ /* LWR Module Loader Shim v0.23.14 */
8
+ !function(){"use strict";var e=function(e){return e[e.Start=0]="Start",e[e.End=1]="End",e}(e||{});let t;function r(e){t=e}const o=globalThis.performance,i=void 0!==o&&"function"==typeof o.mark&&"function"==typeof o.clearMarks&&"function"==typeof o.measure&&"function"==typeof o.clearMeasures;function n(e,t){return t?`${e}-${t}`:e}function s(e,t,r){const o=n(e,t);return t&&r?`${o}_${r}`:o}function a(e,t){const r=e||t?{...t}:null;return r&&e&&(r.specifier=e),r}function l({id:r,specifier:n,specifierIndex:l,metadata:d}){if(t)t({id:r,phase:e.Start,specifier:n,metadata:d,specifierIndex:l});else if(i){const e=s(r,n,l),t=a(n,d);o.mark(e,{detail:t})}}function d({id:r,specifier:l,specifierIndex:d,metadata:c}){if(t)t({id:r,phase:e.End,specifier:l,metadata:c,specifierIndex:d});else if(i){const e=s(r,l,d),t=n(r,l),i=a(l,c);o.measure(t,{start:e,detail:i}),o.clearMarks(e),o.clearMeasures(t)}}function c(e){const[,t,r]=e;if(Array.isArray(t)&&"function"==typeof r)return{deps:t,factory:r};if("function"==typeof t)return{deps:[],factory:t};throw new Error("Invalid module definition")}function p(e,t,r){if("exports"===e)return t;const o=r[e];if(!o)throw new Error(`Dependency "${e}" not found in defineCache for loader`);try{return function(e){const{deps:t,factory:r}=c(e);if(t.length>1||1===t.length&&"exports"!==t[0])throw new Error(`Loader dependencies must have no deps or only ['exports']; got [${t.join(", ")}]`);const o={},i=r(o);return void 0!==i?i:o}(o)}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Loader dependency "${e}" has invalid definition: ${r}`)}}function u(e,t,r){try{const{deps:e,factory:o}=function(e){const{deps:t,factory:r}=c(e);if(t.includes("exports"))return{deps:t,factory:r};const o=0===t.length;return{deps:["exports",...t],factory:(e,...t)=>{const i=o?r(e):r(...t);void 0!==i&&"object"==typeof i&&Object.assign(e,i)}}}(t),i={};return{factory:o,args:e.map((e=>p(e,i,r))),exportsObj:i}}catch(t){const r=t instanceof Error?t.message:String(t);throw new Error(`Expected loader with specifier "${e}" to be a module. ${r}`)}}function f(e,t,o,i){const{autoBoot:n,customInit:s}=e;if(function(e,t){if(!e&&!t)throw new Error("The customInit hook is required when autoBoot is false");if(e&&t)throw new Error("The customInit hook must not be defined when autoBoot is true")}(n,s),s){s({initializeApp:t,define:o,onBootstrapError:i,attachDispatcher:r},e)}}const h="function"==typeof setTimeout,g="undefined"!=typeof console;class m{__init(){this.defineCache={}}__init2(){this.orderedDefs=[]}constructor(e){m.prototype.__init.call(this),m.prototype.__init2.call(this),h&&(this.watchdogTimerId=this.startWatchdogTimer()),this.global=e,this.config=e.LWR,this.pendingRequired=new Set(this.config.requiredModules||[]),this.loaderSpecifier="lwr/loader/v/0_23_14",this.errorHandler=this.config.onError,this.initAppHandler=this.config.onInitApp;const t=this.tempDefine.bind(this);e.LWR.define=t,this.bootReady=this.config.autoBoot;try{this.createProfilerModule(e.LWR.define),f(Object.freeze(this.config),this.postCustomInit.bind(this),t,(e=>{this.errorHandler=e}))}catch(e){this.enterErrorState(e)}}canInit(){if(!this.config.requiredModules)throw new Error("Unexpected missing requiredModules");return this.bootReady&&0===this.pendingRequired.size}tempDefine(...e){const t=e[0];this.defineCache[t]=e,this.orderedDefs.push(t),this.pendingRequired.delete(t),this.canInit()&&(h&&clearTimeout(this.watchdogTimerId),this.initApp())}postCustomInit(){this.bootReady=!0,this.canInit()&&(h&&clearTimeout(this.watchdogTimerId),this.initApp())}initApp(){try{this.initAppHandler&&this.initAppHandler()}catch(e){console.error(`An error occurred in the onInitApp function. ${e.message}`,e.stack)}try{const e={endpoints:this.config.endpoints,baseUrl:this.config.baseUrl,profiler:{logOperationStart:l,logOperationEnd:d},appMetadata:{appId:this.config.appId,bootstrapModule:this.config.bootstrapModule,rootComponent:this.config.rootComponent,rootComponents:this.config.rootComponents}},t=function(e,t,r,o,i){if(!t||"function"!=typeof t[2])throw new Error(`Expected loader with specifier "${e}" to be a module`);const n={};if(i){const{factory:r,args:o,exportsObj:s}=u(e,t,i);r(...o),Object.assign(n,s)}else t[2].call(null,n);const{Loader:s}=n;if(!s)throw new Error("Expected Loader class to be defined");const a=new s(r);return o&&o.length&&a.registerExternalModules(o),a.define(e,["exports"],(e=>{Object.assign(e,{define:a.define.bind(a),load:a.load.bind(a),services:a.services})})),a}(this.loaderSpecifier,this.defineCache[this.loaderSpecifier],e,this.config.preloadModules,this.defineCache);this.mountApp(t),t&&t.getModuleWarnings}catch(e){this.enterErrorState(e)}}waitForBody(){return new Promise((e=>{if(document.body)e();else{const t=new MutationObserver((()=>{document.body&&(t.disconnect(),e())}));t.observe(document.documentElement,{childList:!0})}}))}waitForDOMContentLoaded(){return"interactive"===document.readyState||"complete"===document.readyState?Promise.resolve():new Promise((e=>{document.addEventListener("DOMContentLoaded",(()=>{e()}))}))}createProfilerModule(e){e("lwr/profiler/v/0_23_14",["exports"],(e=>{Object.assign(e,{logOperationStart:l,logOperationEnd:d})}))}mountApp(e){const{bootstrapModule:t,rootComponent:r,rootComponents:o,serverData:i,endpoints:n,imports:s,index:a}=this.config,l=s||{};this.global.LWR=Object.freeze({define:e.define.bind(e),importMap:t=>e.importMap(t),rootComponent:r,rootComponents:o,serverData:i||{},endpoints:n,imports:l,index:a||{},env:this.global.LWR.env}),this.orderedDefs.forEach((t=>{t!==this.loaderSpecifier&&e.define(...this.defineCache[t])}));const{initDeferDOM:d}=this.config;e.importMap({imports:l,index:a},[t,r]).then((()=>"undefined"==typeof window||"undefined"==typeof document?Promise.resolve():d?this.waitForDOMContentLoaded():this.waitForBody())).then((()=>e.load(t))).catch((e=>{this.enterErrorState(new Error(`Application ${r||t} could not be loaded: ${e}`))}))}enterErrorState(e){l({id:"lwr.bootstrap.error"}),this.errorHandler?this.errorHandler(e):g&&console.error(`An error occurred during LWR bootstrap. ${e.message}`,e.stack)}startWatchdogTimer(){return setTimeout((()=>{const e=this.config.requiredModules&&this.config.requiredModules.filter((e=>!this.orderedDefs.includes(e)))||[];this.enterErrorState(new Error(`Failed to load required modules - timed out: ${e.join(", ")}`))}),6e4)}logWarnings(e){for(const t in e)e[t].length&&console.warn(t,e[t])}}const E=globalThis;E.LWR.requiredModules=E.LWR.requiredModules||[],E.LWR.requiredModules.indexOf("lwr/loader/v/0_23_14")<0&&E.LWR.requiredModules.push("lwr/loader/v/0_23_14"),new m(E)}(),LWR.define("lwr/loader/v/0_23_14",["exports"],(function(exports){"use strict";const templateRegex=/\{([0-9]+)\}/g;function templateString(e,t){return e.replace(templateRegex,((e,r)=>t[r]))}function generateErrorMessage(e,t){const r=Array.isArray(t)?templateString(e.message,t):e.message;return`LWR${e.code}: ${r}`}class LoaderError extends Error{constructor(e,t){super(),this.message=generateErrorMessage(e,t)}}function invariant(e,t){if(!e)throw new LoaderError(t)}const MISSING_NAME=Object.freeze({code:3e3,message:"A module name is required.",level:0}),FAIL_INSTANTIATE=Object.freeze({code:3004,message:"Failed to instantiate module: {0}",level:0}),NO_AMD_REQUIRE=Object.freeze({code:3005,message:"AMD require not supported.",level:0}),FAILED_DEP=Object.freeze({code:3006,level:0,message:"Failed to load dependency: {0}"}),INVALID_DEPS=Object.freeze({code:3007,message:"Unexpected value received for dependencies argument; expected an array.",level:0}),FAIL_LOAD=Object.freeze({code:3008,level:0,message:"Error loading {0}"});Object.freeze({code:3008,level:0,message:"Error loading empty code for {0}"});const UNRESOLVED=Object.freeze({code:3009,level:0,message:"Unable to resolve bare specifier: {0}"}),NO_BASE_URL=Object.freeze({code:3010,level:0,message:"baseUrl not set"});Object.freeze({code:3011,level:0,message:"Cannot set a loader service multiple times"});const INVALID_HOOK=Object.freeze({code:3012,level:0,message:"Invalid hook received"}),INVALID_LOADER_SERVICE_RESPONSE=Object.freeze({code:3013,level:0,message:"Invalid response received from hook"}),MODULE_LOAD_TIMEOUT=Object.freeze({code:3014,level:0,message:"Error loading {0} - timed out"}),HTTP_FAIL_LOAD=Object.freeze({code:3015,level:0,message:"Error loading {0}, status code {1}"}),STALE_HOOK_ERROR=Object.freeze({code:3016,level:0,message:"An error occurred handling module conflict"});Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded:"});const FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),NO_MAPPING_URL=Object.freeze({code:3019,level:0,message:"Mapping endpoint not set"}),BAD_IMPORT_METADATA=Object.freeze({code:3020,level:0,message:"Invalid import metadata: {0} {1}"}),EXPORTER_ERROR=Object.freeze({code:3021,level:0,message:'Error evaluating module "{0}", error was "{1}"'}),UNRESOLVEABLE_MAPPING_ERROR=Object.freeze({code:3022,level:0,message:'Unexpected undefined URI resolving mapping for "{0}"'}),NO_IMPORT_LWC=Object.freeze({code:3023,level:0,message:'Cannot dynamically import "lwc" with importer "{0}"'}),NO_IMPORT_LOADER=Object.freeze({code:3024,level:0,message:'Cannot dynamically import the LWR loader with importer "{0}"'}),NO_BLOB_IMPORT=Object.freeze({code:3024,level:0,message:"Cannot import a blob URL"}),NO_IMPORT_TRANSPORT=Object.freeze({code:3025,level:0,message:'Cannot dynamically import "transport" with importer "{0}"'});Object.freeze({code:3011,level:0,message:"import map is not valid"});const hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console,hasProcess="undefined"!=typeof process;function getBaseUrl(){let e;if(hasDocument){const t=document.querySelector("base[href]");e=t&&t.href}if(!e&&"undefined"!=typeof location){e=location.href.split("#")[0].split("?")[0];const t=e.lastIndexOf("/");-1!==t&&(e=e.slice(0,t+1))}return e}function isUrl(e){return-1!==e.indexOf("://")}function resolveIfNotPlainOrUrl(e,t){if(-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/")),"/"===e[0]&&"/"===e[1])return t.slice(0,t.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){const r=t.slice(0,t.indexOf(":")+1);let o;if("/"===t[r.length+1]?"file:"!==r?(o=t.slice(r.length+2),o=o.slice(o.indexOf("/")+1)):o=t.slice(8):o=t.slice(r.length+("/"===t[r.length]?1:0)),"/"===e[0])return t.slice(0,t.length-o.length-1)+e;const i=o.slice(0,o.lastIndexOf("/")+1)+e,n=[];let s=-1;for(let e=0;e<i.length;e++)-1!==s?"/"===i[e]&&(n.push(i.slice(s,e+1)),s=-1):"."===i[e]?"."!==i[e+1]||"/"!==i[e+2]&&e+2!==i.length?"/"===i[e+1]||e+1===i.length?e+=1:s=e:(n.pop(),e+=2):s=e;return-1!==s&&n.push(i.slice(s)),t.slice(0,t.length-o.length)+n.join("")}}function resolveUrl(e,t){return resolveIfNotPlainOrUrl(e,t)||(isUrl(e)?e:resolveIfNotPlainOrUrl("./"+e,t))}function createScript(e){const t=document.createElement("script");return t.async=!0,t.crossOrigin="anonymous",t.src=e,t}let lastWindowError$1,lastWindowErrorUrl;function loadModuleDef(e){return new Promise((function(t,r){if(hasDocument){const o=createScript(e);o.addEventListener("error",(()=>{r(new LoaderError(FAIL_LOAD,[e]))})),o.addEventListener("load",(()=>{document.head.removeChild(o),lastWindowErrorUrl===e?r(lastWindowError$1):t()})),document.head.appendChild(o)}}))}hasProcess&&process.env,hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_DYNAMIC_LOAD=`${LOADER_PREFIX}module.dynamicLoad`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`,MAPPINGS_FETCH=`${LOADER_PREFIX}mappings.fetch`,MAPPINGS_ERROR=`${LOADER_PREFIX}mappings.error`;function _optionalChain(e){let t,r=e[0],o=1;for(;o<e.length;){const i=e[o],n=e[o+1];if(o+=2,("optionalAccess"===i||"optionalCall"===i)&&null==r)return;"access"===i||"optionalAccess"===i?(t=r,r=n(r)):"call"!==i&&"optionalCall"!==i||(r=n(((...e)=>r.call(t,...e))),t=void 0)}return r}class ImportMetadataResolver{__init(){this.importURICache=new Map}__init2(){this.pendingURICache=new Map}__init3(){this.loadMappingHooks=[]}constructor(e,t){ImportMetadataResolver.prototype.__init.call(this),ImportMetadataResolver.prototype.__init2.call(this),ImportMetadataResolver.prototype.__init3.call(this),this.config=e,this.invalidationCallback=t}addLoadMappingHook(e){this.loadMappingHooks.push(e)}getMappingEndpoint(){return this.config.endpoints&&this.config.endpoints.uris?this.config.endpoints.uris.mapping:void 0}getModifiersAsUrlParams(){const e=this.config.endpoints?this.config.endpoints.modifiers:void 0;if(e){return`?${Object.keys(e).map((t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`)).join("&")}`}return""}buildMappingUrl(e){return`${this.getMappingEndpoint()}${encodeURIComponent(e)}${this.getModifiersAsUrlParams()}`}getBaseUrl(){return this.config.baseUrl||""}registerImportMappings(e,t=[]){if(!e)throw new LoaderError(BAD_IMPORT_METADATA,["undefined",JSON.stringify(t)]);if(!e.imports||0===Object.keys(e.imports).length)throw new LoaderError(BAD_IMPORT_METADATA,[JSON.stringify(e),JSON.stringify(t)]);const r=e.index||{};for(const[o,i]of Object.entries(e.imports))i.forEach((e=>{const i=r[e],n=this.importURICache.get(e);if(n){const t=i||o,r=n.identity||n.uri;r!==t&&this.invalidationCallback({name:e,oldUrl:r,newUrl:t})}else this.saveImportURIRecord(e,o,i,t.includes(e))}))}getMappingUri(e){return _optionalChain([this,"access",e=>e.importURICache,"access",e=>e.get,"call",t=>t(e),"optionalAccess",e=>e.uri])}getURI(e){return this.importURICache&&this.importURICache.has(e)?resolveUrl(this.importURICache.get(e).uri,this.getBaseUrl()):void 0}resolveLocal(e){const t=this.getURI(e);return t||(isUrl(e)||e.startsWith("/")?e:void 0)}async resolve(e){let t=this.getURI(e);if(t)return t;if(isUrl(e)||e.startsWith("/"))return e;{const r=this.pendingURICache.get(e);if(r)return r;this.config.profiler.logOperationStart({id:MAPPINGS_FETCH,specifier:e});const o=(this.hasMappingHooks()?this.evaluateMappingHooks:this.fetchNewMappings).bind(this)(e).then((r=>{if(!r||!r.imports)throw new LoaderError(UNRESOLVED,[e]);if(this.registerImportMappings(r,[e]),t=this.getURI(e),!t)throw new LoaderError(UNRESOLVED,[e]);return this.config.profiler.logOperationEnd({id:MAPPINGS_FETCH,specifier:e}),t})).finally((()=>{this.pendingURICache.delete(e)}));return this.pendingURICache.set(e,o),o}}hasMappingHooks(){return this.loadMappingHooks.length>0}async evaluateMappingHooks(e){const t=this.loadMappingHooks;if(t.length){const r=Array.from(this.importURICache.keys());for(let o=0;o<t.length;o++){const i=t[o],n=await i(e,{knownModules:r});if(n||void 0===n)return n}}return this.fetchNewMappings(e)}async fetchNewMappings(e){if("function"!=typeof globalThis.fetch)throw new LoaderError(UNRESOLVED,[e]);const t=resolveUrl(this.buildMappingUrl(e),this.getBaseUrl());if(!t)throw new LoaderError(UNRESOLVEABLE_MAPPING_ERROR,[e]);return globalThis.fetch(t).then((t=>{if(!t.ok)throw this.config.profiler.logOperationStart({id:MAPPINGS_ERROR,specifier:e}),new LoaderError(UNRESOLVED,[e]);return t.json().then((e=>e))})).catch((t=>{throw new LoaderError(UNRESOLVED,[e])}))}saveImportURIRecord(e,t,r,o){r&&t!==r?this.importURICache.set(e,{uri:t,identity:r,isRoot:o}):this.importURICache.set(e,{uri:t,isRoot:o})}}function reportError(e){hasConsole&&console.error(e)}function evaluateHandleStaleModuleHooks(e,t){const{name:r,oldUrl:o,newUrl:i}=t;for(let t=0;t<e.length;t++){const n=e[t];try{if(null!==n({name:r,oldUrl:o,newUrl:i}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}const MODULE_LOAD_TIMEOUT_TIMER=6e4;var MODULE_WARNING;!function(e){e.MODULE_REDEFINE="Module redefine attempted";e.MODULE_ALREADY_LOADED="Marking module(s) as externally loaded, but they are already loaded";e.ALIAS_UPDATE="Alias update attempt"}(MODULE_WARNING||(MODULE_WARNING={}));
9
9
  /*!
10
10
  * Copyright (C) 2023 salesforce.com, inc.
11
11
  */
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Module Loader Shim v0.23.12 */
7
+ /* LWR Module Loader Shim v0.23.14 */
8
8
  (function () {
9
9
  'use strict';
10
10
 
@@ -297,6 +297,11 @@
297
297
 
298
298
  __init() {this.defineCache = {};}
299
299
  __init2() {this.orderedDefs = [];}
300
+ // Snapshot of requiredModules not yet defined. Enables an O(1) readiness check in
301
+ // canInit() instead of re-scanning the growing orderedDefs array on every define().
302
+ // Assigned in the constructor (declared without an initializer, like bootReady, to
303
+ // avoid emitting a throwaway field-init helper in the minified bundle).
304
+
300
305
 
301
306
  // eslint-disable-line no-undef, lwr/no-unguarded-apis
302
307
 
@@ -310,7 +315,10 @@
310
315
  // Parse configuration
311
316
  this.global = global;
312
317
  this.config = global.LWR ;
313
- this.loaderSpecifier = 'lwr/loader/v/0_23_12';
318
+ // Snapshot the required modules that still need to be defined. `requiredModules` is
319
+ // fully populated before `new LoaderShim` (see shim/index.ts), so this is complete.
320
+ this.pendingRequired = new Set(this.config.requiredModules || []);
321
+ this.loaderSpecifier = 'lwr/loader/v/0_23_14';
314
322
 
315
323
  // Set up error handler
316
324
  this.errorHandler = this.config.onError ;
@@ -347,9 +355,8 @@
347
355
  }
348
356
  // Initialize the app if:
349
357
  // - bootReady: autoBoot is on OR customInit has finished
350
- // - all required modules are defined
351
- const allDefined = this.config.requiredModules.every((m) => this.orderedDefs.includes(m));
352
- return this.bootReady && allDefined;
358
+ // - all required modules are defined (tracked by the pendingRequired countdown)
359
+ return this.bootReady && this.pendingRequired.size === 0;
353
360
  }
354
361
 
355
362
  /**
@@ -366,6 +373,8 @@
366
373
  const moduleName = args[0];
367
374
  this.defineCache[moduleName] = args;
368
375
  this.orderedDefs.push(moduleName);
376
+ // O(1) countdown: no-op for non-required modules (e.g. the ~hundreds of labels)
377
+ this.pendingRequired.delete(moduleName);
369
378
  if (this.canInit()) {
370
379
  if (hasSetTimeout) {
371
380
  // requiredModules are defined, clear watchdog timer
@@ -474,7 +483,7 @@
474
483
  const exporter = (exports) => {
475
484
  Object.assign(exports, { logOperationStart, logOperationEnd });
476
485
  };
477
- define('lwr/profiler/v/0_23_12', ['exports'], exporter);
486
+ define('lwr/profiler/v/0_23_14', ['exports'], exporter);
478
487
  }
479
488
 
480
489
  // Set up the application globals, import map, root custom element...
@@ -575,8 +584,8 @@
575
584
  // The loader module is ALWAYS required
576
585
  const GLOBAL = globalThis ;
577
586
  GLOBAL.LWR.requiredModules = GLOBAL.LWR.requiredModules || [];
578
- if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_23_12') < 0) {
579
- GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_23_12');
587
+ if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_23_14') < 0) {
588
+ GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_23_14');
580
589
  }
581
590
  new LoaderShim(GLOBAL);
582
591
 
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR ESM Module Loader v0.23.12 */
7
+ /* LWR ESM Module Loader v0.23.14 */
8
8
  function _optionalChain$1(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
9
9
 
10
10
 
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Module Loader v0.23.12 */
7
+ /* LWR Module Loader v0.23.14 */
8
8
  const templateRegex = /\{([0-9]+)\}/g;
9
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
10
  function templateString(template, args) {
@@ -721,7 +721,7 @@ try {
721
721
  // swallow
722
722
  }
723
723
  const trusted = createPolicy('trusted', policyOptions);
724
- /*! version: 0.28.4 */
724
+ /*! version: 0.28.5 */
725
725
 
726
726
  /* global console,process */
727
727
 
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Legacy Module Loader v0.23.12 */
7
+ /* LWR Legacy Module Loader v0.23.14 */
8
8
  const templateRegex = /\{([0-9]+)\}/g;
9
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
10
  function templateString(template, args) {
@@ -425,7 +425,7 @@ try {
425
425
  // swallow
426
426
  }
427
427
  const trusted = createPolicy('trusted', policyOptions);
428
- /*! version: 0.28.4 */
428
+ /*! version: 0.28.5 */
429
429
 
430
430
  /* global console,process */
431
431
 
@@ -6,6 +6,7 @@ export default class LoaderShim {
6
6
  private loaderSpecifier;
7
7
  private defineCache;
8
8
  private orderedDefs;
9
+ private pendingRequired;
9
10
  private errorHandler?;
10
11
  private watchdogTimerId?;
11
12
  private initAppHandler?;
@@ -20,6 +20,9 @@ export default class LoaderShim {
20
20
  // Parse configuration
21
21
  this.global = global;
22
22
  this.config = global.LWR;
23
+ // Snapshot the required modules that still need to be defined. `requiredModules` is
24
+ // fully populated before `new LoaderShim` (see shim/index.ts), so this is complete.
25
+ this.pendingRequired = new Set(this.config.requiredModules || []);
23
26
  this.loaderSpecifier = 'lwr/loader/v/__VERSION__';
24
27
  // Set up error handler
25
28
  this.errorHandler = this.config.onError;
@@ -48,9 +51,8 @@ export default class LoaderShim {
48
51
  }
49
52
  // Initialize the app if:
50
53
  // - bootReady: autoBoot is on OR customInit has finished
51
- // - all required modules are defined
52
- const allDefined = this.config.requiredModules.every((m) => this.orderedDefs.includes(m));
53
- return this.bootReady && allDefined;
54
+ // - all required modules are defined (tracked by the pendingRequired countdown)
55
+ return this.bootReady && this.pendingRequired.size === 0;
54
56
  }
55
57
  /**
56
58
  * Create a temporary LWR.define() function which captures all
@@ -66,6 +68,8 @@ export default class LoaderShim {
66
68
  const moduleName = args[0];
67
69
  this.defineCache[moduleName] = args;
68
70
  this.orderedDefs.push(moduleName);
71
+ // O(1) countdown: no-op for non-required modules (e.g. the ~hundreds of labels)
72
+ this.pendingRequired.delete(moduleName);
69
73
  if (this.canInit()) {
70
74
  if (hasSetTimeout) {
71
75
  // requiredModules are defined, clear watchdog timer
@@ -6,6 +6,7 @@ export default class LoaderShim {
6
6
  private loaderModule;
7
7
  private defineCache;
8
8
  private orderedDefs;
9
+ private pendingRequired;
9
10
  private importMapUpdatesCache;
10
11
  private errorHandler?;
11
12
  private watchdogTimerId?;
@@ -23,6 +23,9 @@ export default class LoaderShim {
23
23
  // Parse configuration
24
24
  this.global = global;
25
25
  this.config = global.LWR;
26
+ // Snapshot the required modules that still need to be defined. `requiredModules` is
27
+ // fully populated before `new LoaderShim` (see shim-legacy/index.ts), so this is complete.
28
+ this.pendingRequired = new Set(this.config.requiredModules || []);
26
29
  this.loaderModule = 'lwr/loaderLegacy/v/__VERSION__';
27
30
  // Set up error handler
28
31
  this.errorHandler = this.config.onError;
@@ -51,9 +54,8 @@ export default class LoaderShim {
51
54
  }
52
55
  // Initialize the app if:
53
56
  // - bootReady: autoBoot is on OR customInit has finished
54
- // - all required modules are defined
55
- const allDefined = this.config.requiredModules.every((m) => this.orderedDefs.includes(m));
56
- return this.bootReady && allDefined;
57
+ // - all required modules are defined (tracked by the pendingRequired countdown)
58
+ return this.bootReady && this.pendingRequired.size === 0;
57
59
  }
58
60
  /**
59
61
  * Create a temporary LWR.define() function which captures all
@@ -69,6 +71,8 @@ export default class LoaderShim {
69
71
  const moduleName = args[0];
70
72
  this.defineCache[moduleName] = args;
71
73
  this.orderedDefs.push(moduleName);
74
+ // O(1) countdown: no-op for non-required modules (e.g. the ~hundreds of labels)
75
+ this.pendingRequired.delete(moduleName);
72
76
  if (this.canInit()) {
73
77
  if (hasSetTimeout) {
74
78
  // requiredModules are defined, clear watchdog timer
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
- "version": "0.23.12",
8
+ "version": "0.23.14",
9
9
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
10
10
  "repository": {
11
11
  "type": "git",
@@ -60,17 +60,17 @@
60
60
  "build": "yarn build:ts && yarn build:error-shim && yarn build:shim && yarn build:loader && yarn build:shim:bundle && yarn build:shim:bundle:minify"
61
61
  },
62
62
  "devDependencies": {
63
- "@locker/trusted-types": "0.28.4",
64
- "@lwrjs/diagnostics": "0.23.12",
65
- "@lwrjs/types": "0.23.12",
63
+ "@locker/trusted-types": "0.28.5",
64
+ "@lwrjs/diagnostics": "0.23.14",
65
+ "@lwrjs/types": "0.23.14",
66
66
  "@rollup/plugin-node-resolve": "^15.2.3",
67
67
  "@rollup/plugin-sucrase": "^5.1.0",
68
68
  "@rollup/plugin-terser": "^0.4.4",
69
69
  "rollup": "^2.80.0"
70
70
  },
71
71
  "dependencies": {
72
- "@lwrjs/client-modules": "0.23.12",
73
- "@lwrjs/shared-utils": "0.23.12"
72
+ "@lwrjs/client-modules": "0.23.14",
73
+ "@lwrjs/shared-utils": "0.23.14"
74
74
  },
75
75
  "lwc": {
76
76
  "modules": [
@@ -90,5 +90,5 @@
90
90
  "volta": {
91
91
  "extends": "../../../package.json"
92
92
  },
93
- "gitHead": "2fecd6399343d99872e9ab93e2ec362788c10dae"
93
+ "gitHead": "86c818a23df2e473bc90d41f80c6bfc014038794"
94
94
  }