@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.
@@ -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
- (0, import_preload_utils.setPreloadModulesMeta)(specifier, uri, integrity, groups, viewPreloads);
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.specifiers}
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
- (0, import_preload_utils.setPreloadModulesMeta)(specifier, uri, integrity, groups, viewPreloads);
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.specifiers}
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
- setPreloadModulesMeta(specifier, uri, integrity, groups, viewPreloads);
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.specifiers }),
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
- setPreloadModulesMeta(specifier, uri, integrity, groups, viewPreloads);
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.specifiers }),
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.29",
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.29",
37
- "@lwrjs/config": "0.17.2-alpha.29",
38
- "@lwrjs/diagnostics": "0.17.2-alpha.29",
39
- "@lwrjs/instrumentation": "0.17.2-alpha.29",
40
- "@lwrjs/shared-utils": "0.17.2-alpha.29",
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.29"
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": "c5d23a5a170bb906f66fc3fcbadf1648e87dcf1b"
52
+ "gitHead": "818bbb13d2d4b14d128c4c4f23229c9ce7458a23"
53
53
  }