@lwrjs/core 0.11.1 → 0.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,7 +34,7 @@ function requestProcessorMiddleware(app, context) {
34
34
  app.use(async (req, _res, next) => {
35
35
  let requestClass;
36
36
  if (req.headers) {
37
- if (import_diagnostics.logger.currentLevel === "debug" || import_diagnostics.logger.currentLevel == "verbose") {
37
+ if (import_diagnostics.logger.isDebugEnabled()) {
38
38
  for (const headerName in req.headers) {
39
39
  import_diagnostics.logger.debug(`[request-processor-middleware] Header ${headerName}: ${req.headers[headerName]}`);
40
40
  }
@@ -47,9 +47,9 @@ function createViewMiddleware(route, errorRoutes, context, viewHandler) {
47
47
  res.send(import_diagnostics.descriptions.UNRESOLVABLE.INVALID_JSON().message);
48
48
  return;
49
49
  }
50
- const {runtimeEnvironment, runtimeParams} = req.getRuntimeContext(context.runtimeEnvironment);
51
- if (!runtimeParams.environment && environmentConfig?.default) {
52
- runtimeParams.environment = environmentConfig.default;
50
+ const {runtimeEnvironment, runtimeParams: defaultRuntimeParams} = req.getRuntimeContext(context.runtimeEnvironment);
51
+ if (!defaultRuntimeParams.environment && environmentConfig?.default) {
52
+ defaultRuntimeParams.environment = environmentConfig.default;
53
53
  }
54
54
  const viewRequest = {
55
55
  url: req.originalUrl,
@@ -57,6 +57,12 @@ function createViewMiddleware(route, errorRoutes, context, viewHandler) {
57
57
  query: req.query,
58
58
  requestPath: req.path
59
59
  };
60
+ const runtimeParams = {
61
+ ...defaultRuntimeParams,
62
+ url: viewRequest.url,
63
+ params: viewRequest.params,
64
+ query: viewRequest.query
65
+ };
60
66
  const resolve = req.isJsonRequest() ? viewHandler.getViewJson : viewHandler.getViewContent;
61
67
  let viewResponse;
62
68
  let resolvedRoute;
@@ -93,9 +99,11 @@ function createViewMiddleware(route, errorRoutes, context, viewHandler) {
93
99
  if (viewResponse.headers) {
94
100
  res.set(viewResponse.headers);
95
101
  }
96
- const cacheTtl = (0, import_shared_utils.shortestTtl)(viewResponse.cache?.ttl, resolvedRoute.cache?.ttl);
97
- if (cacheTtl) {
98
- res.setHeader("cache-control", `public, max-age=${cacheTtl}`);
102
+ if (!res.hasHeader("cache-control")) {
103
+ const cacheTtl = (0, import_shared_utils.shortestTtl)(viewResponse.cache?.ttl, resolvedRoute.cache?.ttl);
104
+ if (cacheTtl) {
105
+ res.setHeader("cache-control", `public, max-age=${cacheTtl}`);
106
+ }
99
107
  }
100
108
  const status = resolvedRoute.status || viewResponse.status || 200;
101
109
  res.status(status);
@@ -127,9 +135,11 @@ function createConfigMiddleware(routes, context, viewHandler) {
127
135
  res.status(404).send(import_diagnostics.descriptions.UNRESOLVABLE.VIEW_CONFIG(url).message);
128
136
  return;
129
137
  }
130
- const cacheTtl = (0, import_shared_utils.shortestTtl)(viewResponse.cache?.ttl, route.cache?.ttl);
131
- if (cacheTtl) {
132
- res.setHeader("cache-control", `public, max-age=${cacheTtl}`);
138
+ if (!res.hasHeader("cache-control")) {
139
+ const cacheTtl = (0, import_shared_utils.shortestTtl)(viewResponse.cache?.ttl, route.cache?.ttl);
140
+ if (cacheTtl) {
141
+ res.setHeader("cache-control", `public, max-age=${cacheTtl}`);
142
+ }
133
143
  }
134
144
  res.status(200);
135
145
  res.type("application/javascript");
@@ -32,8 +32,8 @@ var import_network_dispatcher = __toModule(require("./utils/network-dispatcher.c
32
32
  var import_config = __toModule(require("@lwrjs/config"));
33
33
  var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
34
34
  async function warmupServer(config, internalRequestKey) {
35
- if (!import_diagnostics.logger.currentLevel || import_diagnostics.logger.currentLevel == import_diagnostics.WARN || import_diagnostics.logger.currentLevel == import_diagnostics.INFO) {
36
- import_diagnostics.logger.setOptions({dedupe: new Set([import_diagnostics.WARN])});
35
+ if (import_diagnostics.logger.isWarnEnabled()) {
36
+ import_diagnostics.logger.setOptions({dedupe: new Set(["warn"])});
37
37
  }
38
38
  import_diagnostics.logger.info("[Server Warmup] starting");
39
39
  const {basePath, port, routes, staticSiteGenerator} = config;
@@ -40,8 +40,8 @@ var SiteGenerator = class {
40
40
  async buildStaticApplication(config, dispatcher) {
41
41
  const startTime = import_perf_hooks.performance.now();
42
42
  import_diagnostics.logger.info("[SSG] Static Site Generation");
43
- if (!import_diagnostics.logger.currentLevel || import_diagnostics.logger.currentLevel == import_diagnostics.WARN || import_diagnostics.logger.currentLevel == import_diagnostics.INFO) {
44
- import_diagnostics.logger.setOptions({dedupe: new Set([import_diagnostics.WARN])});
43
+ if (import_diagnostics.logger.isWarnEnabled()) {
44
+ import_diagnostics.logger.setOptions({dedupe: new Set(["warn"])});
45
45
  }
46
46
  const {assets, basePath, rootDir, routes, staticSiteGenerator} = config;
47
47
  if (!staticSiteGenerator.outputDir) {
@@ -73,7 +73,7 @@ var NetworkDispatcher = class {
73
73
  const jsonResponse = JSON.parse(body);
74
74
  resolve(jsonResponse);
75
75
  } catch (err) {
76
- if (import_diagnostics.logger.currentLevel == import_diagnostics.DEBUG || import_diagnostics.logger.currentLevel == import_diagnostics.VERBOSE) {
76
+ if (import_diagnostics.logger.isDebugEnabled()) {
77
77
  import_diagnostics.logger.warn(`[NetworkDispatcher] unexpected response body: [${method}][${lang}] ${url}: '${body}'`, err);
78
78
  } else {
79
79
  import_diagnostics.logger.warn(`[NetworkDispatcher] unexpected response body: [${method}][${lang}] ${url}: '${body}'`);
@@ -96,7 +96,7 @@ var NetworkDispatcher = class {
96
96
  });
97
97
  });
98
98
  req.on("error", (err) => {
99
- if (import_diagnostics.logger.currentLevel == import_diagnostics.DEBUG || import_diagnostics.logger.currentLevel == import_diagnostics.VERBOSE) {
99
+ if (import_diagnostics.logger.isDebugEnabled()) {
100
100
  import_diagnostics.logger.warn(`[NetworkDispatcher] Request Failed: [${method}][${lang}] ${url}`, err);
101
101
  } else {
102
102
  import_diagnostics.logger.warn(`[NetworkDispatcher] Request Failed: [${method}][${lang}] ${url}`);
@@ -15,7 +15,7 @@ export function requestProcessorMiddleware(app, context) {
15
15
  let requestClass;
16
16
  if (req.headers) {
17
17
  // If debug print log all the headers
18
- if (logger.currentLevel === 'debug' || logger.currentLevel == 'verbose') {
18
+ if (logger.isDebugEnabled()) {
19
19
  // Loop through and print each header
20
20
  for (const headerName in req.headers) {
21
21
  logger.debug(`[request-processor-middleware] Header ${headerName}: ${req.headers[headerName]}`);
@@ -19,10 +19,10 @@ function createViewMiddleware(route, errorRoutes, context, viewHandler) {
19
19
  res.send(descriptions.UNRESOLVABLE.INVALID_JSON().message);
20
20
  return;
21
21
  }
22
- const { runtimeEnvironment, runtimeParams } = req.getRuntimeContext(context.runtimeEnvironment);
22
+ const { runtimeEnvironment, runtimeParams: defaultRuntimeParams } = req.getRuntimeContext(context.runtimeEnvironment);
23
23
  // set the default environment if an environment is configured in the app config
24
- if (!runtimeParams.environment && environmentConfig?.default) {
25
- runtimeParams.environment = environmentConfig.default;
24
+ if (!defaultRuntimeParams.environment && environmentConfig?.default) {
25
+ defaultRuntimeParams.environment = environmentConfig.default;
26
26
  }
27
27
  const viewRequest = {
28
28
  url: req.originalUrl,
@@ -30,6 +30,13 @@ function createViewMiddleware(route, errorRoutes, context, viewHandler) {
30
30
  query: req.query,
31
31
  requestPath: req.path,
32
32
  };
33
+ // Augment runtime params with viewRequest info
34
+ const runtimeParams = {
35
+ ...defaultRuntimeParams,
36
+ url: viewRequest.url,
37
+ params: viewRequest.params,
38
+ query: viewRequest.query,
39
+ };
33
40
  const resolve = req.isJsonRequest() ? viewHandler.getViewJson : viewHandler.getViewContent;
34
41
  let viewResponse;
35
42
  let resolvedRoute;
@@ -71,9 +78,11 @@ function createViewMiddleware(route, errorRoutes, context, viewHandler) {
71
78
  res.set(viewResponse.headers);
72
79
  }
73
80
  // pick the shortest TTL between the view response and route object
74
- const cacheTtl = shortestTtl(viewResponse.cache?.ttl, resolvedRoute.cache?.ttl);
75
- if (cacheTtl) {
76
- res.setHeader('cache-control', `public, max-age=${cacheTtl}`);
81
+ if (!res.hasHeader('cache-control')) {
82
+ const cacheTtl = shortestTtl(viewResponse.cache?.ttl, resolvedRoute.cache?.ttl);
83
+ if (cacheTtl) {
84
+ res.setHeader('cache-control', `public, max-age=${cacheTtl}`);
85
+ }
77
86
  }
78
87
  const status = resolvedRoute.status || viewResponse.status || 200;
79
88
  res.status(status);
@@ -108,9 +117,11 @@ function createConfigMiddleware(routes, context, viewHandler) {
108
117
  return;
109
118
  }
110
119
  // Pick the shortest TTL between the view response and route object
111
- const cacheTtl = shortestTtl(viewResponse.cache?.ttl, route.cache?.ttl);
112
- if (cacheTtl) {
113
- res.setHeader('cache-control', `public, max-age=${cacheTtl}`);
120
+ if (!res.hasHeader('cache-control')) {
121
+ const cacheTtl = shortestTtl(viewResponse.cache?.ttl, route.cache?.ttl);
122
+ if (cacheTtl) {
123
+ res.setHeader('cache-control', `public, max-age=${cacheTtl}`);
124
+ }
114
125
  }
115
126
  res.status(200);
116
127
  res.type('application/javascript');
@@ -2,11 +2,11 @@ import SiteGenerator from './static-generation.js';
2
2
  import { skipDirCreation } from './utils/dir.js';
3
3
  import NetworkDispatcher from './utils/network-dispatcher.js';
4
4
  import { getRuntimeEnvironment } from '@lwrjs/config';
5
- import { logger, WARN, INFO } from '@lwrjs/diagnostics';
5
+ import { logger } from '@lwrjs/diagnostics';
6
6
  export async function warmupServer(config, internalRequestKey) {
7
7
  // De-duplicate warming messages if log level is warn or info
8
- if (!logger.currentLevel || logger.currentLevel == WARN || logger.currentLevel == INFO) {
9
- logger.setOptions({ dedupe: new Set([WARN]) });
8
+ if (logger.isWarnEnabled()) {
9
+ logger.setOptions({ dedupe: new Set(['warn']) });
10
10
  }
11
11
  logger.info('[Server Warmup] starting');
12
12
  const { basePath, port, routes, staticSiteGenerator } = config;
@@ -1,5 +1,5 @@
1
1
  import { performance } from 'perf_hooks';
2
- import { logger, WARN, INFO } from '@lwrjs/diagnostics';
2
+ import { logger } from '@lwrjs/diagnostics';
3
3
  import { getSpecifier, getFeatureFlags, hashContent, isSelfUrl, getModuleUriPrefix, getMappingUriPrefix, isExternalUrl, mimeLookup, getViewUri, sortLocalesByFallback, } from '@lwrjs/shared-utils';
4
4
  import { SiteMetadataImpl } from '@lwrjs/static/site-metadata';
5
5
  import { join, dirname, extname, normalize } from 'path';
@@ -21,8 +21,8 @@ export default class SiteGenerator {
21
21
  const startTime = performance.now();
22
22
  logger.info('[SSG] Static Site Generation');
23
23
  // De-duplicate warming messages if log level is warn or info
24
- if (!logger.currentLevel || logger.currentLevel == WARN || logger.currentLevel == INFO) {
25
- logger.setOptions({ dedupe: new Set([WARN]) });
24
+ if (logger.isWarnEnabled()) {
25
+ logger.setOptions({ dedupe: new Set(['warn']) });
26
26
  }
27
27
  const { assets, basePath, rootDir, routes, staticSiteGenerator } = config;
28
28
  if (!staticSiteGenerator.outputDir) {
@@ -1,6 +1,6 @@
1
1
  import http from 'http';
2
2
  import https from 'https';
3
- import { logger, DEBUG, VERBOSE } from '@lwrjs/diagnostics';
3
+ import { logger } from '@lwrjs/diagnostics';
4
4
  import { isModuleOrBundleUrl } from '@lwrjs/shared-utils';
5
5
  export default class NetworkDispatcher {
6
6
  constructor(port, internalRequestKey) {
@@ -47,7 +47,7 @@ export default class NetworkDispatcher {
47
47
  resolve(jsonResponse);
48
48
  }
49
49
  catch (err) {
50
- if (logger.currentLevel == DEBUG || logger.currentLevel == VERBOSE) {
50
+ if (logger.isDebugEnabled()) {
51
51
  logger.warn(`[NetworkDispatcher] unexpected response body: [${method}][${lang}] ${url}: '${body}'`, err);
52
52
  }
53
53
  else {
@@ -80,7 +80,7 @@ export default class NetworkDispatcher {
80
80
  });
81
81
  });
82
82
  req.on('error', (err) => {
83
- if (logger.currentLevel == DEBUG || logger.currentLevel == VERBOSE) {
83
+ if (logger.isDebugEnabled()) {
84
84
  logger.warn(`[NetworkDispatcher] Request Failed: [${method}][${lang}] ${url}`, err);
85
85
  }
86
86
  else {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.11.1",
7
+ "version": "0.11.3",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -39,33 +39,33 @@
39
39
  "build": "tsc -b"
40
40
  },
41
41
  "dependencies": {
42
- "@lwrjs/app-service": "0.11.1",
43
- "@lwrjs/asset-registry": "0.11.1",
44
- "@lwrjs/asset-transformer": "0.11.1",
45
- "@lwrjs/base-view-provider": "0.11.1",
46
- "@lwrjs/base-view-transformer": "0.11.1",
47
- "@lwrjs/client-modules": "0.11.1",
48
- "@lwrjs/config": "0.11.1",
49
- "@lwrjs/diagnostics": "0.11.1",
50
- "@lwrjs/esbuild": "0.11.1",
51
- "@lwrjs/fs-asset-provider": "0.11.1",
52
- "@lwrjs/fs-watch": "0.11.1",
53
- "@lwrjs/html-view-provider": "0.11.1",
54
- "@lwrjs/instrumentation": "0.11.1",
55
- "@lwrjs/loader": "0.11.1",
56
- "@lwrjs/lwc-module-provider": "0.11.1",
57
- "@lwrjs/markdown-view-provider": "0.11.1",
58
- "@lwrjs/module-bundler": "0.11.1",
59
- "@lwrjs/module-registry": "0.11.1",
60
- "@lwrjs/npm-module-provider": "0.11.1",
61
- "@lwrjs/nunjucks-view-provider": "0.11.1",
62
- "@lwrjs/o11y": "0.11.1",
63
- "@lwrjs/resource-registry": "0.11.1",
64
- "@lwrjs/router": "0.11.1",
65
- "@lwrjs/server": "0.11.1",
66
- "@lwrjs/shared-utils": "0.11.1",
67
- "@lwrjs/static": "0.11.1",
68
- "@lwrjs/view-registry": "0.11.1",
42
+ "@lwrjs/app-service": "0.11.3",
43
+ "@lwrjs/asset-registry": "0.11.3",
44
+ "@lwrjs/asset-transformer": "0.11.3",
45
+ "@lwrjs/base-view-provider": "0.11.3",
46
+ "@lwrjs/base-view-transformer": "0.11.3",
47
+ "@lwrjs/client-modules": "0.11.3",
48
+ "@lwrjs/config": "0.11.3",
49
+ "@lwrjs/diagnostics": "0.11.3",
50
+ "@lwrjs/esbuild": "0.11.3",
51
+ "@lwrjs/fs-asset-provider": "0.11.3",
52
+ "@lwrjs/fs-watch": "0.11.3",
53
+ "@lwrjs/html-view-provider": "0.11.3",
54
+ "@lwrjs/instrumentation": "0.11.3",
55
+ "@lwrjs/loader": "0.11.3",
56
+ "@lwrjs/lwc-module-provider": "0.11.3",
57
+ "@lwrjs/markdown-view-provider": "0.11.3",
58
+ "@lwrjs/module-bundler": "0.11.3",
59
+ "@lwrjs/module-registry": "0.11.3",
60
+ "@lwrjs/npm-module-provider": "0.11.3",
61
+ "@lwrjs/nunjucks-view-provider": "0.11.3",
62
+ "@lwrjs/o11y": "0.11.3",
63
+ "@lwrjs/resource-registry": "0.11.3",
64
+ "@lwrjs/router": "0.11.3",
65
+ "@lwrjs/server": "0.11.3",
66
+ "@lwrjs/shared-utils": "0.11.3",
67
+ "@lwrjs/static": "0.11.3",
68
+ "@lwrjs/view-registry": "0.11.3",
69
69
  "chokidar": "^3.5.3",
70
70
  "esbuild": "^0.9.7",
71
71
  "fs-extra": "^11.1.1",
@@ -75,11 +75,11 @@
75
75
  "ws": "^8.8.1"
76
76
  },
77
77
  "devDependencies": {
78
- "@lwrjs/types": "0.11.1",
78
+ "@lwrjs/types": "0.11.3",
79
79
  "@types/ws": "^8.5.3"
80
80
  },
81
81
  "peerDependencies": {
82
- "lwc": "2.x || 3.x || 4.x"
82
+ "lwc": ">= 2.x"
83
83
  },
84
84
  "engines": {
85
85
  "node": ">=16.0.0"
@@ -87,5 +87,5 @@
87
87
  "volta": {
88
88
  "extends": "../../../package.json"
89
89
  },
90
- "gitHead": "b7c40fdcd86635dd4e368c0a2e91c5d3374c0fcf"
90
+ "gitHead": "e420814f37150c71850f7f46f20372a33e1bb6d8"
91
91
  }