@lwrjs/core 0.9.0-alpha.5 → 0.9.0-alpha.6
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/{hooks.cjs → configurations.cjs} +33 -9
- package/build/cjs/context/provider.cjs +82 -0
- package/build/cjs/context/server.cjs +75 -0
- package/build/cjs/context/services.cjs +8 -1
- package/build/cjs/index.cjs +18 -127
- package/build/cjs/middleware.cjs +36 -0
- package/build/cjs/tools/server-build.cjs +182 -0
- package/build/es/context/configurations.d.ts +9 -0
- package/build/es/context/configurations.js +53 -0
- package/build/es/context/provider.d.ts +3 -0
- package/build/es/context/provider.js +38 -0
- package/build/es/context/server.d.ts +3 -0
- package/build/es/context/server.js +48 -0
- package/build/es/context/services.d.ts +2 -7
- package/build/es/context/services.js +11 -1
- package/build/es/index.d.ts +1 -0
- package/build/es/index.js +20 -117
- package/build/es/middleware.d.ts +15 -0
- package/build/es/middleware.js +21 -0
- package/build/es/tools/server-build.d.ts +14 -0
- package/build/es/tools/server-build.js +182 -0
- package/package.json +34 -29
- package/build/es/context/hooks.d.ts +0 -9
- package/build/es/context/hooks.js +0 -36
|
@@ -21,13 +21,15 @@ 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/context/
|
|
24
|
+
// packages/@lwrjs/core/src/context/configurations.ts
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
-
|
|
27
|
+
resolveConfigurations: () => resolveConfigurations
|
|
28
28
|
});
|
|
29
29
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
30
30
|
var import_config = __toModule(require("@lwrjs/config"));
|
|
31
|
+
var import_global_data = __toModule(require("./global-data.cjs"));
|
|
32
|
+
var import_services = __toModule(require("./services.cjs"));
|
|
31
33
|
function normalizeRoutesBootstrap({routes, errorRoutes}) {
|
|
32
34
|
[...routes, ...errorRoutes].forEach((route) => {
|
|
33
35
|
if (!route.bootstrap) {
|
|
@@ -35,12 +37,12 @@ function normalizeRoutesBootstrap({routes, errorRoutes}) {
|
|
|
35
37
|
}
|
|
36
38
|
});
|
|
37
39
|
}
|
|
38
|
-
async function runConfigurationsHook(hookPlugins,
|
|
40
|
+
async function runConfigurationsHook(hookPlugins, appConfig, globalData, runtimeEnvironment) {
|
|
39
41
|
for (const hookPlugin of hookPlugins) {
|
|
40
|
-
await hookPlugin.initConfigs(
|
|
42
|
+
await hookPlugin.initConfigs(appConfig, globalData, runtimeEnvironment);
|
|
41
43
|
}
|
|
42
44
|
try {
|
|
43
|
-
(0, import_config.validateLwrAppConfig)(JSON.stringify(
|
|
45
|
+
(0, import_config.validateLwrAppConfig)(JSON.stringify(appConfig), "post");
|
|
44
46
|
} catch (e) {
|
|
45
47
|
if (process.env.UNSAFE_IGNORE_CONFIG_VALIDATION === "true") {
|
|
46
48
|
import_shared_utils.logger.warn("ignoring config validation errors due to UNSAFE_IGNORE_CONFIG_VALIDATION flag...proceed with caution");
|
|
@@ -49,10 +51,32 @@ async function runConfigurationsHook(hookPlugins, lwrConfig, dataConfig, runtime
|
|
|
49
51
|
throw e;
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
|
-
normalizeRoutesBootstrap(
|
|
54
|
+
normalizeRoutesBootstrap(appConfig);
|
|
53
55
|
return {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
appConfig,
|
|
57
|
+
globalData,
|
|
58
|
+
runtimeEnvironment
|
|
57
59
|
};
|
|
58
60
|
}
|
|
61
|
+
async function resolveConfigurations(config) {
|
|
62
|
+
const {
|
|
63
|
+
apiVersion,
|
|
64
|
+
basePath,
|
|
65
|
+
lwrVersion,
|
|
66
|
+
serverMode,
|
|
67
|
+
globalDataDir,
|
|
68
|
+
globalData: globalDataConfig
|
|
69
|
+
} = config;
|
|
70
|
+
const globalData = (0, import_global_data.getGlobalData)(globalDataDir, globalDataConfig);
|
|
71
|
+
const runtimeEnvironment = {
|
|
72
|
+
...(0, import_config.explodeMode)(serverMode),
|
|
73
|
+
apiVersion,
|
|
74
|
+
basePath,
|
|
75
|
+
lwrVersion,
|
|
76
|
+
debug: false,
|
|
77
|
+
serverMode,
|
|
78
|
+
featureFlags: (0, import_shared_utils.getFeatureFlags)()
|
|
79
|
+
};
|
|
80
|
+
const hookProviders = await (0, import_services.getServices)(config.hooks, void 0, config);
|
|
81
|
+
return runConfigurationsHook(hookProviders, config, globalData, runtimeEnvironment);
|
|
82
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
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/context/provider.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
createProviderContext: () => createProviderContext
|
|
28
|
+
});
|
|
29
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
30
|
+
function createProviderContext(serverContext) {
|
|
31
|
+
const {
|
|
32
|
+
cacheDir,
|
|
33
|
+
lwc: {modules = []},
|
|
34
|
+
routes,
|
|
35
|
+
errorRoutes,
|
|
36
|
+
rootDir,
|
|
37
|
+
contentDir,
|
|
38
|
+
layoutsDir,
|
|
39
|
+
locker,
|
|
40
|
+
amdLoader,
|
|
41
|
+
esmLoader,
|
|
42
|
+
environment,
|
|
43
|
+
basePath
|
|
44
|
+
} = serverContext.appConfig;
|
|
45
|
+
const {onModuleDefinitionChange, onModuleSourceChange} = serverContext.appObserver;
|
|
46
|
+
const {
|
|
47
|
+
notifyModuleDefinitionChanged,
|
|
48
|
+
notifyModuleSourceChanged,
|
|
49
|
+
notifyViewSourceChanged,
|
|
50
|
+
notifyAssetSourceChanged
|
|
51
|
+
} = serverContext.appEmitter;
|
|
52
|
+
return {
|
|
53
|
+
compiler: serverContext.compiler,
|
|
54
|
+
appObserver: (0, import_shared_utils.deepFreeze)({onModuleDefinitionChange, onModuleSourceChange}),
|
|
55
|
+
appEmitter: {
|
|
56
|
+
notifyModuleDefinitionChanged: (payload) => notifyModuleDefinitionChanged.call(serverContext.appEmitter, payload),
|
|
57
|
+
notifyModuleSourceChanged: (payload) => notifyModuleSourceChanged.call(serverContext.appEmitter, payload),
|
|
58
|
+
notifyViewSourceChanged: (payload) => notifyViewSourceChanged.call(serverContext.appEmitter, payload),
|
|
59
|
+
notifyAssetSourceChanged: (payload) => notifyAssetSourceChanged.call(serverContext.appEmitter, payload)
|
|
60
|
+
},
|
|
61
|
+
moduleRegistry: serverContext.moduleRegistry.getPublicApi(),
|
|
62
|
+
moduleBundler: serverContext.moduleBundler,
|
|
63
|
+
resourceRegistry: serverContext.resourceRegistry.getPublicApi(),
|
|
64
|
+
viewRegistry: serverContext.viewRegistry.getPublicApi(),
|
|
65
|
+
assetRegistry: serverContext.assetRegistry.getPublicApi(),
|
|
66
|
+
config: (0, import_shared_utils.deepFreeze)({
|
|
67
|
+
cacheDir,
|
|
68
|
+
modules,
|
|
69
|
+
routes,
|
|
70
|
+
errorRoutes,
|
|
71
|
+
rootDir,
|
|
72
|
+
basePath,
|
|
73
|
+
contentDir,
|
|
74
|
+
layoutsDir,
|
|
75
|
+
locker,
|
|
76
|
+
amdLoader,
|
|
77
|
+
esmLoader,
|
|
78
|
+
environment
|
|
79
|
+
}),
|
|
80
|
+
runtimeEnvironment: (0, import_shared_utils.deepFreeze)(serverContext.runtimeEnvironment)
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
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/context/server.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
createServerContext: () => createServerContext
|
|
28
|
+
});
|
|
29
|
+
var import_asset_registry = __toModule(require("@lwrjs/asset-registry"));
|
|
30
|
+
var import_compiler = __toModule(require("@lwrjs/compiler"));
|
|
31
|
+
var import_module_bundler = __toModule(require("@lwrjs/module-bundler"));
|
|
32
|
+
var import_module_registry = __toModule(require("@lwrjs/module-registry"));
|
|
33
|
+
var import_resource_registry = __toModule(require("@lwrjs/resource-registry"));
|
|
34
|
+
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
35
|
+
var import_view_registry = __toModule(require("@lwrjs/view-registry"));
|
|
36
|
+
function createServerContext(appConfig, runtimeEnvironment, globalData) {
|
|
37
|
+
const appObserver = new import_shared_utils.LwrApplicationObserver();
|
|
38
|
+
const appEmitter = appObserver.createLwrEmitter();
|
|
39
|
+
const compiler = new import_compiler.LwrCompiler();
|
|
40
|
+
const assetRegistry = new import_asset_registry.LwrAssetRegistry({
|
|
41
|
+
appObserver,
|
|
42
|
+
appEmitter,
|
|
43
|
+
runtimeEnvironment
|
|
44
|
+
}, appConfig);
|
|
45
|
+
const moduleRegistry = new import_module_registry.LwrModuleRegistry({
|
|
46
|
+
compiler,
|
|
47
|
+
appObserver,
|
|
48
|
+
appEmitter,
|
|
49
|
+
runtimeEnvironment
|
|
50
|
+
}, appConfig);
|
|
51
|
+
const moduleBundler = new import_module_bundler.LwrModuleBundler({compiler, moduleRegistry, appObserver}, appConfig);
|
|
52
|
+
const resourceRegistry = new import_resource_registry.LwrResourceRegistry();
|
|
53
|
+
const viewRegistry = new import_view_registry.LwrViewRegistry({
|
|
54
|
+
moduleRegistry,
|
|
55
|
+
moduleBundler,
|
|
56
|
+
resourceRegistry,
|
|
57
|
+
assetRegistry,
|
|
58
|
+
appObserver,
|
|
59
|
+
appEmitter,
|
|
60
|
+
globalData,
|
|
61
|
+
runtimeEnvironment
|
|
62
|
+
}, appConfig);
|
|
63
|
+
return {
|
|
64
|
+
compiler,
|
|
65
|
+
appObserver,
|
|
66
|
+
appEmitter,
|
|
67
|
+
moduleRegistry,
|
|
68
|
+
moduleBundler,
|
|
69
|
+
resourceRegistry,
|
|
70
|
+
assetRegistry,
|
|
71
|
+
viewRegistry,
|
|
72
|
+
appConfig,
|
|
73
|
+
runtimeEnvironment
|
|
74
|
+
};
|
|
75
|
+
}
|
|
@@ -24,7 +24,7 @@ var __toModule = (module2) => {
|
|
|
24
24
|
// packages/@lwrjs/core/src/context/services.ts
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
|
-
|
|
27
|
+
getServices: () => getServices
|
|
28
28
|
});
|
|
29
29
|
var import_path = __toModule(require("path"));
|
|
30
30
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
@@ -41,3 +41,10 @@ async function getServiceModule(path, {cacheDir, rootDir}) {
|
|
|
41
41
|
throw new Error(`Unable to get Service: ${path}`);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
+
async function getServices(services, providerContext, lwrConfig) {
|
|
45
|
+
return Promise.all(services.map(async (serviceEntry) => {
|
|
46
|
+
const [serviceName, serviceConfig = {}] = Array.isArray(serviceEntry) ? serviceEntry : [serviceEntry];
|
|
47
|
+
const ServiceCtor = await getServiceModule(serviceName, lwrConfig);
|
|
48
|
+
return new ServiceCtor(serviceConfig, providerContext);
|
|
49
|
+
}));
|
|
50
|
+
}
|
package/build/cjs/index.cjs
CHANGED
|
@@ -25,37 +25,26 @@ var __toModule = (module2) => {
|
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
LwrApp: () => LwrApp,
|
|
28
|
+
buildServer: () => import_server_build.buildServer,
|
|
28
29
|
createServer: () => createServer,
|
|
29
30
|
generateStaticSite: () => generateStaticSite
|
|
30
31
|
});
|
|
31
32
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
32
|
-
var
|
|
33
|
-
var import_module_bundler = __toModule(require("@lwrjs/module-bundler"));
|
|
34
|
-
var import_module_registry = __toModule(require("@lwrjs/module-registry"));
|
|
35
|
-
var import_resource_registry = __toModule(require("@lwrjs/resource-registry"));
|
|
36
|
-
var import_asset_registry = __toModule(require("@lwrjs/asset-registry"));
|
|
37
|
-
var import_view_registry = __toModule(require("@lwrjs/view-registry"));
|
|
33
|
+
var import_server = __toModule(require("@lwrjs/server"));
|
|
38
34
|
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
39
35
|
var import_config = __toModule(require("@lwrjs/config"));
|
|
40
|
-
var import_shared_utils2 = __toModule(require("@lwrjs/shared-utils"));
|
|
41
36
|
var import_locale_middleware = __toModule(require("./middlewares/locale-middleware.cjs"));
|
|
42
37
|
var import_api_middleware = __toModule(require("./middlewares/api-middleware.cjs"));
|
|
43
38
|
var import_ui_middleware = __toModule(require("./middlewares/ui-middleware.cjs"));
|
|
44
39
|
var import_hmr_middleware = __toModule(require("./middlewares/hmr-middleware.cjs"));
|
|
45
|
-
var import_global_data = __toModule(require("./context/global-data.cjs"));
|
|
46
|
-
var import_hooks = __toModule(require("./context/hooks.cjs"));
|
|
47
40
|
var import_base_middleware = __toModule(require("./middlewares/base-middleware.cjs"));
|
|
48
|
-
var import_server = __toModule(require("@lwrjs/server"));
|
|
49
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"));
|
|
50
45
|
var import_static_generation = __toModule(require("./tools/static-generation.cjs"));
|
|
51
46
|
var import_server_warmup = __toModule(require("./tools/server-warmup.cjs"));
|
|
52
|
-
|
|
53
|
-
return Promise.all(services.map(async (serviceEntry) => {
|
|
54
|
-
const [serviceName, serviceConfig = {}] = Array.isArray(serviceEntry) ? serviceEntry : [serviceEntry];
|
|
55
|
-
const ServiceCtor = await (0, import_services.getServiceModule)(serviceName, lwrConfig);
|
|
56
|
-
return new ServiceCtor(serviceConfig, providerContext);
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
47
|
+
var import_server_build = __toModule(require("./tools/server-build.cjs"));
|
|
59
48
|
function initMiddlewares(app, server, serverContext) {
|
|
60
49
|
(0, import_base_middleware.default)(app, serverContext);
|
|
61
50
|
(0, import_locale_middleware.default)(app, serverContext);
|
|
@@ -65,122 +54,24 @@ function initMiddlewares(app, server, serverContext) {
|
|
|
65
54
|
(0, import_hmr_middleware.default)(server, serverContext);
|
|
66
55
|
}
|
|
67
56
|
}
|
|
68
|
-
async function initContext(app, server,
|
|
69
|
-
const {
|
|
70
|
-
const
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
basePath,
|
|
75
|
-
lwrVersion,
|
|
76
|
-
debug: false,
|
|
77
|
-
serverMode,
|
|
78
|
-
featureFlags: (0, import_shared_utils.getFeatureFlags)()
|
|
79
|
-
};
|
|
80
|
-
const hookProviders = await getServices(rawLwrConfig.hooks, void 0, rawLwrConfig);
|
|
81
|
-
const {lwrConfig, dataConfig, runtimeConfig} = await (0, import_hooks.runConfigurationsHook)(hookProviders, rawLwrConfig, rawDataConfig, rawRuntimeEnvConfig);
|
|
82
|
-
const assetTransformers = await getServices(rawLwrConfig.assetTransformers, void 0, rawLwrConfig);
|
|
83
|
-
const appObserver = new import_shared_utils2.LwrApplicationObserver();
|
|
84
|
-
const appEmitter = appObserver.createLwrEmitter();
|
|
85
|
-
const compiler = new import_compiler.LwrCompiler();
|
|
86
|
-
const assetRegistry = new import_asset_registry.LwrAssetRegistry({
|
|
87
|
-
assetTransformers,
|
|
88
|
-
appObserver,
|
|
89
|
-
appEmitter,
|
|
90
|
-
runtimeEnvironment: runtimeConfig
|
|
91
|
-
}, lwrConfig);
|
|
92
|
-
const moduleRegistry = new import_module_registry.LwrModuleRegistry({
|
|
93
|
-
compiler,
|
|
94
|
-
appObserver,
|
|
95
|
-
appEmitter,
|
|
96
|
-
runtimeEnvironment: runtimeConfig
|
|
97
|
-
}, lwrConfig);
|
|
98
|
-
const moduleBundler = new import_module_bundler.LwrModuleBundler({compiler, moduleRegistry, appObserver}, lwrConfig);
|
|
99
|
-
const resourceRegistry = new import_resource_registry.LwrResourceRegistry();
|
|
100
|
-
const viewRegistry = new import_view_registry.LwrViewRegistry({
|
|
101
|
-
moduleRegistry,
|
|
102
|
-
moduleBundler,
|
|
103
|
-
resourceRegistry,
|
|
104
|
-
assetRegistry,
|
|
105
|
-
appObserver,
|
|
106
|
-
appEmitter,
|
|
107
|
-
globalData: dataConfig,
|
|
108
|
-
runtimeEnvironment: runtimeConfig
|
|
109
|
-
}, lwrConfig);
|
|
110
|
-
const serverContext = {
|
|
111
|
-
compiler,
|
|
112
|
-
server,
|
|
113
|
-
appObserver,
|
|
114
|
-
appEmitter,
|
|
115
|
-
moduleRegistry,
|
|
116
|
-
moduleBundler,
|
|
117
|
-
resourceRegistry,
|
|
118
|
-
assetRegistry,
|
|
119
|
-
viewRegistry,
|
|
120
|
-
appConfig: lwrConfig,
|
|
121
|
-
runtimeEnvironment: runtimeConfig
|
|
122
|
-
};
|
|
123
|
-
const {
|
|
124
|
-
cacheDir,
|
|
125
|
-
lwc: {modules = []},
|
|
126
|
-
routes,
|
|
127
|
-
errorRoutes,
|
|
128
|
-
rootDir,
|
|
129
|
-
contentDir,
|
|
130
|
-
layoutsDir,
|
|
131
|
-
locker,
|
|
132
|
-
amdLoader,
|
|
133
|
-
esmLoader,
|
|
134
|
-
environment
|
|
135
|
-
} = lwrConfig;
|
|
136
|
-
const {onModuleDefinitionChange, onModuleSourceChange} = appObserver;
|
|
137
|
-
const {
|
|
138
|
-
notifyModuleDefinitionChanged,
|
|
139
|
-
notifyModuleSourceChanged,
|
|
140
|
-
notifyViewSourceChanged,
|
|
141
|
-
notifyAssetSourceChanged
|
|
142
|
-
} = appEmitter;
|
|
143
|
-
const providerContext = {
|
|
144
|
-
compiler,
|
|
145
|
-
appObserver: (0, import_shared_utils.deepFreeze)({onModuleDefinitionChange, onModuleSourceChange}),
|
|
146
|
-
appEmitter: {
|
|
147
|
-
notifyModuleDefinitionChanged: (payload) => notifyModuleDefinitionChanged.call(appEmitter, payload),
|
|
148
|
-
notifyModuleSourceChanged: (payload) => notifyModuleSourceChanged.call(appEmitter, payload),
|
|
149
|
-
notifyViewSourceChanged: (payload) => notifyViewSourceChanged.call(appEmitter, payload),
|
|
150
|
-
notifyAssetSourceChanged: (payload) => notifyAssetSourceChanged.call(appEmitter, payload)
|
|
151
|
-
},
|
|
152
|
-
moduleRegistry: moduleRegistry.getPublicApi(),
|
|
153
|
-
moduleBundler,
|
|
154
|
-
resourceRegistry: resourceRegistry.getPublicApi(),
|
|
155
|
-
viewRegistry: viewRegistry.getPublicApi(),
|
|
156
|
-
assetRegistry: assetRegistry.getPublicApi(),
|
|
157
|
-
config: (0, import_shared_utils.deepFreeze)({
|
|
158
|
-
cacheDir,
|
|
159
|
-
modules,
|
|
160
|
-
routes,
|
|
161
|
-
errorRoutes,
|
|
162
|
-
rootDir,
|
|
163
|
-
basePath,
|
|
164
|
-
contentDir,
|
|
165
|
-
layoutsDir,
|
|
166
|
-
locker,
|
|
167
|
-
amdLoader,
|
|
168
|
-
esmLoader,
|
|
169
|
-
environment
|
|
170
|
-
}),
|
|
171
|
-
runtimeEnvironment: (0, import_shared_utils.deepFreeze)(runtimeConfig)
|
|
172
|
-
};
|
|
173
|
-
const moduleProviders = await getServices(lwrConfig.moduleProviders, providerContext, lwrConfig);
|
|
57
|
+
async function initContext(app, server, rawAppConfig) {
|
|
58
|
+
const {appConfig, runtimeEnvironment, globalData} = await (0, import_configurations.resolveConfigurations)(rawAppConfig);
|
|
59
|
+
const serverContext = (0, import_server2.createServerContext)(appConfig, runtimeEnvironment, globalData);
|
|
60
|
+
const providerContext = (0, import_provider.createProviderContext)(serverContext);
|
|
61
|
+
const {moduleRegistry, resourceRegistry, viewRegistry, assetRegistry} = serverContext;
|
|
62
|
+
const moduleProviders = await (0, import_services.getServices)(appConfig.moduleProviders, providerContext, appConfig);
|
|
174
63
|
moduleRegistry.addModuleProviders(moduleProviders);
|
|
175
|
-
const resourceProviders = await getServices(
|
|
64
|
+
const resourceProviders = await (0, import_services.getServices)(appConfig.resourceProviders, providerContext, appConfig);
|
|
176
65
|
resourceRegistry.addResourceProviders(resourceProviders);
|
|
177
|
-
const viewProviders = await getServices(
|
|
178
|
-
const viewTransformers = await getServices(
|
|
66
|
+
const viewProviders = await (0, import_services.getServices)(appConfig.viewProviders, providerContext, appConfig);
|
|
67
|
+
const viewTransformers = await (0, import_services.getServices)(appConfig.viewTransformers, providerContext, rawAppConfig);
|
|
179
68
|
viewRegistry.addViewProviders(viewProviders);
|
|
180
69
|
viewRegistry.addViewTransformers(viewTransformers);
|
|
181
70
|
await viewRegistry.initializeViewProviders();
|
|
182
|
-
const assetProviders = await getServices(
|
|
71
|
+
const assetProviders = await (0, import_services.getServices)(appConfig.assetProviders, providerContext, appConfig);
|
|
72
|
+
const assetTransformers = await (0, import_services.getServices)(appConfig.assetTransformers, void 0, appConfig);
|
|
183
73
|
assetRegistry.addAssetProviders(assetProviders);
|
|
74
|
+
assetRegistry.addAssetTransformers(assetTransformers);
|
|
184
75
|
return serverContext;
|
|
185
76
|
}
|
|
186
77
|
var LwrApp = class {
|
|
@@ -0,0 +1,36 @@
|
|
|
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.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
attachLwrMiddleware: () => attachLwrMiddleware
|
|
28
|
+
});
|
|
29
|
+
var import_locale_middleware = __toModule(require("./middlewares/locale-middleware.cjs"));
|
|
30
|
+
var import_ui_middleware = __toModule(require("./middlewares/ui-middleware.cjs"));
|
|
31
|
+
var import_api_middleware = __toModule(require("./middlewares/api-middleware.cjs"));
|
|
32
|
+
function attachLwrMiddleware(app, context) {
|
|
33
|
+
(0, import_locale_middleware.default)(app, context);
|
|
34
|
+
(0, import_api_middleware.default)(app, context);
|
|
35
|
+
(0, import_ui_middleware.default)(app, context);
|
|
36
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
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/tools/server-build.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
buildServer: () => buildServer
|
|
28
|
+
});
|
|
29
|
+
var import_path = __toModule(require("path"));
|
|
30
|
+
var import_fs_extra = __toModule(require("fs-extra"));
|
|
31
|
+
var import_esbuild = __toModule(require("esbuild"));
|
|
32
|
+
var import_config = __toModule(require("@lwrjs/config"));
|
|
33
|
+
var import_configurations = __toModule(require("../context/configurations.cjs"));
|
|
34
|
+
var import_provider = __toModule(require("../context/provider.cjs"));
|
|
35
|
+
var import_server = __toModule(require("../context/server.cjs"));
|
|
36
|
+
function getBuildMetadata(appConfig) {
|
|
37
|
+
const moduleProviders = processServiceEntries("moduleProvider", appConfig.moduleProviders);
|
|
38
|
+
const resourceProviders = processServiceEntries("resourceProvider", appConfig.resourceProviders);
|
|
39
|
+
const viewProviders = processServiceEntries("viewProvider", appConfig.viewProviders);
|
|
40
|
+
const viewTransformers = processServiceEntries("viewTransformer", appConfig.viewTransformers);
|
|
41
|
+
const assetProviders = processServiceEntries("assetProvider", appConfig.assetProviders);
|
|
42
|
+
const assetTransformers = processServiceEntries("assetTransformer", appConfig.assetTransformers);
|
|
43
|
+
const imports = [
|
|
44
|
+
...moduleProviders.imports,
|
|
45
|
+
...resourceProviders.imports,
|
|
46
|
+
...viewProviders.imports,
|
|
47
|
+
...viewTransformers.imports,
|
|
48
|
+
...assetProviders.imports,
|
|
49
|
+
...assetTransformers.imports
|
|
50
|
+
];
|
|
51
|
+
return {
|
|
52
|
+
imports,
|
|
53
|
+
moduleProviders: moduleProviders.services,
|
|
54
|
+
resourceProviders: resourceProviders.services,
|
|
55
|
+
viewProviders: viewProviders.services,
|
|
56
|
+
viewTransformers: viewTransformers.services,
|
|
57
|
+
assetProviders: assetProviders.services,
|
|
58
|
+
assetTransformers: assetTransformers.services
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function processServiceEntries(serviceType, entries) {
|
|
62
|
+
const imports = [];
|
|
63
|
+
const services = [];
|
|
64
|
+
for (const [index, [pkg, config]] of entries.entries()) {
|
|
65
|
+
const name = serviceType + index;
|
|
66
|
+
imports.push(`import ${name} from '${pkg}';`);
|
|
67
|
+
services.push(`[${name}, ${JSON.stringify(config)}]`);
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
imports,
|
|
71
|
+
services
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function generateServices(providerContext) {
|
|
75
|
+
return ([ServiceCtor, serviceConfig = {}]) => new ServiceCtor(serviceConfig, providerContext);
|
|
76
|
+
}
|
|
77
|
+
function isRemote() {
|
|
78
|
+
return process.env.AWS_LAMBDA_FUNCTION_NAME !== void 0;
|
|
79
|
+
}
|
|
80
|
+
function generateServerContextModule(appConfig, runtimeEnvironment, globalData, metadata) {
|
|
81
|
+
const {
|
|
82
|
+
imports,
|
|
83
|
+
moduleProviders,
|
|
84
|
+
resourceProviders,
|
|
85
|
+
viewProviders,
|
|
86
|
+
viewTransformers,
|
|
87
|
+
assetProviders,
|
|
88
|
+
assetTransformers
|
|
89
|
+
} = metadata;
|
|
90
|
+
const config = {
|
|
91
|
+
...appConfig,
|
|
92
|
+
rootDir: void 0,
|
|
93
|
+
ignoreLwrConfigFile: true
|
|
94
|
+
};
|
|
95
|
+
return [
|
|
96
|
+
`/* This module is generated */`,
|
|
97
|
+
`import { LwrCompiler } from '@lwrjs/compiler';`,
|
|
98
|
+
`import { LwrModuleBundler } from '@lwrjs/module-bundler';`,
|
|
99
|
+
`import { LwrModuleRegistry } from '@lwrjs/module-registry';`,
|
|
100
|
+
`import { LwrResourceRegistry } from '@lwrjs/resource-registry';`,
|
|
101
|
+
`import { LwrAssetRegistry } from '@lwrjs/asset-registry';`,
|
|
102
|
+
`import { LwrViewRegistry } from '@lwrjs/view-registry';`,
|
|
103
|
+
`import { LwrApplicationObserver, deepFreeze } from '@lwrjs/shared-utils';`,
|
|
104
|
+
`import { normalizeConfig } from '@lwrjs/config';`,
|
|
105
|
+
...imports,
|
|
106
|
+
import_server.createServerContext.toString(),
|
|
107
|
+
import_provider.createProviderContext.toString(),
|
|
108
|
+
generateServices.toString(),
|
|
109
|
+
isRemote.toString(),
|
|
110
|
+
`const config = ${JSON.stringify(config, null, 4)}`,
|
|
111
|
+
`const runtimeEnvironment = ${JSON.stringify(runtimeEnvironment, null, 4)}`,
|
|
112
|
+
`const globalData = ${JSON.stringify(globalData, null, 4)}`,
|
|
113
|
+
`isRemote() && process.chdir(__dirname);`,
|
|
114
|
+
`isRemote() && (config.rootDir = __dirname);`,
|
|
115
|
+
`isRemote() && (config.cacheDir = '/tmp/__lwr_cache__');`,
|
|
116
|
+
`const normalizedConfig = normalizeConfig(config);`,
|
|
117
|
+
`const serverContext = createServerContext(normalizedConfig, runtimeEnvironment, globalData);`,
|
|
118
|
+
`const providerContext = createProviderContext(serverContext);`,
|
|
119
|
+
`const generate = generateServices(providerContext);`,
|
|
120
|
+
`const moduleProviders = [${moduleProviders}].map(generate);`,
|
|
121
|
+
`const resourceProviders = [${resourceProviders}].map(generate);`,
|
|
122
|
+
`const viewProviders = [${viewProviders}].map(generate);`,
|
|
123
|
+
`const viewTransformers = [${viewTransformers}].map(generate);`,
|
|
124
|
+
`const assetProviders = [${assetProviders}].map(generate);`,
|
|
125
|
+
`const assetTransformers = [${assetTransformers}].map(generate);`,
|
|
126
|
+
`serverContext.moduleRegistry.addModuleProviders(moduleProviders);`,
|
|
127
|
+
`serverContext.resourceRegistry.addResourceProviders(resourceProviders);`,
|
|
128
|
+
`serverContext.viewRegistry.addViewProviders(viewProviders);`,
|
|
129
|
+
`serverContext.viewRegistry.addViewTransformers(viewTransformers);`,
|
|
130
|
+
`serverContext.assetRegistry.addAssetProviders(assetProviders);`,
|
|
131
|
+
`serverContext.assetRegistry.addAssetTransformers(assetTransformers);`,
|
|
132
|
+
`export default serverContext;`
|
|
133
|
+
].join("\n");
|
|
134
|
+
}
|
|
135
|
+
function generateServerSource(target) {
|
|
136
|
+
if (target !== "lambda") {
|
|
137
|
+
throw `Unsupported server build target: ${target}`;
|
|
138
|
+
}
|
|
139
|
+
return [
|
|
140
|
+
`/* This module is generated */`,
|
|
141
|
+
`import { createHandler } from '@lwrjs/lambda';`,
|
|
142
|
+
`import build from './lwr.build.js';`,
|
|
143
|
+
`const handler = createHandler(build);`,
|
|
144
|
+
`export { handler as get };`
|
|
145
|
+
].join("\n");
|
|
146
|
+
}
|
|
147
|
+
async function bundleServer(entryPoint, outputPath) {
|
|
148
|
+
await import_esbuild.default.build({
|
|
149
|
+
entryPoints: [entryPoint],
|
|
150
|
+
bundle: true,
|
|
151
|
+
sourcemap: true,
|
|
152
|
+
logLevel: "silent",
|
|
153
|
+
external: [
|
|
154
|
+
"node:*",
|
|
155
|
+
"fsevents",
|
|
156
|
+
"iltorb",
|
|
157
|
+
"esbuild*",
|
|
158
|
+
"esinstall",
|
|
159
|
+
"jsonc-parser",
|
|
160
|
+
"node-fetch",
|
|
161
|
+
"rollup",
|
|
162
|
+
"rollup-plugin-node-polyfills",
|
|
163
|
+
"@lwrjs/config",
|
|
164
|
+
"@lwrjs/loader"
|
|
165
|
+
],
|
|
166
|
+
format: "cjs",
|
|
167
|
+
platform: "node",
|
|
168
|
+
outfile: outputPath
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
async function buildServer(configArg, options) {
|
|
172
|
+
const config = (0, import_config.normalizeConfig)(configArg, {skipDirNormalization: true, skipCacheDirCreation: true});
|
|
173
|
+
const {appConfig, runtimeEnvironment, globalData} = await (0, import_configurations.resolveConfigurations)(config);
|
|
174
|
+
const metadata = getBuildMetadata(appConfig);
|
|
175
|
+
const serverContext = generateServerContextModule(appConfig, runtimeEnvironment, globalData, metadata);
|
|
176
|
+
const outputDir = import_path.default.join(appConfig.rootDir, options?.outputDir || "/build");
|
|
177
|
+
const serverSource = generateServerSource(options?.target || "lambda");
|
|
178
|
+
await import_fs_extra.default.ensureDir(outputDir);
|
|
179
|
+
await import_fs_extra.default.writeFile(import_path.default.join(outputDir, "lwr.build.js"), serverContext);
|
|
180
|
+
await import_fs_extra.default.writeFile(import_path.default.join(outputDir, "entry.js"), serverSource);
|
|
181
|
+
await bundleServer(import_path.default.join(outputDir, "entry.js"), import_path.default.join(outputDir, "ssr.js"));
|
|
182
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NormalizedLwrGlobalConfig, RuntimeEnvironment, GlobalData } from '@lwrjs/types';
|
|
2
|
+
interface Configurations {
|
|
3
|
+
appConfig: NormalizedLwrGlobalConfig;
|
|
4
|
+
globalData: GlobalData;
|
|
5
|
+
runtimeEnvironment: RuntimeEnvironment;
|
|
6
|
+
}
|
|
7
|
+
export declare function resolveConfigurations(config: NormalizedLwrGlobalConfig): Promise<Configurations>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=configurations.d.ts.map
|