@lwrjs/everywhere 0.19.1 → 0.19.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/02ae7930358df627b93ecbd3eb99f9df/config.js +12 -0
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/@lwrjs/app-service/amd-bootstrap/module/amd/v/{0_19_1 → 0_19_3}/s/3aba11034f11c8d5598c93bfca4d4690/@lwrjs_app-service_amd-bootstrap_module_amd.js +5 -5
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/everywhereAmd/v/{0_19_1 → 0_19_3}/s/cb931ebef2b89dcf8ab51456e3a68864/lwr_everywhereAmd.js +3 -3
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/init/v/{0_19_1 → 0_19_3}/s/ba081ae41570981325062377381a1ea2/lwr_init.js +19 -19
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/loader/v/{0_19_1/s/40df7eea64ee1a15a4401af8c93249f1 → 0_19_3/s/ba599b27c9302da4641024ef27bbad90}/lwr_loader.js +84 -29
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/metrics/v/{0_19_1 → 0_19_3}/s/fb8c5dd340c69fdf7ded52d3eba633b9/lwr_metrics.js +1 -1
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/preInit/v/{0_19_1 → 0_19_3}/s/7d064ec3a80dbbccaa4845ea5eaef125/lwr_preInit.js +1 -1
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/profiler/v/{0_19_1 → 0_19_3}/s/9f74c8370534ce02c6e7637abdcffedf/lwr_profiler.js +1 -1
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/vault/v/{0_19_1 → 0_19_3}/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js +1 -1
- package/build/__generated_site_amd_modules__/1/resource/amd/lwr-error-shim.js/v/{0_19_1 → 0_19_3}/lwr-error-shim.js +1 -1
- package/build/__generated_site_amd_modules__/1/resource/amd/lwr-loader-shim.bundle.js/v/{0_19_1 → 0_19_3}/lwr-loader-shim.bundle.js +86 -39
- package/build/assets/amd/lwr-everywhere-debug.js +88 -41
- package/build/assets/amd/lwr-everywhere-min.js +2 -2
- package/build/assets/amd/lwr-everywhere.js +88 -41
- package/build/assets/core/lwr-everywhere-debug.js +84 -37
- package/build/assets/core/lwr-everywhere-min.js +2 -2
- package/build/assets/core/lwr-everywhere.js +84 -37
- package/build/assets/esm/lwr-everywhere-debug.js +1 -1
- package/build/assets/esm/lwr-everywhere-min.js +1 -1
- package/build/assets/esm/lwr-everywhere.js +1 -1
- package/package.json +6 -6
- package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/ebc1ae6d4684719fbf896f5a11b848b7/config.js +0 -12
|
@@ -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/
|
|
23
|
+
const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_19_3`;
|
|
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.19.
|
|
55
|
+
/* LWR Module Loader v0.19.3 */
|
|
56
56
|
const templateRegex = /\{([0-9]+)\}/g;
|
|
57
57
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
58
|
function templateString(template, args) {
|
|
@@ -191,6 +191,11 @@ const NO_IMPORT_LWC = Object.freeze({
|
|
|
191
191
|
level: 0,
|
|
192
192
|
message: 'Cannot dynamically import "lwc" with importer "{0}"',
|
|
193
193
|
});
|
|
194
|
+
const NO_IMPORT_LOADER = Object.freeze({
|
|
195
|
+
code: 3024,
|
|
196
|
+
level: 0,
|
|
197
|
+
message: 'Cannot dynamically import the LWR loader with importer "{0}"',
|
|
198
|
+
});
|
|
194
199
|
const NO_BLOB_IMPORT = Object.freeze({
|
|
195
200
|
code: 3024,
|
|
196
201
|
level: 0,
|
|
@@ -893,6 +898,7 @@ async function evaluateLoadHook(
|
|
|
893
898
|
|
|
894
899
|
|
|
895
900
|
|
|
901
|
+
|
|
896
902
|
|
|
897
903
|
|
|
898
904
|
class ModuleRegistry {
|
|
@@ -1132,46 +1138,78 @@ class ModuleRegistry {
|
|
|
1132
1138
|
return this.resolver;
|
|
1133
1139
|
}
|
|
1134
1140
|
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
+
/**
|
|
1142
|
+
* Gets or creates a module record for the given resolved ID and original ID.
|
|
1143
|
+
*
|
|
1144
|
+
* This function handles the complex logic of module resolution and ensures that:
|
|
1145
|
+
* 1. Modules loaded via different paths (aliases, direct specifiers, URLs) return the same instance
|
|
1146
|
+
* 2. Bundle URLs are properly resolved to their final specifier names after instantiation
|
|
1147
|
+
* 3. Alias mappings are maintained for future lookups
|
|
1148
|
+
*
|
|
1149
|
+
* @param resolvedId - The resolved module identifier (could be a URL or specifier)
|
|
1150
|
+
* @param originalId - The original module specifer that was requested
|
|
1151
|
+
* @returns Promise<ModuleRecord> - The module record for the module
|
|
1152
|
+
*/
|
|
1153
|
+
async getModuleRecord(resolvedId, originalId) {
|
|
1154
|
+
// Step 1: Check if we already have a module record for the resolved ID
|
|
1155
|
+
const existingRecord = this.moduleRegistry.get(resolvedId);
|
|
1156
|
+
if (existingRecord) {
|
|
1157
|
+
if (isUrl(resolvedId)) {
|
|
1158
|
+
// Special case: The resolved ID is a URL (likely a bundle URL)
|
|
1159
|
+
// We need to wait for instantiation to complete, then re-resolve to get the final specifier
|
|
1160
|
+
const moduleDef = await existingRecord.instantiation;
|
|
1161
|
+
|
|
1162
|
+
const reResolvedId = await this.resolve(originalId);
|
|
1163
|
+
|
|
1164
|
+
// If the re-resolved ID is still a URL OR matches the module definition name,
|
|
1165
|
+
// then this is an internally mapped module (e.g., bundle -> specifier)
|
|
1166
|
+
if (isUrl(reResolvedId) || moduleDef.name === reResolvedId) {
|
|
1167
|
+
// Store the alias mapping and return the existing record
|
|
1168
|
+
this.storeModuleAlias(originalId, reResolvedId);
|
|
1169
|
+
return existingRecord;
|
|
1170
|
+
} else {
|
|
1171
|
+
// The re-resolved ID is now a specifier, check if we have a record for it
|
|
1172
|
+
resolvedId = reResolvedId;
|
|
1173
|
+
const reExistingRecord = this.moduleRegistry.get(resolvedId);
|
|
1174
|
+
if (reExistingRecord) {
|
|
1175
|
+
// Found a record for the specifier, store alias and return it
|
|
1176
|
+
this.storeModuleAlias(originalId, reResolvedId);
|
|
1177
|
+
return reExistingRecord;
|
|
1178
|
+
}
|
|
1179
|
+
}
|
|
1180
|
+
} else if (existingRecord) {
|
|
1181
|
+
// Simple case: resolved ID is a specifier and we have a record for it
|
|
1182
|
+
this.storeModuleAlias(originalId, resolvedId);
|
|
1183
|
+
return existingRecord;
|
|
1184
|
+
}
|
|
1141
1185
|
}
|
|
1142
1186
|
|
|
1143
|
-
// Check if
|
|
1144
|
-
if (resolvedId !==
|
|
1145
|
-
const alias = this.aliases.get(
|
|
1187
|
+
// Step 2: Check if the original ID is a known alias that maps to an existing module
|
|
1188
|
+
if (resolvedId !== originalId) {
|
|
1189
|
+
const alias = this.aliases.get(originalId);
|
|
1146
1190
|
if (alias) {
|
|
1147
1191
|
const aliasedModule = this.moduleRegistry.get(alias);
|
|
1148
1192
|
if (aliasedModule) {
|
|
1193
|
+
// Found an existing module via alias, return it
|
|
1149
1194
|
return aliasedModule;
|
|
1150
1195
|
}
|
|
1151
1196
|
}
|
|
1152
1197
|
}
|
|
1153
|
-
return moduleRecord;
|
|
1154
|
-
}
|
|
1155
1198
|
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
const existingRecord = this.getExistingModuleRecord(resolvedId, id);
|
|
1159
|
-
if (existingRecord) {
|
|
1160
|
-
// return existing
|
|
1161
|
-
return existingRecord;
|
|
1162
|
-
}
|
|
1199
|
+
// Step 3: No existing record found, create a new module record
|
|
1200
|
+
const instantiation = this.getModuleDef(resolvedId, originalId);
|
|
1163
1201
|
|
|
1164
|
-
// Create
|
|
1165
|
-
const instantiation = this.getModuleDef(resolvedId, id);
|
|
1202
|
+
// Create dependency records for all module dependencies
|
|
1166
1203
|
const dependencyRecords = instantiation.then((moduleDef) => {
|
|
1167
1204
|
const dependencies = moduleDef.dependencies || [];
|
|
1168
|
-
|
|
1205
|
+
|
|
1206
|
+
// Map dependencies to module records, filtering out 'exports' and 'require'
|
|
1169
1207
|
const filtered = dependencies
|
|
1170
1208
|
.map((dep) => {
|
|
1171
1209
|
if (dep === 'exports') {
|
|
1172
|
-
return;
|
|
1210
|
+
return; // 'exports' is a special AMD dependency, not a real module
|
|
1173
1211
|
}
|
|
1174
|
-
invariant(dep !== 'require', NO_AMD_REQUIRE);
|
|
1212
|
+
invariant(dep !== 'require', NO_AMD_REQUIRE); // 'require' is not allowed
|
|
1175
1213
|
return this.getModuleDependencyRecord.call(this, dep);
|
|
1176
1214
|
})
|
|
1177
1215
|
.filter((depRecord) => depRecord !== undefined) ;
|
|
@@ -1179,19 +1217,23 @@ class ModuleRegistry {
|
|
|
1179
1217
|
return Promise.all(filtered);
|
|
1180
1218
|
});
|
|
1181
1219
|
|
|
1220
|
+
// Create the new module record
|
|
1182
1221
|
const newModuleRecord = {
|
|
1183
|
-
id: resolvedId,
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1222
|
+
id: resolvedId, // Use resolved ID as the record identifier
|
|
1223
|
+
originalId: originalId, // Keep track of the original requested ID
|
|
1224
|
+
module: Object.create(null), // Empty object for module exports
|
|
1225
|
+
dependencyRecords, // Promise for dependency module records
|
|
1226
|
+
instantiation, // Promise for module definition
|
|
1227
|
+
evaluated: false, // Track if module has been evaluated
|
|
1228
|
+
evaluationPromise: null, // Promise for module evaluation
|
|
1189
1229
|
};
|
|
1190
1230
|
|
|
1231
|
+
// Store the module record and create alias mapping
|
|
1191
1232
|
this.moduleRegistry.set(resolvedId, newModuleRecord);
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1233
|
+
if (resolvedId !== originalId) {
|
|
1234
|
+
this.storeModuleAlias(originalId, resolvedId);
|
|
1235
|
+
}
|
|
1236
|
+
// Wait for dependencies to resolve before returning the module record
|
|
1195
1237
|
return dependencyRecords.then(() => newModuleRecord);
|
|
1196
1238
|
}
|
|
1197
1239
|
|
|
@@ -1487,7 +1529,6 @@ class ModuleRegistry {
|
|
|
1487
1529
|
|
|
1488
1530
|
|
|
1489
1531
|
|
|
1490
|
-
|
|
1491
1532
|
addLoaderPlugin(hooks) {
|
|
1492
1533
|
if (typeof hooks !== 'object') {
|
|
1493
1534
|
throw new LoaderError(INVALID_HOOK);
|
|
@@ -1669,6 +1710,12 @@ class Loader {
|
|
|
1669
1710
|
throw new LoaderError(NO_IMPORT_LWC, [importer]);
|
|
1670
1711
|
}
|
|
1671
1712
|
|
|
1713
|
+
// Throw an error if the specifier is "lwr/loader" and the importer is defined
|
|
1714
|
+
// Nobody should be dynamically importing the LWR loader; it is an app-level API
|
|
1715
|
+
if (id === 'lwr/loader' && importer !== undefined) {
|
|
1716
|
+
throw new LoaderError(NO_IMPORT_LOADER, [importer]);
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1672
1719
|
// Throw an error if the specifier is a blob URL
|
|
1673
1720
|
if (id.startsWith('blob:')) {
|
|
1674
1721
|
throw new LoaderError(NO_BLOB_IMPORT);
|
|
@@ -1728,7 +1775,7 @@ const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration;
|
|
|
1728
1775
|
|
|
1729
1776
|
// Initialize the AMD loader (its code is bundled into the LWR Everywhere module)
|
|
1730
1777
|
const loader = new Loader({ endpoints, baseUrl });
|
|
1731
|
-
loader.define('lwr/loader/v/
|
|
1778
|
+
loader.define('lwr/loader/v/0_19_3', ['exports'], (exports) => {
|
|
1732
1779
|
Object.assign(exports, {
|
|
1733
1780
|
define: loader.define.bind(loader),
|
|
1734
1781
|
load: loader.load.bind(loader),
|
|
@@ -1738,12 +1785,12 @@ await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
|
|
|
1738
1785
|
(globalThis ).LWR = Object.freeze({ define: loader.define.bind(loader) });
|
|
1739
1786
|
|
|
1740
1787
|
// Define preload modules (ie: ABS, vault, etc) BEFORE loading them
|
|
1741
|
-
LWR.define('lwr/everywhereAmd/v/
|
|
1788
|
+
LWR.define('lwr/everywhereAmd/v/0_19_3', ['exports', 'lwr/vault/v/0_19_3'], (function (exports, _0_19_3) {
|
|
1742
1789
|
// IMPORTANT: Do not add any static imports to this file that are not bundled with the amd-client
|
|
1743
1790
|
|
|
1744
1791
|
// Do an OAuthed fetch
|
|
1745
1792
|
async function authFetch(url, accept = 'javascript') {
|
|
1746
|
-
const authInfo =
|
|
1793
|
+
const authInfo = _0_19_3.getAuthInfo();
|
|
1747
1794
|
if (authInfo) {
|
|
1748
1795
|
return fetch(url, {
|
|
1749
1796
|
headers: {
|
|
@@ -1792,7 +1839,7 @@ LWR.define('lwr/everywhereAmd/v/0_19_1', ['exports', 'lwr/vault/v/0_19_1'], (fun
|
|
|
1792
1839
|
function authenticate(authInfo) {
|
|
1793
1840
|
// Put OAuth info into the vault
|
|
1794
1841
|
if (authInfo) {
|
|
1795
|
-
|
|
1842
|
+
_0_19_3.setAuthInfo(authInfo);
|
|
1796
1843
|
}
|
|
1797
1844
|
}
|
|
1798
1845
|
|
|
@@ -1802,7 +1849,7 @@ LWR.define('lwr/everywhereAmd/v/0_19_1', ['exports', 'lwr/vault/v/0_19_1'], (fun
|
|
|
1802
1849
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1803
1850
|
|
|
1804
1851
|
}));
|
|
1805
|
-
LWR.define('lwr/vault/v/
|
|
1852
|
+
LWR.define('lwr/vault/v/0_19_3', ['exports'], (function (exports) {
|
|
1806
1853
|
// Credential vault for storing setters and subscribers for OAuth info
|
|
1807
1854
|
// This module is a SINGLETON and must be excluded from ESM bundling
|
|
1808
1855
|
|
|
@@ -1826,7 +1873,7 @@ LWR.define('lwr/vault/v/0_19_1', ['exports'], (function (exports) {
|
|
|
1826
1873
|
|
|
1827
1874
|
// Set up the AMD loader hooks for OAuth
|
|
1828
1875
|
const { initAmd, authenticate } = await loader.load(bootstrapModule);
|
|
1829
|
-
initAmd(loader.services, _optionalChain([endpoints, 'optionalAccess', _ => _.uris, 'access', _2 => _2.mapping]), '
|
|
1876
|
+
initAmd(loader.services, _optionalChain([endpoints, 'optionalAccess', _ => _.uris, 'access', _2 => _2.mapping]), '0_19_3');
|
|
1830
1877
|
|
|
1831
1878
|
// Wrap the createComponent API to allow proper ordering of module definitions:
|
|
1832
1879
|
// 1. LWRE module bundle (this): lwr/loader, lwr/everywhereAmd, lwr/vault
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function getConfiguration(e){const{format:t,server:r,apiVersion:o,apiPrefix:i,locale:n,bundle:s,debug:a}=e,l=new URL(import.meta.url),d=r||l.origin||"",c=`${i}/${o}`,p="0"+(n?`/l/${n}`:""),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/
|
|
1
|
+
function getConfiguration(e){const{format:t,server:r,apiVersion:o,apiPrefix:i,locale:n,bundle:s,debug:a}=e,l=new URL(import.meta.url),d=r||l.origin||"",c=`${i}/${o}`,p="0"+(n?`/l/${n}`:""),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_19_3`,g=`${h}${encodeURIComponent(f)}/latest${a?"?debug":""}`,E={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&&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"});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"});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,hasProcessEnv=hasProcess&&process.env;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)}}))}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`;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,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))}))}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={}));
|
|
2
2
|
/*!
|
|
3
3
|
* Copyright (C) 2023 salesforce.com, inc.
|
|
4
4
|
*/
|
|
5
5
|
const SUPPORTS_TRUSTED_TYPES="undefined"!=typeof trustedTypes,trustedTypePolicyRegistry={__proto__:null};function createDuplicateSafeTrustedTypesPolicy(e,t){return trustedTypePolicyRegistry[e]?trustedTypePolicyRegistry[e]:trustedTypePolicyRegistry[e]=trustedTypes.createPolicy(e,t)}function createDuplicateSafeFallbackPolicy(e,t){return trustedTypePolicyRegistry[e]?trustedTypePolicyRegistry[e]:trustedTypePolicyRegistry[e]=t}const createPolicy=SUPPORTS_TRUSTED_TYPES?createDuplicateSafeTrustedTypesPolicy:createDuplicateSafeFallbackPolicy,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);
|
|
6
|
-
/*! version: 0.24.6 */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||!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"production"!==process.env.NODE_ENV&&hasConsole&&console.error(e),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 i=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(i)}))})):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{__init(){this.isAppMounted=!1}constructor(e){ModuleRegistry.prototype.__init.call(this),ModuleRegistry.prototype.__init2.call(this),ModuleRegistry.prototype.__init3.call(this),ModuleRegistry.prototype.__init4.call(this),this.profiler=e.profiler,this.resolver=new ImportMetadataResolver(e,this.importMetadataInvalidationCallback.bind(this)),this.warnings={[MODULE_WARNING.MODULE_REDEFINE]:[],[MODULE_WARNING.MODULE_ALREADY_LOADED]:[],[MODULE_WARNING.ALIAS_UPDATE]:[]}}async load(e,t){const r=t?{importer:t}:{};this.profiler.logOperationStart({id:MODULE_DYNAMIC_LOAD,specifier:e,metadata:r});const o=await this.resolve(e,t),i=await this.getModuleRecord(o,e);return i.evaluated?i.module:(i.evaluationPromise||(i.evaluationPromise=this.topLevelEvaluation(i)),i.evaluationPromise)}async resolve(e,t){const r=this.resolver.getBaseUrl();let o,i=e;const n=this.resolveHook;if(n){for(let e=0;e<n.length;e++){const t=(0,n[e])(i,{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);i=s;continue}if(o=s&&s.url&&(resolveIfNotPlainOrUrl(s.url,r)||s.url),!o)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);break}}if(i!==e){if(!o&&this.namedDefineRegistry.has(i))return i;e=i}}if(!o){const t=resolveIfNotPlainOrUrl(e,r)||e;if(this.moduleRegistry.has(t))return t;const i=this.resolver.resolveLocal(t);if(i){if(this.namedDefineRegistry.has(t)){const e=this.namedDefineRegistry.get(t);if(e.external||e.defined){if(!this.moduleRegistry.get(i)||!this.aliases.has(t))return t}}return i}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&&hasProcessEnv&&"true"!==process.env.MRT_HMR&&(this.warnings[MODULE_WARNING.MODULE_REDEFINE].includes(e)||this.warnings[MODULE_WARNING.MODULE_REDEFINE].push(e),this.isAppMounted&&this.logMessage("warning",`${MODULE_WARNING.MODULE_REDEFINE}: ${e}`)),void(this.lastDefine=o);const i={name:e,dependencies:t,exporter:r,defined:!0};o&&o.external&&o.external.resolveExternal(i),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,i),this.lastDefine=i}registerExternalModules(e){e.map((e=>{if(this.namedDefineRegistry.has(e))"production"!==process.env.NODE_ENV&&(this.warnings[MODULE_WARNING.MODULE_ALREADY_LOADED].includes(e)||this.warnings[MODULE_WARNING.MODULE_ALREADY_LOADED].push(e),this.isAppMounted&&this.logMessage("warning",`${MODULE_WARNING.MODULE_ALREADY_LOADED}: ${e}`));else{let t,r;const o=new Promise(((o,i)=>{t=o,r=setTimeout((()=>{i(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER)})).finally((()=>{clearTimeout(r)})),i={name:e,defined:!1,external:{resolveExternal:t,moduleDefPromise:o}};this.namedDefineRegistry.set(e,i)}}))}__init2(){this.namedDefineRegistry=new Map}__init3(){this.moduleRegistry=new Map}__init4(){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}async getModuleRecord(e,t){const r=this.getExistingModuleRecord(e,t);if(r)return r;const o=this.getModuleDef(e,t),i=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)})),n={id:e,module:Object.create(null),dependencyRecords:i,instantiation:o,evaluated:!1,evaluationPromise:null};return this.moduleRegistry.set(e,n),this.storeModuleAlias(t,e),i.then((()=>n))}storeModuleAlias(e,t){if(e!==t)if(this.aliases.has(e)){if("production"!==process.env.NODE_ENV&&hasConsole){const r=this.aliases.get(e);if(r!==t){const o=`${e}=>${r}, ${t}`;this.warnings[MODULE_WARNING.ALIAS_UPDATE].includes(o)||this.warnings[MODULE_WARNING.ALIAS_UPDATE].push(o),this.isAppMounted&&this.logMessage("warning",`${MODULE_WARNING.ALIAS_UPDATE}: ${o}`)}}}else this.aliases.set(e,t)}async getModuleDependencyRecord(e){let t=await this.resolve(e);if(isUrl(t)){const r=this.moduleRegistry.get(t);r&&!this.aliases.has(e)&&(await r.instantiation,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:i}=await e.instantiation,n={},s=i?await Promise.all(i.map((async e=>{if("exports"===e)return n;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;try{a=o(...s)}catch(t){throw new LoaderError(EXPORTER_ERROR,[e.id,t.message||t])}void 0!==a?(a={default:a},Object.defineProperty(a,"__defaultInterop",{value:!0})):this.isNamedExportDefaultOnly(n)&&Object.defineProperty(n,"__useDefault",{value:!0});const l=a||n;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 i=this.resolver.getBaseUrl(),n=r||t;return this.profiler.logOperationStart({id:MODULE_FETCH,specifier:n}),Promise.resolve().then((async()=>{const t=this.loadHook;if(t)for(let r=0;r<t.length;r++){const o=(0,t[r])(e,i),n=isResponseAPromise(o)?await evaluateLoadHook(e,o):o;if(void 0===n)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(n&&null!==n)return evaluateLoadHookResponse(n,e)}return!1})).then((t=>{if(!0!==t&&hasDocument)return loadModuleDef(e)})).then((()=>{if(o=r&&this.namedDefineRegistry.get(r),o||(this.logMessage("warning",`${r} not found, falling back to the last loader.define call`),o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:n}),o})).catch((e=>{throw e instanceof LoaderError||this.profiler.logOperationStart({id:MODULE_ERROR,specifier:n}),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}getModuleWarnings(e=!1){return this.isAppMounted=e,this.warnings}logMessage(e,t){hasConsole&&"production"!==process.env.NODE_ENV&&("warning"==e?console.warn(t):console.log(t))}}class Loader{constructor(e){let t=e.baseUrl;const r=e.endpoints?e.endpoints.uris.mapping:void 0;let o=e.profiler;if(!r||!e.endpoints)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,i=t;"function"==typeof i&&(o=t,i=[]),invariant(Array.isArray(i),INVALID_DEPS),this.registry.define(e,i,o)}async load(e,t){if("lwc"===e&&void 0!==t)throw new LoaderError(NO_IMPORT_LWC,[t]);if(e.startsWith("blob:"))throw new LoaderError(NO_BLOB_IMPORT);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)}getModuleWarnings(e=!1){return this.registry.getModuleWarnings(e)}}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}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_19_1",["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_19_1",["exports","lwr/vault/v/0_19_1"],(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_19_1",["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:i}=await loader.load(bootstrapModule.replace("Amd",""));return i(e,t,r,o)}initAmd(loader.services,_optionalChain([endpoints,"optionalAccess",e=>e.uris,"access",e=>e.mapping]),"0_19_1");export{authenticate,createComponent};
|
|
6
|
+
/*! version: 0.24.6 */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||!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"production"!==process.env.NODE_ENV&&hasConsole&&console.error(e),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 i=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(i)}))})):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{__init(){this.isAppMounted=!1}constructor(e){ModuleRegistry.prototype.__init.call(this),ModuleRegistry.prototype.__init2.call(this),ModuleRegistry.prototype.__init3.call(this),ModuleRegistry.prototype.__init4.call(this),this.profiler=e.profiler,this.resolver=new ImportMetadataResolver(e,this.importMetadataInvalidationCallback.bind(this)),this.warnings={[MODULE_WARNING.MODULE_REDEFINE]:[],[MODULE_WARNING.MODULE_ALREADY_LOADED]:[],[MODULE_WARNING.ALIAS_UPDATE]:[]}}async load(e,t){const r=t?{importer:t}:{};this.profiler.logOperationStart({id:MODULE_DYNAMIC_LOAD,specifier:e,metadata:r});const o=await this.resolve(e,t),i=await this.getModuleRecord(o,e);return i.evaluated?i.module:(i.evaluationPromise||(i.evaluationPromise=this.topLevelEvaluation(i)),i.evaluationPromise)}async resolve(e,t){const r=this.resolver.getBaseUrl();let o,i=e;const n=this.resolveHook;if(n){for(let e=0;e<n.length;e++){const t=(0,n[e])(i,{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);i=s;continue}if(o=s&&s.url&&(resolveIfNotPlainOrUrl(s.url,r)||s.url),!o)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);break}}if(i!==e){if(!o&&this.namedDefineRegistry.has(i))return i;e=i}}if(!o){const t=resolveIfNotPlainOrUrl(e,r)||e;if(this.moduleRegistry.has(t))return t;const i=this.resolver.resolveLocal(t);if(i){if(this.namedDefineRegistry.has(t)){const e=this.namedDefineRegistry.get(t);if(e.external||e.defined){if(!this.moduleRegistry.get(i)||!this.aliases.has(t))return t}}return i}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&&hasProcessEnv&&"true"!==process.env.MRT_HMR&&(this.warnings[MODULE_WARNING.MODULE_REDEFINE].includes(e)||this.warnings[MODULE_WARNING.MODULE_REDEFINE].push(e),this.isAppMounted&&this.logMessage("warning",`${MODULE_WARNING.MODULE_REDEFINE}: ${e}`)),void(this.lastDefine=o);const i={name:e,dependencies:t,exporter:r,defined:!0};o&&o.external&&o.external.resolveExternal(i),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,i),this.lastDefine=i}registerExternalModules(e){e.map((e=>{if(this.namedDefineRegistry.has(e))"production"!==process.env.NODE_ENV&&(this.warnings[MODULE_WARNING.MODULE_ALREADY_LOADED].includes(e)||this.warnings[MODULE_WARNING.MODULE_ALREADY_LOADED].push(e),this.isAppMounted&&this.logMessage("warning",`${MODULE_WARNING.MODULE_ALREADY_LOADED}: ${e}`));else{let t,r;const o=new Promise(((o,i)=>{t=o,r=setTimeout((()=>{i(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER)})).finally((()=>{clearTimeout(r)})),i={name:e,defined:!1,external:{resolveExternal:t,moduleDefPromise:o}};this.namedDefineRegistry.set(e,i)}}))}__init2(){this.namedDefineRegistry=new Map}__init3(){this.moduleRegistry=new Map}__init4(){this.aliases=new Map}getImportMetadataResolver(){return this.resolver}async getModuleRecord(e,t){const r=this.moduleRegistry.get(e);if(r)if(isUrl(e)){const o=await r.instantiation,i=await this.resolve(t);if(isUrl(i)||o.name===i)return this.storeModuleAlias(t,i),r;{e=i;const r=this.moduleRegistry.get(e);if(r)return this.storeModuleAlias(t,i),r}}else 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}}const o=this.getModuleDef(e,t),i=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)})),n={id:e,originalId:t,module:Object.create(null),dependencyRecords:i,instantiation:o,evaluated:!1,evaluationPromise:null};return this.moduleRegistry.set(e,n),e!==t&&this.storeModuleAlias(t,e),i.then((()=>n))}storeModuleAlias(e,t){if(e!==t)if(this.aliases.has(e)){if("production"!==process.env.NODE_ENV&&hasConsole){const r=this.aliases.get(e);if(r!==t){const o=`${e}=>${r}, ${t}`;this.warnings[MODULE_WARNING.ALIAS_UPDATE].includes(o)||this.warnings[MODULE_WARNING.ALIAS_UPDATE].push(o),this.isAppMounted&&this.logMessage("warning",`${MODULE_WARNING.ALIAS_UPDATE}: ${o}`)}}}else this.aliases.set(e,t)}async getModuleDependencyRecord(e){let t=await this.resolve(e);if(isUrl(t)){const r=this.moduleRegistry.get(t);r&&!this.aliases.has(e)&&(await r.instantiation,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:i}=await e.instantiation,n={},s=i?await Promise.all(i.map((async e=>{if("exports"===e)return n;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;try{a=o(...s)}catch(t){throw new LoaderError(EXPORTER_ERROR,[e.id,t.message||t])}void 0!==a?(a={default:a},Object.defineProperty(a,"__defaultInterop",{value:!0})):this.isNamedExportDefaultOnly(n)&&Object.defineProperty(n,"__useDefault",{value:!0});const l=a||n;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 i=this.resolver.getBaseUrl(),n=r||t;return this.profiler.logOperationStart({id:MODULE_FETCH,specifier:n}),Promise.resolve().then((async()=>{const t=this.loadHook;if(t)for(let r=0;r<t.length;r++){const o=(0,t[r])(e,i),n=isResponseAPromise(o)?await evaluateLoadHook(e,o):o;if(void 0===n)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(n&&null!==n)return evaluateLoadHookResponse(n,e)}return!1})).then((t=>{if(!0!==t&&hasDocument)return loadModuleDef(e)})).then((()=>{if(o=r&&this.namedDefineRegistry.get(r),o||(this.logMessage("warning",`${r} not found, falling back to the last loader.define call`),o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:n}),o})).catch((e=>{throw e instanceof LoaderError||this.profiler.logOperationStart({id:MODULE_ERROR,specifier:n}),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}getModuleWarnings(e=!1){return this.isAppMounted=e,this.warnings}logMessage(e,t){hasConsole&&"production"!==process.env.NODE_ENV&&("warning"==e?console.warn(t):console.log(t))}}class Loader{constructor(e){let t=e.baseUrl;const r=e.endpoints?e.endpoints.uris.mapping:void 0;let o=e.profiler;if(!r||!e.endpoints)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,i=t;"function"==typeof i&&(o=t,i=[]),invariant(Array.isArray(i),INVALID_DEPS),this.registry.define(e,i,o)}async load(e,t){if("lwc"===e&&void 0!==t)throw new LoaderError(NO_IMPORT_LWC,[t]);if("lwr/loader"===e&&void 0!==t)throw new LoaderError(NO_IMPORT_LOADER,[t]);if(e.startsWith("blob:"))throw new LoaderError(NO_BLOB_IMPORT);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)}getModuleWarnings(e=!1){return this.registry.getModuleWarnings(e)}}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}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_19_3",["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_19_3",["exports","lwr/vault/v/0_19_3"],(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_19_3",["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:i}=await loader.load(bootstrapModule.replace("Amd",""));return i(e,t,r,o)}initAmd(loader.services,_optionalChain([endpoints,"optionalAccess",e=>e.uris,"access",e=>e.mapping]),"0_19_3");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/
|
|
23
|
+
const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_19_3`;
|
|
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.19.
|
|
55
|
+
/* LWR Module Loader v0.19.3 */
|
|
56
56
|
const templateRegex = /\{([0-9]+)\}/g;
|
|
57
57
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
58
|
function templateString(template, args) {
|
|
@@ -191,6 +191,11 @@ const NO_IMPORT_LWC = Object.freeze({
|
|
|
191
191
|
level: 0,
|
|
192
192
|
message: 'Cannot dynamically import "lwc" with importer "{0}"',
|
|
193
193
|
});
|
|
194
|
+
const NO_IMPORT_LOADER = Object.freeze({
|
|
195
|
+
code: 3024,
|
|
196
|
+
level: 0,
|
|
197
|
+
message: 'Cannot dynamically import the LWR loader with importer "{0}"',
|
|
198
|
+
});
|
|
194
199
|
const NO_BLOB_IMPORT = Object.freeze({
|
|
195
200
|
code: 3024,
|
|
196
201
|
level: 0,
|
|
@@ -893,6 +898,7 @@ async function evaluateLoadHook(
|
|
|
893
898
|
|
|
894
899
|
|
|
895
900
|
|
|
901
|
+
|
|
896
902
|
|
|
897
903
|
|
|
898
904
|
class ModuleRegistry {
|
|
@@ -1132,46 +1138,78 @@ class ModuleRegistry {
|
|
|
1132
1138
|
return this.resolver;
|
|
1133
1139
|
}
|
|
1134
1140
|
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
+
/**
|
|
1142
|
+
* Gets or creates a module record for the given resolved ID and original ID.
|
|
1143
|
+
*
|
|
1144
|
+
* This function handles the complex logic of module resolution and ensures that:
|
|
1145
|
+
* 1. Modules loaded via different paths (aliases, direct specifiers, URLs) return the same instance
|
|
1146
|
+
* 2. Bundle URLs are properly resolved to their final specifier names after instantiation
|
|
1147
|
+
* 3. Alias mappings are maintained for future lookups
|
|
1148
|
+
*
|
|
1149
|
+
* @param resolvedId - The resolved module identifier (could be a URL or specifier)
|
|
1150
|
+
* @param originalId - The original module specifer that was requested
|
|
1151
|
+
* @returns Promise<ModuleRecord> - The module record for the module
|
|
1152
|
+
*/
|
|
1153
|
+
async getModuleRecord(resolvedId, originalId) {
|
|
1154
|
+
// Step 1: Check if we already have a module record for the resolved ID
|
|
1155
|
+
const existingRecord = this.moduleRegistry.get(resolvedId);
|
|
1156
|
+
if (existingRecord) {
|
|
1157
|
+
if (isUrl(resolvedId)) {
|
|
1158
|
+
// Special case: The resolved ID is a URL (likely a bundle URL)
|
|
1159
|
+
// We need to wait for instantiation to complete, then re-resolve to get the final specifier
|
|
1160
|
+
const moduleDef = await existingRecord.instantiation;
|
|
1161
|
+
|
|
1162
|
+
const reResolvedId = await this.resolve(originalId);
|
|
1163
|
+
|
|
1164
|
+
// If the re-resolved ID is still a URL OR matches the module definition name,
|
|
1165
|
+
// then this is an internally mapped module (e.g., bundle -> specifier)
|
|
1166
|
+
if (isUrl(reResolvedId) || moduleDef.name === reResolvedId) {
|
|
1167
|
+
// Store the alias mapping and return the existing record
|
|
1168
|
+
this.storeModuleAlias(originalId, reResolvedId);
|
|
1169
|
+
return existingRecord;
|
|
1170
|
+
} else {
|
|
1171
|
+
// The re-resolved ID is now a specifier, check if we have a record for it
|
|
1172
|
+
resolvedId = reResolvedId;
|
|
1173
|
+
const reExistingRecord = this.moduleRegistry.get(resolvedId);
|
|
1174
|
+
if (reExistingRecord) {
|
|
1175
|
+
// Found a record for the specifier, store alias and return it
|
|
1176
|
+
this.storeModuleAlias(originalId, reResolvedId);
|
|
1177
|
+
return reExistingRecord;
|
|
1178
|
+
}
|
|
1179
|
+
}
|
|
1180
|
+
} else if (existingRecord) {
|
|
1181
|
+
// Simple case: resolved ID is a specifier and we have a record for it
|
|
1182
|
+
this.storeModuleAlias(originalId, resolvedId);
|
|
1183
|
+
return existingRecord;
|
|
1184
|
+
}
|
|
1141
1185
|
}
|
|
1142
1186
|
|
|
1143
|
-
// Check if
|
|
1144
|
-
if (resolvedId !==
|
|
1145
|
-
const alias = this.aliases.get(
|
|
1187
|
+
// Step 2: Check if the original ID is a known alias that maps to an existing module
|
|
1188
|
+
if (resolvedId !== originalId) {
|
|
1189
|
+
const alias = this.aliases.get(originalId);
|
|
1146
1190
|
if (alias) {
|
|
1147
1191
|
const aliasedModule = this.moduleRegistry.get(alias);
|
|
1148
1192
|
if (aliasedModule) {
|
|
1193
|
+
// Found an existing module via alias, return it
|
|
1149
1194
|
return aliasedModule;
|
|
1150
1195
|
}
|
|
1151
1196
|
}
|
|
1152
1197
|
}
|
|
1153
|
-
return moduleRecord;
|
|
1154
|
-
}
|
|
1155
1198
|
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
const existingRecord = this.getExistingModuleRecord(resolvedId, id);
|
|
1159
|
-
if (existingRecord) {
|
|
1160
|
-
// return existing
|
|
1161
|
-
return existingRecord;
|
|
1162
|
-
}
|
|
1199
|
+
// Step 3: No existing record found, create a new module record
|
|
1200
|
+
const instantiation = this.getModuleDef(resolvedId, originalId);
|
|
1163
1201
|
|
|
1164
|
-
// Create
|
|
1165
|
-
const instantiation = this.getModuleDef(resolvedId, id);
|
|
1202
|
+
// Create dependency records for all module dependencies
|
|
1166
1203
|
const dependencyRecords = instantiation.then((moduleDef) => {
|
|
1167
1204
|
const dependencies = moduleDef.dependencies || [];
|
|
1168
|
-
|
|
1205
|
+
|
|
1206
|
+
// Map dependencies to module records, filtering out 'exports' and 'require'
|
|
1169
1207
|
const filtered = dependencies
|
|
1170
1208
|
.map((dep) => {
|
|
1171
1209
|
if (dep === 'exports') {
|
|
1172
|
-
return;
|
|
1210
|
+
return; // 'exports' is a special AMD dependency, not a real module
|
|
1173
1211
|
}
|
|
1174
|
-
invariant(dep !== 'require', NO_AMD_REQUIRE);
|
|
1212
|
+
invariant(dep !== 'require', NO_AMD_REQUIRE); // 'require' is not allowed
|
|
1175
1213
|
return this.getModuleDependencyRecord.call(this, dep);
|
|
1176
1214
|
})
|
|
1177
1215
|
.filter((depRecord) => depRecord !== undefined) ;
|
|
@@ -1179,19 +1217,23 @@ class ModuleRegistry {
|
|
|
1179
1217
|
return Promise.all(filtered);
|
|
1180
1218
|
});
|
|
1181
1219
|
|
|
1220
|
+
// Create the new module record
|
|
1182
1221
|
const newModuleRecord = {
|
|
1183
|
-
id: resolvedId,
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1222
|
+
id: resolvedId, // Use resolved ID as the record identifier
|
|
1223
|
+
originalId: originalId, // Keep track of the original requested ID
|
|
1224
|
+
module: Object.create(null), // Empty object for module exports
|
|
1225
|
+
dependencyRecords, // Promise for dependency module records
|
|
1226
|
+
instantiation, // Promise for module definition
|
|
1227
|
+
evaluated: false, // Track if module has been evaluated
|
|
1228
|
+
evaluationPromise: null, // Promise for module evaluation
|
|
1189
1229
|
};
|
|
1190
1230
|
|
|
1231
|
+
// Store the module record and create alias mapping
|
|
1191
1232
|
this.moduleRegistry.set(resolvedId, newModuleRecord);
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1233
|
+
if (resolvedId !== originalId) {
|
|
1234
|
+
this.storeModuleAlias(originalId, resolvedId);
|
|
1235
|
+
}
|
|
1236
|
+
// Wait for dependencies to resolve before returning the module record
|
|
1195
1237
|
return dependencyRecords.then(() => newModuleRecord);
|
|
1196
1238
|
}
|
|
1197
1239
|
|
|
@@ -1487,7 +1529,6 @@ class ModuleRegistry {
|
|
|
1487
1529
|
|
|
1488
1530
|
|
|
1489
1531
|
|
|
1490
|
-
|
|
1491
1532
|
addLoaderPlugin(hooks) {
|
|
1492
1533
|
if (typeof hooks !== 'object') {
|
|
1493
1534
|
throw new LoaderError(INVALID_HOOK);
|
|
@@ -1669,6 +1710,12 @@ class Loader {
|
|
|
1669
1710
|
throw new LoaderError(NO_IMPORT_LWC, [importer]);
|
|
1670
1711
|
}
|
|
1671
1712
|
|
|
1713
|
+
// Throw an error if the specifier is "lwr/loader" and the importer is defined
|
|
1714
|
+
// Nobody should be dynamically importing the LWR loader; it is an app-level API
|
|
1715
|
+
if (id === 'lwr/loader' && importer !== undefined) {
|
|
1716
|
+
throw new LoaderError(NO_IMPORT_LOADER, [importer]);
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1672
1719
|
// Throw an error if the specifier is a blob URL
|
|
1673
1720
|
if (id.startsWith('blob:')) {
|
|
1674
1721
|
throw new LoaderError(NO_BLOB_IMPORT);
|
|
@@ -1728,7 +1775,7 @@ const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration;
|
|
|
1728
1775
|
|
|
1729
1776
|
// Initialize the AMD loader (its code is bundled into the LWR Everywhere module)
|
|
1730
1777
|
const loader = new Loader({ endpoints, baseUrl });
|
|
1731
|
-
loader.define('lwr/loader/v/
|
|
1778
|
+
loader.define('lwr/loader/v/0_19_3', ['exports'], (exports) => {
|
|
1732
1779
|
Object.assign(exports, {
|
|
1733
1780
|
define: loader.define.bind(loader),
|
|
1734
1781
|
load: loader.load.bind(loader),
|
|
@@ -1738,12 +1785,12 @@ await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
|
|
|
1738
1785
|
(globalThis ).LWR = Object.freeze({ define: loader.define.bind(loader) });
|
|
1739
1786
|
|
|
1740
1787
|
// Define preload modules (ie: ABS, vault, etc) BEFORE loading them
|
|
1741
|
-
LWR.define('lwr/everywhereAmd/v/
|
|
1788
|
+
LWR.define('lwr/everywhereAmd/v/0_19_3', ['exports', 'lwr/vault/v/0_19_3'], (function (exports, _0_19_3) {
|
|
1742
1789
|
// IMPORTANT: Do not add any static imports to this file that are not bundled with the amd-client
|
|
1743
1790
|
|
|
1744
1791
|
// Do an OAuthed fetch
|
|
1745
1792
|
async function authFetch(url, accept = 'javascript') {
|
|
1746
|
-
const authInfo =
|
|
1793
|
+
const authInfo = _0_19_3.getAuthInfo();
|
|
1747
1794
|
if (authInfo) {
|
|
1748
1795
|
return fetch(url, {
|
|
1749
1796
|
headers: {
|
|
@@ -1792,7 +1839,7 @@ LWR.define('lwr/everywhereAmd/v/0_19_1', ['exports', 'lwr/vault/v/0_19_1'], (fun
|
|
|
1792
1839
|
function authenticate(authInfo) {
|
|
1793
1840
|
// Put OAuth info into the vault
|
|
1794
1841
|
if (authInfo) {
|
|
1795
|
-
|
|
1842
|
+
_0_19_3.setAuthInfo(authInfo);
|
|
1796
1843
|
}
|
|
1797
1844
|
}
|
|
1798
1845
|
|
|
@@ -1802,7 +1849,7 @@ LWR.define('lwr/everywhereAmd/v/0_19_1', ['exports', 'lwr/vault/v/0_19_1'], (fun
|
|
|
1802
1849
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1803
1850
|
|
|
1804
1851
|
}));
|
|
1805
|
-
LWR.define('lwr/vault/v/
|
|
1852
|
+
LWR.define('lwr/vault/v/0_19_3', ['exports'], (function (exports) {
|
|
1806
1853
|
// Credential vault for storing setters and subscribers for OAuth info
|
|
1807
1854
|
// This module is a SINGLETON and must be excluded from ESM bundling
|
|
1808
1855
|
|
|
@@ -1826,7 +1873,7 @@ LWR.define('lwr/vault/v/0_19_1', ['exports'], (function (exports) {
|
|
|
1826
1873
|
|
|
1827
1874
|
// Set up the AMD loader hooks for OAuth
|
|
1828
1875
|
const { initAmd, authenticate } = await loader.load(bootstrapModule);
|
|
1829
|
-
initAmd(loader.services, _optionalChain([endpoints, 'optionalAccess', _ => _.uris, 'access', _2 => _2.mapping]), '
|
|
1876
|
+
initAmd(loader.services, _optionalChain([endpoints, 'optionalAccess', _ => _.uris, 'access', _2 => _2.mapping]), '0_19_3');
|
|
1830
1877
|
|
|
1831
1878
|
// Wrap the createComponent API to allow proper ordering of module definitions:
|
|
1832
1879
|
// 1. LWRE module bundle (this): lwr/loader, lwr/everywhereAmd, lwr/vault
|