@lwrjs/core 0.9.9-alpha.8 → 0.10.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/context/provider.cjs +9 -5
- package/build/cjs/context/server.cjs +6 -6
- package/build/cjs/index.cjs +66 -41
- package/build/cjs/middleware/asset-middleware.cjs +70 -0
- package/build/cjs/middleware/bundle-middleware.cjs +113 -0
- package/build/cjs/{middlewares → middleware}/hmr-middleware.cjs +6 -6
- 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/global-data.cjs → middleware/utils/error-handling.cjs} +26 -24
- package/build/cjs/middleware/utils/identity.cjs +92 -0
- package/build/cjs/{context/services.cjs → middleware/utils/metadata.cjs} +19 -20
- 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 +16 -9
- package/build/cjs/tools/server-warmup.cjs +2 -9
- package/build/cjs/tools/static-generation.cjs +190 -62
- package/build/es/context/provider.js +5 -3
- package/build/es/context/server.d.ts +1 -1
- package/build/es/context/server.js +6 -5
- package/build/es/index.d.ts +3 -2
- package/build/es/index.js +85 -49
- package/build/es/middleware/asset-middleware.d.ts +3 -0
- package/build/es/middleware/asset-middleware.js +42 -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 +4 -4
- 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 +62 -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 +8 -14
- package/build/es/middleware.js +12 -20
- package/build/es/tools/server-warmup.js +3 -10
- package/build/es/tools/static-generation.d.ts +11 -1
- package/build/es/tools/static-generation.js +230 -79
- package/build/es/tools/types.d.ts +3 -2
- package/package.json +33 -34
- package/build/cjs/context/configurations.cjs +0 -82
- 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/cjs/tools/server-build.cjs +0 -182
- package/build/es/context/configurations.d.ts +0 -9
- package/build/es/context/configurations.js +0 -53
- package/build/es/context/global-data.d.ts +0 -3
- package/build/es/context/global-data.js +0 -29
- package/build/es/context/services.d.ts +0 -3
- package/build/es/context/services.js +0 -27
- 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
- package/build/es/tools/server-build.d.ts +0 -14
- package/build/es/tools/server-build.js +0 -182
|
@@ -29,6 +29,7 @@ __export(exports, {
|
|
|
29
29
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
30
30
|
function createProviderContext(serverContext) {
|
|
31
31
|
const {
|
|
32
|
+
assets,
|
|
32
33
|
cacheDir,
|
|
33
34
|
lwc: {modules = []},
|
|
34
35
|
routes,
|
|
@@ -40,7 +41,8 @@ function createProviderContext(serverContext) {
|
|
|
40
41
|
amdLoader,
|
|
41
42
|
esmLoader,
|
|
42
43
|
environment,
|
|
43
|
-
basePath
|
|
44
|
+
basePath,
|
|
45
|
+
bundleConfig
|
|
44
46
|
} = serverContext.appConfig;
|
|
45
47
|
const {onModuleDefinitionChange, onModuleSourceChange} = serverContext.appObserver;
|
|
46
48
|
const {
|
|
@@ -50,7 +52,6 @@ function createProviderContext(serverContext) {
|
|
|
50
52
|
notifyAssetSourceChanged
|
|
51
53
|
} = serverContext.appEmitter;
|
|
52
54
|
return {
|
|
53
|
-
compiler: serverContext.compiler,
|
|
54
55
|
appObserver: (0, import_shared_utils.deepFreeze)({onModuleDefinitionChange, onModuleSourceChange}),
|
|
55
56
|
appEmitter: {
|
|
56
57
|
notifyModuleDefinitionChanged: (payload) => notifyModuleDefinitionChanged.call(serverContext.appEmitter, payload),
|
|
@@ -59,11 +60,12 @@ function createProviderContext(serverContext) {
|
|
|
59
60
|
notifyAssetSourceChanged: (payload) => notifyAssetSourceChanged.call(serverContext.appEmitter, payload)
|
|
60
61
|
},
|
|
61
62
|
moduleRegistry: serverContext.moduleRegistry.getPublicApi(),
|
|
62
|
-
moduleBundler: serverContext.moduleBundler,
|
|
63
|
+
moduleBundler: serverContext.moduleBundler.getPublicApi(),
|
|
63
64
|
resourceRegistry: serverContext.resourceRegistry.getPublicApi(),
|
|
64
65
|
viewRegistry: serverContext.viewRegistry.getPublicApi(),
|
|
65
66
|
assetRegistry: serverContext.assetRegistry.getPublicApi(),
|
|
66
67
|
config: (0, import_shared_utils.deepFreeze)({
|
|
68
|
+
assets,
|
|
67
69
|
cacheDir,
|
|
68
70
|
modules,
|
|
69
71
|
routes,
|
|
@@ -75,8 +77,10 @@ function createProviderContext(serverContext) {
|
|
|
75
77
|
locker,
|
|
76
78
|
amdLoader,
|
|
77
79
|
esmLoader,
|
|
78
|
-
environment
|
|
80
|
+
environment,
|
|
81
|
+
bundleConfig
|
|
79
82
|
}),
|
|
80
|
-
runtimeEnvironment: (0, import_shared_utils.deepFreeze)(serverContext.runtimeEnvironment)
|
|
83
|
+
runtimeEnvironment: (0, import_shared_utils.deepFreeze)(serverContext.runtimeEnvironment),
|
|
84
|
+
watcherFactory: serverContext.watcherFactory
|
|
81
85
|
};
|
|
82
86
|
}
|
|
@@ -27,28 +27,26 @@ __export(exports, {
|
|
|
27
27
|
createServerContext: () => createServerContext
|
|
28
28
|
});
|
|
29
29
|
var import_asset_registry = __toModule(require("@lwrjs/asset-registry"));
|
|
30
|
-
var import_compiler = __toModule(require("@lwrjs/compiler"));
|
|
31
30
|
var import_module_bundler = __toModule(require("@lwrjs/module-bundler"));
|
|
32
31
|
var import_module_registry = __toModule(require("@lwrjs/module-registry"));
|
|
33
32
|
var import_resource_registry = __toModule(require("@lwrjs/resource-registry"));
|
|
34
33
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
35
34
|
var import_view_registry = __toModule(require("@lwrjs/view-registry"));
|
|
35
|
+
var import_fs_watch = __toModule(require("@lwrjs/shared-utils/fs-watch"));
|
|
36
36
|
function createServerContext(appConfig, runtimeEnvironment, globalData) {
|
|
37
37
|
const appObserver = new import_shared_utils.LwrApplicationObserver();
|
|
38
38
|
const appEmitter = appObserver.createLwrEmitter();
|
|
39
|
-
const compiler = new import_compiler.LwrCompiler();
|
|
40
39
|
const assetRegistry = new import_asset_registry.LwrAssetRegistry({
|
|
41
40
|
appObserver,
|
|
42
41
|
appEmitter,
|
|
43
42
|
runtimeEnvironment
|
|
44
43
|
}, appConfig);
|
|
45
44
|
const moduleRegistry = new import_module_registry.LwrModuleRegistry({
|
|
46
|
-
compiler,
|
|
47
45
|
appObserver,
|
|
48
46
|
appEmitter,
|
|
49
47
|
runtimeEnvironment
|
|
50
48
|
}, appConfig);
|
|
51
|
-
const moduleBundler = new import_module_bundler.LwrModuleBundler({
|
|
49
|
+
const moduleBundler = new import_module_bundler.LwrModuleBundler({moduleRegistry, appObserver}, appConfig);
|
|
52
50
|
const resourceRegistry = new import_resource_registry.LwrResourceRegistry();
|
|
53
51
|
const viewRegistry = new import_view_registry.LwrViewRegistry({
|
|
54
52
|
moduleRegistry,
|
|
@@ -60,8 +58,8 @@ function createServerContext(appConfig, runtimeEnvironment, globalData) {
|
|
|
60
58
|
globalData,
|
|
61
59
|
runtimeEnvironment
|
|
62
60
|
}, appConfig);
|
|
61
|
+
const watcherFactory = new import_fs_watch.WatcherFactoryImpl();
|
|
63
62
|
return {
|
|
64
|
-
compiler,
|
|
65
63
|
appObserver,
|
|
66
64
|
appEmitter,
|
|
67
65
|
moduleRegistry,
|
|
@@ -69,7 +67,9 @@ function createServerContext(appConfig, runtimeEnvironment, globalData) {
|
|
|
69
67
|
resourceRegistry,
|
|
70
68
|
assetRegistry,
|
|
71
69
|
viewRegistry,
|
|
70
|
+
watcherFactory,
|
|
72
71
|
appConfig,
|
|
73
|
-
runtimeEnvironment
|
|
72
|
+
runtimeEnvironment,
|
|
73
|
+
routeHandlers: {}
|
|
74
74
|
};
|
|
75
75
|
}
|
package/build/cjs/index.cjs
CHANGED
|
@@ -25,7 +25,6 @@ var __toModule = (module2) => {
|
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
LwrApp: () => LwrApp,
|
|
28
|
-
buildServer: () => import_server_build.buildServer,
|
|
29
28
|
createServer: () => createServer,
|
|
30
29
|
generateStaticSite: () => generateStaticSite
|
|
31
30
|
});
|
|
@@ -33,71 +32,97 @@ var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
|
33
32
|
var import_server = __toModule(require("@lwrjs/server"));
|
|
34
33
|
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
35
34
|
var import_config = __toModule(require("@lwrjs/config"));
|
|
36
|
-
var
|
|
37
|
-
var import_api_middleware = __toModule(require("./middlewares/api-middleware.cjs"));
|
|
38
|
-
var import_ui_middleware = __toModule(require("./middlewares/ui-middleware.cjs"));
|
|
39
|
-
var import_hmr_middleware = __toModule(require("./middlewares/hmr-middleware.cjs"));
|
|
40
|
-
var import_base_middleware = __toModule(require("./middlewares/base-middleware.cjs"));
|
|
41
|
-
var import_services = __toModule(require("./context/services.cjs"));
|
|
42
|
-
var import_configurations = __toModule(require("./context/configurations.cjs"));
|
|
43
|
-
var import_provider = __toModule(require("./context/provider.cjs"));
|
|
44
|
-
var import_server2 = __toModule(require("./context/server.cjs"));
|
|
35
|
+
var import_modules = __toModule(require("@lwrjs/config/modules"));
|
|
45
36
|
var import_static_generation = __toModule(require("./tools/static-generation.cjs"));
|
|
46
37
|
var import_server_warmup = __toModule(require("./tools/server-warmup.cjs"));
|
|
47
|
-
var
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
38
|
+
var import_server2 = __toModule(require("./context/server.cjs"));
|
|
39
|
+
var import_provider = __toModule(require("./context/provider.cjs"));
|
|
40
|
+
var import_locale_middleware = __toModule(require("./middleware/locale-middleware.cjs"));
|
|
41
|
+
var import_module_middleware = __toModule(require("./middleware/module-middleware.cjs"));
|
|
42
|
+
var import_bundle_middleware = __toModule(require("./middleware/bundle-middleware.cjs"));
|
|
43
|
+
var import_mapping_middleware = __toModule(require("./middleware/mapping-middleware.cjs"));
|
|
44
|
+
var import_asset_middleware = __toModule(require("./middleware/asset-middleware.cjs"));
|
|
45
|
+
var import_view_middleware = __toModule(require("./middleware/view-middleware.cjs"));
|
|
46
|
+
var import_resource_middleware = __toModule(require("./middleware/resource-middleware.cjs"));
|
|
47
|
+
var import_hmr_middleware = __toModule(require("./middleware/hmr-middleware.cjs"));
|
|
48
|
+
function initMiddleware(app, server, serverContext) {
|
|
49
|
+
app.useCompression();
|
|
50
|
+
(0, import_locale_middleware.localeMiddleware)(app, serverContext);
|
|
51
|
+
(0, import_module_middleware.moduleMiddleware)(app, serverContext);
|
|
52
|
+
(0, import_bundle_middleware.bundleMiddleware)(app, serverContext);
|
|
53
|
+
(0, import_mapping_middleware.mappingMiddleware)(app, serverContext);
|
|
54
|
+
(0, import_asset_middleware.assetMiddleware)(app, serverContext);
|
|
55
|
+
(0, import_resource_middleware.resourceMiddleware)(app, serverContext);
|
|
56
|
+
(0, import_view_middleware.viewMiddleware)(app, serverContext);
|
|
57
|
+
app.initRoutes();
|
|
53
58
|
if (serverContext.runtimeEnvironment.hmrEnabled) {
|
|
54
|
-
(0, import_hmr_middleware.
|
|
59
|
+
(0, import_hmr_middleware.hmrMiddleware)(server, serverContext);
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
function createServices(entries, providerContext) {
|
|
63
|
+
return entries.map(([ctor, providerConfig = {}]) => new ctor(providerConfig, providerContext));
|
|
64
|
+
}
|
|
65
|
+
async function initContext(appConfig, runtimeEnvironment, globalData) {
|
|
66
|
+
const hooks = await (0, import_modules.loadHooks)(appConfig);
|
|
67
|
+
if (hooks.length) {
|
|
68
|
+
const skipValidation = true;
|
|
69
|
+
await (0, import_config.executeConfigHooks)(hooks, appConfig, runtimeEnvironment, globalData, skipValidation);
|
|
70
|
+
(0, import_config.executeStartHooks)(hooks, appConfig);
|
|
71
|
+
}
|
|
72
|
+
const services = await (0, import_modules.loadServices)(appConfig);
|
|
59
73
|
const serverContext = (0, import_server2.createServerContext)(appConfig, runtimeEnvironment, globalData);
|
|
60
74
|
const providerContext = (0, import_provider.createProviderContext)(serverContext);
|
|
61
|
-
const {moduleRegistry, resourceRegistry, viewRegistry,
|
|
62
|
-
const moduleProviders =
|
|
75
|
+
const {moduleRegistry, assetRegistry, resourceRegistry, viewRegistry, moduleBundler} = serverContext;
|
|
76
|
+
const moduleProviders = createServices(services.moduleProviders, providerContext);
|
|
77
|
+
const assetProviders = createServices(services.assetProviders, providerContext);
|
|
78
|
+
const assetTransformers = createServices(services.assetTransformers, providerContext);
|
|
79
|
+
const resourceProviders = createServices(services.resourceProviders, providerContext);
|
|
80
|
+
const viewProviders = createServices(services.viewProviders, providerContext);
|
|
81
|
+
const viewTransformers = createServices(services.viewTransformers, providerContext);
|
|
82
|
+
const bundleProviders = createServices(services.bundleProviders, providerContext);
|
|
63
83
|
moduleRegistry.addModuleProviders(moduleProviders);
|
|
64
|
-
|
|
84
|
+
assetRegistry.addAssetProviders(assetProviders);
|
|
85
|
+
assetRegistry.addAssetTransformers(assetTransformers);
|
|
65
86
|
resourceRegistry.addResourceProviders(resourceProviders);
|
|
66
|
-
const viewProviders = await (0, import_services.getServices)(appConfig.viewProviders, providerContext, appConfig);
|
|
67
|
-
const viewTransformers = await (0, import_services.getServices)(appConfig.viewTransformers, providerContext, rawAppConfig);
|
|
68
87
|
viewRegistry.addViewProviders(viewProviders);
|
|
69
88
|
viewRegistry.addViewTransformers(viewTransformers);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
assetRegistry.addAssetTransformers(assetTransformers);
|
|
89
|
+
moduleBundler.addBundleProviders(bundleProviders);
|
|
90
|
+
await serverContext.viewRegistry.initializeViewProviders();
|
|
91
|
+
const routeHandlers = await (0, import_modules.loadRouteHandlers)(appConfig);
|
|
92
|
+
serverContext.routeHandlers = routeHandlers;
|
|
75
93
|
return serverContext;
|
|
76
94
|
}
|
|
77
95
|
var LwrApp = class {
|
|
78
|
-
constructor(config) {
|
|
96
|
+
constructor(config = {}) {
|
|
79
97
|
this.initialized = false;
|
|
80
|
-
|
|
98
|
+
const {appConfig, runtimeEnvironment, globalData} = (0, import_config.loadConfig)(config);
|
|
99
|
+
this.config = appConfig;
|
|
100
|
+
this.runtimeEnvironment = runtimeEnvironment;
|
|
101
|
+
this.globalData = globalData;
|
|
81
102
|
const {basePath} = this.config;
|
|
82
103
|
this.app = (0, import_server.createInternalServer)(this.config.serverType, {basePath});
|
|
83
104
|
this.server = this.app.createHttpServer();
|
|
84
105
|
}
|
|
85
106
|
setConfig(config) {
|
|
86
|
-
|
|
107
|
+
const {appConfig, runtimeEnvironment, globalData} = (0, import_config.loadConfig)(config);
|
|
108
|
+
this.config = appConfig;
|
|
109
|
+
this.runtimeEnvironment = runtimeEnvironment;
|
|
110
|
+
this.globalData = globalData;
|
|
87
111
|
}
|
|
88
112
|
getConfig() {
|
|
89
113
|
return this.config;
|
|
90
114
|
}
|
|
91
115
|
async init() {
|
|
92
|
-
if (
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
116
|
+
if (this.initialized) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
this.initialized = true;
|
|
120
|
+
try {
|
|
121
|
+
const context = await initContext(this.config, this.runtimeEnvironment, this.globalData);
|
|
122
|
+
initMiddleware(this.app, this.server, context);
|
|
123
|
+
} catch (e) {
|
|
124
|
+
this.initialized = false;
|
|
125
|
+
throw e;
|
|
101
126
|
}
|
|
102
127
|
}
|
|
103
128
|
async listen(callback) {
|
|
@@ -0,0 +1,70 @@
|
|
|
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/asset-middleware.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
assetMiddleware: () => assetMiddleware
|
|
28
|
+
});
|
|
29
|
+
var import_path = __toModule(require("path"));
|
|
30
|
+
var import_identity = __toModule(require("./utils/identity.cjs"));
|
|
31
|
+
var import_error_handling = __toModule(require("./utils/error-handling.cjs"));
|
|
32
|
+
function createAssetMiddleware(context) {
|
|
33
|
+
const {
|
|
34
|
+
assetRegistry,
|
|
35
|
+
runtimeEnvironment: {basePath}
|
|
36
|
+
} = context;
|
|
37
|
+
return async (req, res) => {
|
|
38
|
+
const {runtimeEnvironment} = req.getRuntimeContext(context.runtimeEnvironment);
|
|
39
|
+
const {assetId, immutable, signature} = (0, import_identity.getAssetIdentity)(req);
|
|
40
|
+
if (basePath && !assetId.specifier.startsWith(basePath)) {
|
|
41
|
+
assetId.specifier = import_path.default.join(basePath, assetId.specifier);
|
|
42
|
+
}
|
|
43
|
+
const assetUri = await assetRegistry.resolveAssetUri(assetId, runtimeEnvironment);
|
|
44
|
+
if (assetUri.external) {
|
|
45
|
+
res.set({
|
|
46
|
+
Location: assetUri.uri,
|
|
47
|
+
"cache-control": "public, max-age=60"
|
|
48
|
+
});
|
|
49
|
+
res.sendStatus(302);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const asset = await assetRegistry.getAsset({...assetId, signature}, runtimeEnvironment, req.isSiteGeneration());
|
|
53
|
+
if (req.isSiteGeneration()) {
|
|
54
|
+
res.setSiteGenerationMetadata({asset});
|
|
55
|
+
}
|
|
56
|
+
if (asset.mime) {
|
|
57
|
+
res.type(asset.mime);
|
|
58
|
+
}
|
|
59
|
+
if (runtimeEnvironment.immutableAssets && immutable) {
|
|
60
|
+
res.setHeader("Cache-control", "public, max-age=12895706, immutable");
|
|
61
|
+
} else if (runtimeEnvironment.immutableAssets) {
|
|
62
|
+
res.setHeader("Cache-control", "public, max-age=60");
|
|
63
|
+
}
|
|
64
|
+
res.status(200).stream(asset.stream());
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function assetMiddleware(app, context) {
|
|
68
|
+
const paths = context.appConfig.assets.map((a) => a.urlPath + app.getRegexWildcard());
|
|
69
|
+
app.get([...paths, "/:apiVersion/:assetType/:immutable?/s/:signature/" + app.getRegexWildcard()], (0, import_error_handling.handleErrors)(createAssetMiddleware(context)));
|
|
70
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
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/bundle-middleware.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
bundleMiddleware: () => bundleMiddleware
|
|
28
|
+
});
|
|
29
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
30
|
+
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
31
|
+
var import_request = __toModule(require("./utils/request.cjs"));
|
|
32
|
+
var import_identity = __toModule(require("./utils/identity.cjs"));
|
|
33
|
+
var import_metadata = __toModule(require("./utils/metadata.cjs"));
|
|
34
|
+
var import_unsigned_module_redirect = __toModule(require("./redirects/unsigned-module-redirect.cjs"));
|
|
35
|
+
var import_error_handling = __toModule(require("./utils/error-handling.cjs"));
|
|
36
|
+
function createBundleMiddleware(context) {
|
|
37
|
+
const {moduleRegistry, moduleBundler} = context;
|
|
38
|
+
const unsignedBundleRedirect = (0, import_unsigned_module_redirect.createUnsignedBundleRedirect)(moduleBundler);
|
|
39
|
+
return async (req, res) => {
|
|
40
|
+
if (!req.validateEnvironmentRequest(context.appConfig)) {
|
|
41
|
+
res.status(400);
|
|
42
|
+
res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_ENVIRONMENT(req.params.environment).message);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (!req.validateJsonRequest()) {
|
|
46
|
+
res.status(400);
|
|
47
|
+
res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_JSON().message);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const {runtimeEnvironment, runtimeParams} = req.getRuntimeContext(context.runtimeEnvironment);
|
|
51
|
+
const importer = req.query.importer ? await (0, import_request.getRequestImporter)(req, moduleRegistry) : void 0;
|
|
52
|
+
const {moduleId, signature} = (0, import_identity.getModuleIdentity)(req, importer);
|
|
53
|
+
if (moduleId.importer || !signature) {
|
|
54
|
+
await unsignedBundleRedirect(req, res, moduleId, runtimeEnvironment, runtimeParams);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const sourceMapUrl = req.path.replace("/bundle/", "/sourcemaps/bundle/");
|
|
58
|
+
const bundleDefinition = await moduleBundler.getModuleBundle(moduleId, {...runtimeEnvironment, bundle: true, sourceMapUrl}, runtimeParams);
|
|
59
|
+
if (req.isSiteGeneration()) {
|
|
60
|
+
res.setSiteGenerationMetadata({
|
|
61
|
+
moduleDefinition: bundleDefinition,
|
|
62
|
+
resolvedUris: await (0, import_metadata.normalizeResolvedUris)(bundleDefinition, runtimeEnvironment, runtimeParams, moduleBundler, moduleRegistry)
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
if (signature !== import_shared_utils.LATEST_SIGNATURE) {
|
|
66
|
+
res.setHeader("Cache-control", "public, max-age=31536000, immutable");
|
|
67
|
+
}
|
|
68
|
+
res.status(200).type("application/javascript").send(bundleDefinition.code);
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function createSourceMapMiddleware(context) {
|
|
72
|
+
const {moduleBundler} = context;
|
|
73
|
+
return async (req, res) => {
|
|
74
|
+
if (!req.validateEnvironmentRequest(context.appConfig)) {
|
|
75
|
+
res.status(400);
|
|
76
|
+
res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_ENVIRONMENT(req.params.environment).message);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const {runtimeEnvironment} = req.getRuntimeContext(context.runtimeEnvironment);
|
|
80
|
+
const {moduleId, signature} = (0, import_identity.getModuleIdentity)(req);
|
|
81
|
+
const bundleDef = await moduleBundler.getModuleBundle(moduleId, runtimeEnvironment);
|
|
82
|
+
if (signature !== import_shared_utils.LATEST_SIGNATURE) {
|
|
83
|
+
res.setHeader("Cache-control", "public, max-age=31536000, immutable");
|
|
84
|
+
}
|
|
85
|
+
res.status(200).type("application/json").send(bundleDef.map);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function bundleMiddleware(app, context) {
|
|
89
|
+
app.get([
|
|
90
|
+
`/:apiVersion/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
|
|
91
|
+
`/:apiVersion/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
92
|
+
`/:apiVersion/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
|
|
93
|
+
`/:apiVersion/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
94
|
+
`/:apiVersion/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
|
|
95
|
+
`/:apiVersion/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
96
|
+
`/:apiVersion/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
|
|
97
|
+
`/:apiVersion/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
98
|
+
`/:apiVersion/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier`,
|
|
99
|
+
`/:apiVersion/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier`,
|
|
100
|
+
`/:apiVersion/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier`,
|
|
101
|
+
`/:apiVersion/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier`
|
|
102
|
+
], (0, import_error_handling.handleErrors)(createBundleMiddleware(context)));
|
|
103
|
+
app.get([
|
|
104
|
+
`/:apiVersion/sourcemaps/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
|
|
105
|
+
`/:apiVersion/sourcemaps/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
106
|
+
`/:apiVersion/sourcemaps/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
|
|
107
|
+
`/:apiVersion/sourcemaps/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
108
|
+
`/:apiVersion/sourcemaps/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
|
|
109
|
+
`/:apiVersion/sourcemaps/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
|
|
110
|
+
`/:apiVersion/sourcemaps/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
|
|
111
|
+
`/:apiVersion/sourcemaps/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`
|
|
112
|
+
], (0, import_error_handling.handleErrors)(createSourceMapMiddleware(context)));
|
|
113
|
+
}
|
|
@@ -21,14 +21,14 @@ 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/hmr-middleware.ts
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
-
|
|
27
|
+
hmrMiddleware: () => hmrMiddleware
|
|
28
28
|
});
|
|
29
29
|
var import_ws = __toModule(require("ws"));
|
|
30
30
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
31
|
-
var
|
|
31
|
+
var import_request = __toModule(require("./utils/request.cjs"));
|
|
32
32
|
var hmr;
|
|
33
33
|
var Hmr = class {
|
|
34
34
|
constructor(server, context) {
|
|
@@ -46,7 +46,7 @@ var Hmr = class {
|
|
|
46
46
|
const connectedClients = new Map();
|
|
47
47
|
this.connectedClients = connectedClients;
|
|
48
48
|
wss.on("connection", function connection(ws, req) {
|
|
49
|
-
const request = (0,
|
|
49
|
+
const request = (0, import_request.getRequestProperties)("/:apiVersion/hmr/:format/:compat", req);
|
|
50
50
|
if (request) {
|
|
51
51
|
const {params, query} = request;
|
|
52
52
|
const {format, compat} = params;
|
|
@@ -86,8 +86,8 @@ var Hmr = class {
|
|
|
86
86
|
version
|
|
87
87
|
};
|
|
88
88
|
const modulesCacheId = (0, import_shared_utils.getCacheKeyFromJson)({format, compat, debug});
|
|
89
|
-
const newUri = moduleRegistry.
|
|
90
|
-
const oldUri = moduleRegistry.
|
|
89
|
+
const newUri = moduleRegistry.resolveModuleUriSync(moduleId, signature, runtimeEnvironment, runtimeParams);
|
|
90
|
+
const oldUri = moduleRegistry.resolveModuleUriSync(moduleId, "latest", runtimeEnvironment, runtimeParams);
|
|
91
91
|
if (this.connectedClients) {
|
|
92
92
|
for (const [ws, cacheId] of this.connectedClients) {
|
|
93
93
|
if (cacheId === modulesCacheId) {
|
|
@@ -5,10 +5,10 @@ var __export = (target, all) => {
|
|
|
5
5
|
__defProp(target, name, {get: all[name], enumerable: true});
|
|
6
6
|
};
|
|
7
7
|
|
|
8
|
-
// packages/@lwrjs/core/src/
|
|
8
|
+
// packages/@lwrjs/core/src/middleware/locale-middleware.ts
|
|
9
9
|
__markAsModule(exports);
|
|
10
10
|
__export(exports, {
|
|
11
|
-
|
|
11
|
+
localeMiddleware: () => localeMiddleware
|
|
12
12
|
});
|
|
13
13
|
function localeMiddleware(app, context) {
|
|
14
14
|
const {defaultLocale} = context.runtimeEnvironment;
|
|
@@ -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
|
+
}
|