@lwrjs/view-registry 0.17.2-alpha.29 → 0.17.2-alpha.30
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/cjs/linkers/legacy_view_bootstrap.cjs +5 -2
- package/build/cjs/linkers/preload-utils.cjs +9 -1
- package/build/cjs/linkers/view_bootstrap.cjs +5 -2
- package/build/es/linkers/legacy_view_bootstrap.js +6 -3
- package/build/es/linkers/preload-utils.d.ts +3 -1
- package/build/es/linkers/preload-utils.js +8 -1
- package/build/es/linkers/view_bootstrap.js +6 -3
- package/package.json +8 -8
|
@@ -110,6 +110,7 @@ async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
110
110
|
const viewPreloads = {
|
|
111
111
|
uris: [],
|
|
112
112
|
specifiers: [],
|
|
113
|
+
includedModules: [],
|
|
113
114
|
groups: new Map(),
|
|
114
115
|
integrities: new Map()
|
|
115
116
|
};
|
|
@@ -227,7 +228,9 @@ async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
227
228
|
const specifier = graph.graphs[0].specifier;
|
|
228
229
|
const uri = graph.uriMap[specifier];
|
|
229
230
|
const integrity = (0, import_utils2.getBundleIntegrity)(graph, specifier);
|
|
230
|
-
|
|
231
|
+
const bundleDef = graph.linkedDefinitions[specifier];
|
|
232
|
+
const includedModules = bundleDef?.bundleRecord ? bundleDef.bundleRecord.includedModules : [];
|
|
233
|
+
(0, import_preload_utils.setPreloadModulesMeta)(specifier, uri, integrity, groups, viewPreloads, includedModules);
|
|
231
234
|
if (bundle) {
|
|
232
235
|
for (const depSpecifier of graph.graphs[0].static) {
|
|
233
236
|
const depUri = getPreloadUri(depSpecifier, graph.uriMap);
|
|
@@ -277,7 +280,7 @@ async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
277
280
|
rootComponents,
|
|
278
281
|
serverData,
|
|
279
282
|
...isAMD && {requiredModules: requiredAmdModules},
|
|
280
|
-
...isAMD && {preloadModules: viewPreloads
|
|
283
|
+
...isAMD && {preloadModules: (0, import_preload_utils.getPreloadModuleList)(viewPreloads)}
|
|
281
284
|
}, runtimeEnvironment, runtimeParams, serverDebug?.warnings));
|
|
282
285
|
}
|
|
283
286
|
if (!isAMD && hmrEnabled) {
|
|
@@ -24,12 +24,13 @@ var __toModule = (module2) => {
|
|
|
24
24
|
// packages/@lwrjs/view-registry/src/linkers/preload-utils.ts
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
+
getPreloadModuleList: () => getPreloadModuleList,
|
|
27
28
|
getPreloadModulesMeta: () => getPreloadModulesMeta,
|
|
28
29
|
setPreloadModulesMeta: () => setPreloadModulesMeta
|
|
29
30
|
});
|
|
30
31
|
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
31
32
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
32
|
-
function setPreloadModulesMeta(specifier, uri, integrity, groups, preloads) {
|
|
33
|
+
function setPreloadModulesMeta(specifier, uri, integrity, groups, preloads, includedModules = []) {
|
|
33
34
|
if (!uri) {
|
|
34
35
|
throw new import_diagnostics.LwrInvalidError(import_diagnostics.descriptions.INVALID.PRELOAD_MODULE(specifier));
|
|
35
36
|
}
|
|
@@ -40,6 +41,7 @@ function setPreloadModulesMeta(specifier, uri, integrity, groups, preloads) {
|
|
|
40
41
|
const preloadBundleGroupsMap = preloads.groups;
|
|
41
42
|
const preloadModulesURIs = preloads.uris;
|
|
42
43
|
const preloadModuleIntegrities = preloads.integrities;
|
|
44
|
+
const preloadModuleIncludedModules = preloads.includedModules;
|
|
43
45
|
preloadModulesSpecifiers.push(specifier);
|
|
44
46
|
const {specifier: unversionedSpecifier} = (0, import_shared_utils.explodeSpecifier)(specifier);
|
|
45
47
|
const groupName = (0, import_shared_utils.getGroupName)(unversionedSpecifier, groups);
|
|
@@ -49,6 +51,7 @@ function setPreloadModulesMeta(specifier, uri, integrity, groups, preloads) {
|
|
|
49
51
|
preloadModulesURIs.push(uri);
|
|
50
52
|
groupName && preloadBundleGroupsMap.set(groupName, true);
|
|
51
53
|
preloadModuleIntegrities.set(uri, integrity);
|
|
54
|
+
preloadModuleIncludedModules.push(...includedModules);
|
|
52
55
|
}
|
|
53
56
|
async function getPreloadModulesMeta(specifier, viewPreloads, bundleConfig, moduleRegistry, defRegistry, runtimeEnvironment, runtimeParams, pending) {
|
|
54
57
|
const {exclude = [], external = {}, groups = {}} = bundleConfig;
|
|
@@ -92,3 +95,8 @@ async function getPreloadModulesMeta(specifier, viewPreloads, bundleConfig, modu
|
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
97
|
}
|
|
98
|
+
function getPreloadModuleList(viewPreloads) {
|
|
99
|
+
if (process.env.PRELOAD_INCLUDED_MODULES === "true")
|
|
100
|
+
return [...new Set(viewPreloads.specifiers), ...new Set(viewPreloads.includedModules)];
|
|
101
|
+
return [...new Set(viewPreloads.specifiers)];
|
|
102
|
+
}
|
|
@@ -100,6 +100,7 @@ async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
100
100
|
const viewPreloads = {
|
|
101
101
|
uris: [],
|
|
102
102
|
specifiers: [],
|
|
103
|
+
includedModules: [],
|
|
103
104
|
groups: new Map(),
|
|
104
105
|
integrities: new Map()
|
|
105
106
|
};
|
|
@@ -209,7 +210,9 @@ async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
209
210
|
const specifier = graph.graphs[0].specifier;
|
|
210
211
|
const uri = graph.uriMap[specifier];
|
|
211
212
|
const integrity = (0, import_utils2.getBundleIntegrity)(graph, specifier);
|
|
212
|
-
|
|
213
|
+
const bundleDef = graph.linkedDefinitions[specifier];
|
|
214
|
+
const includedModules = bundleDef?.bundleRecord ? bundleDef.bundleRecord.includedModules : [];
|
|
215
|
+
(0, import_preload_utils.setPreloadModulesMeta)(specifier, uri, integrity, groups, viewPreloads, includedModules);
|
|
213
216
|
if (bundle) {
|
|
214
217
|
for (const depSpecifier of graph.graphs[0].static) {
|
|
215
218
|
const depUri = getPreloadUri(depSpecifier, graph.uriMap);
|
|
@@ -251,7 +254,7 @@ async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
251
254
|
rootComponents,
|
|
252
255
|
serverData,
|
|
253
256
|
...isAMD && {requiredModules: requiredAmdModules},
|
|
254
|
-
...isAMD && {preloadModules: viewPreloads
|
|
257
|
+
...isAMD && {preloadModules: (0, import_preload_utils.getPreloadModuleList)(viewPreloads)}
|
|
255
258
|
}, runtimeEnvironment, runtimeParams, serverDebug?.warnings));
|
|
256
259
|
}
|
|
257
260
|
if (!isAMD && hmrEnabled) {
|
|
@@ -3,7 +3,7 @@ import { kebabCaseToModuleSpecifier, getModuleGraphs, GraphDepth, getModuleUriPr
|
|
|
3
3
|
import { AppResourceEnum, getAppSpecifier } from '@lwrjs/app-service/identity';
|
|
4
4
|
import { addExternalScriptNonce, generateHtmlTag, getModuleResource, getModuleResourceByUri, getViewNonce, getModuleGraphCacheKey, } from '../utils.js';
|
|
5
5
|
import { flattenCustomElements, getBundleIntegrity, getViewBootstrapConfigurationResource, getViewHmrConfigurationResource, } from './utils.js';
|
|
6
|
-
import { setPreloadModulesMeta, getPreloadModulesMeta } from './preload-utils.js';
|
|
6
|
+
import { setPreloadModulesMeta, getPreloadModulesMeta, getPreloadModuleList, } from './preload-utils.js';
|
|
7
7
|
import { LRUCache } from 'lru-cache';
|
|
8
8
|
function includeIdFactory(bundleConfig) {
|
|
9
9
|
return (moduleRef) => {
|
|
@@ -103,6 +103,7 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
103
103
|
const viewPreloads = {
|
|
104
104
|
uris: [],
|
|
105
105
|
specifiers: [],
|
|
106
|
+
includedModules: [],
|
|
106
107
|
groups: new Map(),
|
|
107
108
|
integrities: new Map(),
|
|
108
109
|
};
|
|
@@ -262,7 +263,9 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
262
263
|
const specifier = graph.graphs[0].specifier;
|
|
263
264
|
const uri = graph.uriMap[specifier];
|
|
264
265
|
const integrity = getBundleIntegrity(graph, specifier);
|
|
265
|
-
|
|
266
|
+
const bundleDef = graph.linkedDefinitions[specifier];
|
|
267
|
+
const includedModules = bundleDef?.bundleRecord ? bundleDef.bundleRecord.includedModules : [];
|
|
268
|
+
setPreloadModulesMeta(specifier, uri, integrity, groups, viewPreloads, includedModules);
|
|
266
269
|
// PRELOAD custom element static deps as link resources when bundling is ON
|
|
267
270
|
if (bundle) {
|
|
268
271
|
for (const depSpecifier of graph.graphs[0].static) {
|
|
@@ -319,7 +322,7 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
319
322
|
serverData,
|
|
320
323
|
...(isAMD && { requiredModules: requiredAmdModules }),
|
|
321
324
|
// in AMD we need to tell the loader what modules we are preloading
|
|
322
|
-
...(isAMD && { preloadModules: viewPreloads
|
|
325
|
+
...(isAMD && { preloadModules: getPreloadModuleList(viewPreloads) }),
|
|
323
326
|
}, runtimeEnvironment, runtimeParams, serverDebug?.warnings));
|
|
324
327
|
}
|
|
325
328
|
if (!isAMD && hmrEnabled) {
|
|
@@ -4,15 +4,17 @@ export type ViewPreloads = {
|
|
|
4
4
|
uris: string[];
|
|
5
5
|
specifiers: string[];
|
|
6
6
|
integrities: Map<string, string | undefined>;
|
|
7
|
+
includedModules: string[];
|
|
7
8
|
};
|
|
8
9
|
/**
|
|
9
10
|
* keeps track of preloadModules metadata
|
|
10
11
|
*/
|
|
11
|
-
export declare function setPreloadModulesMeta(specifier: string, uri: string, integrity: string | undefined, groups: BundleGroups, preloads: ViewPreloads): void;
|
|
12
|
+
export declare function setPreloadModulesMeta(specifier: string, uri: string, integrity: string | undefined, groups: BundleGroups, preloads: ViewPreloads, includedModules?: string[]): void;
|
|
12
13
|
/**
|
|
13
14
|
* Recursively gets preloadModules metadata starting with a specifier
|
|
14
15
|
* Note: don't call me unless you got bundles
|
|
15
16
|
*/
|
|
16
17
|
export declare function getPreloadModulesMeta(specifier: string, // un-versioned specifier
|
|
17
18
|
viewPreloads: ViewPreloads, bundleConfig: BundleConfig, moduleRegistry: ModuleRegistry, defRegistry: ModuleBundler, runtimeEnvironment: RuntimeEnvironment, runtimeParams: RuntimeParams, pending?: Map<string, boolean>): Promise<void>;
|
|
19
|
+
export declare function getPreloadModuleList(viewPreloads: ViewPreloads): string[];
|
|
18
20
|
//# sourceMappingURL=preload-utils.d.ts.map
|
|
@@ -3,7 +3,7 @@ import { explodeSpecifier, getGroupName, getVersionedModuleId, normalizeVersionT
|
|
|
3
3
|
/**
|
|
4
4
|
* keeps track of preloadModules metadata
|
|
5
5
|
*/
|
|
6
|
-
export function setPreloadModulesMeta(specifier, uri, integrity, groups, preloads) {
|
|
6
|
+
export function setPreloadModulesMeta(specifier, uri, integrity, groups, preloads, includedModules = []) {
|
|
7
7
|
// Throw a very specific error if we get this back and the uri property is not set
|
|
8
8
|
if (!uri) {
|
|
9
9
|
throw new LwrInvalidError(descriptions.INVALID.PRELOAD_MODULE(specifier));
|
|
@@ -19,6 +19,7 @@ export function setPreloadModulesMeta(specifier, uri, integrity, groups, preload
|
|
|
19
19
|
const preloadBundleGroupsMap = preloads.groups;
|
|
20
20
|
const preloadModulesURIs = preloads.uris;
|
|
21
21
|
const preloadModuleIntegrities = preloads.integrities;
|
|
22
|
+
const preloadModuleIncludedModules = preloads.includedModules;
|
|
22
23
|
preloadModulesSpecifiers.push(specifier);
|
|
23
24
|
const { specifier: unversionedSpecifier } = explodeSpecifier(specifier);
|
|
24
25
|
const groupName = getGroupName(unversionedSpecifier, groups);
|
|
@@ -29,6 +30,7 @@ export function setPreloadModulesMeta(specifier, uri, integrity, groups, preload
|
|
|
29
30
|
preloadModulesURIs.push(uri);
|
|
30
31
|
groupName && preloadBundleGroupsMap.set(groupName, true);
|
|
31
32
|
preloadModuleIntegrities.set(uri, integrity);
|
|
33
|
+
preloadModuleIncludedModules.push(...includedModules);
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
36
|
* Recursively gets preloadModules metadata starting with a specifier
|
|
@@ -85,4 +87,9 @@ viewPreloads, bundleConfig, moduleRegistry, defRegistry, runtimeEnvironment, run
|
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
}
|
|
90
|
+
export function getPreloadModuleList(viewPreloads) {
|
|
91
|
+
if (process.env.PRELOAD_INCLUDED_MODULES === 'true')
|
|
92
|
+
return [...new Set(viewPreloads.specifiers), ...new Set(viewPreloads.includedModules)];
|
|
93
|
+
return [...new Set(viewPreloads.specifiers)];
|
|
94
|
+
}
|
|
88
95
|
//# sourceMappingURL=preload-utils.js.map
|
|
@@ -5,7 +5,7 @@ import { AppResourceEnum, getAppSpecifier } from '@lwrjs/app-service/identity';
|
|
|
5
5
|
import { addExternalScriptNonce, generateHtmlTag, getModuleResourceByUri, getViewNonce } from '../utils.js';
|
|
6
6
|
import { flattenCustomElements, getBundleIntegrity, getViewBootstrapConfigurationResource, getViewHmrConfigurationResource, } from './utils.js';
|
|
7
7
|
import { getModuleGraphCacheKey } from '../utils.js';
|
|
8
|
-
import { setPreloadModulesMeta, getPreloadModulesMeta } from './preload-utils.js';
|
|
8
|
+
import { setPreloadModulesMeta, getPreloadModulesMeta, getPreloadModuleList, } from './preload-utils.js';
|
|
9
9
|
// `getModuleGraphs` is very expensive and does not need to be recomputed every time.
|
|
10
10
|
// Note: we use the same cache key passed in from the top level view-registry for consistency
|
|
11
11
|
const moduleGraphsCache = new LRUCache({
|
|
@@ -87,6 +87,7 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
87
87
|
const viewPreloads = {
|
|
88
88
|
uris: [],
|
|
89
89
|
specifiers: [],
|
|
90
|
+
includedModules: [],
|
|
90
91
|
groups: new Map(),
|
|
91
92
|
integrities: new Map(),
|
|
92
93
|
};
|
|
@@ -232,7 +233,9 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
232
233
|
const specifier = graph.graphs[0].specifier;
|
|
233
234
|
const uri = graph.uriMap[specifier];
|
|
234
235
|
const integrity = getBundleIntegrity(graph, specifier);
|
|
235
|
-
|
|
236
|
+
const bundleDef = graph.linkedDefinitions[specifier];
|
|
237
|
+
const includedModules = bundleDef?.bundleRecord ? bundleDef.bundleRecord.includedModules : [];
|
|
238
|
+
setPreloadModulesMeta(specifier, uri, integrity, groups, viewPreloads, includedModules);
|
|
236
239
|
// PRELOAD custom element static deps as link resources when bundling is ON
|
|
237
240
|
if (bundle) {
|
|
238
241
|
for (const depSpecifier of graph.graphs[0].static) {
|
|
@@ -281,7 +284,7 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
|
|
|
281
284
|
serverData,
|
|
282
285
|
...(isAMD && { requiredModules: requiredAmdModules }),
|
|
283
286
|
// in AMD we need to tell the loader what modules we are preloading
|
|
284
|
-
...(isAMD && { preloadModules: viewPreloads
|
|
287
|
+
...(isAMD && { preloadModules: getPreloadModuleList(viewPreloads) }),
|
|
285
288
|
}, runtimeEnvironment, runtimeParams, serverDebug?.warnings));
|
|
286
289
|
}
|
|
287
290
|
if (!isAMD && hmrEnabled) {
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.17.2-alpha.
|
|
7
|
+
"version": "0.17.2-alpha.30",
|
|
8
8
|
"homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
@@ -33,15 +33,15 @@
|
|
|
33
33
|
"build": "tsc -b"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@lwrjs/app-service": "0.17.2-alpha.
|
|
37
|
-
"@lwrjs/config": "0.17.2-alpha.
|
|
38
|
-
"@lwrjs/diagnostics": "0.17.2-alpha.
|
|
39
|
-
"@lwrjs/instrumentation": "0.17.2-alpha.
|
|
40
|
-
"@lwrjs/shared-utils": "0.17.2-alpha.
|
|
36
|
+
"@lwrjs/app-service": "0.17.2-alpha.30",
|
|
37
|
+
"@lwrjs/config": "0.17.2-alpha.30",
|
|
38
|
+
"@lwrjs/diagnostics": "0.17.2-alpha.30",
|
|
39
|
+
"@lwrjs/instrumentation": "0.17.2-alpha.30",
|
|
40
|
+
"@lwrjs/shared-utils": "0.17.2-alpha.30",
|
|
41
41
|
"lru-cache": "^10.4.3"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@lwrjs/types": "0.17.2-alpha.
|
|
44
|
+
"@lwrjs/types": "0.17.2-alpha.30"
|
|
45
45
|
},
|
|
46
46
|
"engines": {
|
|
47
47
|
"node": ">=20.0.0"
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"volta": {
|
|
50
50
|
"extends": "../../../package.json"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "818bbb13d2d4b14d128c4c4f23229c9ce7458a23"
|
|
53
53
|
}
|