@lwrjs/client-modules 0.5.11-alpha.2 → 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.
- package/build/bundle/prod/lwr/init/init.js +1 -1
- package/build/bundle/prod/lwr/servicesESM/servicesESM.js +1 -1
- package/build/modules/lwr/init/init.js +7 -1
- package/build/modules/lwr/initSsr/initSsr.js +40 -0
- package/build/modules/lwr/lockerDefine/lockerDefine.js +7 -7
- package/build/modules/lwr/lockerSandbox/lockerSandbox.js +7 -7
- package/build/modules/lwr/preInit/preInit.js +18 -0
- package/build/modules/lwr/servicesESM/servicesESM.js +16 -1
- package/package.json +7 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
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
|
|
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
|
-
|
|
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,40 @@
|
|
|
1
|
+
// TODO: This is a temporal workaround until https://github.com/salesforce/lwc/pull/2083 is sorted
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
import { hydrateComponent } from 'lwc';
|
|
5
|
+
export function toKebabCase(specifier) {
|
|
6
|
+
return specifier.replace(/\/v\/[a-zA-Z0-9-_.]+$/, '').replace('/', '-').replace(/([A-Z])/g, c => `-${c.toLowerCase()}`);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* This method maps between attribute names
|
|
10
|
+
* and the corresponding props name.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const CAMEL_REGEX = /-([a-z])/g;
|
|
14
|
+
export function getPropFromAttrName(propName) {
|
|
15
|
+
return propName.replace(CAMEL_REGEX, g => g[1].toUpperCase());
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Hydrate the given components component(s).
|
|
19
|
+
* @param components - An array of arrays, each one holding a pair of
|
|
20
|
+
* bare specifier and corresponding LightningElement constructor
|
|
21
|
+
* @example - [['x/appRoot', appCtor], ['x/nav', navCtor]]
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
export function init(components) {
|
|
25
|
+
if (typeof document !== 'undefined') {
|
|
26
|
+
components.forEach(([moduleSpecifier, ctor]) => {
|
|
27
|
+
// Kebab-case the specifier
|
|
28
|
+
const elementName = toKebabCase(moduleSpecifier);
|
|
29
|
+
const customElements = document.querySelectorAll(elementName);
|
|
30
|
+
customElements.forEach(customElement => {
|
|
31
|
+
hydrateComponent(customElement, ctor, {});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
if (globalThis.performance) {
|
|
36
|
+
const metric = 'lwr-bootstrap-on-app-init';
|
|
37
|
+
globalThis.performance.measure(metric);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -440,7 +440,7 @@ function WeakMapGet(weakMap, key) {
|
|
|
440
440
|
function WeakMapSet(weakMap, key, value) {
|
|
441
441
|
return ReflectApply$3(WeakMapProtoSet$1, weakMap, [key, value]);
|
|
442
442
|
}
|
|
443
|
-
/*! version: 0.14.
|
|
443
|
+
/*! version: 0.14.19 */
|
|
444
444
|
|
|
445
445
|
/*!
|
|
446
446
|
* Copyright (C) 2019 salesforce.com, inc.
|
|
@@ -1177,7 +1177,7 @@ function XhrStatusGetter(xhr) {
|
|
|
1177
1177
|
function XhrWithCredentialsSetter(xhr, bool) {
|
|
1178
1178
|
ReflectApply$3(XhrProtoWithCredentialsSetter, xhr, [bool]);
|
|
1179
1179
|
}
|
|
1180
|
-
/*! version: 0.14.
|
|
1180
|
+
/*! version: 0.14.19 */
|
|
1181
1181
|
|
|
1182
1182
|
/*!
|
|
1183
1183
|
* Copyright (C) 2019 salesforce.com, inc.
|
|
@@ -1215,7 +1215,7 @@ function sanitizeURLForElement(url) {
|
|
|
1215
1215
|
function sanitizeURLString(urlString) {
|
|
1216
1216
|
return urlString === '' ? urlString : StringReplace(urlString, REMOVE_URL_CHARS_REGEXP, '');
|
|
1217
1217
|
}
|
|
1218
|
-
/*! version: 0.14.
|
|
1218
|
+
/*! version: 0.14.19 */
|
|
1219
1219
|
|
|
1220
1220
|
/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.2.2/LICENSE */
|
|
1221
1221
|
|
|
@@ -2783,7 +2783,7 @@ function sanitizeSvgTextReturnDOM(dirty) {
|
|
|
2783
2783
|
const sanitizer = svgSanitizer();
|
|
2784
2784
|
return sanitizer.sanitize(dirty);
|
|
2785
2785
|
}
|
|
2786
|
-
/*! version: 0.14.
|
|
2786
|
+
/*! version: 0.14.19 */
|
|
2787
2787
|
|
|
2788
2788
|
/*!
|
|
2789
2789
|
* Copyright (C) 2019 salesforce.com, inc.
|
|
@@ -5456,7 +5456,7 @@ function createExternalDistortionEntries(globalObject, key, evaluator, config) {
|
|
|
5456
5456
|
ReflectApply$3(ArrayProtoPush, entries, makeElementDistortionsForSandboxKey(key));
|
|
5457
5457
|
return entries;
|
|
5458
5458
|
} // @TODO: [Issue #373] Abstract common code in sandbox and distortion packages
|
|
5459
|
-
/*! version: 0.14.
|
|
5459
|
+
/*! version: 0.14.19 */
|
|
5460
5460
|
|
|
5461
5461
|
/*!
|
|
5462
5462
|
* Copyright (C) 2021 salesforce.com, inc.
|
|
@@ -5617,7 +5617,7 @@ class DefaultInstrumentation {
|
|
|
5617
5617
|
|
|
5618
5618
|
|
|
5619
5619
|
const defaultInstrumentation = new DefaultInstrumentation();
|
|
5620
|
-
/*! version: 0.14.
|
|
5620
|
+
/*! version: 0.14.19 */
|
|
5621
5621
|
|
|
5622
5622
|
/*!
|
|
5623
5623
|
* Copyright (C) 2019 salesforce.com, inc.
|
|
@@ -8181,7 +8181,7 @@ function evaluateInSandbox(key, sourceText, context, endowments, instrumentation
|
|
|
8181
8181
|
activityEvaluateInSandbox.stop();
|
|
8182
8182
|
return result;
|
|
8183
8183
|
}
|
|
8184
|
-
/*! version: 0.14.
|
|
8184
|
+
/*! version: 0.14.19 */
|
|
8185
8185
|
|
|
8186
8186
|
const loaderDefine = globalThis.LWR.define;
|
|
8187
8187
|
/**
|
|
@@ -440,7 +440,7 @@ function WeakMapGet(weakMap, key) {
|
|
|
440
440
|
function WeakMapSet(weakMap, key, value) {
|
|
441
441
|
return ReflectApply$3(WeakMapProtoSet$1, weakMap, [key, value]);
|
|
442
442
|
}
|
|
443
|
-
/*! version: 0.14.
|
|
443
|
+
/*! version: 0.14.19 */
|
|
444
444
|
|
|
445
445
|
/*!
|
|
446
446
|
* Copyright (C) 2019 salesforce.com, inc.
|
|
@@ -1177,7 +1177,7 @@ function XhrStatusGetter(xhr) {
|
|
|
1177
1177
|
function XhrWithCredentialsSetter(xhr, bool) {
|
|
1178
1178
|
ReflectApply$3(XhrProtoWithCredentialsSetter, xhr, [bool]);
|
|
1179
1179
|
}
|
|
1180
|
-
/*! version: 0.14.
|
|
1180
|
+
/*! version: 0.14.19 */
|
|
1181
1181
|
|
|
1182
1182
|
/*!
|
|
1183
1183
|
* Copyright (C) 2019 salesforce.com, inc.
|
|
@@ -1215,7 +1215,7 @@ function sanitizeURLForElement(url) {
|
|
|
1215
1215
|
function sanitizeURLString(urlString) {
|
|
1216
1216
|
return urlString === '' ? urlString : StringReplace(urlString, REMOVE_URL_CHARS_REGEXP, '');
|
|
1217
1217
|
}
|
|
1218
|
-
/*! version: 0.14.
|
|
1218
|
+
/*! version: 0.14.19 */
|
|
1219
1219
|
|
|
1220
1220
|
/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.2.2/LICENSE */
|
|
1221
1221
|
|
|
@@ -2783,7 +2783,7 @@ function sanitizeSvgTextReturnDOM(dirty) {
|
|
|
2783
2783
|
const sanitizer = svgSanitizer();
|
|
2784
2784
|
return sanitizer.sanitize(dirty);
|
|
2785
2785
|
}
|
|
2786
|
-
/*! version: 0.14.
|
|
2786
|
+
/*! version: 0.14.19 */
|
|
2787
2787
|
|
|
2788
2788
|
/*!
|
|
2789
2789
|
* Copyright (C) 2019 salesforce.com, inc.
|
|
@@ -5519,7 +5519,7 @@ function createInternalDistortionEntries(globalObject, key, evaluator, config) {
|
|
|
5519
5519
|
ReflectApply$3(ArrayProtoPush, entries, makeElementDistortionsForSandboxKey(key));
|
|
5520
5520
|
return entries;
|
|
5521
5521
|
}
|
|
5522
|
-
/*! version: 0.14.
|
|
5522
|
+
/*! version: 0.14.19 */
|
|
5523
5523
|
|
|
5524
5524
|
/*!
|
|
5525
5525
|
* Copyright (C) 2021 salesforce.com, inc.
|
|
@@ -5680,7 +5680,7 @@ class DefaultInstrumentation {
|
|
|
5680
5680
|
|
|
5681
5681
|
|
|
5682
5682
|
const defaultInstrumentation = new DefaultInstrumentation();
|
|
5683
|
-
/*! version: 0.14.
|
|
5683
|
+
/*! version: 0.14.19 */
|
|
5684
5684
|
|
|
5685
5685
|
/*!
|
|
5686
5686
|
* Copyright (C) 2019 salesforce.com, inc.
|
|
@@ -8316,6 +8316,6 @@ function evaluateInCoreSandbox(_key, sourceText, context, endowments, instrument
|
|
|
8316
8316
|
activityEvaluateInCoreSandbox.stop();
|
|
8317
8317
|
return result;
|
|
8318
8318
|
}
|
|
8319
|
-
/*! version: 0.14.
|
|
8319
|
+
/*! version: 0.14.19 */
|
|
8320
8320
|
|
|
8321
8321
|
export { CORE_SANDBOX_KEY, evaluateInCoreSandbox, evaluateInSandbox };
|
|
@@ -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,8 +4,8 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.
|
|
8
|
-
"homepage": "https://
|
|
7
|
+
"version": "0.6.0-alpha.11",
|
|
8
|
+
"homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "https://github.com/salesforce/lwr.git",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"build:bundle": "rollup --config scripts/rollup.moduleBundle.config.cjs"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@locker/sandbox": "0.14.
|
|
35
|
-
"@lwrjs/shared-utils": "0.
|
|
34
|
+
"@locker/sandbox": "0.14.19",
|
|
35
|
+
"@lwrjs/shared-utils": "0.6.0-alpha.11"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"rollup-plugin-terser": "^7.0.2"
|
|
@@ -45,7 +45,9 @@
|
|
|
45
45
|
],
|
|
46
46
|
"expose": [
|
|
47
47
|
"lwr/hmr",
|
|
48
|
+
"lwr/preInit",
|
|
48
49
|
"lwr/init",
|
|
50
|
+
"lwr/initSsr",
|
|
49
51
|
"lwr/servicesESM",
|
|
50
52
|
"lwr/lockerDefine",
|
|
51
53
|
"lwr/lockerSandbox"
|
|
@@ -54,5 +56,5 @@
|
|
|
54
56
|
"engines": {
|
|
55
57
|
"node": ">=14.15.4 <17"
|
|
56
58
|
},
|
|
57
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "18ab72188c2d52e32cca47333951a9c76f996039"
|
|
58
60
|
}
|