@lwrjs/everywhere 0.9.0-alpha.9 → 0.9.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.
- package/README.md +1 -1
- package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/9c07e4a986679d89bf69e66fe60ce615/config.js +10 -0
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js +18 -0
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwc/v/2_38_1/s/8cf6b94d9c0b398c70c97fdca2759caa/lwc.js +8934 -0
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/everywhereAmd/v/0_9_0/s/c538071acf5bde58e816967a14c465c3/lwr_everywhereAmd.js +66 -0
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/init/v/0_9_0/s/206e6e0af6f019fdfd86d87d56331bc2/lwr_init.js +97 -0
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/loader/v/{0_9_0-alpha_9/s/07df3ed331f5f6b3c21336c94dac7c0b → 0_9_0/s/37491c0be6765e2cd302cf146e9d624a}/lwr_loader.js +362 -137
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/metrics/v/0_9_0/s/3426e42c3e22ce07ab2adc62c4c523a0/lwr_metrics.js +66 -0
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/profiler/v/0_9_0/s/e25f3b0b8b5c096acebf847d0a83ea62/lwr_profiler.js +68 -0
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/vault/v/0_9_0/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js +21 -0
- package/build/__generated_site_amd_modules__/1/resource/amd/lwr-error-shim.js/v/{0_9_0-alpha_9 → 0_9_0/lwr-error-shim.js} +1 -1
- package/build/__generated_site_amd_modules__/1/resource/amd/lwr-loader-shim.bundle.js/v/0_9_0/lwr-loader-shim.bundle.js +1547 -0
- package/build/assets/amd/lwr-everywhere-debug.js +39 -27
- package/build/assets/amd/lwr-everywhere-min.js +1 -1
- package/build/assets/amd/lwr-everywhere.js +39 -27
- package/build/assets/core/lwr-everywhere-debug.js +36 -24
- package/build/assets/core/lwr-everywhere-min.js +1 -1
- package/build/assets/core/lwr-everywhere.js +36 -24
- 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/build/modules/@salesforce/lds-default-luvio/lds-default-luvio.js +11 -7
- package/build/modules/lwr/everywhere/everywhere.js +6 -7
- package/build/modules/lwr/everywhereAmd/everywhereAmd.js +9 -11
- package/build/modules/lwr/everywhereEsm/everywhereEsm.js +1 -2
- package/build/modules/lwr/host/host.js +23 -27
- package/build/modules/lwr/setupLDS/network.js +9 -17
- package/build/modules/lwr/setupLDS/setupLDS.js +6 -4
- package/build/modules/lwr/setupNodeLDS/network.js +9 -17
- package/build/modules/lwr/setupNodeLDS/setupNodeLDS.js +3 -1
- package/build/modules/lwr/vault/vault.js +3 -1
- package/package.json +11 -8
- package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/102a7c627b0f61cba691a7fa94d6a856/config.js +0 -10
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_9/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js +0 -14
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwc/v/2_33_0/s/90a5f16131da45cef1653112862ca9dc/lwc.js +0 -7090
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/everywhereAmd/v/0_9_0-alpha_9/s/c538071acf5bde58e816967a14c465c3/lwr_everywhereAmd.js +0 -48
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/init/v/0_9_0-alpha_9/s/6258bcb20cc2d5d6a9f3c5a6f9d0acaf/lwr_init.js +0 -58
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/metrics/v/0_9_0-alpha_9/s/dfbc827104d50ff7d16b59c9d0e06aca/lwr_metrics.js +0 -56
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/profiler/v/0_9_0-alpha_9/s/5a10236d8c52bc9f6dee22875cd7016d/lwr_profiler.js +0 -51
- package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/vault/v/0_9_0-alpha_9/s/c92abd8c1fec2d7eff62e4b097abbe14/lwr_vault.js +0 -13
- package/build/__generated_site_amd_modules__/1/resource/amd/lwr-loader-shim.js/v/0_9_0-alpha_9 +0 -311
- package/build/__generated_site_amd_modules__/en-US/index.html +0 -26
- package/build/__generated_site_amd_modules__/index.html +0 -26
|
@@ -1 +1 @@
|
|
|
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_0_1`,g=`${f}${encodeURIComponent(h)}/latest${a?"?debug":""}`,m={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&&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: {0}"}),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{constructor(e,t){this.importURICache=new Map,this.pendingURICache=new Map,this.loadMappingHooks=[],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){this.namedDefineRegistry=new Map,this.moduleRegistry=new Map,this.aliases=new Map,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){const t=[];if(e.map((e=>{if(this.namedDefineRegistry.has(e))t.push(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)}})),t.length)throw new LoaderError(MODULE_ALREADY_LOADED,[t.join(", ")])}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)}}const configOptions={format:"amd",apiVersion:"v57.0",apiPrefix:"/lwr",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_0_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_0_1",["exports","lwr/vault/v/0_0_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_0_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:n}=await loader.load(bootstrapModule.replace("Amd",""));return n(e,t,r,o)}initAmd(loader.services,endpoints?.uris.mapping,"0_0_1");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_0_1`,g=`${f}${encodeURIComponent(h)}/latest${a?"?debug":""}`,m={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&&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{constructor(e,t){this.importURICache=new Map,this.pendingURICache=new Map,this.loadMappingHooks=[],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){this.namedDefineRegistry=new Map,this.moduleRegistry=new Map,this.aliases=new Map,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)}}))}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)}}const configOptions={format:"amd",apiVersion:"v57.0",apiPrefix:"/lwr",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_0_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_0_1",["exports","lwr/vault/v/0_0_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_0_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:n}=await loader.load(bootstrapModule.replace("Amd",""));return n(e,t,r,o)}initAmd(loader.services,endpoints?.uris.mapping,"0_0_1");export{authenticate,createComponent};
|
|
@@ -48,7 +48,7 @@ function getConfiguration(options) {
|
|
|
48
48
|
* SPDX-License-Identifier: MIT
|
|
49
49
|
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
50
50
|
*/
|
|
51
|
-
/* LWR Module Loader v0.9.0
|
|
51
|
+
/* LWR Module Loader v0.9.0 */
|
|
52
52
|
const templateRegex = /\{([0-9]+)\}/g;
|
|
53
53
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
54
|
function templateString(template, args) {
|
|
@@ -146,7 +146,7 @@ const STALE_HOOK_ERROR = Object.freeze({
|
|
|
146
146
|
const MODULE_ALREADY_LOADED = Object.freeze({
|
|
147
147
|
code: 3017,
|
|
148
148
|
level: 0,
|
|
149
|
-
message: 'Marking module(s) as externally loaded, but they are already loaded:
|
|
149
|
+
message: 'Marking module(s) as externally loaded, but they are already loaded:',
|
|
150
150
|
});
|
|
151
151
|
const FAIL_HOOK_LOAD = Object.freeze({
|
|
152
152
|
code: 3018,
|
|
@@ -345,11 +345,13 @@ if (hasDocument) {
|
|
|
345
345
|
|
|
346
346
|
// Bootstrap / shim
|
|
347
347
|
|
|
348
|
+
// Loader: modules
|
|
348
349
|
const LOADER_PREFIX = 'lwr.loader.';
|
|
349
350
|
const MODULE_DEFINE = `${LOADER_PREFIX}module.define`;
|
|
350
351
|
const MODULE_FETCH = `${LOADER_PREFIX}module.fetch`;
|
|
351
352
|
const MODULE_ERROR = `${LOADER_PREFIX}module.error`;
|
|
352
353
|
|
|
354
|
+
// Loader: mappings
|
|
353
355
|
const MAPPINGS_FETCH = `${LOADER_PREFIX}mappings.fetch`;
|
|
354
356
|
const MAPPINGS_ERROR = `${LOADER_PREFIX}mappings.error`;
|
|
355
357
|
|
|
@@ -810,12 +812,8 @@ class ModuleRegistry {
|
|
|
810
812
|
* @param modules - list of module identifiers
|
|
811
813
|
*/
|
|
812
814
|
registerExternalModules(modules) {
|
|
813
|
-
const alreadyRegistered = [];
|
|
814
815
|
modules.map((id) => {
|
|
815
|
-
if (this.namedDefineRegistry.has(id)) {
|
|
816
|
-
alreadyRegistered.push(id);
|
|
817
|
-
}
|
|
818
|
-
else {
|
|
816
|
+
if (!this.namedDefineRegistry.has(id)) {
|
|
819
817
|
let resolveExternal;
|
|
820
818
|
let timer;
|
|
821
819
|
const moduleDefPromise = new Promise((resolve, reject) => {
|
|
@@ -839,11 +837,11 @@ class ModuleRegistry {
|
|
|
839
837
|
};
|
|
840
838
|
this.namedDefineRegistry.set(id, moduleDef);
|
|
841
839
|
}
|
|
840
|
+
else if (process.env.NODE_ENV !== 'production' && hasConsole) {
|
|
841
|
+
// eslint-disable-next-line lwr/no-unguarded-apis
|
|
842
|
+
console.warn(MODULE_ALREADY_LOADED.message, id);
|
|
843
|
+
}
|
|
842
844
|
});
|
|
843
|
-
// throw error for modules that were already registered
|
|
844
|
-
if (alreadyRegistered.length) {
|
|
845
|
-
throw new LoaderError(MODULE_ALREADY_LOADED, [alreadyRegistered.join(', ')]);
|
|
846
|
-
}
|
|
847
845
|
}
|
|
848
846
|
getImportMetadataResolver() {
|
|
849
847
|
return this.resolver;
|
|
@@ -985,7 +983,7 @@ class ModuleRegistry {
|
|
|
985
983
|
moduleDefault = { default: moduleDefault };
|
|
986
984
|
// __defaultInterop is ONLY used to support backwards compatibility
|
|
987
985
|
// of importing default exports the "wrong" way (when not using named exports).
|
|
988
|
-
// See https://github.com/salesforce/lwr/pull/816
|
|
986
|
+
// See https://github.com/salesforce-experience-platform-emu/lwr/pull/816
|
|
989
987
|
Object.defineProperty(moduleDefault, '__defaultInterop', { value: true });
|
|
990
988
|
}
|
|
991
989
|
// if no return value, then we are using the exports object
|
|
@@ -1207,7 +1205,7 @@ class Loader {
|
|
|
1207
1205
|
const appId = match && match[1];
|
|
1208
1206
|
config.appMetadata.appId = appId;
|
|
1209
1207
|
}
|
|
1210
|
-
// TODO: https://github.com/salesforce/lwr/issues/1087
|
|
1208
|
+
// TODO: https://github.com/salesforce-experience-platform-emu/lwr/issues/1087
|
|
1211
1209
|
this.services = Object.freeze({
|
|
1212
1210
|
addLoaderPlugin: this.registry.addLoaderPlugin.bind(this.registry),
|
|
1213
1211
|
handleStaleModule: this.registry.registerHandleStaleModuleHook.bind(this.registry),
|
|
@@ -1294,9 +1292,11 @@ loader.define('lwr/loader/v/0_0_1', ['exports'], (exports) => {
|
|
|
1294
1292
|
await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
|
|
1295
1293
|
globalThis.LWR = Object.freeze({ define: loader.define.bind(loader) });
|
|
1296
1294
|
// Define preload modules (ie: ABS, vault, etc) BEFORE loading them
|
|
1297
|
-
LWR.define(
|
|
1298
|
-
|
|
1299
|
-
|
|
1295
|
+
LWR.define('lwr/everywhereAmd/v/0_0_1', ['exports', 'lwr/vault/v/0_0_1'], function (exports, _0_9_0) {
|
|
1296
|
+
// IMPORTANT: Do not add any static imports to this file that are not bundled with the amd-client
|
|
1297
|
+
// Do an OAuthed fetch
|
|
1298
|
+
async function authFetch(url, accept = 'javascript') {
|
|
1299
|
+
const authInfo = _0_9_0.getAuthInfo();
|
|
1300
1300
|
if (authInfo) {
|
|
1301
1301
|
return fetch(url, {
|
|
1302
1302
|
headers: {
|
|
@@ -1305,44 +1305,56 @@ LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], functi
|
|
|
1305
1305
|
}
|
|
1306
1306
|
});
|
|
1307
1307
|
}
|
|
1308
|
-
return null;
|
|
1308
|
+
return null; // defer to loader
|
|
1309
1309
|
}
|
|
1310
|
+
// Add a hook for adding OAuth headers to module and mapping requests
|
|
1311
|
+
// Workaround: core does not have proper versioning; replace all versions with 0_0_1
|
|
1310
1312
|
function everywhereHooks(serviceAPI, mappingEndpoint, coreVersion) {
|
|
1311
1313
|
serviceAPI.addLoaderPlugin({
|
|
1312
1314
|
loadModule: async (url) => {
|
|
1313
1315
|
return authFetch(url);
|
|
1314
1316
|
},
|
|
1315
1317
|
loadMapping: async (specifier) => {
|
|
1316
|
-
const res = await authFetch(`${mappingEndpoint}${encodeURIComponent(specifier)}`,
|
|
1318
|
+
const res = await authFetch(`${mappingEndpoint}${encodeURIComponent(specifier)}`, 'json');
|
|
1317
1319
|
if (res && res.ok) {
|
|
1318
1320
|
return res.json();
|
|
1319
1321
|
}
|
|
1320
1322
|
return null;
|
|
1321
1323
|
},
|
|
1322
|
-
resolveModule:
|
|
1324
|
+
resolveModule: specifier => {
|
|
1325
|
+
// Workaround W-8010259 (dynamic imports without versions)
|
|
1326
|
+
// by adding a default version to version-less specifiers
|
|
1323
1327
|
if (specifier && !/\/v\/[^/]+?$/.test(specifier)) {
|
|
1324
1328
|
return `${specifier}/v/${coreVersion}`;
|
|
1325
1329
|
}
|
|
1326
|
-
return null;
|
|
1330
|
+
return null; // defer to loader
|
|
1327
1331
|
}
|
|
1328
1332
|
});
|
|
1329
1333
|
}
|
|
1330
1334
|
function initAmd(services, mappingEndpoint, coreVersion) {
|
|
1335
|
+
// Initialize the loader hooks for LWR-S endpoints
|
|
1331
1336
|
if (mappingEndpoint.match(/\/v5\d\.0\//)) {
|
|
1332
1337
|
everywhereHooks(services, mappingEndpoint, coreVersion);
|
|
1333
1338
|
}
|
|
1334
1339
|
}
|
|
1340
|
+
// Export the LWRE authenticate() API
|
|
1341
|
+
// This is a duplicate of the function exported from "lwr/everywhere"
|
|
1342
|
+
// because it MUST be bundled into the LWRE module via "lwr/everywhereAmd"
|
|
1335
1343
|
function authenticate(authInfo) {
|
|
1344
|
+
// Put OAuth info into the vault
|
|
1336
1345
|
if (authInfo) {
|
|
1337
|
-
|
|
1346
|
+
_0_9_0.setAuthInfo(authInfo);
|
|
1338
1347
|
}
|
|
1339
1348
|
}
|
|
1340
1349
|
exports.authenticate = authenticate;
|
|
1341
1350
|
exports.initAmd = initAmd;
|
|
1342
|
-
Object.defineProperty(exports,
|
|
1351
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1343
1352
|
});
|
|
1344
|
-
LWR.define(
|
|
1353
|
+
LWR.define('lwr/vault/v/0_0_1', ['exports'], function (exports) {
|
|
1354
|
+
// Credential vault for storing setters and subscribers for OAuth info
|
|
1355
|
+
// This module is a SINGLETON and must be excluded from ESM bundling
|
|
1345
1356
|
let authInfo;
|
|
1357
|
+
// Get and set the OAuth info
|
|
1346
1358
|
function getAuthInfo() {
|
|
1347
1359
|
return authInfo;
|
|
1348
1360
|
}
|
|
@@ -1351,7 +1363,7 @@ LWR.define("lwr/vault/v/0_0_1", ["exports"], function (exports) {
|
|
|
1351
1363
|
}
|
|
1352
1364
|
exports.getAuthInfo = getAuthInfo;
|
|
1353
1365
|
exports.setAuthInfo = setAuthInfo;
|
|
1354
|
-
Object.defineProperty(exports,
|
|
1366
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1355
1367
|
});
|
|
1356
1368
|
// Set up the AMD loader hooks for OAuth
|
|
1357
1369
|
const { initAmd, authenticate } = await loader.load(bootstrapModule);
|
|
@@ -18,7 +18,7 @@ function getConfiguration(options) {
|
|
|
18
18
|
? `${ORIGIN}${PREFIX}/bundle/${format}/${POSTFIX}${BUNDLE_ID}-0/module/mi/`
|
|
19
19
|
: `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
|
|
20
20
|
// Component specifiers and URIs
|
|
21
|
-
const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0
|
|
21
|
+
const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0`;
|
|
22
22
|
const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
|
|
23
23
|
// Client Bootstrap Config
|
|
24
24
|
const config = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.process={env:{NODE_ENV:"production"}};const e=function(e){const{format:o,server:i,apiVersion:n,apiPrefix:t,locale:p,bundle:r,debug:s}=e,
|
|
1
|
+
globalThis.process={env:{NODE_ENV:"production"}};const e=function(e){const{format:o,server:i,apiVersion:n,apiPrefix:t,locale:p,bundle:r,debug:s}=e,m=new URL(import.meta.url),d=i||m.origin||"",a=`${t}/${n}`,$="0"+(p?`/l/${p}`:""),u="/bi/3_A,B,O,S,EG,JLMT,C,D,F,H,I,K,N,P,Q,R",l=r?`${d}${a}/bundle/${o}/${$}${u}-0/module/mi/`:`${d}${a}/module/${o}/${$}/mi/`,b=`lwr/everywhere${"esm"===o?"Esm":"Amd"}/v/0_9_0`,g=`${l}${encodeURIComponent(b)}/latest${s?"?debug":""}`,c={appId:"lwre",autoBoot:!0,bootstrapModule:b,baseUrl:d,imports:{[g]:[b]},index:{[b]:g},endpoints:{uris:{module:l,mapping:`${d}${a}/mapping/${o}/${$}${r?u:""}/mp/`}}};return s&&c.endpoints&&(c.endpoints.modifiers={debug:"true"}),c}({format:"esm",apiVersion:"1",apiPrefix:"",bundle:!0,debug:!1}),{bootstrapModule:o,imports:i,index:n={},importMappings:t,endpoints:p}=e,{initEsm:r,authenticate:s,createComponent:m}=await import(n[o]);r({imports:i,index:n,importMappings:t,endpoints:p});export{s as authenticate,m as createComponent};
|
|
@@ -18,7 +18,7 @@ function getConfiguration(options) {
|
|
|
18
18
|
? `${ORIGIN}${PREFIX}/bundle/${format}/${POSTFIX}${BUNDLE_ID}-0/module/mi/`
|
|
19
19
|
: `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
|
|
20
20
|
// Component specifiers and URIs
|
|
21
|
-
const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0
|
|
21
|
+
const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0`;
|
|
22
22
|
const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
|
|
23
23
|
// Client Bootstrap Config
|
|
24
24
|
const config = {
|
|
@@ -1,41 +1,45 @@
|
|
|
1
1
|
// temp from https://github.com/salesforce-experience-platform-emu/lds-lightning-platform/blob/main/packages/lds-default-luvio/src/main.ts
|
|
2
|
+
|
|
2
3
|
// callback used to inform interested parties that a new default Luvio has been set.
|
|
4
|
+
|
|
3
5
|
// most recently set default Luvio instance
|
|
4
|
-
let defaultLuvio;
|
|
6
|
+
let defaultLuvio;
|
|
5
7
|
|
|
8
|
+
// callbacks to be invoked when default luvio instance is set/changed
|
|
6
9
|
const callbacks = [];
|
|
10
|
+
|
|
7
11
|
/**
|
|
8
12
|
* Constructs/sets the default Luvio instance. Any previously-set default luvio instance
|
|
9
13
|
* is overwritten.
|
|
10
14
|
*/
|
|
11
|
-
|
|
12
15
|
export function setDefaultLuvio({
|
|
13
16
|
luvio
|
|
14
17
|
}) {
|
|
15
18
|
if (luvio === undefined) {
|
|
16
19
|
throw new Error('unable to construct default Luvio instance from supplied parameters');
|
|
17
20
|
}
|
|
21
|
+
defaultLuvio = luvio;
|
|
18
22
|
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
// inform observers
|
|
21
24
|
for (let i = 0; i < callbacks.length; ++i) {
|
|
22
25
|
callbacks[i](defaultLuvio);
|
|
23
26
|
}
|
|
24
27
|
}
|
|
28
|
+
|
|
25
29
|
/**
|
|
26
30
|
* Registers a callback to be invoked with the default Luvio instance. Note that the
|
|
27
31
|
* callback may be invoked multiple times if the default Luvio changes.
|
|
28
32
|
*
|
|
29
33
|
* @param callback callback to be invoked with default Luvio instance
|
|
30
34
|
*/
|
|
31
|
-
|
|
32
35
|
export function withDefaultLuvio(callback) {
|
|
33
36
|
if (defaultLuvio) {
|
|
34
37
|
callback(defaultLuvio);
|
|
35
38
|
}
|
|
36
|
-
|
|
37
39
|
callbacks.push(callback);
|
|
38
|
-
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// export * from './registry'; see below
|
|
39
43
|
|
|
40
44
|
const registryCallbacks = [];
|
|
41
45
|
const registrations = [];
|
|
@@ -1,38 +1,37 @@
|
|
|
1
1
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
2
2
|
import '@lwc/synthetic-shadow'; // @ts-ignore: Typescript thinks createElement does not exist
|
|
3
|
-
|
|
4
3
|
import { createElement } from 'lwc';
|
|
5
4
|
import { setAuthInfo } from 'lwr/vault';
|
|
6
5
|
import HostCtor from 'lwr/host';
|
|
7
|
-
import setupLDS from 'lwr/setupLDS';
|
|
6
|
+
import setupLDS from 'lwr/setupLDS';
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
// Setup a Luvio instance with an OAuth network adapter
|
|
9
|
+
setupLDS();
|
|
10
10
|
|
|
11
|
+
// Export the LWRE authenticate() API
|
|
11
12
|
export function authenticate(authInfo) {
|
|
12
13
|
// Put OAuth info into the vault
|
|
13
14
|
if (authInfo) {
|
|
14
15
|
setAuthInfo(authInfo);
|
|
15
16
|
}
|
|
16
|
-
}
|
|
17
|
+
}
|
|
17
18
|
|
|
19
|
+
// Export the LWRE createComponent() API
|
|
18
20
|
export function createComponent(specifier, nodeId, properties = {}, config = {
|
|
19
21
|
navigation: false
|
|
20
22
|
}) {
|
|
21
23
|
if (!specifier) {
|
|
22
24
|
throw new Error('LWR Everywhere - createComponent requires a component specifier');
|
|
23
25
|
}
|
|
24
|
-
|
|
25
26
|
const hostCmp = createElement('lwr-host', {
|
|
26
27
|
is: HostCtor
|
|
27
28
|
});
|
|
28
29
|
hostCmp.componentId = specifier;
|
|
29
30
|
hostCmp.navigation = config.navigation;
|
|
30
31
|
const node = typeof nodeId === 'string' ? document.getElementById(nodeId) : nodeId;
|
|
31
|
-
|
|
32
32
|
if (!node) {
|
|
33
33
|
throw new Error('LWR Everywhere - cannot find node passed to createComponent');
|
|
34
34
|
}
|
|
35
|
-
|
|
36
35
|
node.appendChild(hostCmp);
|
|
37
36
|
hostCmp.properties = properties;
|
|
38
37
|
return hostCmp;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// IMPORTANT: Do not add any static imports to this file that are not bundled with the amd-client
|
|
2
|
-
import { getAuthInfo, setAuthInfo } from 'lwr/vault'; // Do an OAuthed fetch
|
|
3
2
|
|
|
3
|
+
import { getAuthInfo, setAuthInfo } from 'lwr/vault';
|
|
4
|
+
|
|
5
|
+
// Do an OAuthed fetch
|
|
4
6
|
async function authFetch(url, accept = 'javascript') {
|
|
5
7
|
const authInfo = getAuthInfo();
|
|
6
|
-
|
|
7
8
|
if (authInfo) {
|
|
8
9
|
return fetch(url, {
|
|
9
10
|
headers: {
|
|
@@ -12,12 +13,11 @@ async function authFetch(url, accept = 'javascript') {
|
|
|
12
13
|
}
|
|
13
14
|
});
|
|
14
15
|
}
|
|
15
|
-
|
|
16
16
|
return null; // defer to loader
|
|
17
|
-
}
|
|
18
|
-
// Workaround: core does not have proper versioning; replace all versions with 0_0_1
|
|
19
|
-
|
|
17
|
+
}
|
|
20
18
|
|
|
19
|
+
// Add a hook for adding OAuth headers to module and mapping requests
|
|
20
|
+
// Workaround: core does not have proper versioning; replace all versions with 0_0_1
|
|
21
21
|
function everywhereHooks(serviceAPI, mappingEndpoint, coreVersion) {
|
|
22
22
|
serviceAPI.addLoaderPlugin({
|
|
23
23
|
loadModule: async url => {
|
|
@@ -25,11 +25,9 @@ function everywhereHooks(serviceAPI, mappingEndpoint, coreVersion) {
|
|
|
25
25
|
},
|
|
26
26
|
loadMapping: async specifier => {
|
|
27
27
|
const res = await authFetch(`${mappingEndpoint}${encodeURIComponent(specifier)}`, 'json');
|
|
28
|
-
|
|
29
28
|
if (res && res.ok) {
|
|
30
29
|
return res.json();
|
|
31
30
|
}
|
|
32
|
-
|
|
33
31
|
return null;
|
|
34
32
|
},
|
|
35
33
|
resolveModule: specifier => {
|
|
@@ -38,7 +36,6 @@ function everywhereHooks(serviceAPI, mappingEndpoint, coreVersion) {
|
|
|
38
36
|
if (specifier && !/\/v\/[^/]+?$/.test(specifier)) {
|
|
39
37
|
return `${specifier}/v/${coreVersion}`;
|
|
40
38
|
}
|
|
41
|
-
|
|
42
39
|
return null; // defer to loader
|
|
43
40
|
}
|
|
44
41
|
});
|
|
@@ -49,10 +46,11 @@ export function initAmd(services, mappingEndpoint, coreVersion) {
|
|
|
49
46
|
if (mappingEndpoint.match(/\/v5\d\.0\//)) {
|
|
50
47
|
everywhereHooks(services, mappingEndpoint, coreVersion);
|
|
51
48
|
}
|
|
52
|
-
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Export the LWRE authenticate() API
|
|
53
52
|
// This is a duplicate of the function exported from "lwr/everywhere"
|
|
54
53
|
// because it MUST be bundled into the LWRE module via "lwr/everywhereAmd"
|
|
55
|
-
|
|
56
54
|
export function authenticate(authInfo) {
|
|
57
55
|
// Put OAuth info into the vault
|
|
58
56
|
if (authInfo) {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
2
2
|
// @ts-ignore: Use LWC module resolver
|
|
3
3
|
import { init } from 'lwr/esmLoader'; // @ts-ignore
|
|
4
|
-
|
|
5
|
-
export { createComponent } from 'lwr/everywhere';
|
|
4
|
+
export { authenticate, createComponent } from 'lwr/everywhere';
|
|
6
5
|
export function initEsm({
|
|
7
6
|
imports,
|
|
8
7
|
index,
|
|
@@ -1,46 +1,41 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
2
|
-
|
|
3
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
3
|
import { LightningElement, api } from 'lwc'; // @ts-ignore: Use LWC module resolver
|
|
5
4
|
|
|
6
5
|
// Host component constants
|
|
7
|
-
const SPECIFIER_REGEX = /^@?[\w-]+(\/[\w-]+)*$/;
|
|
6
|
+
const SPECIFIER_REGEX = /^@?[\w-]+(\/[\w-]+)*$/;
|
|
8
7
|
|
|
8
|
+
// Navigation events
|
|
9
9
|
const NAV_EVENT = 'navigate'; // FIRED after a navigation event has been completed
|
|
10
|
-
|
|
11
10
|
const NAV_ERROR_EVENT = 'navigationerror'; // FIRED when a navigation event has failed
|
|
12
11
|
|
|
13
12
|
export default class LwrHost extends LightningElement {
|
|
14
13
|
// The component specifier of the Salesforce UI content to embed
|
|
15
14
|
@api
|
|
16
|
-
componentId = undefined;
|
|
15
|
+
componentId = undefined;
|
|
17
16
|
|
|
17
|
+
// Getter and setter for the public (@api) properties on the embedded component
|
|
18
18
|
_props = {};
|
|
19
|
-
|
|
20
19
|
@api
|
|
21
20
|
get properties() {
|
|
22
21
|
return this._props;
|
|
23
22
|
}
|
|
24
|
-
|
|
25
23
|
set properties(value) {
|
|
26
24
|
this._props = value;
|
|
27
25
|
this.setProperties(value);
|
|
28
|
-
}
|
|
29
|
-
|
|
26
|
+
}
|
|
30
27
|
|
|
28
|
+
// Import and embed the Salesforce UI content
|
|
31
29
|
ctor = undefined;
|
|
32
|
-
|
|
33
30
|
async connectedCallback() {
|
|
34
31
|
// Setup navigation hooks before the embedded component is mounted
|
|
35
32
|
await this.setUpNavBridge();
|
|
36
|
-
|
|
37
33
|
if (this.componentId) {
|
|
38
34
|
if (typeof this.componentId !== 'string' || !SPECIFIER_REGEX.test(this.componentId)) {
|
|
39
35
|
// Validate component specifier format
|
|
40
36
|
console.error('LWR Everywhere - Salesforce UI content has an invalid component-id:', this.componentId);
|
|
41
37
|
return;
|
|
42
38
|
}
|
|
43
|
-
|
|
44
39
|
try {
|
|
45
40
|
const module = await import(this.componentId);
|
|
46
41
|
this.ctor = module.default;
|
|
@@ -49,22 +44,21 @@ export default class LwrHost extends LightningElement {
|
|
|
49
44
|
console.error('LWR Everywhere - Salesforce UI content did not load:', e.message);
|
|
50
45
|
}
|
|
51
46
|
}
|
|
52
|
-
}
|
|
53
|
-
|
|
47
|
+
}
|
|
54
48
|
|
|
49
|
+
// Initialize public (@api) properties on the embedded content
|
|
55
50
|
renderedCallback() {
|
|
56
51
|
this.setProperties(this.properties);
|
|
57
|
-
}
|
|
58
|
-
|
|
52
|
+
}
|
|
59
53
|
|
|
54
|
+
// When the Salesforce UI content has an unhandled error, print an error to the console
|
|
60
55
|
errorCallback(e) {
|
|
61
56
|
console.error(`LWR Everywhere - Salesforce UI content for "${this.componentId}" cannot be displayed:`, e.message);
|
|
62
|
-
}
|
|
63
|
-
|
|
57
|
+
}
|
|
64
58
|
|
|
59
|
+
// Update public (@api) properties on the embedded content
|
|
65
60
|
setProperties(properties) {
|
|
66
61
|
const dynamicContent = this.template.querySelector('lwr-dynamic');
|
|
67
|
-
|
|
68
62
|
if (dynamicContent) {
|
|
69
63
|
Object.entries(properties).forEach(([key, value]) => {
|
|
70
64
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -73,15 +67,16 @@ export default class LwrHost extends LightningElement {
|
|
|
73
67
|
});
|
|
74
68
|
}
|
|
75
69
|
}
|
|
70
|
+
|
|
76
71
|
/**
|
|
77
72
|
* NAVIGATION FEATURE PROPERTIES AND METHODS
|
|
78
73
|
* The navigation feature creates a bridge between the root router of embedded
|
|
79
74
|
* Salesforce UI content and the host document with public properties and events
|
|
80
75
|
*/
|
|
81
|
-
|
|
82
|
-
|
|
83
76
|
@api
|
|
84
|
-
navigation = false;
|
|
77
|
+
navigation = false;
|
|
78
|
+
|
|
79
|
+
// Create the router bridge
|
|
85
80
|
|
|
86
81
|
async setUpNavBridge() {
|
|
87
82
|
if (this.navigation && !this.bridge) {
|
|
@@ -101,12 +96,14 @@ export default class LwrHost extends LightningElement {
|
|
|
101
96
|
onError: error => this.dispatchEvent(new CustomEvent(NAV_ERROR_EVENT, {
|
|
102
97
|
detail: error
|
|
103
98
|
}))
|
|
104
|
-
},
|
|
99
|
+
},
|
|
100
|
+
// The bridge is attached to this component, and observes the root router inside its slot
|
|
105
101
|
this);
|
|
106
102
|
}
|
|
107
|
-
}
|
|
108
|
-
// The host component cannot call "lwr/navigation" APIs; it has no access to a NavigationContext
|
|
103
|
+
}
|
|
109
104
|
|
|
105
|
+
// Navigate via the bridge, which is hooked into its descendent root router
|
|
106
|
+
// The host component cannot call "lwr/navigation" APIs; it has no access to a NavigationContext
|
|
110
107
|
|
|
111
108
|
navigate(pageRef) {
|
|
112
109
|
if (pageRef && this.bridge && this.bridge.navigate(pageRef)) {
|
|
@@ -116,17 +113,16 @@ export default class LwrHost extends LightningElement {
|
|
|
116
113
|
// SAVE the pending page reference if the navigation event was NOT fired
|
|
117
114
|
this.pendingPageRef = pageRef;
|
|
118
115
|
}
|
|
119
|
-
}
|
|
116
|
+
}
|
|
120
117
|
|
|
118
|
+
// Navigate to the page reference when set from the host document
|
|
121
119
|
|
|
122
120
|
@api
|
|
123
121
|
get pageReference() {
|
|
124
122
|
return this._pageRef;
|
|
125
123
|
}
|
|
126
|
-
|
|
127
124
|
set pageReference(pageRef) {
|
|
128
125
|
this._pageRef = pageRef;
|
|
129
126
|
this.navigate(pageRef);
|
|
130
127
|
}
|
|
131
|
-
|
|
132
128
|
}
|