@lwrjs/lwc-ssr 0.24.2 → 0.24.3

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