diff --git a/packages/remix-dev/__tests__/readConfig-test.ts b/packages/remix-dev/__tests__/readConfig-test.ts index 6d7dc58b0c5..92af7767d63 100644 --- a/packages/remix-dev/__tests__/readConfig-test.ts +++ b/packages/remix-dev/__tests__/readConfig-test.ts @@ -52,4 +52,9 @@ describe("readConfig", () => { ` ); }); + + it("returns the same devServerPort value across reloads", async () => { + let newConfig = await readConfig(remixRoot); + expect(newConfig.devServerPort).toBe(config.devServerPort); + }); }); diff --git a/packages/remix-dev/config.ts b/packages/remix-dev/config.ts index 8f0cc2b9128..bc1f8523263 100644 --- a/packages/remix-dev/config.ts +++ b/packages/remix-dev/config.ts @@ -353,12 +353,7 @@ export async function readConfig( path.join("public", "build") ); - if (typeof appConfig.devServerPort !== "number") { - appConfig.devServerPort = Number( - process.env.REMIX_DEV_SERVER_WS_PORT || 8002 - ); - } - let devServerPort = await getPort({ port: appConfig.devServerPort }); + let devServerPort = Number(process.env.REMIX_DEV_SERVER_WS_PORT) || await getPort({ port: Number(appConfig.devServerPort) || undefined }); // set env variable so un-bundled servers can use it process.env.REMIX_DEV_SERVER_WS_PORT = `${devServerPort}`; let devServerBroadcastDelay = appConfig.devServerBroadcastDelay || 0;