@lwrjs/core 0.9.0-alpha.2 → 0.9.0-alpha.21
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/context/provider.cjs +84 -0
- package/build/cjs/context/server.cjs +75 -0
- package/build/cjs/index.cjs +69 -153
- package/build/cjs/middleware/asset-middleware.cjs +56 -0
- package/build/cjs/middleware/bundle-middleware.cjs +113 -0
- package/build/cjs/{middlewares → middleware}/hmr-middleware.cjs +4 -4
- package/build/cjs/{middlewares → middleware}/locale-middleware.cjs +2 -2
- package/build/cjs/middleware/mapping-middleware.cjs +61 -0
- package/build/cjs/middleware/module-middleware.cjs +88 -0
- package/build/cjs/middleware/redirects/unsigned-module-redirect.cjs +37 -0
- package/build/cjs/middleware/resource-middleware.cjs +64 -0
- package/build/cjs/{context/services.cjs → middleware/utils/error-handling.cjs} +28 -15
- package/build/cjs/middleware/utils/identity.cjs +93 -0
- package/build/cjs/{context/hooks.cjs → middleware/utils/metadata.cjs} +17 -26
- package/build/cjs/{middlewares/utils.cjs → middleware/utils/request.cjs} +17 -16
- package/build/cjs/middleware/view-middleware.cjs +151 -0
- package/build/cjs/middleware.cjs +43 -0
- package/build/cjs/tools/server-warmup.cjs +2 -9
- package/build/cjs/tools/static-generation.cjs +127 -49
- package/build/es/context/provider.d.ts +3 -0
- package/build/es/context/provider.js +39 -0
- package/build/es/context/server.d.ts +3 -0
- package/build/es/context/server.js +49 -0
- package/build/es/index.d.ts +4 -2
- package/build/es/index.js +89 -150
- package/build/es/middleware/asset-middleware.d.ts +3 -0
- package/build/es/middleware/asset-middleware.js +26 -0
- package/build/es/middleware/bundle-middleware.d.ts +3 -0
- package/build/es/middleware/bundle-middleware.js +88 -0
- package/build/es/middleware/hmr-middleware.d.ts +5 -0
- package/build/es/{middlewares → middleware}/hmr-middleware.js +2 -2
- package/build/es/middleware/locale-middleware.d.ts +3 -0
- package/build/es/{middlewares → middleware}/locale-middleware.js +2 -1
- package/build/es/middleware/mapping-middleware.d.ts +3 -0
- package/build/es/middleware/mapping-middleware.js +34 -0
- package/build/es/middleware/module-middleware.d.ts +3 -0
- package/build/es/middleware/module-middleware.js +64 -0
- package/build/es/middleware/redirects/unsigned-module-redirect.d.ts +6 -0
- package/build/es/middleware/redirects/unsigned-module-redirect.js +25 -0
- package/build/es/middleware/resource-middleware.d.ts +3 -0
- package/build/es/middleware/resource-middleware.js +37 -0
- package/build/es/middleware/utils/error-handling.d.ts +3 -0
- package/build/es/middleware/utils/error-handling.js +32 -0
- package/build/es/middleware/utils/identity.d.ts +6 -0
- package/build/es/middleware/utils/identity.js +64 -0
- package/build/es/middleware/utils/metadata.d.ts +3 -0
- package/build/es/middleware/utils/metadata.js +24 -0
- package/build/es/middleware/utils/request.d.ts +15 -0
- package/build/es/{middlewares/utils.js → middleware/utils/request.js} +15 -23
- package/build/es/middleware/view-middleware.d.ts +3 -0
- package/build/es/middleware/view-middleware.js +136 -0
- package/build/es/middleware.d.ts +9 -0
- package/build/es/middleware.js +13 -0
- package/build/es/tools/server-warmup.js +3 -10
- package/build/es/tools/static-generation.d.ts +8 -1
- package/build/es/tools/static-generation.js +155 -62
- package/build/es/tools/types.d.ts +3 -2
- package/package.json +36 -32
- package/build/cjs/context/global-data.cjs +0 -54
- package/build/cjs/middlewares/api-middleware.cjs +0 -359
- package/build/cjs/middlewares/base-middleware.cjs +0 -15
- package/build/cjs/middlewares/ui-middleware.cjs +0 -183
- package/build/es/context/global-data.d.ts +0 -3
- package/build/es/context/global-data.js +0 -29
- package/build/es/context/hooks.d.ts +0 -9
- package/build/es/context/hooks.js +0 -36
- package/build/es/context/services.d.ts +0 -8
- package/build/es/context/services.js +0 -17
- package/build/es/middlewares/api-middleware.d.ts +0 -3
- package/build/es/middlewares/api-middleware.js +0 -410
- package/build/es/middlewares/base-middleware.d.ts +0 -3
- package/build/es/middlewares/base-middleware.js +0 -4
- package/build/es/middlewares/hmr-middleware.d.ts +0 -5
- package/build/es/middlewares/locale-middleware.d.ts +0 -3
- package/build/es/middlewares/ui-middleware.d.ts +0 -3
- package/build/es/middlewares/ui-middleware.js +0 -186
- package/build/es/middlewares/utils.d.ts +0 -22
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
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
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
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});
|
|
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);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/core/src/middleware/mapping-middleware.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
mappingMiddleware: () => mappingMiddleware
|
|
28
|
+
});
|
|
29
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
30
|
+
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
31
|
+
var import_identity = __toModule(require("./utils/identity.cjs"));
|
|
32
|
+
var import_error_handling = __toModule(require("./utils/error-handling.cjs"));
|
|
33
|
+
function createMappingMiddleware(context) {
|
|
34
|
+
const {moduleBundler, moduleRegistry} = context;
|
|
35
|
+
return async (req, res) => {
|
|
36
|
+
if (!req.validateEnvironmentRequest(context.appConfig)) {
|
|
37
|
+
res.status(400);
|
|
38
|
+
res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_ENVIRONMENT(req.params.environment).message);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const {runtimeEnvironment, runtimeParams} = req.getRuntimeContext(context.runtimeEnvironment);
|
|
42
|
+
const {moduleIds} = (0, import_identity.getMappingIdentity)(req);
|
|
43
|
+
const importMetadata = await (0, import_shared_utils.getImportMetadataMappings)(moduleIds, runtimeEnvironment, runtimeParams, moduleRegistry, moduleBundler);
|
|
44
|
+
if (req.isSiteGeneration()) {
|
|
45
|
+
res.setSiteGenerationMetadata({importMetadata});
|
|
46
|
+
}
|
|
47
|
+
res.status(200).type("application/json").send(importMetadata);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function mappingMiddleware(app, context) {
|
|
51
|
+
app.get([
|
|
52
|
+
`/:apiVersion/mapping/:format/:compat/l/:locale/e/:environment/bi/:bundleSpecifier/mp/:specifiers`,
|
|
53
|
+
`/:apiVersion/mapping/:format/:compat/l/:locale/e/:environment/mp/:specifiers`,
|
|
54
|
+
`/:apiVersion/mapping/:format/:compat/l/:locale/bi/:bundleSpecifier/mp/:specifiers`,
|
|
55
|
+
`/:apiVersion/mapping/:format/:compat/e/:environment/bi/:bundleSpecifier/mp/:specifiers`,
|
|
56
|
+
`/:apiVersion/mapping/:format/:compat/l/:locale/mp/:specifiers`,
|
|
57
|
+
`/:apiVersion/mapping/:format/:compat/e/:environment/mp/:specifiers`,
|
|
58
|
+
`/:apiVersion/mapping/:format/:compat/bi/:bundleSpecifier/mp/:specifiers`,
|
|
59
|
+
`/:apiVersion/mapping/:format/:compat/mp/:specifiers`
|
|
60
|
+
], (0, import_error_handling.handleErrors)(createMappingMiddleware(context)));
|
|
61
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
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
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
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});
|
|
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);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/core/src/middleware/module-middleware.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
moduleMiddleware: () => moduleMiddleware
|
|
28
|
+
});
|
|
29
|
+
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
30
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
31
|
+
var import_request = __toModule(require("./utils/request.cjs"));
|
|
32
|
+
var import_identity = __toModule(require("./utils/identity.cjs"));
|
|
33
|
+
var import_unsigned_module_redirect = __toModule(require("./redirects/unsigned-module-redirect.cjs"));
|
|
34
|
+
var import_error_handling = __toModule(require("./utils/error-handling.cjs"));
|
|
35
|
+
function createModuleMiddleware(context) {
|
|
36
|
+
const {moduleRegistry} = context;
|
|
37
|
+
const unsignedRedirect = (0, import_unsigned_module_redirect.createUnsignedModuleRedirect)(moduleRegistry);
|
|
38
|
+
return async (req, res) => {
|
|
39
|
+
if (!req.validateEnvironmentRequest(context.appConfig)) {
|
|
40
|
+
res.status(400);
|
|
41
|
+
res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_ENVIRONMENT(req.params.environment).message);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (!req.validateJsonRequest()) {
|
|
45
|
+
res.status(400);
|
|
46
|
+
res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_JSON().message);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const {runtimeEnvironment, runtimeParams} = req.getRuntimeContext(context.runtimeEnvironment);
|
|
50
|
+
const importer = req.query.importer ? await (0, import_request.getRequestImporter)(req, moduleRegistry) : void 0;
|
|
51
|
+
const {moduleId, signature} = (0, import_identity.getModuleIdentity)(req, importer);
|
|
52
|
+
if (moduleId.importer || !signature) {
|
|
53
|
+
await unsignedRedirect(req, res, moduleId, runtimeEnvironment, runtimeParams);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const moduleDefinition = await moduleRegistry.getLinkedModule(moduleId, {...runtimeEnvironment, bundle: false}, runtimeParams);
|
|
57
|
+
const {ownHash, linkedSource} = moduleDefinition;
|
|
58
|
+
if (signature !== import_shared_utils.LATEST_SIGNATURE && ownHash !== signature) {
|
|
59
|
+
res.status(404).send(import_diagnostics.descriptions.UNRESOLVABLE.SIGNED_MODULE(moduleId.specifier, signature).message);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (req.isSiteGeneration()) {
|
|
63
|
+
res.setSiteGenerationMetadata({moduleDefinition});
|
|
64
|
+
}
|
|
65
|
+
if (req.isJsonRequest()) {
|
|
66
|
+
const json = await (0, import_shared_utils.serializeModuleToJson)(linkedSource, moduleDefinition, moduleRegistry, runtimeParams);
|
|
67
|
+
res.status(200).type("application/json").send(json);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
res.status(200).type("application/javascript").send(linkedSource);
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function moduleMiddleware(app, context) {
|
|
74
|
+
app.get([
|
|
75
|
+
`/:apiVersion/module/:format/:compat/l/:locale/e/:environment/mi/:specifier/latest/:prettyUrl?`,
|
|
76
|
+
`/:apiVersion/module/:format/:compat/l/:locale/e/:environment/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
77
|
+
`/:apiVersion/module/:format/:compat/l/:locale/mi/:specifier/latest/:prettyUrl?`,
|
|
78
|
+
`/:apiVersion/module/:format/:compat/l/:locale/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
79
|
+
`/:apiVersion/module/:format/:compat/e/:environment/mi/:specifier/latest/:prettyUrl?`,
|
|
80
|
+
`/:apiVersion/module/:format/:compat/e/:environment/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
81
|
+
`/:apiVersion/module/:format/:compat/mi/:specifier/latest/:prettyUrl?`,
|
|
82
|
+
`/:apiVersion/module/:format/:compat/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
83
|
+
`/:apiVersion/module/:format/:compat/l/:locale/e/:environment/mi/:specifier`,
|
|
84
|
+
`/:apiVersion/module/:format/:compat/l/:locale/mi/:specifier`,
|
|
85
|
+
`/:apiVersion/module/:format/:compat/e/:environment/mi/:specifier`,
|
|
86
|
+
`/:apiVersion/module/:format/:compat/mi/:specifier`
|
|
87
|
+
], (0, import_error_handling.handleErrors)(createModuleMiddleware(context)));
|
|
88
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
3
|
+
var __export = (target, all) => {
|
|
4
|
+
for (var name in all)
|
|
5
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
// packages/@lwrjs/core/src/middleware/redirects/unsigned-module-redirect.ts
|
|
9
|
+
__markAsModule(exports);
|
|
10
|
+
__export(exports, {
|
|
11
|
+
createUnsignedBundleRedirect: () => createUnsignedBundleRedirect,
|
|
12
|
+
createUnsignedModuleRedirect: () => createUnsignedModuleRedirect
|
|
13
|
+
});
|
|
14
|
+
var HEADER_LOCATION = "Location";
|
|
15
|
+
var STATUS_FOUND = 302;
|
|
16
|
+
function createUnsignedModuleRedirect(moduleRegistry) {
|
|
17
|
+
return async (req, res, moduleId, runtimeEnvironment, runtimeParams) => {
|
|
18
|
+
const jsonQuery = getJsonQualifier(req, runtimeEnvironment);
|
|
19
|
+
const {moduleEntry, ownHash} = await moduleRegistry.getModule(moduleId);
|
|
20
|
+
const uri = await moduleRegistry.resolveModuleUri({...moduleId, version: moduleEntry.version}, runtimeEnvironment, runtimeParams, ownHash);
|
|
21
|
+
sendRedirect(res, `${uri}${jsonQuery}`);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function createUnsignedBundleRedirect(moduleBundler) {
|
|
25
|
+
return async (req, res, moduleId, runtimeEnvironment, runtimeParams) => {
|
|
26
|
+
const jsonQuery = getJsonQualifier(req, runtimeEnvironment);
|
|
27
|
+
const uri = await moduleBundler.resolveModuleUri(moduleId, runtimeEnvironment, runtimeParams);
|
|
28
|
+
sendRedirect(res, `${uri}${jsonQuery}`);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function getJsonQualifier(req, runtimeEnvironment) {
|
|
32
|
+
return req.isJsonRequest() ? `${runtimeEnvironment.debug ? "&" : "?"}json` : "";
|
|
33
|
+
}
|
|
34
|
+
function sendRedirect(res, url) {
|
|
35
|
+
res.setHeader(HEADER_LOCATION, url);
|
|
36
|
+
res.sendStatus(STATUS_FOUND);
|
|
37
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
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
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
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});
|
|
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);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/core/src/middleware/resource-middleware.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
resourceMiddleware: () => resourceMiddleware
|
|
28
|
+
});
|
|
29
|
+
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
30
|
+
var import_identity = __toModule(require("./utils/identity.cjs"));
|
|
31
|
+
var import_error_handling = __toModule(require("./utils/error-handling.cjs"));
|
|
32
|
+
function createResourceMiddleware(context) {
|
|
33
|
+
const {resourceRegistry} = context;
|
|
34
|
+
return async (req, res) => {
|
|
35
|
+
if (!req.validateEnvironmentRequest(context.appConfig)) {
|
|
36
|
+
res.status(400).send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_ENVIRONMENT(req.params.environment).message);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const {runtimeEnvironment, runtimeParams} = req.getRuntimeContext(context.runtimeEnvironment);
|
|
40
|
+
const {resourceId} = (0, import_identity.getResourceIdentity)(req);
|
|
41
|
+
const resource = await resourceRegistry.getResource(resourceId, runtimeEnvironment, runtimeParams);
|
|
42
|
+
if (req.isSiteGeneration()) {
|
|
43
|
+
res.setSiteGenerationMetadata({resource});
|
|
44
|
+
}
|
|
45
|
+
if (resource && resource.content) {
|
|
46
|
+
const type = resource.type === "text/css" ? resource.type : "application/javascript";
|
|
47
|
+
res.status(200).type(type).send(resource.content);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (resource && resource.stream) {
|
|
51
|
+
res.status(200).type(resource.type).stream(resource.stream());
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
res.status(404).send(import_diagnostics.descriptions.UNRESOLVABLE.RESOURCE(resourceId.specifier).message);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function resourceMiddleware(app, context) {
|
|
58
|
+
app.get([
|
|
59
|
+
`/:apiVersion/resource/:format/l/:locale/e/:environment/:specifier/:prettyUrl?`,
|
|
60
|
+
`/:apiVersion/resource/:format/l/:locale/:specifier/:prettyUrl?`,
|
|
61
|
+
`/:apiVersion/resource/:format/e/:environment/:specifier/:prettyUrl?`,
|
|
62
|
+
`/:apiVersion/resource/:format/:specifier/:prettyUrl?`
|
|
63
|
+
], (0, import_error_handling.handleErrors)(createResourceMiddleware(context)));
|
|
64
|
+
}
|
|
@@ -21,23 +21,36 @@ var __toModule = (module2) => {
|
|
|
21
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);
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
// packages/@lwrjs/core/src/
|
|
24
|
+
// packages/@lwrjs/core/src/middleware/utils/error-handling.ts
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
-
|
|
27
|
+
handleErrors: () => handleErrors
|
|
28
28
|
});
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
const moduleEntry = await Promise.resolve().then(() => __toModule(require(path)));
|
|
38
|
-
return moduleEntry.default || moduleEntry;
|
|
39
|
-
} catch (err) {
|
|
40
|
-
console.log(err);
|
|
41
|
-
throw new Error(`Unable to get Service: ${path}`);
|
|
29
|
+
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
30
|
+
function createReturnStatus(error, url) {
|
|
31
|
+
if (error instanceof import_diagnostics.LwrUnresolvableError && error.diagnostics[0].description.category === "lwrUnresolvable/invalid") {
|
|
32
|
+
return {status: 400, message: error.message};
|
|
33
|
+
}
|
|
34
|
+
if (error instanceof import_diagnostics.LwrUnresolvableError) {
|
|
35
|
+
return {status: 404, message: error.message};
|
|
42
36
|
}
|
|
37
|
+
return {status: 500, message: import_diagnostics.descriptions.UNRESOLVABLE.SERVER_ERROR(url).message};
|
|
38
|
+
}
|
|
39
|
+
function handleErrors(middleware) {
|
|
40
|
+
return async (req, res, next) => {
|
|
41
|
+
try {
|
|
42
|
+
await middleware(req, res, next);
|
|
43
|
+
} catch (err) {
|
|
44
|
+
if (err instanceof import_diagnostics.DiagnosticsError) {
|
|
45
|
+
console.error("LWR Diagnostic Error: " + err.message);
|
|
46
|
+
console.error(err.diagnostics);
|
|
47
|
+
console.error(err.stack);
|
|
48
|
+
} else {
|
|
49
|
+
console.error(err);
|
|
50
|
+
}
|
|
51
|
+
const {status, message} = createReturnStatus(err, req.originalUrl);
|
|
52
|
+
res.status(status);
|
|
53
|
+
res.send(message);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
43
56
|
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
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
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
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});
|
|
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);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/core/src/middleware/utils/identity.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
getAssetIdentity: () => getAssetIdentity,
|
|
28
|
+
getMappingIdentity: () => getMappingIdentity,
|
|
29
|
+
getModuleIdentity: () => getModuleIdentity,
|
|
30
|
+
getResourceIdentity: () => getResourceIdentity
|
|
31
|
+
});
|
|
32
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
33
|
+
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
34
|
+
function validateSpecifier(specifer) {
|
|
35
|
+
return specifer.indexOf("../") < 0;
|
|
36
|
+
}
|
|
37
|
+
function getModuleIdentity(req, importer) {
|
|
38
|
+
const {specifier, signature} = req.params;
|
|
39
|
+
if (validateSpecifier(specifier) === false) {
|
|
40
|
+
throw (0, import_diagnostics.createSingleDiagnosticError)({
|
|
41
|
+
description: import_diagnostics.descriptions.UNRESOLVABLE.INVALID_SPECIFIER(specifier)
|
|
42
|
+
}, import_diagnostics.LwrUnresolvableError);
|
|
43
|
+
}
|
|
44
|
+
const moduleId = (0, import_shared_utils.explodeSpecifier)(specifier);
|
|
45
|
+
return {
|
|
46
|
+
moduleId: {
|
|
47
|
+
...moduleId,
|
|
48
|
+
importer
|
|
49
|
+
},
|
|
50
|
+
signature
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function getMappingIdentity(req) {
|
|
54
|
+
const {specifiers} = req.params;
|
|
55
|
+
const moduleIds = (0, import_shared_utils.explodeSpecifiers)(specifiers).map((obj) => ({
|
|
56
|
+
...obj,
|
|
57
|
+
importer: req.query.importer
|
|
58
|
+
}));
|
|
59
|
+
return {
|
|
60
|
+
moduleIds
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function getResourceIdentity(req) {
|
|
64
|
+
const {specifier, signature = import_shared_utils.LATEST_SIGNATURE} = req.params;
|
|
65
|
+
if (validateSpecifier(specifier) === false) {
|
|
66
|
+
throw (0, import_diagnostics.createSingleDiagnosticError)({
|
|
67
|
+
description: import_diagnostics.descriptions.UNRESOLVABLE.INVALID_SPECIFIER(specifier)
|
|
68
|
+
}, import_diagnostics.LwrUnresolvableError);
|
|
69
|
+
}
|
|
70
|
+
const resourceId = (0, import_shared_utils.explodeSpecifier)(specifier);
|
|
71
|
+
return {
|
|
72
|
+
resourceId,
|
|
73
|
+
signature
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function getAssetIdentity(req) {
|
|
77
|
+
const {signature, immutable, assetType: type} = req.params;
|
|
78
|
+
const specifier = signature && type ? "/" + req.params[0] : req.originalUrl.split("?")[0];
|
|
79
|
+
if (immutable) {
|
|
80
|
+
}
|
|
81
|
+
if (validateSpecifier(specifier) === false) {
|
|
82
|
+
throw (0, import_diagnostics.createSingleDiagnosticError)({
|
|
83
|
+
description: import_diagnostics.descriptions.UNRESOLVABLE.INVALID_SPECIFIER(specifier)
|
|
84
|
+
}, import_diagnostics.LwrUnresolvableError);
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
assetId: {
|
|
88
|
+
specifier,
|
|
89
|
+
type
|
|
90
|
+
},
|
|
91
|
+
signature: signature || import_shared_utils.LATEST_SIGNATURE
|
|
92
|
+
};
|
|
93
|
+
}
|
|
@@ -21,38 +21,29 @@ var __toModule = (module2) => {
|
|
|
21
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);
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
// packages/@lwrjs/core/src/
|
|
24
|
+
// packages/@lwrjs/core/src/middleware/utils/metadata.ts
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
-
|
|
27
|
+
normalizeResolvedUris: () => normalizeResolvedUris
|
|
28
28
|
});
|
|
29
29
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
async function normalizeResolvedUris(bundleDefinition, runtimeEnvironment, runtimeParams, moduleBundler, moduleRegistry) {
|
|
31
|
+
const resolvedUris = [];
|
|
32
|
+
if (bundleDefinition.bundleRecord.imports) {
|
|
33
|
+
for (const theImport of bundleDefinition.bundleRecord.imports) {
|
|
34
|
+
const childSpecifier = theImport.specifier;
|
|
35
|
+
const id = await (0, import_shared_utils.getVersionedModuleId)(childSpecifier, moduleRegistry);
|
|
36
|
+
const uri = await moduleBundler.resolveModuleUri(id, runtimeEnvironment, runtimeParams);
|
|
37
|
+
resolvedUris.push(uri);
|
|
35
38
|
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
async function runConfigurationsHook(hookPlugins, lwrConfig, dataConfig, runtimeConfig) {
|
|
39
|
-
for (const hookPlugin of hookPlugins) {
|
|
40
|
-
await hookPlugin.initConfigs(lwrConfig, dataConfig, runtimeConfig);
|
|
41
39
|
}
|
|
42
|
-
|
|
43
|
-
(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
} else {
|
|
49
|
-
throw e;
|
|
40
|
+
if (bundleDefinition.bundleRecord.dynamicImports) {
|
|
41
|
+
for (const theImport of bundleDefinition.bundleRecord.dynamicImports) {
|
|
42
|
+
const childSpecifier = theImport.specifier;
|
|
43
|
+
const id = await (0, import_shared_utils.getVersionedModuleId)(childSpecifier, moduleRegistry);
|
|
44
|
+
const uri = await moduleBundler.resolveModuleUri(id, runtimeEnvironment, runtimeParams);
|
|
45
|
+
resolvedUris.push(uri);
|
|
50
46
|
}
|
|
51
47
|
}
|
|
52
|
-
|
|
53
|
-
return {
|
|
54
|
-
lwrConfig,
|
|
55
|
-
dataConfig,
|
|
56
|
-
runtimeConfig
|
|
57
|
-
};
|
|
48
|
+
return resolvedUris;
|
|
58
49
|
}
|
|
@@ -21,14 +21,21 @@ var __toModule = (module2) => {
|
|
|
21
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);
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
// packages/@lwrjs/core/src/
|
|
24
|
+
// packages/@lwrjs/core/src/middleware/utils/request.ts
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
getRequestImporter: () => getRequestImporter,
|
|
28
|
+
getRequestProperties: () => getRequestProperties
|
|
29
29
|
});
|
|
30
|
-
var import_path_to_regexp = __toModule(require("path-to-regexp"));
|
|
31
30
|
var import_qs = __toModule(require("qs"));
|
|
31
|
+
var import_path_to_regexp = __toModule(require("path-to-regexp"));
|
|
32
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
33
|
+
function decodeParam(val) {
|
|
34
|
+
if (typeof val !== "string" || val.length === 0) {
|
|
35
|
+
return val;
|
|
36
|
+
}
|
|
37
|
+
return decodeURIComponent(val);
|
|
38
|
+
}
|
|
32
39
|
function getRequestProperties(pattern, req) {
|
|
33
40
|
const {url = "/"} = req;
|
|
34
41
|
const [pathname, search] = url.split("?");
|
|
@@ -41,7 +48,7 @@ function getRequestProperties(pattern, req) {
|
|
|
41
48
|
for (let i = 1; i < matched.length; i++) {
|
|
42
49
|
const key = keys[i - 1];
|
|
43
50
|
const prop = key.name;
|
|
44
|
-
const val =
|
|
51
|
+
const val = decodeParam(matched[i]);
|
|
45
52
|
if (val !== void 0 || !Object.hasOwnProperty.call(params, prop)) {
|
|
46
53
|
params[prop] = val;
|
|
47
54
|
}
|
|
@@ -54,15 +61,9 @@ function getRequestProperties(pattern, req) {
|
|
|
54
61
|
}
|
|
55
62
|
return;
|
|
56
63
|
}
|
|
57
|
-
function
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
return
|
|
62
|
-
}
|
|
63
|
-
function decode_param(val) {
|
|
64
|
-
if (typeof val !== "string" || val.length === 0) {
|
|
65
|
-
return val;
|
|
66
|
-
}
|
|
67
|
-
return decodeURIComponent(val);
|
|
64
|
+
async function getRequestImporter(req, moduleRegistry) {
|
|
65
|
+
const importerSpecifier = req.query.importer;
|
|
66
|
+
const importerModuleId = (0, import_shared_utils.explodeSpecifier)(importerSpecifier);
|
|
67
|
+
const {entry} = await moduleRegistry.getModuleEntry(importerModuleId);
|
|
68
|
+
return entry;
|
|
68
69
|
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
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
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
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});
|
|
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);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/core/src/middleware/view-middleware.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
viewMiddleware: () => viewMiddleware
|
|
28
|
+
});
|
|
29
|
+
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
30
|
+
var import_router = __toModule(require("@lwrjs/router"));
|
|
31
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
32
|
+
var import_error_handling = __toModule(require("./utils/error-handling.cjs"));
|
|
33
|
+
var import_view_registry = __toModule(require("@lwrjs/view-registry"));
|
|
34
|
+
var CANONICAL_VIEW_ROUTES = [
|
|
35
|
+
`/:apiVersion/application/:format/l/:locale/ai/:appId`,
|
|
36
|
+
`/:apiVersion/application/:format/l/:locale/e/:environment/ai/:appId`,
|
|
37
|
+
`/:apiVersion/application/:format/ai/:appId`,
|
|
38
|
+
`/:apiVersion/application/:format/e/:environment/ai/:appId`
|
|
39
|
+
];
|
|
40
|
+
function createViewMiddleware(route, errorRoutes, context, viewHandler) {
|
|
41
|
+
const errorRoute = errorRoutes.find((route2) => route2.status === 500);
|
|
42
|
+
return async (req, res) => {
|
|
43
|
+
if (!req.validateEnvironmentRequest(context.appConfig)) {
|
|
44
|
+
res.status(400);
|
|
45
|
+
res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_ENVIRONMENT(req.params.environment).message);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (!req.validateJsonRequest()) {
|
|
49
|
+
res.status(400);
|
|
50
|
+
res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_JSON().message);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const {runtimeEnvironment, runtimeParams} = req.getRuntimeContext(context.runtimeEnvironment);
|
|
54
|
+
const {environment: environmentConfig} = context.appConfig;
|
|
55
|
+
if (!runtimeParams.environment && environmentConfig?.default) {
|
|
56
|
+
runtimeParams.environment = environmentConfig.default;
|
|
57
|
+
}
|
|
58
|
+
const viewRequest = {
|
|
59
|
+
url: req.originalUrl,
|
|
60
|
+
params: req.params,
|
|
61
|
+
query: req.query,
|
|
62
|
+
requestPath: req.path
|
|
63
|
+
};
|
|
64
|
+
const resolve = req.isJsonRequest() ? viewHandler.getViewJson : viewHandler.getViewContent;
|
|
65
|
+
let viewResponse;
|
|
66
|
+
let resolvedRoute;
|
|
67
|
+
try {
|
|
68
|
+
viewResponse = await resolve.call(viewHandler, viewRequest, route, runtimeEnvironment, runtimeParams);
|
|
69
|
+
resolvedRoute = route;
|
|
70
|
+
} catch (err) {
|
|
71
|
+
if (!errorRoute) {
|
|
72
|
+
throw err;
|
|
73
|
+
}
|
|
74
|
+
viewResponse = await resolve.call(viewHandler, viewRequest, errorRoute, runtimeEnvironment, runtimeParams);
|
|
75
|
+
resolvedRoute = errorRoute;
|
|
76
|
+
}
|
|
77
|
+
if (req.isSiteGeneration()) {
|
|
78
|
+
res.setSiteGenerationMetadata(viewResponse.metadata);
|
|
79
|
+
}
|
|
80
|
+
res.type("text/html");
|
|
81
|
+
if (viewResponse.headers) {
|
|
82
|
+
res.set(viewResponse.headers);
|
|
83
|
+
}
|
|
84
|
+
const cacheTtl = (0, import_shared_utils.shortestTtl)(viewResponse.cache?.ttl, resolvedRoute.cache?.ttl);
|
|
85
|
+
if (cacheTtl) {
|
|
86
|
+
res.setHeader("cache-control", `public, max-age=${cacheTtl}`);
|
|
87
|
+
}
|
|
88
|
+
const status = resolvedRoute.status || viewResponse.status || 200;
|
|
89
|
+
res.status(status);
|
|
90
|
+
res.send(viewResponse.body);
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function createConfigMiddleware(routes, context, viewHandler) {
|
|
94
|
+
return async (req, res) => {
|
|
95
|
+
const {runtimeEnvironment, runtimeParams} = req.getRuntimeContext(context.runtimeEnvironment);
|
|
96
|
+
const {appId, encodedViewPath} = req.params;
|
|
97
|
+
const route = routes.find((route2) => route2.id === appId);
|
|
98
|
+
if (!route) {
|
|
99
|
+
res.status(404).send(import_diagnostics.descriptions.UNRESOLVABLE.APP_CONFIG(appId).message);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const url = (0, import_shared_utils.decodeViewPath)(encodedViewPath);
|
|
103
|
+
const requestPath = route.path;
|
|
104
|
+
const params = (0, import_shared_utils.extractRequestParams)(requestPath, url, req.params);
|
|
105
|
+
const viewRequest = {
|
|
106
|
+
url,
|
|
107
|
+
params,
|
|
108
|
+
query: req.query,
|
|
109
|
+
requestPath
|
|
110
|
+
};
|
|
111
|
+
const viewResponse = await viewHandler.getViewConfiguration(viewRequest, route, runtimeEnvironment, runtimeParams);
|
|
112
|
+
if (!viewResponse) {
|
|
113
|
+
res.status(404).send(import_diagnostics.descriptions.UNRESOLVABLE.VIEW_CONFIG(url).message);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const cacheTtl = (0, import_shared_utils.shortestTtl)(viewResponse.cache?.ttl, route.cache?.ttl);
|
|
117
|
+
if (cacheTtl) {
|
|
118
|
+
res.setHeader("cache-control", `public, max-age=${cacheTtl}`);
|
|
119
|
+
}
|
|
120
|
+
res.status(200);
|
|
121
|
+
res.type("application/javascript");
|
|
122
|
+
res.status(viewResponse.status || 200);
|
|
123
|
+
res.send(viewResponse.body);
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function createNotFoundMiddleware(errorRoutes, context, viewHandler) {
|
|
127
|
+
const notFoundRoute = errorRoutes.find((route) => route.status === 404);
|
|
128
|
+
if (notFoundRoute) {
|
|
129
|
+
return createViewMiddleware(notFoundRoute, errorRoutes, context, viewHandler);
|
|
130
|
+
}
|
|
131
|
+
return (req, res) => {
|
|
132
|
+
res.status(404).send(import_diagnostics.descriptions.UNRESOLVABLE.VIEW(req.originalUrl).message);
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
function viewMiddleware(app, context) {
|
|
136
|
+
const {appConfig, viewRegistry, moduleRegistry, routeHandlers} = context;
|
|
137
|
+
const {routes, errorRoutes} = appConfig;
|
|
138
|
+
const viewHandler = new import_view_registry.LwrViewHandler({viewRegistry, moduleRegistry, routeHandlers}, appConfig);
|
|
139
|
+
for (const route of routes) {
|
|
140
|
+
const paths = [route.path];
|
|
141
|
+
const subRoutes = route.subRoutes && (0, import_router.getClientRoutes)(route.subRoutes);
|
|
142
|
+
if (subRoutes) {
|
|
143
|
+
const prefix = route.path === "/" ? "" : route.path;
|
|
144
|
+
subRoutes.routes.forEach((subRoute) => subRoute.uri !== route.path && paths.push(`${prefix}${subRoute.uri}`));
|
|
145
|
+
}
|
|
146
|
+
paths.forEach((routePath) => paths.push(...CANONICAL_VIEW_ROUTES.map((viewRoute) => viewRoute + routePath)));
|
|
147
|
+
app.get(paths, (0, import_error_handling.handleErrors)(createViewMiddleware(route, errorRoutes, context, viewHandler)));
|
|
148
|
+
}
|
|
149
|
+
app.get((0, import_shared_utils.getClientBootstrapConfigurationRoutes)(), (0, import_error_handling.handleErrors)(createConfigMiddleware(routes, context, viewHandler)));
|
|
150
|
+
app.get("/" + app.getRegexWildcard(), (0, import_error_handling.handleErrors)(createNotFoundMiddleware(errorRoutes, context, viewHandler)));
|
|
151
|
+
}
|