@lwrjs/everywhere 0.9.0-alpha.2 → 0.9.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/61bdfc7894fc7c2254c30895c490d56f/config.js +10 -0
  2. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/@lwrjs/app-service/amd-bootstrap/module/amd/v/0_9_0-alpha_4/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js +14 -0
  3. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/everywhereAmd/v/{0_9_0-alpha_2 → 0_9_0-alpha_4}/s/e66806169480601930ec9cfca972815e/lwr_everywhereAmd.js +3 -3
  4. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/init/v/{0_9_0-alpha_2 → 0_9_0-alpha_4}/s/6258bcb20cc2d5d6a9f3c5a6f9d0acaf/lwr_init.js +3 -3
  5. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/loader/v/{0_9_0-alpha_2/s/a7fb654bda624ba7d02dcd76e8d1217c → 0_9_0-alpha_4/s/29b80d94761e01beb60b250337a7cbc7}/lwr_loader.js +1 -1
  6. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/metrics/v/{0_9_0-alpha_2 → 0_9_0-alpha_4}/s/dfbc827104d50ff7d16b59c9d0e06aca/lwr_metrics.js +1 -1
  7. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/profiler/v/{0_9_0-alpha_2 → 0_9_0-alpha_4}/s/5a10236d8c52bc9f6dee22875cd7016d/lwr_profiler.js +1 -1
  8. package/build/__generated_site_amd_modules__/1/module/amd/1/l/en-US/mi/lwr/vault/v/{0_9_0-alpha_2 → 0_9_0-alpha_4}/s/6cbce1f9b7e815ee862b26f37ff4c76e/lwr_vault.js +1 -1
  9. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-error-shim.js/v/{0_9_0-alpha_2 → 0_9_0-alpha_4} +1 -1
  10. package/build/__generated_site_amd_modules__/1/resource/amd/lwr-loader-shim.js/v/{0_9_0-alpha_2 → 0_9_0-alpha_4} +5 -5
  11. package/build/__generated_site_amd_modules__/en-US/index.html +6 -6
  12. package/build/__generated_site_amd_modules__/index.html +6 -6
  13. package/build/amd-client.js +1 -2
  14. package/build/assets/amd/lwr-everywhere-debug.js +11 -14
  15. package/build/assets/amd/lwr-everywhere-min.js +1 -1
  16. package/build/assets/amd/lwr-everywhere.js +11 -14
  17. package/build/assets/core/lwr-everywhere-debug.js +7 -10
  18. package/build/assets/core/lwr-everywhere-min.js +1 -1
  19. package/build/assets/core/lwr-everywhere.js +7 -10
  20. package/build/assets/esm/lwr-everywhere-debug.js +4 -7
  21. package/build/assets/esm/lwr-everywhere-min.js +1 -1
  22. package/build/assets/esm/lwr-everywhere.js +4 -7
  23. package/build/esm-client.js +1 -2
  24. package/build/generate.js +2 -1
  25. package/build/index.js +2 -2
  26. package/build/modules/@salesforce/lds-default-luvio/lds-default-luvio.d.ts +24 -0
  27. package/build/modules/@salesforce/lds-default-luvio/lds-default-luvio.js +56 -0
  28. package/build/modules/lwr/everywhere/everywhere.js +4 -1
  29. package/build/modules/lwr/setupLDS/network.d.ts +3 -0
  30. package/build/modules/lwr/setupLDS/network.js +96 -0
  31. package/build/modules/lwr/setupLDS/setupLDS.d.ts +2 -0
  32. package/build/modules/lwr/setupLDS/setupLDS.js +11 -0
  33. package/build/utils.d.ts +1 -8
  34. package/build/utils.js +1 -4
  35. package/package.json +8 -5
  36. package/src/amd-client.ts +1 -2
  37. package/src/esm-client.ts +2 -3
  38. package/src/generate.ts +2 -1
  39. package/src/index.ts +2 -2
  40. package/src/utils.ts +2 -13
  41. package/build/__generated_site_amd_modules__/1/application/amd/l/en-US/ai/amd-bootstrap/configuration/ci/-/-/s/68e51659d71a9691c09702509beecf4f/config.js +0 -10
  42. 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_2/s/c40e6caf07454ce13961de8ca76ab7f0/@lwrjs_app-service_amd-bootstrap_module_amd.js +0 -14
@@ -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"}),{options:{NODE_ENV:a?"development":"production"},config:m}}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.config;globalThis.process={env:{NODE_ENV:configuration.options.NODE_ENV}};const 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: {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};
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
+ globalThis.process = { env: { NODE_ENV: 'production' } };
7
8
  // Construct the Client Bootstrap Config object
8
9
  function getConfiguration(options) {
9
10
  const { format, server, apiVersion, apiPrefix, locale, bundle, debug } = options;
@@ -38,10 +39,7 @@ function getConfiguration(options) {
38
39
  if (debug && config.endpoints) {
39
40
  config.endpoints.modifiers = { debug: 'true' };
40
41
  }
41
- return {
42
- options: { NODE_ENV: debug ? 'development' : 'production' },
43
- config, // globalThis.LWR
44
- };
42
+ return config;
45
43
  }
46
44
 
47
45
  /**
@@ -50,7 +48,7 @@ function getConfiguration(options) {
50
48
  * SPDX-License-Identifier: MIT
51
49
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
52
50
  */
53
- /* LWR Module Loader v0.9.0-alpha.2 */
51
+ /* LWR Module Loader v0.9.0-alpha.4 */
54
52
  const templateRegex = /\{([0-9]+)\}/g;
55
53
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
54
  function templateString(template, args) {
@@ -1284,8 +1282,7 @@ class Loader {
1284
1282
  // Process the LWR Client Bootstrap Config
1285
1283
  const configOptions = { "format": "amd", "apiVersion": "v57.0", "apiPrefix": "/lwr", "bundle": true, "debug": false };
1286
1284
  const configuration = getConfiguration(configOptions);
1287
- const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration.config;
1288
- globalThis.process = { env: { NODE_ENV: configuration.options.NODE_ENV } }; // Required by LWC
1285
+ const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration;
1289
1286
  // Initialize the AMD loader (its code is bundled into the LWR Everywhere module)
1290
1287
  const loader = new Loader({ endpoints, baseUrl });
1291
1288
  loader.define('lwr/loader/v/0_0_1', ['exports'], (exports) => {
@@ -1297,9 +1294,9 @@ loader.define('lwr/loader/v/0_0_1', ['exports'], (exports) => {
1297
1294
  await loader.registerImportMappings({ imports, index }, [bootstrapModule]);
1298
1295
  globalThis.LWR = Object.freeze({ define: loader.define.bind(loader) });
1299
1296
  // Define preload modules (ie: ABS, vault, etc) BEFORE loading them
1300
- LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], function (exports, _0_9_0Alpha_2) {
1297
+ LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], function (exports, _0_9_0Alpha_4) {
1301
1298
  async function authFetch(url, accept = "javascript") {
1302
- const authInfo = _0_9_0Alpha_2.getAuthInfo();
1299
+ const authInfo = _0_9_0Alpha_4.getAuthInfo();
1303
1300
  if (authInfo) {
1304
1301
  return fetch(url, {
1305
1302
  headers: {
@@ -1337,7 +1334,7 @@ LWR.define("lwr/everywhereAmd/v/0_0_1", ["exports", "lwr/vault/v/0_0_1"], functi
1337
1334
  }
1338
1335
  function authenticate(authInfo) {
1339
1336
  if (authInfo) {
1340
- _0_9_0Alpha_2.setAuthInfo(authInfo);
1337
+ _0_9_0Alpha_4.setAuthInfo(authInfo);
1341
1338
  }
1342
1339
  }
1343
1340
  exports.authenticate = authenticate;
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
+ globalThis.process = { env: { NODE_ENV: 'development' } };
7
8
  // Construct the Client Bootstrap Config object
8
9
  function getConfiguration(options) {
9
10
  const { format, server, apiVersion, apiPrefix, locale, bundle, debug } = options;
@@ -17,7 +18,7 @@ function getConfiguration(options) {
17
18
  ? `${ORIGIN}${PREFIX}/bundle/${format}/${POSTFIX}${BUNDLE_ID}-0/module/mi/`
18
19
  : `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
19
20
  // Component specifiers and URIs
20
- const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_2`;
21
+ const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_4`;
21
22
  const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
22
23
  // Client Bootstrap Config
23
24
  const config = {
@@ -38,18 +39,14 @@ function getConfiguration(options) {
38
39
  if (debug && config.endpoints) {
39
40
  config.endpoints.modifiers = { debug: 'true' };
40
41
  }
41
- return {
42
- options: { NODE_ENV: debug ? 'development' : 'production' },
43
- config, // globalThis.LWR
44
- };
42
+ return config;
45
43
  }
46
44
 
47
45
  /** LWR Everywhere module for ESM **/
48
46
  // Process the LWR Client Bootstrap Config
49
47
  const configOptions = { "format": "esm", "apiVersion": "1", "apiPrefix": "", "bundle": false, "debug": true };
50
48
  const configuration = getConfiguration(configOptions);
51
- const { bootstrapModule, imports, index = {}, importMappings, endpoints } = configuration.config;
52
- globalThis.process = { env: { NODE_ENV: configuration.options.NODE_ENV } }; // Required by LWC
49
+ const { bootstrapModule, imports, index = {}, importMappings, endpoints } = configuration;
53
50
  // Set up the ESM loader; Export the LWRE APIs
54
51
  const { initEsm, authenticate, createComponent } = await import(
55
52
  /* webpackIgnore: true */ index[bootstrapModule]);
@@ -1 +1 @@
1
- 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),a=i||m.origin||"",d=`${t}/${n}`,$="0"+(p?`/l/${p}`:""),l="/bi/3_A,B,O,S,EG,JLMT,C,D,F,H,I,K,N,P,Q,R",u=r?`${a}${d}/bundle/${o}/${$}${l}-0/module/mi/`:`${a}${d}/module/${o}/${$}/mi/`,b=`lwr/everywhere${"esm"===o?"Esm":"Amd"}/v/0_9_0-alpha_2`,c=`${u}${encodeURIComponent(b)}/latest${s?"?debug":""}`,g={appId:"lwre",autoBoot:!0,bootstrapModule:b,baseUrl:a,imports:{[c]:[b]},index:{[b]:c},endpoints:{uris:{module:u,mapping:`${a}${d}/mapping/${o}/${$}${r?l:""}/mp/`}}};return s&&g.endpoints&&(g.endpoints.modifiers={debug:"true"}),{options:{NODE_ENV:s?"development":"production"},config:g}}({format:"esm",apiVersion:"1",apiPrefix:"",bundle:!0,debug:!1}),{bootstrapModule:o,imports:i,index:n={},importMappings:t,endpoints:p}=e.config;globalThis.process={env:{NODE_ENV:e.options.NODE_ENV}};const{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};
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,a=new URL(import.meta.url),m=i||a.origin||"",d=`${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?`${m}${d}/bundle/${o}/${$}${u}-0/module/mi/`:`${m}${d}/module/${o}/${$}/mi/`,b=`lwr/everywhere${"esm"===o?"Esm":"Amd"}/v/0_9_0-alpha_4`,g=`${l}${encodeURIComponent(b)}/latest${s?"?debug":""}`,c={appId:"lwre",autoBoot:!0,bootstrapModule:b,baseUrl:m,imports:{[g]:[b]},index:{[b]:g},endpoints:{uris:{module:l,mapping:`${m}${d}/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:a}=await import(n[o]);r({imports:i,index:n,importMappings:t,endpoints:p});export{s as authenticate,a as createComponent};
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
+ globalThis.process = { env: { NODE_ENV: 'production' } };
7
8
  // Construct the Client Bootstrap Config object
8
9
  function getConfiguration(options) {
9
10
  const { format, server, apiVersion, apiPrefix, locale, bundle, debug } = options;
@@ -17,7 +18,7 @@ function getConfiguration(options) {
17
18
  ? `${ORIGIN}${PREFIX}/bundle/${format}/${POSTFIX}${BUNDLE_ID}-0/module/mi/`
18
19
  : `${ORIGIN}${PREFIX}/module/${format}/${POSTFIX}/mi/`;
19
20
  // Component specifiers and URIs
20
- const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_2`;
21
+ const BOOT_MODULE = `lwr/everywhere${format === 'esm' ? 'Esm' : 'Amd'}/v/0_9_0-alpha_4`;
21
22
  const BOOT_URI = `${ENDPOINT}${encodeURIComponent(BOOT_MODULE)}/latest${debug ? '?debug' : ''}`;
22
23
  // Client Bootstrap Config
23
24
  const config = {
@@ -38,18 +39,14 @@ function getConfiguration(options) {
38
39
  if (debug && config.endpoints) {
39
40
  config.endpoints.modifiers = { debug: 'true' };
40
41
  }
41
- return {
42
- options: { NODE_ENV: debug ? 'development' : 'production' },
43
- config, // globalThis.LWR
44
- };
42
+ return config;
45
43
  }
46
44
 
47
45
  /** LWR Everywhere module for ESM **/
48
46
  // Process the LWR Client Bootstrap Config
49
47
  const configOptions = { "format": "esm", "apiVersion": "1", "apiPrefix": "", "bundle": true, "debug": false };
50
48
  const configuration = getConfiguration(configOptions);
51
- const { bootstrapModule, imports, index = {}, importMappings, endpoints } = configuration.config;
52
- globalThis.process = { env: { NODE_ENV: configuration.options.NODE_ENV } }; // Required by LWC
49
+ const { bootstrapModule, imports, index = {}, importMappings, endpoints } = configuration;
53
50
  // Set up the ESM loader; Export the LWRE APIs
54
51
  const { initEsm, authenticate, createComponent } = await import(
55
52
  /* webpackIgnore: true */ index[bootstrapModule]);
@@ -3,8 +3,7 @@ import { getConfiguration } from './utils';
3
3
  // Process the LWR Client Bootstrap Config
4
4
  const configOptions = '$REPLACE_CLIENT_BOOTSTRAP_OPTIONS$';
5
5
  const configuration = getConfiguration(configOptions);
6
- const { bootstrapModule, imports, index = {}, importMappings, endpoints } = configuration.config;
7
- globalThis.process = { env: { NODE_ENV: configuration.options.NODE_ENV } }; // Required by LWC
6
+ const { bootstrapModule, imports, index = {}, importMappings, endpoints } = configuration;
8
7
  // Set up the ESM loader; Export the LWRE APIs
9
8
  const { initEsm, authenticate, createComponent } = await import(
10
9
  /* webpackIgnore: true */ index[bootstrapModule]);
package/build/generate.js CHANGED
@@ -97,7 +97,8 @@ export async function generate(options) {
97
97
  * All rights reserved.
98
98
  * SPDX-License-Identifier: MIT
99
99
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
100
- */`,
100
+ */
101
+ globalThis.process = { env: { NODE_ENV: '${debug ? 'development' : 'production'}' } };`,
101
102
  });
102
103
  // Write the rollup output to the file system
103
104
  if (!output[0].code) {
package/build/index.js CHANGED
@@ -2,7 +2,7 @@ import path from 'path';
2
2
  import fs from 'fs';
3
3
  import { rootPath, version as VERSION } from '@lwrjs/everywhere/package';
4
4
  export default class LwrEverywhereClientProvider {
5
- constructor({ dir = 'assets' }, context) {
5
+ constructor({ dir = 'build/assets' }, context) {
6
6
  this.name = 'lwr-everywhere-client-runtime';
7
7
  this.filenames = ['lwr-everywhere.js', 'lwr-everywhere-min.js', 'lwr-everywhere-debug.js'];
8
8
  this.version = VERSION;
@@ -17,7 +17,7 @@ export default class LwrEverywhereClientProvider {
17
17
  return undefined;
18
18
  }
19
19
  // Retrieve the filepath from the build directory
20
- const absFilepath = path.join(rootPath, '..', this.directory, format, specifier);
20
+ const absFilepath = path.join(rootPath, this.directory, format, specifier);
21
21
  if (fs.existsSync(absFilepath)) {
22
22
  return {
23
23
  specifier,
@@ -0,0 +1,24 @@
1
+ import { Luvio } from '@luvio/engine';
2
+ export declare type Callback = (luvio: Luvio) => void;
3
+ /**
4
+ * Constructs/sets the default Luvio instance. Any previously-set default luvio instance
5
+ * is overwritten.
6
+ */
7
+ export declare function setDefaultLuvio({ luvio }: {
8
+ luvio: Luvio;
9
+ }): void;
10
+ /**
11
+ * Registers a callback to be invoked with the default Luvio instance. Note that the
12
+ * callback may be invoked multiple times if the default Luvio changes.
13
+ *
14
+ * @param callback callback to be invoked with default Luvio instance
15
+ */
16
+ export declare function withDefaultLuvio(callback: Callback): void;
17
+ export declare type Registration = {
18
+ id: string;
19
+ };
20
+ export declare type RegistrationCallback<R = Registration> = (registration: R) => void;
21
+ export declare function forEachRegistration(callback: RegistrationCallback): void;
22
+ export declare function withRegistration<R extends Registration>(id: R['id'], callback: RegistrationCallback<R>): void;
23
+ export declare function register<R extends Registration = Registration>(r: R): void;
24
+ //# sourceMappingURL=lds-default-luvio.d.ts.map
@@ -0,0 +1,56 @@
1
+ // temp from https://github.com/salesforce-experience-platform-emu/lds-lightning-platform/blob/main/packages/lds-default-luvio/src/main.ts
2
+ // callback used to inform interested parties that a new default Luvio has been set.
3
+ // most recently set default Luvio instance
4
+ let defaultLuvio; // callbacks to be invoked when default luvio instance is set/changed
5
+
6
+ const callbacks = [];
7
+ /**
8
+ * Constructs/sets the default Luvio instance. Any previously-set default luvio instance
9
+ * is overwritten.
10
+ */
11
+
12
+ export function setDefaultLuvio({
13
+ luvio
14
+ }) {
15
+ if (luvio === undefined) {
16
+ throw new Error('unable to construct default Luvio instance from supplied parameters');
17
+ }
18
+
19
+ defaultLuvio = luvio; // inform observers
20
+
21
+ for (let i = 0; i < callbacks.length; ++i) {
22
+ callbacks[i](defaultLuvio);
23
+ }
24
+ }
25
+ /**
26
+ * Registers a callback to be invoked with the default Luvio instance. Note that the
27
+ * callback may be invoked multiple times if the default Luvio changes.
28
+ *
29
+ * @param callback callback to be invoked with default Luvio instance
30
+ */
31
+
32
+ export function withDefaultLuvio(callback) {
33
+ if (defaultLuvio) {
34
+ callback(defaultLuvio);
35
+ }
36
+
37
+ callbacks.push(callback);
38
+ } // export * from './registry'; see below
39
+
40
+ const registryCallbacks = [];
41
+ const registrations = [];
42
+ export function forEachRegistration(callback) {
43
+ registryCallbacks.push(callback);
44
+ registrations.forEach(r => callback(r));
45
+ }
46
+ export function withRegistration(id, callback) {
47
+ forEachRegistration(r => {
48
+ if (r.id === id) {
49
+ callback(r);
50
+ }
51
+ });
52
+ }
53
+ export function register(r) {
54
+ registrations.push(r);
55
+ registryCallbacks.forEach(callback => callback(r));
56
+ }
@@ -3,7 +3,10 @@ import '@lwc/synthetic-shadow'; // @ts-ignore: Typescript thinks createElement d
3
3
 
4
4
  import { createElement } from 'lwc';
5
5
  import { setAuthInfo } from 'lwr/vault';
6
- import HostCtor from 'lwr/host'; // Export the LWRE authenticate() API
6
+ import HostCtor from 'lwr/host';
7
+ import setupLDS from 'lwr/setupLDS'; // Setup a Luvio instance with an OAuth network adapter
8
+
9
+ setupLDS(); // Export the LWRE authenticate() API
7
10
 
8
11
  export function authenticate(authInfo) {
9
12
  // Put OAuth info into the vault
@@ -0,0 +1,3 @@
1
+ import type { FetchResponse, ResourceRequest } from '@luvio/engine';
2
+ export declare function networkAdapter(req: ResourceRequest): Promise<FetchResponse<any>>;
3
+ //# sourceMappingURL=network.d.ts.map
@@ -0,0 +1,96 @@
1
+ import { getAuthInfo } from 'lwr/vault';
2
+ /**
3
+ * Authenticated UI API Luvio Network Adapter
4
+ * See LDS error handling: https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.data_error
5
+ */
6
+
7
+ class RecordError extends Error {
8
+ constructor(message, status = 404) {
9
+ super(message);
10
+ this.body = {
11
+ message
12
+ };
13
+ this.ok = false;
14
+ this.status = status;
15
+ this.statusText = message;
16
+ }
17
+
18
+ } // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+
20
+
21
+ export async function networkAdapter(req) {
22
+ const authInfo = getAuthInfo();
23
+
24
+ if (authInfo) {
25
+ const {
26
+ instance_url,
27
+ access_token
28
+ } = authInfo;
29
+ const {
30
+ baseUri,
31
+ basePath,
32
+ body,
33
+ queryParams,
34
+ method,
35
+ headers
36
+ } = req;
37
+ const path = `${instance_url}${baseUri}${basePath}${generateQueryString(queryParams)}`;
38
+
39
+ try {
40
+ const res = await fetch(path, {
41
+ method: method.toUpperCase(),
42
+ headers: generateHeaders({ ...headers,
43
+ Authorization: `Bearer ${access_token}`
44
+ }),
45
+ body: body === null ? null : JSON.stringify(body)
46
+ });
47
+
48
+ if (res.ok) {
49
+ return {
50
+ body: res.status === 204 ? undefined : await res.json(),
51
+ // HTTP 204 = No Content
52
+ status: res.status,
53
+ statusText: res.statusText,
54
+ ok: res.ok,
55
+ headers: {}
56
+ };
57
+ } // Request goes through but returns HTTP errors
58
+
59
+
60
+ throw new RecordError(res.statusText, res.status);
61
+ } catch (e) {
62
+ // Return the failure; no response status => 401
63
+ const error = e;
64
+ throw new RecordError(error.message, error.status >= 0 ? error.status : 401);
65
+ }
66
+ } else {
67
+ // There is no authentication data available to make this request
68
+ throw new RecordError('You are not authenticated.', 401);
69
+ }
70
+ } // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
+
72
+ function generateQueryString(params) {
73
+ const queryStrings = [];
74
+
75
+ for (const key of Object.keys(params)) {
76
+ const value = Array.isArray(params[key]) ? params[key].join(',') : params[key];
77
+
78
+ if (value) {
79
+ queryStrings.push(`${key}=${value}`);
80
+ }
81
+ }
82
+
83
+ return queryStrings.length > 0 ? `?${queryStrings.join('&')}` : '';
84
+ }
85
+
86
+ function generateHeaders(headers) {
87
+ const fetchHeaders = new globalThis.Headers();
88
+
89
+ for (const key of Object.keys(headers)) {
90
+ fetchHeaders.set(key, headers[key]);
91
+ }
92
+
93
+ fetchHeaders.set('Accept', 'application/json');
94
+ fetchHeaders.set('Content-Type', 'application/json');
95
+ return fetchHeaders;
96
+ }
@@ -0,0 +1,2 @@
1
+ export default function (): void;
2
+ //# sourceMappingURL=setupLDS.d.ts.map
@@ -0,0 +1,11 @@
1
+ import { Luvio, Store, Environment } from '@luvio/engine';
2
+ import { setDefaultLuvio } from '@salesforce/lds-default-luvio';
3
+ import { networkAdapter } from './network'; // Set the default Luvio instance for LWR Everywhere
4
+ // It uses a fetch-based "web" network adapter with OAuth headers
5
+
6
+ export default function () {
7
+ const luvio = new Luvio(new Environment(new Store(), networkAdapter));
8
+ setDefaultLuvio({
9
+ luvio
10
+ });
11
+ }
package/build/utils.d.ts CHANGED
@@ -11,12 +11,5 @@ export interface EverywhereClientBootstrapOptions {
11
11
  bundle?: boolean;
12
12
  debug?: boolean;
13
13
  }
14
- interface EverywhereClientBootstrap {
15
- options: {
16
- NODE_ENV: 'production' | 'development';
17
- };
18
- config: ClientBootstrapConfig;
19
- }
20
- export declare function getConfiguration(options: EverywhereClientBootstrapOptions): EverywhereClientBootstrap;
21
- export {};
14
+ export declare function getConfiguration(options: EverywhereClientBootstrapOptions): ClientBootstrapConfig;
22
15
  //# sourceMappingURL=utils.d.ts.map
package/build/utils.js CHANGED
@@ -32,9 +32,6 @@ export function getConfiguration(options) {
32
32
  if (debug && config.endpoints) {
33
33
  config.endpoints.modifiers = { debug: 'true' };
34
34
  }
35
- return {
36
- options: { NODE_ENV: debug ? 'development' : 'production' },
37
- config, // globalThis.LWR
38
- };
35
+ return config;
39
36
  }
40
37
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lwrjs/everywhere",
3
3
  "description": "LWR Everywhere",
4
- "version": "0.9.0-alpha.2",
4
+ "version": "0.9.0-alpha.4",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -48,10 +48,11 @@
48
48
  "rollup-plugin-typescript": "^1.0.1"
49
49
  },
50
50
  "devDependencies": {
51
+ "@luvio/engine": "0.47.5",
51
52
  "@lwc/module-resolver": "2.17.0",
52
- "@lwrjs/loader": "0.9.0-alpha.2",
53
- "@lwrjs/router": "0.9.0-alpha.2",
54
- "@lwrjs/types": "0.9.0-alpha.2"
53
+ "@lwrjs/loader": "0.9.0-alpha.4",
54
+ "@lwrjs/router": "0.9.0-alpha.4",
55
+ "@lwrjs/types": "0.9.0-alpha.4"
55
56
  },
56
57
  "lwc": {
57
58
  "modules": [
@@ -60,12 +61,14 @@
60
61
  }
61
62
  ],
62
63
  "expose": [
64
+ "@salesforce/lds-default-luvio",
63
65
  "lwr/everywhere",
64
66
  "lwr/everywhereAmd",
65
67
  "lwr/everywhereEsm",
66
68
  "lwr/host",
69
+ "lwr/setupLDS",
67
70
  "lwr/vault"
68
71
  ]
69
72
  },
70
- "gitHead": "bcf63de23d1a2a53fb0e961dba4396e8753710dd"
73
+ "gitHead": "cb4f98fad4279ac953edec73f3e28996e2523c67"
71
74
  }
package/src/amd-client.ts CHANGED
@@ -10,8 +10,7 @@ import { Loader } from 'lwr/loader';
10
10
  // Process the LWR Client Bootstrap Config
11
11
  const configOptions = '$REPLACE_CLIENT_BOOTSTRAP_OPTIONS$' as unknown as EverywhereClientBootstrapOptions;
12
12
  const configuration = getConfiguration(configOptions);
13
- const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration.config;
14
- (globalThis as GlobalThis).process = { env: { NODE_ENV: configuration.options.NODE_ENV } }; // Required by LWC
13
+ const { bootstrapModule, endpoints, baseUrl, imports, index } = configuration;
15
14
 
16
15
  // Initialize the AMD loader (its code is bundled into the LWR Everywhere module)
17
16
  const loader = new Loader({ endpoints, baseUrl });
package/src/esm-client.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { EverywhereClientBootstrapOptions, GlobalThis } from './utils';
1
+ import type { EverywhereClientBootstrapOptions } from './utils';
2
2
  import { getConfiguration } from './utils';
3
3
 
4
4
  /** LWR Everywhere module for ESM **/
@@ -6,8 +6,7 @@ import { getConfiguration } from './utils';
6
6
  // Process the LWR Client Bootstrap Config
7
7
  const configOptions = '$REPLACE_CLIENT_BOOTSTRAP_OPTIONS$' as unknown as EverywhereClientBootstrapOptions;
8
8
  const configuration = getConfiguration(configOptions);
9
- const { bootstrapModule, imports, index = {}, importMappings, endpoints } = configuration.config;
10
- (globalThis as GlobalThis).process = { env: { NODE_ENV: configuration.options.NODE_ENV } }; // Required by LWC
9
+ const { bootstrapModule, imports, index = {}, importMappings, endpoints } = configuration;
11
10
 
12
11
  // Set up the ESM loader; Export the LWRE APIs
13
12
  const { initEsm, authenticate, createComponent } = await import(
package/src/generate.ts CHANGED
@@ -118,7 +118,8 @@ export async function generate(options: GenerationOptions): Promise<void> {
118
118
  * All rights reserved.
119
119
  * SPDX-License-Identifier: MIT
120
120
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
121
- */`,
121
+ */
122
+ globalThis.process = { env: { NODE_ENV: '${debug ? 'development' : 'production'}' } };`,
122
123
  });
123
124
 
124
125
  // Write the rollup output to the file system
package/src/index.ts CHANGED
@@ -16,7 +16,7 @@ export default class LwrEverywhereClientProvider implements ResourceProvider {
16
16
  directory: string;
17
17
  context: ProviderContext;
18
18
 
19
- constructor({ dir = 'assets' }: { dir: string }, context: ProviderContext) {
19
+ constructor({ dir = 'build/assets' }: { dir: string }, context: ProviderContext) {
20
20
  this.directory = dir;
21
21
  this.context = context;
22
22
  }
@@ -33,7 +33,7 @@ export default class LwrEverywhereClientProvider implements ResourceProvider {
33
33
  }
34
34
 
35
35
  // Retrieve the filepath from the build directory
36
- const absFilepath = path.join(rootPath, '..', this.directory, format, specifier);
36
+ const absFilepath = path.join(rootPath, this.directory, format, specifier);
37
37
  if (fs.existsSync(absFilepath)) {
38
38
  return {
39
39
  specifier,