From d0bcdf3dd92afba858fca2871535faf4594c81de Mon Sep 17 00:00:00 2001 From: BrennanConroy <brecon@microsoft.com> Date: Mon, 19 Nov 2018 09:29:28 -0800 Subject: [PATCH] Fix dynamic require for Webpack (#3306) --- clients/ts/signalr/src/DefaultHttpClient.ts | 6 ++++-- clients/ts/signalr/src/HttpConnection.ts | 9 +++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/clients/ts/signalr/src/DefaultHttpClient.ts b/clients/ts/signalr/src/DefaultHttpClient.ts index 0fac925a1ec..b1f19d401f2 100644 --- a/clients/ts/signalr/src/DefaultHttpClient.ts +++ b/clients/ts/signalr/src/DefaultHttpClient.ts @@ -8,8 +8,10 @@ import { XhrHttpClient } from "./XhrHttpClient"; let nodeHttpClientModule: any; if (typeof XMLHttpRequest === "undefined") { - // tslint:disable-next-line:no-var-requires - nodeHttpClientModule = require("./NodeHttpClient"); + // In order to ignore the dynamic require in webpack builds we need to do this magic + // @ts-ignore: TS doesn't know about these names + const requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : require; + nodeHttpClientModule = requireFunc("./NodeHttpClient"); } /** Default implementation of {@link @aspnet/signalr.HttpClient}. */ diff --git a/clients/ts/signalr/src/HttpConnection.ts b/clients/ts/signalr/src/HttpConnection.ts index 664a625b7b1..470c33e3397 100644 --- a/clients/ts/signalr/src/HttpConnection.ts +++ b/clients/ts/signalr/src/HttpConnection.ts @@ -39,10 +39,11 @@ const MAX_REDIRECTS = 100; let WebSocketModule: any = null; let EventSourceModule: any = null; if (typeof window === "undefined" && typeof require !== "undefined") { - // tslint:disable-next-line:no-var-requires - WebSocketModule = require("ws"); - // tslint:disable-next-line:no-var-requires - EventSourceModule = require("eventsource"); + // In order to ignore the dynamic require in webpack builds we need to do this magic + // @ts-ignore: TS doesn't know about these names + const requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : require; + WebSocketModule = requireFunc("ws"); + EventSourceModule = requireFunc("eventsource"); } /** @private */ -- GitLab