@lwrjs/lwc-ssr 0.24.2 → 0.24.4

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,39 +1,45 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
3
5
  var __getProtoOf = Object.getPrototypeOf;
4
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
8
7
  var __export = (target, all) => {
9
8
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
9
+ __defProp(target, name, { get: all[name], enumerable: true });
11
10
  };
12
- var __exportStar = (target, module2, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && key !== "default")
16
- __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
16
  }
18
- return target;
19
- };
20
- var __toModule = (module2) => {
21
- return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
17
+ return to;
22
18
  };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
28
 
24
29
  // packages/@lwrjs/lwc-ssr/src/resourceProvider.ts
25
- __markAsModule(exports);
26
- __export(exports, {
27
- default: () => resourceProvider_default
30
+ var resourceProvider_exports = {};
31
+ __export(resourceProvider_exports, {
32
+ default: () => SsrResourceProvider
28
33
  });
29
- var import_path = __toModule(require("path"));
30
- var import_rollup = __toModule(require("rollup"));
31
- var import_plugin_node_resolve = __toModule(require("@rollup/plugin-node-resolve"));
32
- var import_plugin_terser = __toModule(require("@rollup/plugin-terser"));
33
- var import_config = __toModule(require("@lwrjs/config"));
34
- var import_instrumentation = __toModule(require("@lwrjs/instrumentation"));
35
- var import_package = __toModule(require("@lwrjs/lwc-ssr/package"));
36
- var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
34
+ module.exports = __toCommonJS(resourceProvider_exports);
35
+ var import_path = __toESM(require("path"));
36
+ var import_rollup = require("rollup");
37
+ var import_plugin_node_resolve = require("@rollup/plugin-node-resolve");
38
+ var import_plugin_terser = __toESM(require("@rollup/plugin-terser"));
39
+ var import_config = require("@lwrjs/config");
40
+ var import_instrumentation = require("@lwrjs/instrumentation");
41
+ var import_package = require("@lwrjs/lwc-ssr/package");
42
+ var import_shared_utils = require("@lwrjs/shared-utils");
37
43
  var banner = `/**
38
44
  * Copyright (c) 2025, salesforce.com, inc.
39
45
  * All rights reserved.
@@ -42,14 +48,15 @@ var banner = `/**
42
48
  */
43
49
  /* LWC SSR Client Utils v${import_config.LWC_VERSION} */`;
44
50
  var SsrResourceProvider = class {
51
+ name = "lwc-ssr-client-utils";
52
+ ssrUtilsName = "register-lwc-style.js";
53
+ versionCache = /* @__PURE__ */ new Map();
54
+ context;
45
55
  constructor(_config, context) {
46
- this.name = "lwc-ssr-client-utils";
47
- this.ssrUtilsName = "register-lwc-style.js";
48
- this.versionCache = new Map();
49
56
  this.context = context;
50
57
  }
51
58
  async getResource(resource, environment) {
52
- const {specifier, version = import_config.LWC_VERSION} = resource;
59
+ const { specifier, version = import_config.LWC_VERSION } = resource;
53
60
  if (specifier !== this.ssrUtilsName || version !== import_config.LWC_VERSION) {
54
61
  return;
55
62
  }
@@ -57,33 +64,37 @@ var SsrResourceProvider = class {
57
64
  if (this.versionCache.has(cacheKey)) {
58
65
  return this.versionCache.get(cacheKey);
59
66
  }
60
- const {output} = await (0, import_instrumentation.getTracer)().trace({
61
- name: import_instrumentation.BundleSpan.Rollup,
62
- attributes: {specifier}
63
- }, async () => {
64
- const bundler = await (0, import_rollup.rollup)({
65
- input: import_path.default.join(import_package.rootPath, "build", "scripts", specifier),
66
- plugins: [
67
- (0, import_plugin_node_resolve.nodeResolve)({
68
- extensions: [".js"],
69
- modulesOnly: true,
70
- modulePaths: ["node_modules/@lwc"]
71
- }),
72
- (0, import_plugin_terser.default)({
73
- output: {
74
- comments: (_, comment) => comment.value.includes("LWC SSR Client Utils")
75
- }
76
- })
77
- ]
78
- });
79
- return bundler.generate({format: "iife", banner});
80
- });
67
+ const { output } = await (0, import_instrumentation.getTracer)().trace(
68
+ {
69
+ name: import_instrumentation.BundleSpan.Rollup,
70
+ attributes: { specifier }
71
+ },
72
+ async () => {
73
+ const bundler = await (0, import_rollup.rollup)({
74
+ input: import_path.default.join(import_package.rootPath, "build", "scripts", specifier),
75
+ plugins: [
76
+ (0, import_plugin_node_resolve.nodeResolve)({
77
+ // import from @lwc/ssr-client-utils
78
+ extensions: [".js"],
79
+ modulesOnly: true,
80
+ modulePaths: ["node_modules/@lwc"]
81
+ }),
82
+ (0, import_plugin_terser.default)({
83
+ output: {
84
+ comments: (_, comment) => comment.value.includes("LWC SSR Client Utils")
85
+ }
86
+ })
87
+ ]
88
+ });
89
+ return bundler.generate({ format: "iife", banner });
90
+ }
91
+ );
81
92
  const resourceDef = {
82
93
  specifier,
83
94
  version,
84
95
  type: "application/javascript",
85
96
  inline: true,
86
- src: await this.context.resourceRegistry.resolveResourceUri({specifier, version}, environment),
97
+ src: await this.context.resourceRegistry.resolveResourceUri({ specifier, version }, environment),
87
98
  content: output[0].code,
88
99
  integrity: (0, import_shared_utils.createIntegrityHash)(output[0].code)
89
100
  };
@@ -91,4 +102,3 @@ var SsrResourceProvider = class {
91
102
  return resourceDef;
92
103
  }
93
104
  };
94
- var resourceProvider_default = SsrResourceProvider;
@@ -1,39 +1,38 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
- var __getProtoOf = Object.getPrototypeOf;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
5
  var __export = (target, all) => {
9
6
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
7
+ __defProp(target, name, { get: all[name], enumerable: true });
11
8
  };
12
- var __exportStar = (target, module2, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && key !== "default")
16
- __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
14
  }
18
- return target;
19
- };
20
- var __toModule = (module2) => {
21
- return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
15
+ return to;
22
16
  };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
18
 
24
19
  // packages/@lwrjs/lwc-ssr/src/serverBootstrapServices.ts
25
- __markAsModule(exports);
26
- __export(exports, {
20
+ var serverBootstrapServices_exports = {};
21
+ __export(serverBootstrapServices_exports, {
27
22
  ServerBootstrapServices: () => ServerBootstrapServices,
28
23
  createServerBootstrapServices: () => createServerBootstrapServices,
29
24
  evaluateServerBootstrapModule: () => evaluateServerBootstrapModule
30
25
  });
31
- var import_instrumentation = __toModule(require("@lwrjs/instrumentation"));
32
- var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
26
+ module.exports = __toCommonJS(serverBootstrapServices_exports);
27
+ var import_instrumentation = require("@lwrjs/instrumentation");
28
+ var import_diagnostics = require("@lwrjs/diagnostics");
33
29
  var ServerBootstrapServices = class {
30
+ serverDataCallbacks;
31
+ requestHooks;
32
+ _serviceAPI;
34
33
  evaluateServerDataHooks(serverData = {}) {
35
34
  for (const serverDataHook of this.serverDataCallbacks) {
36
- serverDataHook({serverData});
35
+ serverDataHook({ serverData });
37
36
  }
38
37
  }
39
38
  evaluateRequestHooks(request) {
@@ -69,16 +68,20 @@ function createServerBootstrapServices(loader) {
69
68
  return new ServerBootstrapServices(loader);
70
69
  }
71
70
  function evaluateServerBootstrapModule(serviceModule, serviceApi) {
72
- return (0, import_instrumentation.getTracer)().trace({
73
- name: import_instrumentation.ViewSpan.BootstrapService,
74
- attributes: {serviceSpecifier: serviceModule.specifier}
75
- }, async () => {
76
- try {
77
- await serviceModule.module.default(serviceApi);
78
- } catch (e) {
79
- if (e instanceof import_diagnostics.LwrError)
80
- throw e;
81
- throw new import_diagnostics.LwrApplicationError(`An SSR error occurred in bootstrap service "${serviceModule.specifier}": ${(0, import_diagnostics.stringifyError)(e)}`);
71
+ return (0, import_instrumentation.getTracer)().trace(
72
+ {
73
+ name: import_instrumentation.ViewSpan.BootstrapService,
74
+ attributes: { serviceSpecifier: serviceModule.specifier }
75
+ },
76
+ async () => {
77
+ try {
78
+ await serviceModule.module.default(serviceApi);
79
+ } catch (e) {
80
+ if (e instanceof import_diagnostics.LwrError) throw e;
81
+ throw new import_diagnostics.LwrApplicationError(
82
+ `An SSR error occurred in bootstrap service "${serviceModule.specifier}": ${(0, import_diagnostics.stringifyError)(e)}`
83
+ );
84
+ }
82
85
  }
83
- });
86
+ );
84
87
  }
@@ -1,29 +1,24 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
- var __getProtoOf = Object.getPrototypeOf;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
5
  var __export = (target, all) => {
9
6
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
7
+ __defProp(target, name, { get: all[name], enumerable: true });
11
8
  };
12
- var __exportStar = (target, module2, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && key !== "default")
16
- __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
14
  }
18
- return target;
19
- };
20
- var __toModule = (module2) => {
21
- return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
15
+ return to;
22
16
  };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
18
 
24
19
  // packages/@lwrjs/lwc-ssr/src/utils.ts
25
- __markAsModule(exports);
26
- __export(exports, {
20
+ var utils_exports = {};
21
+ __export(utils_exports, {
27
22
  SSR_PROPS_ATTR: () => SSR_PROPS_ATTR,
28
23
  getFinalRequest: () => getFinalRequest,
29
24
  getLoaderConfig: () => getLoaderConfig,
@@ -34,7 +29,8 @@ __export(exports, {
34
29
  getServerBootstrapServices: () => getServerBootstrapServices,
35
30
  mergeWarnings: () => mergeWarnings
36
31
  });
37
- var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
32
+ module.exports = __toCommonJS(utils_exports);
33
+ var import_shared_utils = require("@lwrjs/shared-utils");
38
34
  var DEFAULT_SSR_TIMEOUT = 5e3;
39
35
  var SSR_PROPS_ATTR = "data-lwr-props-id";
40
36
  function getPropsId() {
@@ -45,10 +41,17 @@ function getRenderTimeout() {
45
41
  return override ? Number.parseInt(override) : DEFAULT_SSR_TIMEOUT;
46
42
  }
47
43
  async function getLoaderShim(resourceRegistry, runtimeEnvironment, bootstrapConfig) {
48
- const {debug} = runtimeEnvironment;
44
+ const { debug } = runtimeEnvironment;
49
45
  const useDebug = debug && !(0, import_shared_utils.isLambdaEnv)();
50
46
  const specifier = (0, import_shared_utils.getFeatureFlags)().LEGACY_LOADER ? useDebug ? "lwr-loader-shim-legacy.bundle.js" : "lwr-loader-shim-legacy.bundle.min.js" : useDebug ? "lwr-loader-shim.bundle.js" : "lwr-loader-shim.bundle.min.js";
51
- const resource = await resourceRegistry.getResource({specifier, version: bootstrapConfig.lwrVersion}, runtimeEnvironment, {ignoreDebug: !useDebug});
47
+ const resource = await resourceRegistry.getResource(
48
+ { specifier, version: bootstrapConfig.lwrVersion },
49
+ runtimeEnvironment,
50
+ // HACK: this code is tricky because resource IDs are different between prod vs debug ("lwr-loader-shim.bundle.min.js" vs "lwr-loader-shim.bundle.js").
51
+ // 1. In debug mode on Lambda (during SSR), we need to ignore runtimeEnvironment.debug because we will always ask for the prod version (lwr-loader-shim.bundle.min.js)
52
+ // 2. But when we generate the view, we can't ignore runtimeEnvironment.debug because we need the debug version of the loader shim (lwr-loader-shim.bundle.js)
53
+ { ignoreDebug: !useDebug }
54
+ );
52
55
  if (!resource?.content && !resource?.stream) {
53
56
  throw new Error("Failed to find the loader shim");
54
57
  }
@@ -76,42 +79,46 @@ function getLoaderId(config, bootstrapConfig) {
76
79
  return (0, import_shared_utils.getFeatureFlags)().LEGACY_LOADER ? `lwr/loaderLegacy/v/${version}` : `lwr/loader/v/${version}`;
77
80
  }
78
81
  function getLoaderConfig(bootstrapModule, config, runtimeParams, serverData) {
79
- return Object.assign({}, {
80
- bootstrapModule,
81
- serverData,
82
- autoBoot: false,
83
- disableInitDefer: true,
84
- rootComponents: [],
85
- endpoints: {
86
- uris: {
87
- mapping: `/1/mapping/amd/1/l/${runtimeParams.locale ?? config.i18n.defaultLocale}/mp/`
82
+ return Object.assign(
83
+ {},
84
+ {
85
+ bootstrapModule,
86
+ serverData,
87
+ autoBoot: false,
88
+ disableInitDefer: true,
89
+ // backwards compat for running old SSGed or MRT sites
90
+ rootComponents: [],
91
+ endpoints: {
92
+ uris: {
93
+ mapping: `/1/mapping/amd/1/l/${runtimeParams.locale ?? config.i18n.defaultLocale}/mp/`
94
+ }
95
+ },
96
+ env: {
97
+ ...(0, import_shared_utils.buildEnvironmentContext)(runtimeParams),
98
+ SSR: true
88
99
  }
89
100
  },
90
- env: {
91
- ...(0, import_shared_utils.buildEnvironmentContext)(runtimeParams),
92
- SSR: true
93
- }
94
- }, (0, import_shared_utils.getFeatureFlags)().LEGACY_LOADER ? {
95
- baseUrl: "ssr"
96
- } : {
97
- baseUrl: "/",
98
- imports: {
99
- "any/thing.js": ["any/thing"]
101
+ (0, import_shared_utils.getFeatureFlags)().LEGACY_LOADER ? {
102
+ baseUrl: "ssr"
103
+ } : {
104
+ baseUrl: "/",
105
+ imports: {
106
+ "any/thing.js": ["any/thing"]
107
+ }
100
108
  }
101
- });
109
+ );
102
110
  }
103
111
  function getServerBootstrapServices(route) {
104
112
  return route.bootstrap.services.reduce((acc, service) => {
105
113
  if (service.ssr === true) {
106
- const serviceId = (0, import_shared_utils.getSpecifier)({specifier: service.name, version: service.version});
114
+ const serviceId = (0, import_shared_utils.getSpecifier)({ specifier: service.name, version: service.version });
107
115
  acc.push(serviceId);
108
116
  }
109
117
  return acc;
110
118
  }, []);
111
119
  }
112
120
  function mergeWarnings(metadata, warnings = []) {
113
- if (!warnings.length)
114
- return;
121
+ if (!warnings.length) return;
115
122
  if (!metadata.serverDebug) {
116
123
  metadata.serverDebug = {};
117
124
  }
@@ -134,5 +141,5 @@ function getFinalRequest(request, origin) {
134
141
  const curUrl = typeof request === "string" ? request : request.toString();
135
142
  finalRequest = finalUrl = curUrl.startsWith("/") ? origin + curUrl : curUrl;
136
143
  }
137
- return {finalRequest, finalUrl};
144
+ return { finalRequest, finalUrl };
138
145
  }
@@ -1,40 +1,51 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
3
5
  var __getProtoOf = Object.getPrototypeOf;
4
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
8
7
  var __export = (target, all) => {
9
8
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
9
+ __defProp(target, name, { get: all[name], enumerable: true });
11
10
  };
12
- var __exportStar = (target, module2, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && key !== "default")
16
- __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
16
  }
18
- return target;
19
- };
20
- var __toModule = (module2) => {
21
- return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
17
+ return to;
22
18
  };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
28
 
24
29
  // packages/@lwrjs/lwc-ssr/src/viewProvider/index.ts
25
- __markAsModule(exports);
26
- __export(exports, {
27
- default: () => viewProvider_default
30
+ var viewProvider_exports = {};
31
+ __export(viewProvider_exports, {
32
+ default: () => LwcViewProvider
28
33
  });
29
- var import_base_view_provider = __toModule(require("@lwrjs/base-view-provider"));
30
- var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
31
- var import_instrumentation = __toModule(require("@lwrjs/instrumentation"));
32
- var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
33
- var import_renderer = __toModule(require("../renderer.cjs"));
34
+ module.exports = __toCommonJS(viewProvider_exports);
35
+ var import_base_view_provider = __toESM(require("@lwrjs/base-view-provider"));
36
+ var import_diagnostics = require("@lwrjs/diagnostics");
37
+ var import_instrumentation = require("@lwrjs/instrumentation");
38
+ var import_shared_utils = require("@lwrjs/shared-utils");
39
+ var import_renderer = require("../renderer.cjs");
34
40
  var LwcViewProvider = class extends import_base_view_provider.default {
41
+ name = "ssr-view-provider";
42
+ moduleBundler;
43
+ resourceRegistry;
44
+ routes;
45
+ runtimeEnvironment;
46
+ config;
35
47
  constructor(_pluginConfig, providerConfig) {
36
48
  super();
37
- this.name = "ssr-view-provider";
38
49
  this.moduleBundler = providerConfig.moduleBundler;
39
50
  this.resourceRegistry = providerConfig.resourceRegistry;
40
51
  this.routes = [...providerConfig.config.routes, ...providerConfig.config.errorRoutes];
@@ -49,7 +60,7 @@ var LwcViewProvider = class extends import_base_view_provider.default {
49
60
  if (!specifier || !(0, import_shared_utils.isSpecifier)(specifier)) {
50
61
  return;
51
62
  }
52
- const viewProperties = {serverHeadMarkup: ""};
63
+ const viewProperties = { serverHeadMarkup: "" };
53
64
  return {
54
65
  name: specifier,
55
66
  slug: (0, import_shared_utils.slugify)(specifier),
@@ -59,43 +70,58 @@ var LwcViewProvider = class extends import_base_view_provider.default {
59
70
  viewId,
60
71
  properties: viewProperties,
61
72
  render: async (context, runtimeEnvironment) => {
62
- const {config, moduleBundler, resourceRegistry} = this;
73
+ const { config, moduleBundler, resourceRegistry } = this;
63
74
  const element = (0, import_shared_utils.moduleSpecifierToKebabCase)(specifier);
64
- return (0, import_instrumentation.getTracer)().trace({
65
- name: import_instrumentation.ViewSpan.RenderPage,
66
- attributes: {specifier}
67
- }, async () => {
68
- try {
69
- const route = this.routes.find((r) => r.id === viewId.id);
70
- if (!route) {
71
- throw new Error(`Unable to resolve configuration for view: ${viewId.id}`);
72
- }
73
- const {results = {}, bundles} = await (0, import_renderer.getRenderer)(config, moduleBundler, resourceRegistry).render({[specifier]: {specifier, props: {}}}, route, runtimeEnvironment, context.runtimeParams, void 0, true);
74
- const {html, props, markup, cache, warnings} = results[specifier] || {};
75
- if (!html) {
76
- throw new Error("Failed to render content template component");
75
+ return (0, import_instrumentation.getTracer)().trace(
76
+ {
77
+ name: import_instrumentation.ViewSpan.RenderPage,
78
+ attributes: { specifier }
79
+ },
80
+ async () => {
81
+ try {
82
+ const route = this.routes.find((r) => r.id === viewId.id);
83
+ if (!route) {
84
+ throw new Error(`Unable to resolve configuration for view: ${viewId.id}`);
85
+ }
86
+ const { results = {}, bundles } = await (0, import_renderer.getRenderer)(
87
+ config,
88
+ moduleBundler,
89
+ resourceRegistry
90
+ ).render(
91
+ { [specifier]: { specifier, props: {} } },
92
+ route,
93
+ runtimeEnvironment,
94
+ context.runtimeParams,
95
+ void 0,
96
+ // lets the renderer know this is the first of 2-pass SSR
97
+ true
98
+ );
99
+ const { html, props, markup, cache, warnings } = results[specifier] || {};
100
+ if (!html) {
101
+ throw new Error("Failed to render content template component");
102
+ }
103
+ if (markup) viewProperties.serverHeadMarkup = (0, import_shared_utils.createHeadMarkup)([markup]);
104
+ return {
105
+ // add "lwc:external" to the contentTemplate component to mark it as already processed
106
+ renderedView: html.replace(`<${element}`, `<${element} lwc:external`),
107
+ metadata: {
108
+ serverData: props,
109
+ customElements: [],
110
+ assetReferences: [],
111
+ serverBundles: bundles,
112
+ serverDebug: { warnings }
113
+ },
114
+ cache
115
+ };
116
+ } catch (e) {
117
+ if (e instanceof import_diagnostics.LwrError) throw e;
118
+ throw new import_diagnostics.LwrApplicationError(
119
+ import_diagnostics.descriptions.APPLICATION.SSR_ERROR(specifier, (0, import_diagnostics.stringifyError)(e))
120
+ );
77
121
  }
78
- if (markup)
79
- viewProperties.serverHeadMarkup = (0, import_shared_utils.createHeadMarkup)([markup]);
80
- return {
81
- renderedView: html.replace(`<${element}`, `<${element} lwc:external`),
82
- metadata: {
83
- serverData: props,
84
- customElements: [],
85
- assetReferences: [],
86
- serverBundles: bundles,
87
- serverDebug: {warnings}
88
- },
89
- cache
90
- };
91
- } catch (e) {
92
- if (e instanceof import_diagnostics.LwrError)
93
- throw e;
94
- throw new import_diagnostics.LwrApplicationError(import_diagnostics.descriptions.APPLICATION.SSR_ERROR(specifier, (0, import_diagnostics.stringifyError)(e)));
95
122
  }
96
- });
123
+ );
97
124
  }
98
125
  };
99
126
  }
100
127
  };
101
- var viewProvider_default = LwcViewProvider;