@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.
- package/build/cjs/__mocks__/renderer.cjs +18 -5
- package/build/cjs/__mocks__/undici.cjs +23 -9
- package/build/cjs/dataViewTransformer/index.cjs +54 -47
- package/build/cjs/directFetch.cjs +28 -28
- package/build/cjs/fetchController.cjs +71 -53
- package/build/cjs/moduleLoader.cjs +83 -49
- package/build/cjs/renderer.cjs +285 -188
- package/build/cjs/resourceProvider.cjs +59 -49
- package/build/cjs/serverBootstrapServices.cjs +32 -31
- package/build/cjs/utils.cjs +52 -44
- package/build/cjs/viewProvider/index.cjs +77 -55
- package/build/cjs/viewTransformer/index.cjs +82 -64
- package/package.json +8 -8
|
@@ -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
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
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
|
|
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
|
-
|
|
26
|
-
__export(
|
|
27
|
-
default: () =>
|
|
31
|
+
var resourceProvider_exports = {};
|
|
32
|
+
__export(resourceProvider_exports, {
|
|
33
|
+
default: () => SsrResourceProvider
|
|
28
34
|
});
|
|
29
|
-
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var
|
|
36
|
-
var
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
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
|
|
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
|
-
|
|
26
|
-
__export(
|
|
21
|
+
var serverBootstrapServices_exports = {};
|
|
22
|
+
__export(serverBootstrapServices_exports, {
|
|
27
23
|
ServerBootstrapServices: () => ServerBootstrapServices,
|
|
28
24
|
createServerBootstrapServices: () => createServerBootstrapServices,
|
|
29
25
|
evaluateServerBootstrapModule: () => evaluateServerBootstrapModule
|
|
30
26
|
});
|
|
31
|
-
|
|
32
|
-
var
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
}
|
package/build/cjs/utils.cjs
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
|
-
|
|
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
|
|
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
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
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
|
|
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
|
-
|
|
26
|
-
__export(
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
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
|
|
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
|
-
|
|
26
|
-
__export(
|
|
27
|
-
default: () =>
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
|
+
default: () => LwcViewProvider
|
|
28
34
|
});
|
|
29
|
-
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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;
|