@lwrjs/core 0.9.0-alpha.1 → 0.9.0-alpha.10

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.
Files changed (78) hide show
  1. package/build/cjs/context/{hooks.cjs → configurations.cjs} +33 -9
  2. package/build/cjs/context/provider.cjs +82 -0
  3. package/build/cjs/context/server.cjs +75 -0
  4. package/build/cjs/context/services.cjs +8 -1
  5. package/build/cjs/index.cjs +39 -139
  6. package/build/cjs/middleware/asset-middleware.cjs +56 -0
  7. package/build/cjs/middleware/bundle-middleware.cjs +114 -0
  8. package/build/cjs/{middlewares → middleware}/hmr-middleware.cjs +4 -4
  9. package/build/cjs/{middlewares → middleware}/locale-middleware.cjs +2 -2
  10. package/build/cjs/middleware/mapping-middleware.cjs +61 -0
  11. package/build/cjs/middleware/module-middleware.cjs +88 -0
  12. package/build/cjs/middleware/redirects/unsigned-module-redirect.cjs +21 -0
  13. package/build/cjs/middleware/resource-middleware.cjs +64 -0
  14. package/build/cjs/middleware/utils/error-handling.cjs +56 -0
  15. package/build/cjs/middleware/utils/identity.cjs +93 -0
  16. package/build/cjs/middleware/utils/metadata.cjs +49 -0
  17. package/build/cjs/{middlewares/utils.cjs → middleware/utils/request.cjs} +17 -16
  18. package/build/cjs/middleware/view-middleware.cjs +154 -0
  19. package/build/cjs/middleware.cjs +43 -0
  20. package/build/cjs/tools/server-build.cjs +182 -0
  21. package/build/cjs/tools/static-generation.cjs +34 -24
  22. package/build/es/context/configurations.d.ts +9 -0
  23. package/build/es/context/configurations.js +53 -0
  24. package/build/es/context/provider.d.ts +3 -0
  25. package/build/es/context/provider.js +38 -0
  26. package/build/es/context/server.d.ts +3 -0
  27. package/build/es/context/server.js +48 -0
  28. package/build/es/context/services.d.ts +2 -7
  29. package/build/es/context/services.js +11 -1
  30. package/build/es/index.d.ts +3 -2
  31. package/build/es/index.js +45 -130
  32. package/build/es/middleware/asset-middleware.d.ts +3 -0
  33. package/build/es/middleware/asset-middleware.js +26 -0
  34. package/build/es/middleware/bundle-middleware.d.ts +3 -0
  35. package/build/es/middleware/bundle-middleware.js +87 -0
  36. package/build/es/middleware/hmr-middleware.d.ts +5 -0
  37. package/build/es/{middlewares → middleware}/hmr-middleware.js +2 -2
  38. package/build/es/middleware/locale-middleware.d.ts +3 -0
  39. package/build/es/{middlewares → middleware}/locale-middleware.js +2 -1
  40. package/build/es/middleware/mapping-middleware.d.ts +3 -0
  41. package/build/es/middleware/mapping-middleware.js +34 -0
  42. package/build/es/middleware/module-middleware.d.ts +3 -0
  43. package/build/es/middleware/module-middleware.js +62 -0
  44. package/build/es/middleware/redirects/unsigned-module-redirect.d.ts +5 -0
  45. package/build/es/middleware/redirects/unsigned-module-redirect.js +10 -0
  46. package/build/es/middleware/resource-middleware.d.ts +3 -0
  47. package/build/es/middleware/resource-middleware.js +37 -0
  48. package/build/es/middleware/utils/error-handling.d.ts +3 -0
  49. package/build/es/middleware/utils/error-handling.js +32 -0
  50. package/build/es/middleware/utils/identity.d.ts +6 -0
  51. package/build/es/middleware/utils/identity.js +64 -0
  52. package/build/es/middleware/utils/metadata.d.ts +3 -0
  53. package/build/es/middleware/utils/metadata.js +28 -0
  54. package/build/es/middleware/utils/request.d.ts +15 -0
  55. package/build/es/{middlewares/utils.js → middleware/utils/request.js} +15 -23
  56. package/build/es/middleware/view-middleware.d.ts +3 -0
  57. package/build/es/middleware/view-middleware.js +139 -0
  58. package/build/es/middleware.d.ts +9 -0
  59. package/build/es/middleware.js +13 -0
  60. package/build/es/tools/server-build.d.ts +14 -0
  61. package/build/es/tools/server-build.js +182 -0
  62. package/build/es/tools/static-generation.js +50 -34
  63. package/build/es/tools/types.d.ts +1 -0
  64. package/package.json +34 -30
  65. package/build/cjs/middlewares/api-middleware.cjs +0 -359
  66. package/build/cjs/middlewares/base-middleware.cjs +0 -15
  67. package/build/cjs/middlewares/ui-middleware.cjs +0 -183
  68. package/build/es/context/hooks.d.ts +0 -9
  69. package/build/es/context/hooks.js +0 -36
  70. package/build/es/middlewares/api-middleware.d.ts +0 -3
  71. package/build/es/middlewares/api-middleware.js +0 -410
  72. package/build/es/middlewares/base-middleware.d.ts +0 -3
  73. package/build/es/middlewares/base-middleware.js +0 -4
  74. package/build/es/middlewares/hmr-middleware.d.ts +0 -5
  75. package/build/es/middlewares/locale-middleware.d.ts +0 -3
  76. package/build/es/middlewares/ui-middleware.d.ts +0 -3
  77. package/build/es/middlewares/ui-middleware.js +0 -186
  78. package/build/es/middlewares/utils.d.ts +0 -22
@@ -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/hooks.ts
24
+ // packages/@lwrjs/core/src/context/configurations.ts
25
25
  __markAsModule(exports);
26
26
  __export(exports, {
27
- runConfigurationsHook: () => runConfigurationsHook
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, lwrConfig, dataConfig, runtimeConfig) {
40
+ async function runConfigurationsHook(hookPlugins, appConfig, globalData, runtimeEnvironment) {
39
41
  for (const hookPlugin of hookPlugins) {
40
- await hookPlugin.initConfigs(lwrConfig, dataConfig, runtimeConfig);
42
+ await hookPlugin.initConfigs(appConfig, globalData, runtimeEnvironment);
41
43
  }
42
44
  try {
43
- (0, import_config.validateLwrAppConfig)(JSON.stringify(lwrConfig), "post");
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(lwrConfig);
54
+ normalizeRoutesBootstrap(appConfig);
53
55
  return {
54
- lwrConfig,
55
- dataConfig,
56
- runtimeConfig
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
- getServiceModule: () => getServiceModule
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
+ }
@@ -25,162 +25,61 @@ 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 import_compiler = __toModule(require("@lwrjs/compiler"));
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
- var import_locale_middleware = __toModule(require("./middlewares/locale-middleware.cjs"));
42
- var import_api_middleware = __toModule(require("./middlewares/api-middleware.cjs"));
43
- var import_ui_middleware = __toModule(require("./middlewares/ui-middleware.cjs"));
44
- 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
- var import_base_middleware = __toModule(require("./middlewares/base-middleware.cjs"));
48
- var import_server = __toModule(require("@lwrjs/server"));
49
36
  var import_services = __toModule(require("./context/services.cjs"));
37
+ var import_configurations = __toModule(require("./context/configurations.cjs"));
38
+ var import_provider = __toModule(require("./context/provider.cjs"));
39
+ var import_server2 = __toModule(require("./context/server.cjs"));
50
40
  var import_static_generation = __toModule(require("./tools/static-generation.cjs"));
51
41
  var import_server_warmup = __toModule(require("./tools/server-warmup.cjs"));
52
- async function getServices(services, providerContext, lwrConfig) {
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
- }
59
- function initMiddlewares(app, server, serverContext) {
60
- (0, import_base_middleware.default)(app, serverContext);
61
- (0, import_locale_middleware.default)(app, serverContext);
62
- (0, import_api_middleware.default)(app, serverContext);
63
- (0, import_ui_middleware.default)(app, serverContext);
42
+ var import_locale_middleware = __toModule(require("./middleware/locale-middleware.cjs"));
43
+ var import_module_middleware = __toModule(require("./middleware/module-middleware.cjs"));
44
+ var import_bundle_middleware = __toModule(require("./middleware/bundle-middleware.cjs"));
45
+ var import_mapping_middleware = __toModule(require("./middleware/mapping-middleware.cjs"));
46
+ var import_asset_middleware = __toModule(require("./middleware/asset-middleware.cjs"));
47
+ var import_view_middleware = __toModule(require("./middleware/view-middleware.cjs"));
48
+ var import_resource_middleware = __toModule(require("./middleware/resource-middleware.cjs"));
49
+ var import_hmr_middleware = __toModule(require("./middleware/hmr-middleware.cjs"));
50
+ var import_server_build = __toModule(require("./tools/server-build.cjs"));
51
+ function initMiddleware(app, server, serverContext) {
52
+ app.useCompression();
53
+ (0, import_locale_middleware.localeMiddleware)(app, serverContext);
54
+ (0, import_module_middleware.moduleMiddleware)(app, serverContext);
55
+ (0, import_bundle_middleware.bundleMiddleware)(app, serverContext);
56
+ (0, import_mapping_middleware.mappingMiddleware)(app, serverContext);
57
+ (0, import_asset_middleware.assetMiddleware)(app, serverContext);
58
+ (0, import_resource_middleware.resourceMiddleware)(app, serverContext);
59
+ (0, import_view_middleware.viewMiddleware)(app, serverContext);
60
+ app.initRoutes();
64
61
  if (serverContext.runtimeEnvironment.hmrEnabled) {
65
- (0, import_hmr_middleware.default)(server, serverContext);
62
+ (0, import_hmr_middleware.hmrMiddleware)(server, serverContext);
66
63
  }
67
64
  }
68
- async function initContext(app, server, rawLwrConfig) {
69
- const {apiVersion, basePath, lwrVersion, serverMode, globalDataDir, globalData} = rawLwrConfig;
70
- const rawDataConfig = (0, import_global_data.getGlobalData)(globalDataDir, globalData);
71
- const rawRuntimeEnvConfig = {
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 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);
65
+ async function initContext(app, server, rawAppConfig) {
66
+ const {appConfig, runtimeEnvironment, globalData} = await (0, import_configurations.resolveConfigurations)(rawAppConfig);
67
+ const serverContext = (0, import_server2.createServerContext)(appConfig, runtimeEnvironment, globalData);
68
+ const providerContext = (0, import_provider.createProviderContext)(serverContext);
69
+ const {moduleRegistry, resourceRegistry, viewRegistry, assetRegistry} = serverContext;
70
+ const moduleProviders = await (0, import_services.getServices)(appConfig.moduleProviders, providerContext, appConfig);
174
71
  moduleRegistry.addModuleProviders(moduleProviders);
175
- const resourceProviders = await getServices(lwrConfig.resourceProviders, providerContext, lwrConfig);
72
+ const resourceProviders = await (0, import_services.getServices)(appConfig.resourceProviders, providerContext, appConfig);
176
73
  resourceRegistry.addResourceProviders(resourceProviders);
177
- const viewProviders = await getServices(lwrConfig.viewProviders, providerContext, lwrConfig);
178
- const viewTransformers = await getServices(rawLwrConfig.viewTransformers, providerContext, rawLwrConfig);
74
+ const viewProviders = await (0, import_services.getServices)(appConfig.viewProviders, providerContext, appConfig);
75
+ const viewTransformers = await (0, import_services.getServices)(appConfig.viewTransformers, providerContext, rawAppConfig);
179
76
  viewRegistry.addViewProviders(viewProviders);
180
77
  viewRegistry.addViewTransformers(viewTransformers);
181
78
  await viewRegistry.initializeViewProviders();
182
- const assetProviders = await getServices(lwrConfig.assetProviders, providerContext, lwrConfig);
79
+ const assetProviders = await (0, import_services.getServices)(appConfig.assetProviders, providerContext, appConfig);
80
+ const assetTransformers = await (0, import_services.getServices)(appConfig.assetTransformers, void 0, appConfig);
183
81
  assetRegistry.addAssetProviders(assetProviders);
82
+ assetRegistry.addAssetTransformers(assetTransformers);
184
83
  return serverContext;
185
84
  }
186
85
  var LwrApp = class {
@@ -202,7 +101,7 @@ var LwrApp = class {
202
101
  this.initialized = true;
203
102
  try {
204
103
  const context = await initContext(this.app, this.server, this.config);
205
- initMiddlewares(this.app, this.server, context);
104
+ initMiddleware(this.app, this.server, context);
206
105
  } catch (e) {
207
106
  this.initialized = false;
208
107
  throw e;
@@ -271,6 +170,7 @@ async function generateStaticSite(config) {
271
170
  await lwrApp.init();
272
171
  const dispatcher = lwrApp.getInternalServer();
273
172
  await new import_static_generation.default().buildStaticApplication(lwrApp.getConfig(), dispatcher);
173
+ return lwrApp.getConfig();
274
174
  }
275
175
  function overrideConfigAsSrc(lwrApp) {
276
176
  if (!(0, import_shared_utils.getFeatureFlags)().LEGACY_LOADER) {
@@ -0,0 +1,56 @@
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, 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 asset = await assetRegistry.getAsset({...assetId, signature}, runtimeEnvironment, req.isSiteGeneration());
44
+ if (req.isSiteGeneration()) {
45
+ res.setSiteGenerationMetadata({asset});
46
+ }
47
+ if (asset.mime) {
48
+ res.type(asset.mime);
49
+ }
50
+ res.status(200).stream(asset.stream());
51
+ };
52
+ }
53
+ function assetMiddleware(app, context) {
54
+ const paths = context.appConfig.assets.map((a) => a.urlPath + app.getRegexWildcard());
55
+ app.get([...paths, "/:apiVersion/:assetType/:immutable?/s/:signature/" + app.getRegexWildcard()], (0, import_error_handling.handleErrors)(createAssetMiddleware(context)));
56
+ }
@@ -0,0 +1,114 @@
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 unsignedRedirect = (0, import_unsigned_module_redirect.createUnsignedModuleRedirect)(moduleRegistry);
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 unsignedRedirect(req, res, moduleId, runtimeEnvironment, runtimeParams);
55
+ return;
56
+ }
57
+ const sourceMapUrl = req.path.replace("/bundle/", "/sourcemaps/bundle/");
58
+ const sourceMapRuntimeContext = {...runtimeEnvironment, sourceMapUrl};
59
+ const bundleDefinition = await moduleBundler.getModuleBundle(moduleId, sourceMapRuntimeContext, runtimeParams);
60
+ if (req.isSiteGeneration()) {
61
+ res.setSiteGenerationMetadata({
62
+ moduleDefinition: bundleDefinition,
63
+ resolvedUris: await (0, import_metadata.normalizeResolvedUris)(bundleDefinition, runtimeEnvironment, runtimeParams, moduleRegistry)
64
+ });
65
+ }
66
+ if (signature !== import_shared_utils.LATEST_SIGNATURE) {
67
+ res.setHeader("Cache-control", "public, max-age=31536000, immutable");
68
+ }
69
+ res.status(200).type("application/javascript").send(bundleDefinition.code);
70
+ };
71
+ }
72
+ function createSourceMapMiddleware(context) {
73
+ const {moduleBundler} = context;
74
+ return async (req, res) => {
75
+ if (!req.validateEnvironmentRequest(context.appConfig)) {
76
+ res.status(400);
77
+ res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_ENVIRONMENT(req.params.environment).message);
78
+ return;
79
+ }
80
+ const {runtimeEnvironment} = req.getRuntimeContext(context.runtimeEnvironment);
81
+ const {moduleId, signature} = (0, import_identity.getModuleIdentity)(req);
82
+ const bundleDef = await moduleBundler.getModuleBundle(moduleId, runtimeEnvironment);
83
+ if (signature !== import_shared_utils.LATEST_SIGNATURE) {
84
+ res.setHeader("Cache-control", "public, max-age=31536000, immutable");
85
+ }
86
+ res.status(200).type("application/json").send(bundleDef.map);
87
+ };
88
+ }
89
+ function bundleMiddleware(app, context) {
90
+ app.get([
91
+ `/:apiVersion/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
92
+ `/:apiVersion/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
93
+ `/:apiVersion/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
94
+ `/:apiVersion/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
95
+ `/:apiVersion/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
96
+ `/:apiVersion/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
97
+ `/:apiVersion/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
98
+ `/:apiVersion/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
99
+ `/:apiVersion/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier`,
100
+ `/:apiVersion/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier`,
101
+ `/:apiVersion/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier`,
102
+ `/:apiVersion/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier`
103
+ ], (0, import_error_handling.handleErrors)(createBundleMiddleware(context)));
104
+ app.get([
105
+ `/:apiVersion/sourcemaps/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
106
+ `/:apiVersion/sourcemaps/bundle/:format/:compat?/l/:locale/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
107
+ `/:apiVersion/sourcemaps/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
108
+ `/:apiVersion/sourcemaps/bundle/:format/:compat?/l/:locale/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
109
+ `/:apiVersion/sourcemaps/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
110
+ `/:apiVersion/sourcemaps/bundle/:format/:compat?/e/:environment/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`,
111
+ `/:apiVersion/sourcemaps/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier/latest/:prettyUrl?`,
112
+ `/:apiVersion/sourcemaps/bundle/:format/:compat?/bi/:bundleSpecifier/module/mi/:specifier/s/:signature/:prettyUrl?`
113
+ ], (0, import_error_handling.handleErrors)(createSourceMapMiddleware(context)));
114
+ }