@lwrjs/core 0.13.1 → 0.13.2

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.
@@ -55,11 +55,11 @@ function initMiddleware(app, server, serverContext) {
55
55
  (0, import_mapping_middleware.mappingMiddleware)(app, serverContext);
56
56
  (0, import_asset_middleware.assetMiddleware)(app, serverContext);
57
57
  (0, import_resource_middleware.resourceMiddleware)(app, serverContext);
58
- (0, import_view_middleware.viewMiddleware)(app, serverContext);
59
- app.initRoutes();
60
58
  if (serverContext.runtimeEnvironment.hmrEnabled) {
61
- (0, import_hmr_middleware.hmrMiddleware)(server, serverContext);
59
+ (0, import_hmr_middleware.hmrMiddleware)(server, serverContext, app);
62
60
  }
61
+ (0, import_view_middleware.viewMiddleware)(app, serverContext);
62
+ app.initRoutes();
63
63
  }
64
64
  function createServices(entries, providerContext) {
65
65
  return entries.map(([ctor, providerConfig = {}]) => new ctor(providerConfig, providerContext));
@@ -31,6 +31,7 @@ var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
31
31
  var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
32
32
  var import_request = __toModule(require("./utils/request.cjs"));
33
33
  var hmr;
34
+ var HMR_URI = "/:apiVersion/hmr/:format/:compat";
34
35
  var Hmr = class {
35
36
  constructor(server, context) {
36
37
  this.server = server;
@@ -47,7 +48,7 @@ var Hmr = class {
47
48
  const connectedClients = new Map();
48
49
  this.connectedClients = connectedClients;
49
50
  wss.on("connection", function connection(ws, req) {
50
- const request = (0, import_request.getRequestProperties)("/:apiVersion/hmr/:format/:compat", req);
51
+ const request = (0, import_request.getRequestProperties)(HMR_URI, req);
51
52
  if (request) {
52
53
  const {params, query} = request;
53
54
  const {format, compat} = params;
@@ -136,7 +137,8 @@ var Hmr = class {
136
137
  }
137
138
  }
138
139
  };
139
- function hmrMiddleware(server, context) {
140
+ function hmrMiddleware(server, context, app) {
141
+ app.get(HMR_URI, (_, res) => res.send("hello HMR!"));
140
142
  hmr = new Hmr(server, context);
141
143
  hmr.setupHotModuleReload();
142
144
  }
package/build/es/index.js CHANGED
@@ -26,15 +26,15 @@ function initMiddleware(app, server, serverContext) {
26
26
  mappingMiddleware(app, serverContext);
27
27
  assetMiddleware(app, serverContext);
28
28
  resourceMiddleware(app, serverContext);
29
+ // attach before the view middleware, so HMR polling is not treated as a view request
30
+ if (serverContext.runtimeEnvironment.hmrEnabled) {
31
+ hmrMiddleware(server, serverContext, app);
32
+ }
29
33
  // view middleware MUST be attached last because it contains a greedy middleware
30
34
  // to handle unsupported routes
31
35
  viewMiddleware(app, serverContext);
32
36
  // initialize routes MUST be called when using koa
33
37
  app.initRoutes();
34
- // hmr uses web sockets, so it doesn't matter when this is attached
35
- if (serverContext.runtimeEnvironment.hmrEnabled) {
36
- hmrMiddleware(server, serverContext);
37
- }
38
38
  }
39
39
  function createServices(entries, providerContext) {
40
40
  return entries.map(([ctor, providerConfig = {}]) => new ctor(providerConfig, providerContext));
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import type { ServerContext } from '@lwrjs/types';
2
+ import type { ServerContext, InternalAppServer, ServerTypes } from '@lwrjs/types';
3
3
  import type http from 'http';
4
- export declare function hmrMiddleware(server: http.Server, context: ServerContext): void;
4
+ export declare function hmrMiddleware<T extends ServerTypes>(server: http.Server, context: ServerContext, app: InternalAppServer<T>): void;
5
5
  //# sourceMappingURL=hmr-middleware.d.ts.map
@@ -3,6 +3,7 @@ import { logger } from '@lwrjs/diagnostics';
3
3
  import { getCacheKeyFromJson } from '@lwrjs/shared-utils';
4
4
  import { getRequestProperties } from './utils/request.js';
5
5
  let hmr;
6
+ const HMR_URI = '/:apiVersion/hmr/:format/:compat';
6
7
  class Hmr {
7
8
  constructor(server, context) {
8
9
  this.server = server;
@@ -19,7 +20,7 @@ class Hmr {
19
20
  const connectedClients = new Map();
20
21
  this.connectedClients = connectedClients;
21
22
  wss.on('connection', function connection(ws, req) {
22
- const request = getRequestProperties('/:apiVersion/hmr/:format/:compat', req);
23
+ const request = getRequestProperties(HMR_URI, req);
23
24
  // only accept connections on the /:apiVersion/hmr/:format/:compat endpoint
24
25
  if (request) {
25
26
  const { params, query } = request;
@@ -102,7 +103,8 @@ class Hmr {
102
103
  }
103
104
  }
104
105
  }
105
- export function hmrMiddleware(server, context) {
106
+ export function hmrMiddleware(server, context, app) {
107
+ app.get(HMR_URI, (_, res) => res.send('hello HMR!')); // handle polling from the HMR client
106
108
  hmr = new Hmr(server, context);
107
109
  hmr.setupHotModuleReload();
108
110
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.13.1",
7
+ "version": "0.13.2",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -43,34 +43,34 @@
43
43
  "build": "tsc -b"
44
44
  },
45
45
  "dependencies": {
46
- "@lwrjs/app-service": "0.13.1",
47
- "@lwrjs/asset-registry": "0.13.1",
48
- "@lwrjs/asset-transformer": "0.13.1",
49
- "@lwrjs/base-view-provider": "0.13.1",
50
- "@lwrjs/base-view-transformer": "0.13.1",
51
- "@lwrjs/client-modules": "0.13.1",
52
- "@lwrjs/config": "0.13.1",
53
- "@lwrjs/diagnostics": "0.13.1",
54
- "@lwrjs/esbuild": "0.13.1",
55
- "@lwrjs/fs-asset-provider": "0.13.1",
56
- "@lwrjs/fs-watch": "0.13.1",
57
- "@lwrjs/html-view-provider": "0.13.1",
58
- "@lwrjs/instrumentation": "0.13.1",
59
- "@lwrjs/loader": "0.13.1",
60
- "@lwrjs/lwc-module-provider": "0.13.1",
61
- "@lwrjs/lwc-ssr": "0.13.1",
62
- "@lwrjs/markdown-view-provider": "0.13.1",
63
- "@lwrjs/module-bundler": "0.13.1",
64
- "@lwrjs/module-registry": "0.13.1",
65
- "@lwrjs/npm-module-provider": "0.13.1",
66
- "@lwrjs/nunjucks-view-provider": "0.13.1",
67
- "@lwrjs/o11y": "0.13.1",
68
- "@lwrjs/resource-registry": "0.13.1",
69
- "@lwrjs/router": "0.13.1",
70
- "@lwrjs/server": "0.13.1",
71
- "@lwrjs/shared-utils": "0.13.1",
72
- "@lwrjs/static": "0.13.1",
73
- "@lwrjs/view-registry": "0.13.1",
46
+ "@lwrjs/app-service": "0.13.2",
47
+ "@lwrjs/asset-registry": "0.13.2",
48
+ "@lwrjs/asset-transformer": "0.13.2",
49
+ "@lwrjs/base-view-provider": "0.13.2",
50
+ "@lwrjs/base-view-transformer": "0.13.2",
51
+ "@lwrjs/client-modules": "0.13.2",
52
+ "@lwrjs/config": "0.13.2",
53
+ "@lwrjs/diagnostics": "0.13.2",
54
+ "@lwrjs/esbuild": "0.13.2",
55
+ "@lwrjs/fs-asset-provider": "0.13.2",
56
+ "@lwrjs/fs-watch": "0.13.2",
57
+ "@lwrjs/html-view-provider": "0.13.2",
58
+ "@lwrjs/instrumentation": "0.13.2",
59
+ "@lwrjs/loader": "0.13.2",
60
+ "@lwrjs/lwc-module-provider": "0.13.2",
61
+ "@lwrjs/lwc-ssr": "0.13.2",
62
+ "@lwrjs/markdown-view-provider": "0.13.2",
63
+ "@lwrjs/module-bundler": "0.13.2",
64
+ "@lwrjs/module-registry": "0.13.2",
65
+ "@lwrjs/npm-module-provider": "0.13.2",
66
+ "@lwrjs/nunjucks-view-provider": "0.13.2",
67
+ "@lwrjs/o11y": "0.13.2",
68
+ "@lwrjs/resource-registry": "0.13.2",
69
+ "@lwrjs/router": "0.13.2",
70
+ "@lwrjs/server": "0.13.2",
71
+ "@lwrjs/shared-utils": "0.13.2",
72
+ "@lwrjs/static": "0.13.2",
73
+ "@lwrjs/view-registry": "0.13.2",
74
74
  "chokidar": "^3.6.0",
75
75
  "esbuild": "^0.9.7",
76
76
  "fs-extra": "^11.2.0",
@@ -80,7 +80,7 @@
80
80
  "ws": "^8.18.0"
81
81
  },
82
82
  "devDependencies": {
83
- "@lwrjs/types": "0.13.1",
83
+ "@lwrjs/types": "0.13.2",
84
84
  "@types/ws": "^8.5.10",
85
85
  "mock-fs": "^5.2.0"
86
86
  },
@@ -93,5 +93,5 @@
93
93
  "volta": {
94
94
  "extends": "../../../package.json"
95
95
  },
96
- "gitHead": "548b27ed22f5bfba7031d6b356d64898e15bd609"
96
+ "gitHead": "607ec6610069ef1214b4c20f146ab97225554405"
97
97
  }