@lwrjs/view-registry 0.10.2 → 0.11.0-alpha.1

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.
@@ -41,7 +41,7 @@ async function getHtmlResources(view, viewParams, resourceContext) {
41
41
  viewMetadata
42
42
  } = resourceContext;
43
43
  const {lwrVersion, format, hmrEnabled, bundle, debug, minify} = runtimeEnvironment;
44
- const {customElements} = viewMetadata;
44
+ const {customElements, ssrProps} = viewMetadata;
45
45
  const version = lwrVersion;
46
46
  const isAMD = format === "amd";
47
47
  const {bundleConfig} = resourceContext;
@@ -180,7 +180,8 @@ async function getHtmlResources(view, viewParams, resourceContext) {
180
180
  configResources.unshift((0, import_utils2.getViewBootstrapConfigurationResource)({
181
181
  id: view.id,
182
182
  url: viewParams?.page?.url,
183
- configAsSrc: view.bootstrap?.configAsSrc || false
183
+ configAsSrc: view.bootstrap?.configAsSrc || false,
184
+ mixedMode: view.bootstrap?.mixedMode || false
184
185
  }, {
185
186
  appId: appIdentity.appName,
186
187
  bootstrapModule: versionedSpecifier,
@@ -190,6 +191,7 @@ async function getHtmlResources(view, viewParams, resourceContext) {
190
191
  default: (0, import_shared_utils.getModuleUriPrefix)(runtimeEnvironment, runtimeParams)
191
192
  },
192
193
  rootComponents,
194
+ ssrProps,
193
195
  ...isAMD && {requiredModules: requiredAmdModules},
194
196
  ...isAMD && {preloadModules: viewPreloads.specifiers}
195
197
  }, runtimeEnvironment, runtimeParams));
@@ -56,7 +56,7 @@ async function getPreloadModulesMeta(specifier, viewPreloads, bundleConfig, modu
56
56
  if (isExternal(specifier)) {
57
57
  import_shared_utils.logger.warn(`"${specifier}" is configured in both bundleConfig.externals and bootstrap.preloadModules. We are treating it as external.`);
58
58
  } else {
59
- const versionedModuleId = await (0, import_shared_utils.getVersionedModuleId)(specifier, moduleRegistry);
59
+ const versionedModuleId = await (0, import_shared_utils.getVersionedModuleId)(specifier, moduleRegistry, runtimeParams);
60
60
  const versionedModuleSpecifier = (0, import_shared_utils.getSpecifier)({
61
61
  specifier,
62
62
  version: (0, import_shared_utils.normalizeVersionToUri)(versionedModuleId.version)
@@ -53,7 +53,8 @@ function getViewBootstrapConfigurationResource(viewInfo, config, runtimeEnvironm
53
53
  ...config,
54
54
  endpoints
55
55
  })});`,
56
- `globalThis.process = { env: { NODE_ENV: "${runtimeEnvironment.serverMode}", SSR: false } };`
56
+ `globalThis.process = { env: { NODE_ENV: "${runtimeEnvironment.serverMode}", SSR: false } };`,
57
+ `globalThis.lwcRuntimeFlags = { ENABLE_MIXED_SHADOW_MODE: ${viewInfo.mixedMode} };`
57
58
  ].filter(Boolean).join("\n");
58
59
  if (viewInfo.configAsSrc) {
59
60
  const viewUrl = viewInfo.url || "/";
@@ -89,8 +90,7 @@ function getViewHmrConfigurationResource(view, viewMetadata) {
89
90
  templates: ${JSON.stringify([contentTemplate, layoutTemplate].filter(Boolean))}
90
91
  }
91
92
  }
92
- `,
93
- `globalThis.lwcRuntimeFlags = { ENABLE_HMR: true };`
93
+ `
94
94
  ].filter(Boolean).join("\n");
95
95
  return {
96
96
  type: CONTENT_TYPE,
@@ -41,7 +41,7 @@ async function getHtmlResources(view, viewParams, resourceContext) {
41
41
  viewMetadata
42
42
  } = resourceContext;
43
43
  const {lwrVersion, format, hmrEnabled, bundle, debug, minify} = runtimeEnvironment;
44
- const {customElements} = viewMetadata;
44
+ const {customElements, ssrProps} = viewMetadata;
45
45
  const defRegistry = bundle ? moduleBundler : moduleRegistry;
46
46
  const version = lwrVersion;
47
47
  const isAMD = format === "amd";
@@ -173,7 +173,8 @@ async function getHtmlResources(view, viewParams, resourceContext) {
173
173
  configResources.unshift((0, import_utils2.getViewBootstrapConfigurationResource)({
174
174
  id: view.id,
175
175
  url: viewParams?.page?.url,
176
- configAsSrc: view.bootstrap?.configAsSrc || false
176
+ configAsSrc: view.bootstrap?.configAsSrc || false,
177
+ mixedMode: view.bootstrap?.mixedMode || false
177
178
  }, {
178
179
  appId: appIdentity.appName,
179
180
  bootstrapModule: versionedSpecifier,
@@ -181,6 +182,7 @@ async function getHtmlResources(view, viewParams, resourceContext) {
181
182
  imports: importMetadata?.imports,
182
183
  index: importMetadata?.index,
183
184
  rootComponents,
185
+ ssrProps,
184
186
  ...isAMD && {requiredModules: requiredAmdModules},
185
187
  ...isAMD && {preloadModules: viewPreloads.specifiers}
186
188
  }, runtimeEnvironment, runtimeParams));
@@ -228,7 +228,7 @@ function getModuleResourceByUri(uri, runtimeEnvironment, moduleResourceMeta) {
228
228
  };
229
229
  }
230
230
  async function createJsonModule(specifier, moduleRegistry, environment, params) {
231
- const {version} = await moduleRegistry.getModuleEntry({specifier});
231
+ const {version} = await moduleRegistry.getModuleEntry({specifier}, params);
232
232
  const {namespace, name} = (0, import_shared_utils.explodeSpecifier)(specifier);
233
233
  const moduleIdentifier = {
234
234
  specifier,
@@ -236,7 +236,7 @@ async function createJsonModule(specifier, moduleRegistry, environment, params)
236
236
  name,
237
237
  version
238
238
  };
239
- const {ownHash} = await moduleRegistry.getModule(moduleIdentifier);
239
+ const {ownHash} = await moduleRegistry.getModule(moduleIdentifier, params);
240
240
  return {
241
241
  specifier: (0, import_shared_utils.getSpecifier)(moduleIdentifier),
242
242
  version,
@@ -5,7 +5,7 @@ export interface LwrResourcesLinkedContext extends ResourceContext {
5
5
  interface ResourceContext {
6
6
  viewMetadata: RenderedViewMetadata;
7
7
  runtimeEnvironment: RuntimeEnvironment;
8
- runtimeParams?: RuntimeParams;
8
+ runtimeParams: RuntimeParams;
9
9
  moduleRegistry: ModuleRegistry;
10
10
  moduleBundler: ModuleBundler;
11
11
  resourceRegistry: ResourceRegistry;
@@ -6,7 +6,7 @@ import { setPreloadModulesMeta, getPreloadModulesMeta } from './preload-utils.js
6
6
  export async function getHtmlResources(view, viewParams, resourceContext) {
7
7
  const { runtimeEnvironment, runtimeParams, moduleRegistry, moduleBundler, resourceRegistry, viewMetadata, } = resourceContext;
8
8
  const { lwrVersion, format, hmrEnabled, bundle, debug, minify } = runtimeEnvironment;
9
- const { customElements } = viewMetadata;
9
+ const { customElements, ssrProps } = viewMetadata;
10
10
  const version = lwrVersion;
11
11
  const isAMD = format === 'amd';
12
12
  const { bundleConfig } = resourceContext;
@@ -199,6 +199,7 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
199
199
  id: view.id,
200
200
  url: viewParams?.page?.url,
201
201
  configAsSrc: view.bootstrap?.configAsSrc || false,
202
+ mixedMode: view.bootstrap?.mixedMode || false,
202
203
  }, {
203
204
  appId: appIdentity.appName,
204
205
  bootstrapModule: versionedSpecifier,
@@ -208,6 +209,7 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
208
209
  default: getModuleUriPrefix(runtimeEnvironment, runtimeParams),
209
210
  },
210
211
  rootComponents,
212
+ ssrProps,
211
213
  ...(isAMD && { requiredModules: requiredAmdModules }),
212
214
  // in AMD we need to tell the loader what modules we are preloading
213
215
  ...(isAMD && { preloadModules: viewPreloads.specifiers }),
@@ -5,7 +5,7 @@ export interface LwrResourcesLinkedContext extends ResourceContext {
5
5
  interface ResourceContext {
6
6
  viewMetadata: RenderedViewMetadata;
7
7
  runtimeEnvironment: RuntimeEnvironment;
8
- runtimeParams?: RuntimeParams;
8
+ runtimeParams: RuntimeParams;
9
9
  moduleRegistry: ModuleRegistry;
10
10
  moduleBundler: ModuleBundler;
11
11
  resourceRegistry: ResourceRegistry;
@@ -9,9 +9,9 @@ export type ViewPreloads = {
9
9
  */
10
10
  export declare function setPreloadModulesMeta(specifier: string, uri: string, groups: BundleGroups, preloads: ViewPreloads): void;
11
11
  /**
12
- * Recursively gets preloadModules metadata starting with a specifer
12
+ * Recursively gets preloadModules metadata starting with a specifier
13
13
  * Note: don't call me unless you got bundles
14
14
  */
15
- export declare function getPreloadModulesMeta(specifier: string, // unversioned specifier
16
- viewPreloads: ViewPreloads, bundleConfig: BundleConfig, moduleRegistry: ModuleRegistry, defRegistry: ModuleBundler, runtimeEnvironment: RuntimeEnvironment, runtimeParams?: RuntimeParams, pending?: Map<string, boolean>): Promise<void>;
15
+ export declare function getPreloadModulesMeta(specifier: string, // un-versioned specifier
16
+ viewPreloads: ViewPreloads, bundleConfig: BundleConfig, moduleRegistry: ModuleRegistry, defRegistry: ModuleBundler, runtimeEnvironment: RuntimeEnvironment, runtimeParams: RuntimeParams, pending?: Map<string, boolean>): Promise<void>;
17
17
  //# sourceMappingURL=preload-utils.d.ts.map
@@ -3,7 +3,7 @@ import { explodeSpecifier, getGroupName, getVersionedModuleId, normalizeVersionT
3
3
  * keeps track of preloadModules metadata
4
4
  */
5
5
  export function setPreloadModulesMeta(specifier, uri, groups, preloads) {
6
- // We need to support versionless preloadModules, including versionless rootComponents.
6
+ // We need to support version-less preloadModules, including version-less rootComponents.
7
7
  // Removing the "/v/version_not_provided" hack from the preloadModules specifier
8
8
  // because otherwise the loader will wait for that module that will never get defined.
9
9
  // TODO: remove pending W-12702948
@@ -24,10 +24,10 @@ export function setPreloadModulesMeta(specifier, uri, groups, preloads) {
24
24
  groupName && preloadBundleGroupsMap.set(groupName, true);
25
25
  }
26
26
  /**
27
- * Recursively gets preloadModules metadata starting with a specifer
27
+ * Recursively gets preloadModules metadata starting with a specifier
28
28
  * Note: don't call me unless you got bundles
29
29
  */
30
- export async function getPreloadModulesMeta(specifier, // unversioned specifier
30
+ export async function getPreloadModulesMeta(specifier, // un-versioned specifier
31
31
  viewPreloads, bundleConfig, moduleRegistry, defRegistry, runtimeEnvironment, runtimeParams, pending) {
32
32
  const { exclude = [], external = {}, groups = {} } = bundleConfig;
33
33
  const isExternal = function (rawSpecifier) {
@@ -42,7 +42,7 @@ viewPreloads, bundleConfig, moduleRegistry, defRegistry, runtimeEnvironment, run
42
42
  }
43
43
  else {
44
44
  // eslint-disable-next-line no-await-in-loop
45
- const versionedModuleId = await getVersionedModuleId(specifier, moduleRegistry); // TODO replace moduleRegistry with defRegistry
45
+ const versionedModuleId = await getVersionedModuleId(specifier, moduleRegistry, runtimeParams); // TODO replace moduleRegistry with defRegistry
46
46
  const versionedModuleSpecifier = getSpecifier({
47
47
  specifier,
48
48
  version: normalizeVersionToUri(versionedModuleId.version),
@@ -28,6 +28,7 @@ export function getViewBootstrapConfigurationResource(viewInfo, config, runtimeE
28
28
  // TODO: W-12639529 change NODE_ENV after addressing downstream customers
29
29
  // Note: SSR is always false because this script is executed on the client
30
30
  `globalThis.process = { env: { NODE_ENV: "${runtimeEnvironment.serverMode}", SSR: false } };`,
31
+ `globalThis.lwcRuntimeFlags = { ENABLE_MIXED_SHADOW_MODE: ${viewInfo.mixedMode} };`,
31
32
  ]
32
33
  .filter(Boolean)
33
34
  .join('\n');
@@ -67,7 +68,6 @@ export function getViewHmrConfigurationResource(view, viewMetadata) {
67
68
  }
68
69
  }
69
70
  `,
70
- `globalThis.lwcRuntimeFlags = { ENABLE_HMR: true };`,
71
71
  ]
72
72
  .filter(Boolean)
73
73
  .join('\n');
@@ -5,7 +5,7 @@ export interface LwrResourcesLinkedContext extends ResourceContext {
5
5
  interface ResourceContext {
6
6
  viewMetadata: RenderedViewMetadata;
7
7
  runtimeEnvironment: RuntimeEnvironment;
8
- runtimeParams?: RuntimeParams;
8
+ runtimeParams: RuntimeParams;
9
9
  moduleRegistry: ModuleRegistry;
10
10
  moduleBundler: ModuleBundler;
11
11
  resourceRegistry: ResourceRegistry;
@@ -6,7 +6,7 @@ import { setPreloadModulesMeta, getPreloadModulesMeta } from './preload-utils.js
6
6
  export async function getHtmlResources(view, viewParams, resourceContext) {
7
7
  const { runtimeEnvironment, runtimeParams, moduleRegistry, moduleBundler, resourceRegistry, viewMetadata, } = resourceContext;
8
8
  const { lwrVersion, format, hmrEnabled, bundle, debug, minify } = runtimeEnvironment;
9
- const { customElements } = viewMetadata;
9
+ const { customElements, ssrProps } = viewMetadata;
10
10
  const defRegistry = bundle ? moduleBundler : moduleRegistry;
11
11
  const version = lwrVersion;
12
12
  const isAMD = format === 'amd';
@@ -187,6 +187,7 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
187
187
  id: view.id,
188
188
  url: viewParams?.page?.url,
189
189
  configAsSrc: view.bootstrap?.configAsSrc || false,
190
+ mixedMode: view.bootstrap?.mixedMode || false,
190
191
  }, {
191
192
  appId: appIdentity.appName,
192
193
  bootstrapModule: versionedSpecifier,
@@ -194,6 +195,7 @@ export async function getHtmlResources(view, viewParams, resourceContext) {
194
195
  imports: importMetadata?.imports,
195
196
  index: importMetadata?.index,
196
197
  rootComponents,
198
+ ssrProps,
197
199
  ...(isAMD && { requiredModules: requiredAmdModules }),
198
200
  // in AMD we need to tell the loader what modules we are preloading
199
201
  ...(isAMD && { preloadModules: viewPreloads.specifiers }),
@@ -7,7 +7,7 @@ export declare function normalizeRenderOptions(runtimeEnvironment: RuntimeEnviro
7
7
  export declare function generatePageContext({ requestPath: url }: ViewRequest, { id, contentTemplate, properties }: LwrRoute | LwrErrorRoute): JsonCompatible<ViewPageContext>;
8
8
  export declare function isViewResponse(response: RouteHandlerViewResponse): response is ViewResponse;
9
9
  export declare function toJsonFormat(viewRequest: ViewRequest, viewDefinition: LinkedViewDefinition, route: LwrRoute | LwrErrorRoute, runtimeEnvironment: RuntimeEnvironment, runtimeParams: RuntimeParams, moduleRegistry: ModuleRegistry): Promise<ViewResponse>;
10
- export declare function getModuleResource(moduleId: Pick<ModuleId, 'specifier' | 'version'>, runtimeEnvironment: RuntimeEnvironment, moduleResourceMeta: ViewModuleResourceContext, defRegistry: ModuleRegistry | ModuleBundler, runtimeParams?: RuntimeParams): Promise<ResourceDefinition>;
10
+ export declare function getModuleResource(moduleId: Pick<ModuleId, 'specifier' | 'version'>, runtimeEnvironment: RuntimeEnvironment, moduleResourceMeta: ViewModuleResourceContext, defRegistry: ModuleRegistry | ModuleBundler, runtimeParams: RuntimeParams): Promise<ResourceDefinition>;
11
11
  export declare function getModuleResourceByUri(uri: string, runtimeEnvironment: RuntimeEnvironment, moduleResourceMeta: ViewModuleResourceContext): ResourceDefinition;
12
- export declare function createJsonModule(specifier: string, moduleRegistry: PublicModuleRegistry, environment: RuntimeEnvironment, params?: RuntimeParams): Promise<ModuleJson>;
12
+ export declare function createJsonModule(specifier: string, moduleRegistry: PublicModuleRegistry, environment: RuntimeEnvironment, params: RuntimeParams): Promise<ModuleJson>;
13
13
  //# sourceMappingURL=utils.d.ts.map
package/build/es/utils.js CHANGED
@@ -212,7 +212,7 @@ export function getModuleResourceByUri(uri, runtimeEnvironment, moduleResourceMe
212
212
  }
213
213
  // Given a specifier and resource type, return the JSON serialized Module data
214
214
  export async function createJsonModule(specifier, moduleRegistry, environment, params) {
215
- const { version } = await moduleRegistry.getModuleEntry({ specifier });
215
+ const { version } = await moduleRegistry.getModuleEntry({ specifier }, params);
216
216
  const { namespace, name } = explodeSpecifier(specifier);
217
217
  const moduleIdentifier = {
218
218
  specifier,
@@ -220,7 +220,7 @@ export async function createJsonModule(specifier, moduleRegistry, environment, p
220
220
  name,
221
221
  version,
222
222
  };
223
- const { ownHash } = await moduleRegistry.getModule(moduleIdentifier);
223
+ const { ownHash } = await moduleRegistry.getModule(moduleIdentifier, params);
224
224
  return {
225
225
  // versioned specifier
226
226
  specifier: getSpecifier(moduleIdentifier),
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.10.2",
7
+ "version": "0.11.0-alpha.1",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -30,17 +30,17 @@
30
30
  "build/**/*.d.ts"
31
31
  ],
32
32
  "dependencies": {
33
- "@lwrjs/app-service": "0.10.2",
34
- "@lwrjs/diagnostics": "0.10.2",
35
- "@lwrjs/instrumentation": "0.10.2",
36
- "@lwrjs/shared-utils": "0.10.2",
33
+ "@lwrjs/app-service": "0.11.0-alpha.1",
34
+ "@lwrjs/diagnostics": "0.11.0-alpha.1",
35
+ "@lwrjs/instrumentation": "0.11.0-alpha.1",
36
+ "@lwrjs/shared-utils": "0.11.0-alpha.1",
37
37
  "lru-cache": "^10.0.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@lwrjs/types": "0.10.2"
40
+ "@lwrjs/types": "0.11.0-alpha.1"
41
41
  },
42
42
  "engines": {
43
43
  "node": ">=16.0.0"
44
44
  },
45
- "gitHead": "40988dfc093a3b9dea859f1bf61a49bca1edb0c5"
45
+ "gitHead": "6a840d4694fac9f0be5c3a21707015379cbadad7"
46
46
  }