Skip to content

Commit d0bcdf3

Browse files
Fix dynamic require for Webpack (#3306)
1 parent e2a712a commit d0bcdf3

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

clients/ts/signalr/src/DefaultHttpClient.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ import { XhrHttpClient } from "./XhrHttpClient";
88

99
let nodeHttpClientModule: any;
1010
if (typeof XMLHttpRequest === "undefined") {
11-
// tslint:disable-next-line:no-var-requires
12-
nodeHttpClientModule = require("./NodeHttpClient");
11+
// In order to ignore the dynamic require in webpack builds we need to do this magic
12+
// @ts-ignore: TS doesn't know about these names
13+
const requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : require;
14+
nodeHttpClientModule = requireFunc("./NodeHttpClient");
1315
}
1416

1517
/** Default implementation of {@link @aspnet/signalr.HttpClient}. */

clients/ts/signalr/src/HttpConnection.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,11 @@ const MAX_REDIRECTS = 100;
3939
let WebSocketModule: any = null;
4040
let EventSourceModule: any = null;
4141
if (typeof window === "undefined" && typeof require !== "undefined") {
42-
// tslint:disable-next-line:no-var-requires
43-
WebSocketModule = require("ws");
44-
// tslint:disable-next-line:no-var-requires
45-
EventSourceModule = require("eventsource");
42+
// In order to ignore the dynamic require in webpack builds we need to do this magic
43+
// @ts-ignore: TS doesn't know about these names
44+
const requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : require;
45+
WebSocketModule = requireFunc("ws");
46+
EventSourceModule = requireFunc("eventsource");
4647
}
4748

4849
/** @private */

0 commit comments

Comments
 (0)