@lwrjs/client-modules 0.6.0-alpha.10 → 0.6.0-alpha.11

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.
@@ -1 +1 @@
1
- import{createElement as e}from"lwc";function o(o,t){return e(o,{is:t})}function t(e){return e.replace(/\/v\/[a-zA-Z0-9-_.]+$/,"").replace("/","-").replace(/([A-Z])/g,(e=>`-${e.toLowerCase()}`))}const n=/-([a-z])/g;function r(e){return e.replace(n,(e=>e[1].toUpperCase()))}function c(e){if("undefined"!=typeof customElements&&"undefined"!=typeof document){const n=document.querySelector("[lwr-root]");e.forEach((([e,c])=>{const l=t(e);let a=document.body.querySelector(l);if(a){document.querySelectorAll(l).forEach((e=>{const t=o(l,c);for(const{name:o,value:n}of e.attributes){t.setAttribute(o,n);const e=r(o);e in t&&(t[e]=n)}for(;e.childNodes.length>0;)t.appendChild(e.childNodes[0]);if(e.parentElement.replaceChild(t,e),globalThis.performance){const e="lwr-bootstrap-on-app-init";globalThis.performance.measure(e)}}))}else a=o(l,c),n?n.appendChild(a):document.body.appendChild(a)}))}}export{r as getPropFromAttrName,c as init,t as toKebabCase};
1
+ import{BOOTSTRAP_END as e}from"lwr/metrics";import{logOperationStart as o}from"lwr/profiler";import{createElement as t}from"lwc";function r(e,o){return t(e,{is:o})}function n(e){return e.replace(/\/v\/[a-zA-Z0-9-_.]+$/,"").replace("/","-").replace(/([A-Z])/g,(e=>`-${e.toLowerCase()}`))}const c=/-([a-z])/g;function l(e){return e.replace(c,(e=>e[1].toUpperCase()))}function i(t){if("undefined"!=typeof customElements&&"undefined"!=typeof document){const e=document.querySelector("[lwr-root]");t.forEach((([o,t])=>{const c=n(o);let i=document.body.querySelector(c);if(i){document.querySelectorAll(c).forEach((e=>{const o=r(c,t);for(const{name:t,value:r}of e.attributes){o.setAttribute(t,r);const e=l(t);e in o&&(o[e]=r)}for(;e.childNodes.length>0;)o.appendChild(e.childNodes[0]);if(e.parentElement.replaceChild(o,e),globalThis.performance){const e="lwr-bootstrap-on-app-init";globalThis.performance.measure(e)}}))}else i=r(c,t),e?e.appendChild(i):document.body.appendChild(i)}))}o({id:e})}export{l as getPropFromAttrName,i as init,n as toKebabCase};
@@ -1 +1 @@
1
- const e=[];let n;const o={addLoaderPlugin:()=>{console.warn("API is not supported in ESM format")},handleStaleModule:function(o){e.push(o),n||(n=new WebSocket(`ws://${location.host}`),n.addEventListener("message",(async({data:n})=>{const o=JSON.parse(n);if("moduleUpdate"===o.eventType){const{oldHash:n,newHash:a,module:{specifier:t}}=o.payload;for(let o=0;o<e.length;o++){if(null!==(0,e[o])({name:t,oldHash:n,newHash:a}))break}}})))}};export{o as services};
1
+ const o=[];let e;const t=globalThis.LWR;globalThis.LWR.define?globalThis.LWR=Object.freeze({define:globalThis.LWR.define}):delete globalThis.LWR;const n={addLoaderPlugin:()=>{console.warn("API is not supported in ESM format")},handleStaleModule:function(t){o.push(t),e||(e=new WebSocket(`ws://${location.host}`),e.addEventListener("message",(async({data:e})=>{const t=JSON.parse(e);if("moduleUpdate"===t.eventType){const{oldHash:e,newHash:n,module:{specifier:a}}=t.payload;for(let t=0;t<o.length;t++){if(null!==(0,o[t])({name:a,oldHash:e,newHash:n}))break}}})))},appMetadata:function(){const{bootstrapModule:o,rootComponent:e,rootComponents:n}=t;return{bootstrapModule:o,rootComponent:e,rootComponents:n}}()};export{n as services};
@@ -1,6 +1,8 @@
1
- // TODO: This is a temporal workaround until https://github.com/salesforce/lwc/pull/2083 is sorted
1
+ import { BOOTSTRAP_END } from 'lwr/metrics';
2
+ import { logOperationStart } from 'lwr/profiler'; // TODO: This is a temporal workaround until https://github.com/salesforce/lwc/pull/2083 is sorted
2
3
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3
4
  // @ts-ignore
5
+
4
6
  import { createElement } from 'lwc';
5
7
 
6
8
  function initializeWebComponent(elementName, Ctor) {
@@ -96,4 +98,8 @@ export function init(rootModules) {
96
98
  }
97
99
  });
98
100
  }
101
+
102
+ logOperationStart({
103
+ id: BOOTSTRAP_END
104
+ });
99
105
  }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This module is called in the ABS module (app bootstrap module) to perform neccesary pre initialization steps for an LWR app.
3
+ * Note: this module should be imported before other dependencies in the ABS
4
+ */
5
+ const lwrGlobals = globalThis.LWR;
6
+
7
+ if (globalThis.LWR.define) {
8
+ // AMD only
9
+ globalThis.LWR = Object.freeze({
10
+ define: globalThis.LWR.define
11
+ });
12
+ } else {
13
+ delete globalThis.LWR;
14
+ }
15
+
16
+ export function getClientBootstrapConfig() {
17
+ return lwrGlobals;
18
+ }
@@ -1,11 +1,26 @@
1
1
  import { registerHandleStaleModuleHook } from './handleStaleModuleESM';
2
+ import { getClientBootstrapConfig } from 'lwr/preInit';
2
3
 
3
4
  const noop = () => {
4
5
  console.warn('API is not supported in ESM format');
5
6
  };
6
7
 
8
+ function getAppMetadata() {
9
+ const {
10
+ bootstrapModule,
11
+ rootComponent,
12
+ rootComponents
13
+ } = getClientBootstrapConfig();
14
+ return {
15
+ bootstrapModule,
16
+ rootComponent,
17
+ rootComponents
18
+ };
19
+ }
20
+
7
21
  export const services = {
8
22
  // addLoaderPlugin is only supported in AMD
9
23
  addLoaderPlugin: noop,
10
- handleStaleModule: registerHandleStaleModuleHook
24
+ handleStaleModule: registerHandleStaleModuleHook,
25
+ appMetadata: getAppMetadata()
11
26
  };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.6.0-alpha.10",
7
+ "version": "0.6.0-alpha.11",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@locker/sandbox": "0.14.19",
35
- "@lwrjs/shared-utils": "0.6.0-alpha.10"
35
+ "@lwrjs/shared-utils": "0.6.0-alpha.11"
36
36
  },
37
37
  "devDependencies": {
38
38
  "rollup-plugin-terser": "^7.0.2"
@@ -45,6 +45,7 @@
45
45
  ],
46
46
  "expose": [
47
47
  "lwr/hmr",
48
+ "lwr/preInit",
48
49
  "lwr/init",
49
50
  "lwr/initSsr",
50
51
  "lwr/servicesESM",
@@ -55,5 +56,5 @@
55
56
  "engines": {
56
57
  "node": ">=14.15.4 <17"
57
58
  },
58
- "gitHead": "85914e17d6214748489426252dd8fa41c8938b8f"
59
+ "gitHead": "18ab72188c2d52e32cca47333951a9c76f996039"
59
60
  }