@lwrjs/everywhere 0.10.0-alpha.9 → 0.10.0

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 (31) hide show
  1. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/ad26178e2b6a712bafbd34bfa576d557/config.js +10 -0
  2. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/@lwrjs/app-service/amd-bootstrap/module/amd/v/{0_10_0-alpha_9 → 0_10_0}/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js +4 -4
  3. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwc/v/{2_45_2/s/97b809a5745ddedba3acd0433f339b58 → 2_50_0/s/b40440e2e29d782101f05d6085a324e9}/lwc.js +119 -164
  4. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/everywhereAmd/v/{0_10_0-alpha_9/s/c538071acf5bde58e816967a14c465c3 → 0_10_0/s/cb931ebef2b89dcf8ab51456e3a68864}/lwr_everywhereAmd.js +3 -3
  5. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/init/v/0_10_0/s/5e6db37af51f0d23be4893abe5eeb913/lwr_init.js +163 -0
  6. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/loader/v/{0_10_0-alpha_9/s/885d9c7f6d74862b4f695fcac98b9d36 → 0_10_0/s/1344670ea0a1514a4e8da5ca7f382e45}/lwr_loader.js +73 -5
  7. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/metrics/v/{0_10_0-alpha_9/s/3426e42c3e22ce07ab2adc62c4c523a0 → 0_10_0/s/7a802ee7a2430244c1f66bce2c2eafef}/lwr_metrics.js +13 -1
  8. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/profiler/v/0_10_0/s/a152b8d35f12ca1b5147c5cd1ee155fb/lwr_profiler.js +102 -0
  9. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/vault/v/{0_10_0-alpha_9 → 0_10_0}/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js +1 -1
  10. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-error-shim.js/v/{0_10_0-alpha_9 → 0_10_0}/lwr-error-shim.js +1 -1
  11. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-loader-shim.bundle.js/v/{0_10_0-alpha_9 → 0_10_0}/lwr-loader-shim.bundle.js +122 -19
  12. package/build/assets/amd/lwr-everywhere-debug.js +81 -10
  13. package/build/assets/amd/lwr-everywhere-min.js +5 -1
  14. package/build/assets/amd/lwr-everywhere.js +81 -10
  15. package/build/assets/core/lwr-everywhere-debug.js +77 -6
  16. package/build/assets/core/lwr-everywhere-min.js +5 -1
  17. package/build/assets/core/lwr-everywhere.js +77 -6
  18. package/build/assets/esm/lwr-everywhere-debug.js +1 -1
  19. package/build/assets/esm/lwr-everywhere-min.js +1 -1
  20. package/build/assets/esm/lwr-everywhere.js +1 -1
  21. package/build/generate.js +1 -1
  22. package/build/index.js +1 -1
  23. package/build/modules/lwr/everywhereAmd/everywhereAmd.d.ts +1 -1
  24. package/build/modules/lwr/host/host.html +1 -1
  25. package/build/modules/lwr/host/host.js +1 -1
  26. package/package.json +11 -10
  27. package/src/generate.ts +1 -1
  28. package/src/index.ts +4 -1
  29. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/6516de68196276bf4003f2193ce83bb2/config.js +0 -10
  30. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/init/v/0_10_0-alpha_9/s/8199fbc1a33dffe14973c3ee0a3f6aa3/lwr_init.js +0 -118
  31. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/profiler/v/0_10_0-alpha_9/s/4e65d4b97b3cc3d2f06a4cc284f3dd68/lwr_profiler.js +0 -68
@@ -20,7 +20,7 @@ function getConfiguration(options) {
20
20
  : `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
21
21
 
22
22
  // Component specifiers and URIs
23
- const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_10_0-alpha_9`;
23
+ const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_10_0`;
24
24
  const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
25
25
 
26
26
  // Client Bootstrap Config
@@ -52,7 +52,7 @@ function getConfiguration(options) {
52
52
  * SPDX-License-Identifier: MIT
53
53
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
54
54
  */
55
- /* LWR Module Loader v0.10.0-alpha.9 */
55
+ /* LWR Module Loader v0.10.0 */
56
56
  const templateRegex = /\{([0-9]+)\}/g;
57
57
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
58
  function templateString(template, args) {
@@ -625,7 +625,69 @@ function evaluateHandleStaleModuleHooks(
625
625
  }
626
626
  }
627
627
 
628
- const MODULE_LOAD_TIMEOUT_TIMER = 300000;
628
+ const MODULE_LOAD_TIMEOUT_TIMER = 60 * 1000; // 1m
629
+
630
+ /*!
631
+ * Copyright (C) 2023 salesforce.com, inc.
632
+ */
633
+ // @ts-ignore: Prevent cannot find name 'trustedTypes' error.
634
+ const SUPPORTS_TRUSTED_TYPES = typeof trustedTypes !== 'undefined';
635
+ function createTrustedTypesPolicy(name, options) {
636
+ // @ts-ignore: Prevent cannot find name 'trustedTypes' error.
637
+ return trustedTypes.createPolicy(name, options);
638
+ }
639
+ function createFallbackPolicy(_name, options) {
640
+ return options;
641
+ }
642
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/trusted-types
643
+ const createPolicy = SUPPORTS_TRUSTED_TYPES ? createTrustedTypesPolicy : createFallbackPolicy;
644
+ const policyOptions = {
645
+ createHTML(value) {
646
+ return value;
647
+ },
648
+ createScript(value) {
649
+ return value;
650
+ },
651
+ createScriptURL(value) {
652
+ return value;
653
+ }
654
+ };
655
+ // Temporarily surround in try-catch until migration to AMD run.
656
+ try {
657
+ createPolicy('default', {
658
+ createHTML(dirty) {
659
+ // Treat null & undefined separately
660
+ if (dirty === 'null' || dirty === 'undefined') {
661
+ return dirty;
662
+ }
663
+ return dirty;
664
+ },
665
+ // Ignore typescript type validation for this policy.
666
+ // Returning `undefined` from a TT policy blocks usages
667
+ // of specific DOM sinks affected by this hook.
668
+ // We want to block eval and inline scripts.
669
+ // @ts-ignore
670
+ createScript(dirty) {
671
+ // Treat null & undefined separately
672
+ if (dirty === 'null' || dirty === 'undefined') {
673
+ return dirty;
674
+ }
675
+ // Block script evaluation
676
+ return undefined;
677
+ },
678
+ createScriptURL(dirty) {
679
+ // Treat null & undefined separately
680
+ if (dirty === 'null' || dirty === 'undefined') {
681
+ return dirty;
682
+ }
683
+ return dirty;
684
+ }
685
+ });
686
+ } catch (_unused) {
687
+ // swallow
688
+ }
689
+ const trusted = createPolicy('trusted', policyOptions);
690
+ /*! version: 0.19.10 */
629
691
 
630
692
  /* global console,process */
631
693
 
@@ -694,7 +756,7 @@ async function evaluateLoadHookResponse(response, id) {
694
756
  code = `${code}\n//# sourceURL=${id}`; // append sourceURL for debugging
695
757
  try {
696
758
  // TODO eval source maps for debugging
697
- eval(code);
759
+ eval(trusted.createScript(code));
698
760
  } catch (e) {
699
761
  throw new LoaderError(FAIL_LOAD, [id]);
700
762
  }
@@ -818,6 +880,9 @@ class ModuleRegistry {
818
880
  // eslint-disable-next-line no-await-in-loop
819
881
  result = isResponseAPromise(response) ? await response : response;
820
882
  }
883
+ if (!this.isValidResolveResponse(result)) {
884
+ throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);
885
+ }
821
886
 
822
887
  // if result is not null, attempt resolution
823
888
  if (result !== null) {
@@ -1346,6 +1411,12 @@ class ModuleRegistry {
1346
1411
  this.handleStaleModuleHook = [handleStaleModule];
1347
1412
  }
1348
1413
  }
1414
+
1415
+ isValidResolveResponse(res) {
1416
+ return (
1417
+ res === null || typeof res === 'string' || (res && typeof (res ).url === 'string')
1418
+ );
1419
+ }
1349
1420
  }
1350
1421
 
1351
1422
  /**
@@ -1492,7 +1563,7 @@ const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration;
1492
1563
 
1493
1564
  // Initialize the AMD loader (its code is bundled into the LWR Everywhere module)
1494
1565
  const loader = new Loader({ endpoints, baseUrl });
1495
- loader.define('lwr/loader/v/0_10_0-alpha_9', ['exports'], (exports) => {
1566
+ loader.define('lwr/loader/v/0_10_0', ['exports'], (exports) => {
1496
1567
  Object.assign(exports, {
1497
1568
  define: loader.define.bind(loader),
1498
1569
  load: loader.load.bind(loader),
@@ -1502,12 +1573,12 @@ await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
1502
1573
  (globalThis ).LWR = Object.freeze({ define: loader.define.bind(loader) });
1503
1574
 
1504
1575
  // Define preload modules (ie: ABS, vault, etc) BEFORE loading them
1505
- LWR.define('lwr/everywhereAmd/v/0_10_0-alpha_9', ['exports', 'lwr/vault/v/0_10_0-alpha_9'], (function (exports, _0_10_0Alpha_9) {
1576
+ LWR.define('lwr/everywhereAmd/v/0_10_0', ['exports', 'lwr/vault/v/0_10_0'], (function (exports, _0_10_0) {
1506
1577
  // IMPORTANT: Do not add any static imports to this file that are not bundled with the amd-client
1507
1578
 
1508
1579
  // Do an OAuthed fetch
1509
1580
  async function authFetch(url, accept = 'javascript') {
1510
- const authInfo = _0_10_0Alpha_9.getAuthInfo();
1581
+ const authInfo = _0_10_0.getAuthInfo();
1511
1582
  if (authInfo) {
1512
1583
  return fetch(url, {
1513
1584
  headers: {
@@ -1557,7 +1628,7 @@ LWR.define('lwr/everywhereAmd/v/0_10_0-alpha_9', ['exports', 'lwr/vault/v/0_10_0
1557
1628
  function authenticate(authInfo) {
1558
1629
  // Put OAuth info into the vault
1559
1630
  if (authInfo) {
1560
- _0_10_0Alpha_9.setAuthInfo(authInfo);
1631
+ _0_10_0.setAuthInfo(authInfo);
1561
1632
  }
1562
1633
  }
1563
1634
 
@@ -1567,7 +1638,7 @@ LWR.define('lwr/everywhereAmd/v/0_10_0-alpha_9', ['exports', 'lwr/vault/v/0_10_0
1567
1638
  Object.defineProperty(exports, '__esModule', { value: true });
1568
1639
 
1569
1640
  }));
1570
- LWR.define('lwr/vault/v/0_10_0-alpha_9', ['exports'], (function (exports) {
1641
+ LWR.define('lwr/vault/v/0_10_0', ['exports'], (function (exports) {
1571
1642
  // Credential vault for storing setters and subscribers for OAuth info
1572
1643
  // This module is a SINGLETON and must be excluded from ESM bundling
1573
1644
 
@@ -1591,7 +1662,7 @@ LWR.define('lwr/vault/v/0_10_0-alpha_9', ['exports'], (function (exports) {
1591
1662
 
1592
1663
  // Set up the AMD loader hooks for OAuth
1593
1664
  const { initAmd, authenticate } = await loader.load(bootstrapModule);
1594
- initAmd(loader.services, _optionalChain([endpoints, 'optionalAccess', _ => _.uris, 'access', _2 => _2.mapping]), '0_10_0-alpha_9');
1665
+ initAmd(loader.services, _optionalChain([endpoints, 'optionalAccess', _ => _.uris, 'access', _2 => _2.mapping]), '0_10_0');
1595
1666
 
1596
1667
  // Wrap the createComponent API to allow proper ordering of module definitions:
1597
1668
  // 1. LWRE module bundle (this): lwr/loader, lwr/everywhereAmd, lwr/vault
@@ -1 +1,5 @@
1
- function getConfiguration(e){const{format:t,server:r,apiVersion:o,apiPrefix:n,locale:i,bundle:s,debug:a}=e,l=new URL(import.meta.url),d=r||l.origin||"",c=`${n}/${o}`,p="0"+(i?`/l/${i}`:""),u="/bi/3_A,B,O,S,EG,JLMT,C,D,F,H,I,K,N,P,Q,R",h=s?`${d}${c}/bundle/${t}/${p}${u}-0/module/mi/`:`${d}${c}/module/${t}/${p}/mi/`,f=`lwr/everywhere${"esm"===t?"Esm":"Amd"}/v/0_10_0-alpha_9`,g=`${h}${encodeURIComponent(f)}/latest${a?"?debug":""}`,m={appId:"lwre",autoBoot:!0,bootstrapModule:f,baseUrl:d,imports:{[g]:[f]},index:{[f]:g},endpoints:{uris:{module:h,mapping:`${d}${c}/mapping/${t}/${p}${s?u:""}/mp/`}}};return a&&m.endpoints&&(m.endpoints.modifiers={debug:"true"}),m}globalThis.process={env:{NODE_ENV:"production"}};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}"}),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"}),MODULE_ALREADY_LOADED=Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded:"}),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}"});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;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)}}))}hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`,MAPPINGS_FETCH=`${LOADER_PREFIX}mappings.fetch`,MAPPINGS_ERROR=`${LOADER_PREFIX}mappings.error`;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(!t||0===t.length){const r=e?JSON.stringify(e):"undefined";throw new LoaderError(BAD_IMPORT_METADATA,[r,t?"[]":"undefined"])}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,n]of Object.entries(e.imports))n.forEach((e=>{const n=r[e],i=this.importURICache.get(e);if(i){const t=n||o,r=i.identity||i.uri;r!==t&&this.invalidationCallback({name:e,oldUrl:r,newUrl:t})}else this.saveImportURIRecord(e,o,n,t.includes(e))}))}getURI(e){return 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 n=t[o],i=await n(e,{knownModules:r});if(i||void 0===i)return i}}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());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:n}=t;for(let t=0;t<e.length;t++){const i=e[t];try{if(null!==i({name:r,oldUrl:o,newUrl:n}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}const MODULE_LOAD_TIMEOUT_TIMER=3e5;let lastWindowError;function isCustomResponse(e){return Object.prototype.hasOwnProperty.call(e,"data")&&!Object.prototype.hasOwnProperty.call(e,"blob")}function isFetchResponse(e){return"function"==typeof e.blob}function isResponseAPromise(e){return!(!e||!e.then)}async function evaluateLoadHookResponse(response,id){return Promise.resolve().then((async()=>{if(!response.status)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(200!==response.status)throw new LoaderError(HTTP_FAIL_LOAD,[id,`${response.status}`]);const isResponse=isFetchResponse(response);let code;if(isCustomResponse(response))code=response.data;else{if(!isResponse)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);code=await response.text()}if(!code)throw new LoaderError(FAIL_LOAD,[id]);code=`${code}\n//# sourceURL=${id}`;try{eval(code)}catch(e){throw new LoaderError(FAIL_LOAD,[id])}if(lastWindowError)throw new LoaderError(FAIL_LOAD,[id]);return!0}))}async function evaluateLoadHook(e,t){return hasSetTimeout?new Promise(((r,o)=>{const n=setTimeout((()=>{o(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER);t.then((e=>{r(e)})).catch((()=>{o(new LoaderError(FAIL_HOOK_LOAD,[e]))})).finally((()=>{clearTimeout(n)}))})):t}hasDocument&&globalThis.addEventListener("error",(e=>{lastWindowError=e.error})),"production"!==process.env.NODE_ENV&&!hasSetTimeout&&hasConsole&&console.warn("setTimeout API is not available, watchdog timer on load hook will not be set");class ModuleRegistry{constructor(e){ModuleRegistry.prototype.__init.call(this),ModuleRegistry.prototype.__init2.call(this),ModuleRegistry.prototype.__init3.call(this),this.profiler=e.profiler,this.resolver=new ImportMetadataResolver(e,this.importMetadataInvalidationCallback.bind(this))}async load(e,t){const r=await this.resolve(e,t),o=this.getModuleRecord(r,e);return o.evaluated?o.module:(o.evaluationPromise||(o.evaluationPromise=this.topLevelEvaluation(o)),o.evaluationPromise)}async resolve(e,t){const r=this.resolver.getBaseUrl();let o,n=e;const i=this.resolveHook;if(i){for(let e=0;e<i.length;e++){const t=(0,i[e])(n,{parentUrl:r});let s;if((t||null===t)&&(s=isResponseAPromise(t)?await t:t),null!==s){if("string"==typeof s){if(resolveIfNotPlainOrUrl(s,r))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);n=s;continue}if(o=s&&s.url&&(resolveIfNotPlainOrUrl(s.url,r)||s.url),!o)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);break}}if(n!==e){if(!o&&this.namedDefineRegistry.has(n))return n;e=n}}if(!o){const t=resolveIfNotPlainOrUrl(e,r)||e;if(this.moduleRegistry.has(t))return t;const n=this.resolver.resolveLocal(t);if(n){if(this.namedDefineRegistry.has(t)&&this.namedDefineRegistry.get(t).defined){if(!this.moduleRegistry.get(n)||!this.aliases.has(t))return t}return n}if(this.namedDefineRegistry.has(t))return t;try{o=await this.resolver.resolve(t)}catch(e){}}if(!o||!isUrl(o)){if(this.namedDefineRegistry.has(e))return e;throw new LoaderError(UNRESOLVED,[e])}return t&&isUrl(o)&&(o+=`?importer=${encodeURIComponent(t)}`),o}has(e){return this.moduleRegistry.has(e)}define(e,t,r){const o=this.namedDefineRegistry.get(e);if(o&&o.defined)return"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(`Module redefine attempted: ${e}`),void(this.lastDefine=o);const n={name:e,dependencies:t,exporter:r,defined:!0};o&&o.external&&o.external.resolveExternal(n),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,n),this.lastDefine=n}registerExternalModules(e){e.map((e=>{if(this.namedDefineRegistry.has(e))"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(MODULE_ALREADY_LOADED.message,e);else{let t,r;const o=new Promise(((o,n)=>{t=o,r=setTimeout((()=>{n(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER)})).finally((()=>{clearTimeout(r)})),n={name:e,defined:!1,external:{resolveExternal:t,moduleDefPromise:o}};this.namedDefineRegistry.set(e,n)}}))}__init(){this.namedDefineRegistry=new Map}__init2(){this.moduleRegistry=new Map}__init3(){this.aliases=new Map}getImportMetadataResolver(){return this.resolver}getExistingModuleRecord(e,t){const r=this.moduleRegistry.get(e);if(r)return this.storeModuleAlias(t,e),r;if(e!==t){const e=this.aliases.get(t);if(e){const t=this.moduleRegistry.get(e);if(t)return t}}return r}getModuleRecord(e,t){const r=this.getExistingModuleRecord(e,t);if(r)return r;const o=this.getModuleDef(e,t),n=o.then((e=>{const t=e.dependencies.map((e=>{if("exports"!==e)return invariant("require"!==e,NO_AMD_REQUIRE),this.getModuleDependencyRecord.call(this,e)})).filter((e=>void 0!==e));return Promise.all(t)})),i={id:e,module:Object.create(null),dependencyRecords:n,instantiation:o,evaluated:!1,evaluationPromise:null};return this.moduleRegistry.set(e,i),this.storeModuleAlias(t,e),i}storeModuleAlias(e,t){if(e!==t)if(this.aliases.has(e)){if("production"!==process.env.NODE_ENV&&hasConsole){const r=this.aliases.get(e);r!==t&&console.warn(`Alias update attempt: ${e}=>${r}, ${t}`)}}else this.aliases.set(e,t)}async getModuleDependencyRecord(e){const t=await this.resolve(e);return this.getModuleRecord(t,e)}async topLevelEvaluation(e){return await this.instantiateAll(e,{}),this.evaluateModule(e,{})}async instantiateAll(e,t){if(!t[e.id]){t[e.id]=!0;const r=await e.dependencyRecords;if(r)for(let e=0;e<r.length;e++){const o=r[e];await this.instantiateAll(o,t)}}}async evaluateModule(e,t){const r=await e.dependencyRecords;r.length>0&&(t[e.id]=!0,await this.evaluateModuleDependencies(r,t));const{exporter:o,dependencies:n}=await e.instantiation,i={},s=await Promise.all(n.map((async e=>{if("exports"===e)return i;const t=await this.resolve(e),r=this.moduleRegistry.get(t);if(!r)throw new LoaderError(FAILED_DEP,[t]);const o=r.module;if(!r.evaluated)return this.getCircularDependencyWrapper(o);if(o)return o.__defaultInterop?o.default:o;throw new LoaderError(FAILED_DEP,[t])})));if(e.evaluated)return e.module;let a=o(...s);void 0!==a?(a={default:a},Object.defineProperty(a,"__defaultInterop",{value:!0})):this.isNamedExportDefaultOnly(i)&&Object.defineProperty(i,"__useDefault",{value:!0});const l=a||i;for(const t in l)Object.defineProperty(e.module,t,{enumerable:!0,set(e){l[t]=e},get:()=>l[t]});return l.__useDefault&&Object.defineProperty(e.module,"__useDefault",{value:!0}),l.__defaultInterop&&Object.defineProperty(e.module,"__defaultInterop",{value:!0}),l.__esModule&&Object.defineProperty(e.module,"__esModule",{value:!0}),e.evaluated=!0,Object.freeze(e.module),e.module}isNamedExportDefaultOnly(e){return void 0!==e&&2===Object.getOwnPropertyNames(e).length&&Object.prototype.hasOwnProperty.call(e,"default")&&Object.prototype.hasOwnProperty.call(e,"__esModule")}getCircularDependencyWrapper(e){const t=()=>e.__useDefault||e.__defaultInterop?e.default:e;return t.__circular__=!0,t}async evaluateModuleDependencies(e,t){for(let r=0;r<e.length;r++){const o=e[r];o.evaluated||t[o.id]||(t[o.id]=!0,await this.evaluateModule(o,t))}}async getModuleDef(e,t){this.lastDefine=void 0;const r=isUrl(e)?t!==e?t:void 0:e;let o=r&&this.namedDefineRegistry.get(r);if(o&&o.external)return o.external.moduleDefPromise;if(o&&o.defined)return o;const n=this.resolver.getBaseUrl(),i=r||t;return this.profiler.logOperationStart({id:MODULE_FETCH,specifier:i}),Promise.resolve().then((async()=>{const t=this.loadHook;if(t)for(let r=0;r<t.length;r++){const o=(0,t[r])(e,n),i=isResponseAPromise(o)?await evaluateLoadHook(e,o):o;if(void 0===i)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(i&&null!==i)return evaluateLoadHookResponse(i,e)}return!1})).then((t=>{if(!0!==t&&hasDocument)return loadModuleDef(e)})).then((()=>{if(o=r&&this.namedDefineRegistry.get(r),o||(o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:i}),o})).catch((e=>{throw this.profiler.logOperationStart({id:MODULE_ERROR,specifier:i}),e}))}addLoaderPlugin(e){if("object"!=typeof e)throw new LoaderError(INVALID_HOOK);const{loadModule:t,resolveModule:r,loadMapping:o}=e;r&&(this.resolveHook?this.resolveHook.push(r):this.resolveHook=[r]),t&&(this.loadHook?this.loadHook.push(t):this.loadHook=[t]),o&&this.resolver.addLoadMappingHook(o)}importMetadataInvalidationCallback({name:e,oldUrl:t,newUrl:r}){const o=this.handleStaleModuleHook;o?evaluateHandleStaleModuleHooks(o,{name:e,oldUrl:t,newUrl:r}):"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(`stale module detected ${e}, current URL:${t}, new URL:${r}`)}registerHandleStaleModuleHook(e){this.handleStaleModuleHook?this.handleStaleModuleHook.push(e):this.handleStaleModuleHook=[e]}}class Loader{constructor(e){let t=e.baseUrl;const r=e.endpoints?e.endpoints.uris.mapping:void 0;let o=e.profiler;if(!r)throw new LoaderError(NO_MAPPING_URL);if(e.endpoints.uris.mapping=r.replace(/\/?$/,"/"),t&&(t=t.replace(/\/?$/,"/")),t||(t=getBaseUrl()),!t)throw new LoaderError(NO_BASE_URL);if(o||(o={logOperationStart:()=>{},logOperationEnd:()=>{}}),this.registry=new ModuleRegistry(Object.freeze({endpoints:e.endpoints,baseUrl:t,profiler:o})),e.appMetadata&&!e.appMetadata.appId){const t=e.appMetadata.bootstrapModule.match(/@lwr-bootstrap\/(.+)\/v\/.+/),r=t&&t[1];e.appMetadata.appId=r}this.services=Object.freeze({addLoaderPlugin:this.registry.addLoaderPlugin.bind(this.registry),handleStaleModule:this.registry.registerHandleStaleModuleHook.bind(this.registry),appMetadata:e.appMetadata})}define(e,t,r){invariant("string"==typeof e,MISSING_NAME);let o=r,n=t;"function"==typeof n&&(o=t,n=[]),invariant(Array.isArray(n),INVALID_DEPS),this.registry.define(e,n,o)}async load(e,t){return this.registry.load(e,t)}has(e){return this.registry.has(e)}async resolve(e,t){return this.registry.resolve(e,t)}async registerImportMappings(e,t){this.registry.getImportMetadataResolver().registerImportMappings(e,t)}registerExternalModules(e){this.registry.registerExternalModules(e)}}function _optionalChain(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}const configOptions={format:"amd",apiVersion:"1",apiPrefix:"",bundle:!0,debug:!1},configuration=getConfiguration(configOptions),{bootstrapModule:bootstrapModule,endpoints:endpoints,baseUrl:baseUrl,imports:imports,index:index}=configuration,loader=new Loader({endpoints:endpoints,baseUrl:baseUrl});loader.define("lwr/loader/v/0_10_0-alpha_9",["exports"],(e=>{Object.assign(e,{define:loader.define.bind(loader),load:loader.load.bind(loader)})})),await loader.registerImportMappings({imports:imports,index:index},[bootstrapModule]),globalThis.LWR=Object.freeze({define:loader.define.bind(loader)}),LWR.define("lwr/everywhereAmd/v/0_10_0-alpha_9",["exports","lwr/vault/v/0_10_0-alpha_9"],(function(e,t){async function r(e,r="javascript"){const o=t.getAuthInfo();return o?fetch(e,{headers:{Accept:`application/${r}`,Authorization:`Bearer ${o.access_token}`}}):null}e.authenticate=function(e){e&&t.setAuthInfo(e)},e.initAmd=function(e,t,o){t.match(/\/v5\d\.0\//)&&function(e,t,o){e.addLoaderPlugin({loadModule:async e=>r(e),loadMapping:async e=>{const o=await r(`${t}${encodeURIComponent(e)}`,"json");return o&&o.ok?o.json():null},resolveModule:e=>e&&!/\/v\/[^/]+?$/.test(e)?`${e}/v/${o}`:null})}(e,t,o)},Object.defineProperty(e,"__esModule",{value:!0})})),LWR.define("lwr/vault/v/0_10_0-alpha_9",["exports"],(function(e){let t;e.getAuthInfo=function(){return t},e.setAuthInfo=function(e){t=e},Object.defineProperty(e,"__esModule",{value:!0})}));const{initAmd:initAmd,authenticate:authenticate}=await loader.load(bootstrapModule);async function createComponent(e,t,r={},o){const{createComponent:n}=await loader.load(bootstrapModule.replace("Amd",""));return n(e,t,r,o)}initAmd(loader.services,_optionalChain([endpoints,"optionalAccess",e=>e.uris,"access",e=>e.mapping]),"0_10_0-alpha_9");export{authenticate,createComponent};
1
+ function getConfiguration(e){const{format:t,server:r,apiVersion:o,apiPrefix:n,locale:i,bundle:s,debug:a}=e,l=new URL(import.meta.url),d=r||l.origin||"",c=`${n}/${o}`,u="0"+(i?`/l/${i}`:""),p="/bi/3_A,B,O,S,EG,JLMT,C,D,F,H,I,K,N,P,Q,R",f=s?`${d}${c}/bundle/${t}/${u}${p}-0/module/mi/`:`${d}${c}/module/${t}/${u}/mi/`,h=`lwr/everywhere${"esm"===t?"Esm":"Amd"}/v/0_10_0`,g=`${f}${encodeURIComponent(h)}/latest${a?"?debug":""}`,E={appId:"lwre",autoBoot:!0,bootstrapModule:h,baseUrl:d,imports:{[g]:[h]},index:{[h]:g},endpoints:{uris:{module:f,mapping:`${d}${c}/mapping/${t}/${u}${s?p:""}/mp/`}}};return a&&E.endpoints&&(E.endpoints.modifiers={debug:"true"}),E}globalThis.process={env:{NODE_ENV:"production"}};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}"}),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"}),MODULE_ALREADY_LOADED=Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded:"}),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}"});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;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)}}))}hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`,MAPPINGS_FETCH=`${LOADER_PREFIX}mappings.fetch`,MAPPINGS_ERROR=`${LOADER_PREFIX}mappings.error`;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(!t||0===t.length){const r=e?JSON.stringify(e):"undefined";throw new LoaderError(BAD_IMPORT_METADATA,[r,t?"[]":"undefined"])}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,n]of Object.entries(e.imports))n.forEach((e=>{const n=r[e],i=this.importURICache.get(e);if(i){const t=n||o,r=i.identity||i.uri;r!==t&&this.invalidationCallback({name:e,oldUrl:r,newUrl:t})}else this.saveImportURIRecord(e,o,n,t.includes(e))}))}getURI(e){return 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 n=t[o],i=await n(e,{knownModules:r});if(i||void 0===i)return i}}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());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:n}=t;for(let t=0;t<e.length;t++){const i=e[t];try{if(null!==i({name:r,oldUrl:o,newUrl:n}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}const MODULE_LOAD_TIMEOUT_TIMER=6e4,SUPPORTS_TRUSTED_TYPES="undefined"!=typeof trustedTypes;
2
+ /*!
3
+ * Copyright (C) 2023 salesforce.com, inc.
4
+ */function createTrustedTypesPolicy(e,t){return trustedTypes.createPolicy(e,t)}function createFallbackPolicy(e,t){return t}const createPolicy=SUPPORTS_TRUSTED_TYPES?createTrustedTypesPolicy:createFallbackPolicy,policyOptions={createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e};try{createPolicy("default",{createHTML:e=>e,createScript(e){if("null"===e||"undefined"===e)return e},createScriptURL:e=>e})}catch(e){}const trusted=createPolicy("trusted",policyOptions);
5
+ /*! version: 0.19.10 */let lastWindowError;function isCustomResponse(e){return Object.prototype.hasOwnProperty.call(e,"data")&&!Object.prototype.hasOwnProperty.call(e,"blob")}function isFetchResponse(e){return"function"==typeof e.blob}function isResponseAPromise(e){return!(!e||!e.then)}async function evaluateLoadHookResponse(response,id){return Promise.resolve().then((async()=>{if(!response.status)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(200!==response.status)throw new LoaderError(HTTP_FAIL_LOAD,[id,`${response.status}`]);const isResponse=isFetchResponse(response);let code;if(isCustomResponse(response))code=response.data;else{if(!isResponse)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);code=await response.text()}if(!code)throw new LoaderError(FAIL_LOAD,[id]);code=`${code}\n//# sourceURL=${id}`;try{eval(trusted.createScript(code))}catch(e){throw new LoaderError(FAIL_LOAD,[id])}if(lastWindowError)throw new LoaderError(FAIL_LOAD,[id]);return!0}))}async function evaluateLoadHook(e,t){return hasSetTimeout?new Promise(((r,o)=>{const n=setTimeout((()=>{o(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER);t.then((e=>{r(e)})).catch((()=>{o(new LoaderError(FAIL_HOOK_LOAD,[e]))})).finally((()=>{clearTimeout(n)}))})):t}hasDocument&&globalThis.addEventListener("error",(e=>{lastWindowError=e.error})),"production"!==process.env.NODE_ENV&&!hasSetTimeout&&hasConsole&&console.warn("setTimeout API is not available, watchdog timer on load hook will not be set");class ModuleRegistry{constructor(e){ModuleRegistry.prototype.__init.call(this),ModuleRegistry.prototype.__init2.call(this),ModuleRegistry.prototype.__init3.call(this),this.profiler=e.profiler,this.resolver=new ImportMetadataResolver(e,this.importMetadataInvalidationCallback.bind(this))}async load(e,t){const r=await this.resolve(e,t),o=this.getModuleRecord(r,e);return o.evaluated?o.module:(o.evaluationPromise||(o.evaluationPromise=this.topLevelEvaluation(o)),o.evaluationPromise)}async resolve(e,t){const r=this.resolver.getBaseUrl();let o,n=e;const i=this.resolveHook;if(i){for(let e=0;e<i.length;e++){const t=(0,i[e])(n,{parentUrl:r});let s;if((t||null===t)&&(s=isResponseAPromise(t)?await t:t),!this.isValidResolveResponse(s))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(null!==s){if("string"==typeof s){if(resolveIfNotPlainOrUrl(s,r))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);n=s;continue}if(o=s&&s.url&&(resolveIfNotPlainOrUrl(s.url,r)||s.url),!o)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);break}}if(n!==e){if(!o&&this.namedDefineRegistry.has(n))return n;e=n}}if(!o){const t=resolveIfNotPlainOrUrl(e,r)||e;if(this.moduleRegistry.has(t))return t;const n=this.resolver.resolveLocal(t);if(n){if(this.namedDefineRegistry.has(t)&&this.namedDefineRegistry.get(t).defined){if(!this.moduleRegistry.get(n)||!this.aliases.has(t))return t}return n}if(this.namedDefineRegistry.has(t))return t;try{o=await this.resolver.resolve(t)}catch(e){}}if(!o||!isUrl(o)){if(this.namedDefineRegistry.has(e))return e;throw new LoaderError(UNRESOLVED,[e])}return t&&isUrl(o)&&(o+=`?importer=${encodeURIComponent(t)}`),o}has(e){return this.moduleRegistry.has(e)}define(e,t,r){const o=this.namedDefineRegistry.get(e);if(o&&o.defined)return"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(`Module redefine attempted: ${e}`),void(this.lastDefine=o);const n={name:e,dependencies:t,exporter:r,defined:!0};o&&o.external&&o.external.resolveExternal(n),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,n),this.lastDefine=n}registerExternalModules(e){e.map((e=>{if(this.namedDefineRegistry.has(e))"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(MODULE_ALREADY_LOADED.message,e);else{let t,r;const o=new Promise(((o,n)=>{t=o,r=setTimeout((()=>{n(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER)})).finally((()=>{clearTimeout(r)})),n={name:e,defined:!1,external:{resolveExternal:t,moduleDefPromise:o}};this.namedDefineRegistry.set(e,n)}}))}__init(){this.namedDefineRegistry=new Map}__init2(){this.moduleRegistry=new Map}__init3(){this.aliases=new Map}getImportMetadataResolver(){return this.resolver}getExistingModuleRecord(e,t){const r=this.moduleRegistry.get(e);if(r)return this.storeModuleAlias(t,e),r;if(e!==t){const e=this.aliases.get(t);if(e){const t=this.moduleRegistry.get(e);if(t)return t}}return r}getModuleRecord(e,t){const r=this.getExistingModuleRecord(e,t);if(r)return r;const o=this.getModuleDef(e,t),n=o.then((e=>{const t=e.dependencies.map((e=>{if("exports"!==e)return invariant("require"!==e,NO_AMD_REQUIRE),this.getModuleDependencyRecord.call(this,e)})).filter((e=>void 0!==e));return Promise.all(t)})),i={id:e,module:Object.create(null),dependencyRecords:n,instantiation:o,evaluated:!1,evaluationPromise:null};return this.moduleRegistry.set(e,i),this.storeModuleAlias(t,e),i}storeModuleAlias(e,t){if(e!==t)if(this.aliases.has(e)){if("production"!==process.env.NODE_ENV&&hasConsole){const r=this.aliases.get(e);r!==t&&console.warn(`Alias update attempt: ${e}=>${r}, ${t}`)}}else this.aliases.set(e,t)}async getModuleDependencyRecord(e){const t=await this.resolve(e);return this.getModuleRecord(t,e)}async topLevelEvaluation(e){return await this.instantiateAll(e,{}),this.evaluateModule(e,{})}async instantiateAll(e,t){if(!t[e.id]){t[e.id]=!0;const r=await e.dependencyRecords;if(r)for(let e=0;e<r.length;e++){const o=r[e];await this.instantiateAll(o,t)}}}async evaluateModule(e,t){const r=await e.dependencyRecords;r.length>0&&(t[e.id]=!0,await this.evaluateModuleDependencies(r,t));const{exporter:o,dependencies:n}=await e.instantiation,i={},s=await Promise.all(n.map((async e=>{if("exports"===e)return i;const t=await this.resolve(e),r=this.moduleRegistry.get(t);if(!r)throw new LoaderError(FAILED_DEP,[t]);const o=r.module;if(!r.evaluated)return this.getCircularDependencyWrapper(o);if(o)return o.__defaultInterop?o.default:o;throw new LoaderError(FAILED_DEP,[t])})));if(e.evaluated)return e.module;let a=o(...s);void 0!==a?(a={default:a},Object.defineProperty(a,"__defaultInterop",{value:!0})):this.isNamedExportDefaultOnly(i)&&Object.defineProperty(i,"__useDefault",{value:!0});const l=a||i;for(const t in l)Object.defineProperty(e.module,t,{enumerable:!0,set(e){l[t]=e},get:()=>l[t]});return l.__useDefault&&Object.defineProperty(e.module,"__useDefault",{value:!0}),l.__defaultInterop&&Object.defineProperty(e.module,"__defaultInterop",{value:!0}),l.__esModule&&Object.defineProperty(e.module,"__esModule",{value:!0}),e.evaluated=!0,Object.freeze(e.module),e.module}isNamedExportDefaultOnly(e){return void 0!==e&&2===Object.getOwnPropertyNames(e).length&&Object.prototype.hasOwnProperty.call(e,"default")&&Object.prototype.hasOwnProperty.call(e,"__esModule")}getCircularDependencyWrapper(e){const t=()=>e.__useDefault||e.__defaultInterop?e.default:e;return t.__circular__=!0,t}async evaluateModuleDependencies(e,t){for(let r=0;r<e.length;r++){const o=e[r];o.evaluated||t[o.id]||(t[o.id]=!0,await this.evaluateModule(o,t))}}async getModuleDef(e,t){this.lastDefine=void 0;const r=isUrl(e)?t!==e?t:void 0:e;let o=r&&this.namedDefineRegistry.get(r);if(o&&o.external)return o.external.moduleDefPromise;if(o&&o.defined)return o;const n=this.resolver.getBaseUrl(),i=r||t;return this.profiler.logOperationStart({id:MODULE_FETCH,specifier:i}),Promise.resolve().then((async()=>{const t=this.loadHook;if(t)for(let r=0;r<t.length;r++){const o=(0,t[r])(e,n),i=isResponseAPromise(o)?await evaluateLoadHook(e,o):o;if(void 0===i)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(i&&null!==i)return evaluateLoadHookResponse(i,e)}return!1})).then((t=>{if(!0!==t&&hasDocument)return loadModuleDef(e)})).then((()=>{if(o=r&&this.namedDefineRegistry.get(r),o||(o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:i}),o})).catch((e=>{throw this.profiler.logOperationStart({id:MODULE_ERROR,specifier:i}),e}))}addLoaderPlugin(e){if("object"!=typeof e)throw new LoaderError(INVALID_HOOK);const{loadModule:t,resolveModule:r,loadMapping:o}=e;r&&(this.resolveHook?this.resolveHook.push(r):this.resolveHook=[r]),t&&(this.loadHook?this.loadHook.push(t):this.loadHook=[t]),o&&this.resolver.addLoadMappingHook(o)}importMetadataInvalidationCallback({name:e,oldUrl:t,newUrl:r}){const o=this.handleStaleModuleHook;o?evaluateHandleStaleModuleHooks(o,{name:e,oldUrl:t,newUrl:r}):"production"!==process.env.NODE_ENV&&hasConsole&&console.warn(`stale module detected ${e}, current URL:${t}, new URL:${r}`)}registerHandleStaleModuleHook(e){this.handleStaleModuleHook?this.handleStaleModuleHook.push(e):this.handleStaleModuleHook=[e]}isValidResolveResponse(e){return null===e||"string"==typeof e||e&&"string"==typeof e.url}}class Loader{constructor(e){let t=e.baseUrl;const r=e.endpoints?e.endpoints.uris.mapping:void 0;let o=e.profiler;if(!r)throw new LoaderError(NO_MAPPING_URL);if(e.endpoints.uris.mapping=r.replace(/\/?$/,"/"),t&&(t=t.replace(/\/?$/,"/")),t||(t=getBaseUrl()),!t)throw new LoaderError(NO_BASE_URL);if(o||(o={logOperationStart:()=>{},logOperationEnd:()=>{}}),this.registry=new ModuleRegistry(Object.freeze({endpoints:e.endpoints,baseUrl:t,profiler:o})),e.appMetadata&&!e.appMetadata.appId){const t=e.appMetadata.bootstrapModule.match(/@lwr-bootstrap\/(.+)\/v\/.+/),r=t&&t[1];e.appMetadata.appId=r}this.services=Object.freeze({addLoaderPlugin:this.registry.addLoaderPlugin.bind(this.registry),handleStaleModule:this.registry.registerHandleStaleModuleHook.bind(this.registry),appMetadata:e.appMetadata})}define(e,t,r){invariant("string"==typeof e,MISSING_NAME);let o=r,n=t;"function"==typeof n&&(o=t,n=[]),invariant(Array.isArray(n),INVALID_DEPS),this.registry.define(e,n,o)}async load(e,t){return this.registry.load(e,t)}has(e){return this.registry.has(e)}async resolve(e,t){return this.registry.resolve(e,t)}async registerImportMappings(e,t){this.registry.getImportMetadataResolver().registerImportMappings(e,t)}registerExternalModules(e){this.registry.registerExternalModules(e)}}function _optionalChain(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}const configOptions={format:"amd",apiVersion:"1",apiPrefix:"",bundle:!0,debug:!1},configuration=getConfiguration(configOptions),{bootstrapModule:bootstrapModule,endpoints:endpoints,baseUrl:baseUrl,imports:imports,index:index}=configuration,loader=new Loader({endpoints:endpoints,baseUrl:baseUrl});loader.define("lwr/loader/v/0_10_0",["exports"],(e=>{Object.assign(e,{define:loader.define.bind(loader),load:loader.load.bind(loader)})})),await loader.registerImportMappings({imports:imports,index:index},[bootstrapModule]),globalThis.LWR=Object.freeze({define:loader.define.bind(loader)}),LWR.define("lwr/everywhereAmd/v/0_10_0",["exports","lwr/vault/v/0_10_0"],(function(e,t){async function r(e,r="javascript"){const o=t.getAuthInfo();return o?fetch(e,{headers:{Accept:`application/${r}`,Authorization:`Bearer ${o.access_token}`}}):null}e.authenticate=function(e){e&&t.setAuthInfo(e)},e.initAmd=function(e,t,o){t.match(/\/v5\d\.0\//)&&function(e,t,o){e.addLoaderPlugin({loadModule:async e=>r(e),loadMapping:async e=>{const o=await r(`${t}${encodeURIComponent(e)}`,"json");return o&&o.ok?o.json():null},resolveModule:e=>e&&!/\/v\/[^/]+?$/.test(e)?`${e}/v/${o}`:null})}(e,t,o)},Object.defineProperty(e,"__esModule",{value:!0})})),LWR.define("lwr/vault/v/0_10_0",["exports"],(function(e){let t;e.getAuthInfo=function(){return t},e.setAuthInfo=function(e){t=e},Object.defineProperty(e,"__esModule",{value:!0})}));const{initAmd:initAmd,authenticate:authenticate}=await loader.load(bootstrapModule);async function createComponent(e,t,r={},o){const{createComponent:n}=await loader.load(bootstrapModule.replace("Amd",""));return n(e,t,r,o)}initAmd(loader.services,_optionalChain([endpoints,"optionalAccess",e=>e.uris,"access",e=>e.mapping]),"0_10_0");export{authenticate,createComponent};
@@ -20,7 +20,7 @@ function getConfiguration(options) {
20
20
  : `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
21
21
 
22
22
  // Component specifiers and URIs
23
- const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_10_0-alpha_9`;
23
+ const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_10_0`;
24
24
  const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
25
25
 
26
26
  // Client Bootstrap Config
@@ -52,7 +52,7 @@ function getConfiguration(options) {
52
52
  * SPDX-License-Identifier: MIT
53
53
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
54
54
  */
55
- /* LWR Module Loader v0.10.0-alpha.9 */
55
+ /* LWR Module Loader v0.10.0 */
56
56
  const templateRegex = /\{([0-9]+)\}/g;
57
57
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
58
  function templateString(template, args) {
@@ -625,7 +625,69 @@ function evaluateHandleStaleModuleHooks(
625
625
  }
626
626
  }
627
627
 
628
- const MODULE_LOAD_TIMEOUT_TIMER = 300000;
628
+ const MODULE_LOAD_TIMEOUT_TIMER = 60 * 1000; // 1m
629
+
630
+ /*!
631
+ * Copyright (C) 2023 salesforce.com, inc.
632
+ */
633
+ // @ts-ignore: Prevent cannot find name 'trustedTypes' error.
634
+ const SUPPORTS_TRUSTED_TYPES = typeof trustedTypes !== 'undefined';
635
+ function createTrustedTypesPolicy(name, options) {
636
+ // @ts-ignore: Prevent cannot find name 'trustedTypes' error.
637
+ return trustedTypes.createPolicy(name, options);
638
+ }
639
+ function createFallbackPolicy(_name, options) {
640
+ return options;
641
+ }
642
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/trusted-types
643
+ const createPolicy = SUPPORTS_TRUSTED_TYPES ? createTrustedTypesPolicy : createFallbackPolicy;
644
+ const policyOptions = {
645
+ createHTML(value) {
646
+ return value;
647
+ },
648
+ createScript(value) {
649
+ return value;
650
+ },
651
+ createScriptURL(value) {
652
+ return value;
653
+ }
654
+ };
655
+ // Temporarily surround in try-catch until migration to AMD run.
656
+ try {
657
+ createPolicy('default', {
658
+ createHTML(dirty) {
659
+ // Treat null & undefined separately
660
+ if (dirty === 'null' || dirty === 'undefined') {
661
+ return dirty;
662
+ }
663
+ return dirty;
664
+ },
665
+ // Ignore typescript type validation for this policy.
666
+ // Returning `undefined` from a TT policy blocks usages
667
+ // of specific DOM sinks affected by this hook.
668
+ // We want to block eval and inline scripts.
669
+ // @ts-ignore
670
+ createScript(dirty) {
671
+ // Treat null & undefined separately
672
+ if (dirty === 'null' || dirty === 'undefined') {
673
+ return dirty;
674
+ }
675
+ // Block script evaluation
676
+ return undefined;
677
+ },
678
+ createScriptURL(dirty) {
679
+ // Treat null & undefined separately
680
+ if (dirty === 'null' || dirty === 'undefined') {
681
+ return dirty;
682
+ }
683
+ return dirty;
684
+ }
685
+ });
686
+ } catch (_unused) {
687
+ // swallow
688
+ }
689
+ const trusted = createPolicy('trusted', policyOptions);
690
+ /*! version: 0.19.10 */
629
691
 
630
692
  /* global console,process */
631
693
 
@@ -694,7 +756,7 @@ async function evaluateLoadHookResponse(response, id) {
694
756
  code = `${code}\n//# sourceURL=${id}`; // append sourceURL for debugging
695
757
  try {
696
758
  // TODO eval source maps for debugging
697
- eval(code);
759
+ eval(trusted.createScript(code));
698
760
  } catch (e) {
699
761
  throw new LoaderError(FAIL_LOAD, [id]);
700
762
  }
@@ -818,6 +880,9 @@ class ModuleRegistry {
818
880
  // eslint-disable-next-line no-await-in-loop
819
881
  result = isResponseAPromise(response) ? await response : response;
820
882
  }
883
+ if (!this.isValidResolveResponse(result)) {
884
+ throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);
885
+ }
821
886
 
822
887
  // if result is not null, attempt resolution
823
888
  if (result !== null) {
@@ -1346,6 +1411,12 @@ class ModuleRegistry {
1346
1411
  this.handleStaleModuleHook = [handleStaleModule];
1347
1412
  }
1348
1413
  }
1414
+
1415
+ isValidResolveResponse(res) {
1416
+ return (
1417
+ res === null || typeof res === 'string' || (res && typeof (res ).url === 'string')
1418
+ );
1419
+ }
1349
1420
  }
1350
1421
 
1351
1422
  /**
@@ -1492,7 +1563,7 @@ const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration;
1492
1563
 
1493
1564
  // Initialize the AMD loader (its code is bundled into the LWR Everywhere module)
1494
1565
  const loader = new Loader({ endpoints, baseUrl });
1495
- loader.define('lwr/loader/v/0_10_0-alpha_9', ['exports'], (exports) => {
1566
+ loader.define('lwr/loader/v/0_10_0', ['exports'], (exports) => {
1496
1567
  Object.assign(exports, {
1497
1568
  define: loader.define.bind(loader),
1498
1569
  load: loader.load.bind(loader),
@@ -1502,12 +1573,12 @@ await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
1502
1573
  (globalThis ).LWR = Object.freeze({ define: loader.define.bind(loader) });
1503
1574
 
1504
1575
  // Define preload modules (ie: ABS, vault, etc) BEFORE loading them
1505
- LWR.define('lwr/everywhereAmd/v/0_10_0-alpha_9', ['exports', 'lwr/vault/v/0_10_0-alpha_9'], (function (exports, _0_10_0Alpha_9) {
1576
+ LWR.define('lwr/everywhereAmd/v/0_10_0', ['exports', 'lwr/vault/v/0_10_0'], (function (exports, _0_10_0) {
1506
1577
  // IMPORTANT: Do not add any static imports to this file that are not bundled with the amd-client
1507
1578
 
1508
1579
  // Do an OAuthed fetch
1509
1580
  async function authFetch(url, accept = 'javascript') {
1510
- const authInfo = _0_10_0Alpha_9.getAuthInfo();
1581
+ const authInfo = _0_10_0.getAuthInfo();
1511
1582
  if (authInfo) {
1512
1583
  return fetch(url, {
1513
1584
  headers: {
@@ -1557,7 +1628,7 @@ LWR.define('lwr/everywhereAmd/v/0_10_0-alpha_9', ['exports', 'lwr/vault/v/0_10_0
1557
1628
  function authenticate(authInfo) {
1558
1629
  // Put OAuth info into the vault
1559
1630
  if (authInfo) {
1560
- _0_10_0Alpha_9.setAuthInfo(authInfo);
1631
+ _0_10_0.setAuthInfo(authInfo);
1561
1632
  }
1562
1633
  }
1563
1634
 
@@ -1567,7 +1638,7 @@ LWR.define('lwr/everywhereAmd/v/0_10_0-alpha_9', ['exports', 'lwr/vault/v/0_10_0
1567
1638
  Object.defineProperty(exports, '__esModule', { value: true });
1568
1639
 
1569
1640
  }));
1570
- LWR.define('lwr/vault/v/0_10_0-alpha_9', ['exports'], (function (exports) {
1641
+ LWR.define('lwr/vault/v/0_10_0', ['exports'], (function (exports) {
1571
1642
  // Credential vault for storing setters and subscribers for OAuth info
1572
1643
  // This module is a SINGLETON and must be excluded from ESM bundling
1573
1644
 
@@ -1591,7 +1662,7 @@ LWR.define('lwr/vault/v/0_10_0-alpha_9', ['exports'], (function (exports) {
1591
1662
 
1592
1663
  // Set up the AMD loader hooks for OAuth
1593
1664
  const { initAmd, authenticate } = await loader.load(bootstrapModule);
1594
- initAmd(loader.services, _optionalChain([endpoints, 'optionalAccess', _ => _.uris, 'access', _2 => _2.mapping]), '0_10_0-alpha_9');
1665
+ initAmd(loader.services, _optionalChain([endpoints, 'optionalAccess', _ => _.uris, 'access', _2 => _2.mapping]), '0_10_0');
1595
1666
 
1596
1667
  // Wrap the createComponent API to allow proper ordering of module definitions:
1597
1668
  // 1. LWRE module bundle (this): lwr/loader, lwr/everywhereAmd, lwr/vault
@@ -52,7 +52,7 @@ function getConfiguration(options) {
52
52
  * SPDX-License-Identifier: MIT
53
53
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
54
54
  */
55
- /* LWR Module Loader v0.10.0-alpha.9 */
55
+ /* LWR Module Loader v0.10.0 */
56
56
  const templateRegex = /\{([0-9]+)\}/g;
57
57
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
58
  function templateString(template, args) {
@@ -625,7 +625,69 @@ function evaluateHandleStaleModuleHooks(
625
625
  }
626
626
  }
627
627
 
628
- const MODULE_LOAD_TIMEOUT_TIMER = 300000;
628
+ const MODULE_LOAD_TIMEOUT_TIMER = 60 * 1000; // 1m
629
+
630
+ /*!
631
+ * Copyright (C) 2023 salesforce.com, inc.
632
+ */
633
+ // @ts-ignore: Prevent cannot find name 'trustedTypes' error.
634
+ const SUPPORTS_TRUSTED_TYPES = typeof trustedTypes !== 'undefined';
635
+ function createTrustedTypesPolicy(name, options) {
636
+ // @ts-ignore: Prevent cannot find name 'trustedTypes' error.
637
+ return trustedTypes.createPolicy(name, options);
638
+ }
639
+ function createFallbackPolicy(_name, options) {
640
+ return options;
641
+ }
642
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/trusted-types
643
+ const createPolicy = SUPPORTS_TRUSTED_TYPES ? createTrustedTypesPolicy : createFallbackPolicy;
644
+ const policyOptions = {
645
+ createHTML(value) {
646
+ return value;
647
+ },
648
+ createScript(value) {
649
+ return value;
650
+ },
651
+ createScriptURL(value) {
652
+ return value;
653
+ }
654
+ };
655
+ // Temporarily surround in try-catch until migration to AMD run.
656
+ try {
657
+ createPolicy('default', {
658
+ createHTML(dirty) {
659
+ // Treat null & undefined separately
660
+ if (dirty === 'null' || dirty === 'undefined') {
661
+ return dirty;
662
+ }
663
+ return dirty;
664
+ },
665
+ // Ignore typescript type validation for this policy.
666
+ // Returning `undefined` from a TT policy blocks usages
667
+ // of specific DOM sinks affected by this hook.
668
+ // We want to block eval and inline scripts.
669
+ // @ts-ignore
670
+ createScript(dirty) {
671
+ // Treat null & undefined separately
672
+ if (dirty === 'null' || dirty === 'undefined') {
673
+ return dirty;
674
+ }
675
+ // Block script evaluation
676
+ return undefined;
677
+ },
678
+ createScriptURL(dirty) {
679
+ // Treat null & undefined separately
680
+ if (dirty === 'null' || dirty === 'undefined') {
681
+ return dirty;
682
+ }
683
+ return dirty;
684
+ }
685
+ });
686
+ } catch (_unused) {
687
+ // swallow
688
+ }
689
+ const trusted = createPolicy('trusted', policyOptions);
690
+ /*! version: 0.19.10 */
629
691
 
630
692
  /* global console,process */
631
693
 
@@ -694,7 +756,7 @@ async function evaluateLoadHookResponse(response, id) {
694
756
  code = `${code}\n//# sourceURL=${id}`; // append sourceURL for debugging
695
757
  try {
696
758
  // TODO eval source maps for debugging
697
- eval(code);
759
+ eval(trusted.createScript(code));
698
760
  } catch (e) {
699
761
  throw new LoaderError(FAIL_LOAD, [id]);
700
762
  }
@@ -818,6 +880,9 @@ class ModuleRegistry {
818
880
  // eslint-disable-next-line no-await-in-loop
819
881
  result = isResponseAPromise(response) ? await response : response;
820
882
  }
883
+ if (!this.isValidResolveResponse(result)) {
884
+ throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);
885
+ }
821
886
 
822
887
  // if result is not null, attempt resolution
823
888
  if (result !== null) {
@@ -1346,6 +1411,12 @@ class ModuleRegistry {
1346
1411
  this.handleStaleModuleHook = [handleStaleModule];
1347
1412
  }
1348
1413
  }
1414
+
1415
+ isValidResolveResponse(res) {
1416
+ return (
1417
+ res === null || typeof res === 'string' || (res && typeof (res ).url === 'string')
1418
+ );
1419
+ }
1349
1420
  }
1350
1421
 
1351
1422
  /**
@@ -1502,12 +1573,12 @@ await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
1502
1573
  (globalThis ).LWR = Object.freeze({ define: loader.define.bind(loader) });
1503
1574
 
1504
1575
  // Define preload modules (ie: ABS, vault, etc) BEFORE loading them
1505
- LWR.define('lwr/everywhereAmd/v/0_0_1', ['exports', 'lwr/vault/v/0_0_1'], (function (exports, _0_10_0Alpha_9) {
1576
+ LWR.define('lwr/everywhereAmd/v/0_0_1', ['exports', 'lwr/vault/v/0_0_1'], (function (exports, _0_10_0) {
1506
1577
  // IMPORTANT: Do not add any static imports to this file that are not bundled with the amd-client
1507
1578
 
1508
1579
  // Do an OAuthed fetch
1509
1580
  async function authFetch(url, accept = 'javascript') {
1510
- const authInfo = _0_10_0Alpha_9.getAuthInfo();
1581
+ const authInfo = _0_10_0.getAuthInfo();
1511
1582
  if (authInfo) {
1512
1583
  return fetch(url, {
1513
1584
  headers: {
@@ -1557,7 +1628,7 @@ LWR.define('lwr/everywhereAmd/v/0_0_1', ['exports', 'lwr/vault/v/0_0_1'], (funct
1557
1628
  function authenticate(authInfo) {
1558
1629
  // Put OAuth info into the vault
1559
1630
  if (authInfo) {
1560
- _0_10_0Alpha_9.setAuthInfo(authInfo);
1631
+ _0_10_0.setAuthInfo(authInfo);
1561
1632
  }
1562
1633
  }
1563
1634