diff --git a/.changeset/giant-crews-care.md b/.changeset/giant-crews-care.md new file mode 100644 index 00000000000..68612cbfdb3 --- /dev/null +++ b/.changeset/giant-crews-care.md @@ -0,0 +1,5 @@ +--- +"@remix-run/dev": major +--- + +Remove `devServerBroadcastDelay` config option diff --git a/docs/api/conventions.md b/docs/api/conventions.md index 2a6c4e42abb..054179bf14c 100644 --- a/docs/api/conventions.md +++ b/docs/api/conventions.md @@ -22,14 +22,6 @@ title: Conventions [Moved →][moved-4] -### devServerBroadcastDelay - -[Moved →][moved-5] - -### devServerPort - -[Moved →][moved-6] - ### ignoredRouteFiles [Moved →][moved-7] diff --git a/docs/file-conventions/remix-config.md b/docs/file-conventions/remix-config.md index 3370fcf5262..3513810e890 100644 --- a/docs/file-conventions/remix-config.md +++ b/docs/file-conventions/remix-config.md @@ -45,27 +45,6 @@ The path to the browser build, relative to remix.config.js. Defaults to The path to a directory Remix can use for caching things in development, relative to `remix.config.js`. Defaults to `".cache"`. -## devServerBroadcastDelay - -This option is deprecated and will likely be removed in a future -stable release. Enable `v2_dev` to eliminate the race conditions that necessitated -this option. - -The delay, in milliseconds, before the dev server broadcasts a reload event. -There is no delay by default. - -For v2, the race conditions that necessitated this option have been eliminated. - -## devServerPort - -This option is deprecated and will likely be removed in a future -stable release. Enable `v2_dev` and use [`--port` / `v2_dev.port` option][port] -instead. - -The port number to use for the dev websocket server. Defaults to 8002. - -For v2, use [`--port` / `dev.port` option][port]. - ## ignoredRouteFiles This is an array of globs (via [minimatch][minimatch]) that Remix will match to diff --git a/integration/helpers/cf-template/remix.config.js b/integration/helpers/cf-template/remix.config.js index 267a92f6869..a192bd98314 100644 --- a/integration/helpers/cf-template/remix.config.js +++ b/integration/helpers/cf-template/remix.config.js @@ -1,6 +1,5 @@ /** @type {import('@remix-run/dev').AppConfig} */ export default { - devServerBroadcastDelay: 1000, ignoredRouteFiles: ["**/.*"], server: "./server.ts", serverConditions: ["worker"], diff --git a/integration/helpers/deno-template/remix.config.js b/integration/helpers/deno-template/remix.config.js index 7acad0f98bb..d74be09dad3 100644 --- a/integration/helpers/deno-template/remix.config.js +++ b/integration/helpers/deno-template/remix.config.js @@ -1,12 +1,5 @@ /** @type {import('@remix-run/dev').AppConfig} */ export default { - /* - If live reload causes page to re-render without changes (live reload is too fast), - increase the dev server broadcast delay. - - If live reload seems slow, try to decrease the dev server broadcast delay. - */ - devServerBroadcastDelay: 300, ignoredRouteFiles: ["**/.*"], server: "./server.ts", serverConditions: ["deno", "worker"], diff --git a/packages/remix-dev/__tests__/fixtures/cloudflare/remix.config.js b/packages/remix-dev/__tests__/fixtures/cloudflare/remix.config.js index 2459cb93982..dd63725771c 100644 --- a/packages/remix-dev/__tests__/fixtures/cloudflare/remix.config.js +++ b/packages/remix-dev/__tests__/fixtures/cloudflare/remix.config.js @@ -1,6 +1,5 @@ /** @type {import('@remix-run/dev').AppConfig} */ module.exports = { - devServerBroadcastDelay: 1000, ignoredRouteFiles: ["**/.*"], server: "./server.ts", serverBuildPath: "functions/[[path]].js", diff --git a/packages/remix-dev/__tests__/fixtures/deno/remix.config.js b/packages/remix-dev/__tests__/fixtures/deno/remix.config.js index b6c11cae330..c814f66365e 100644 --- a/packages/remix-dev/__tests__/fixtures/deno/remix.config.js +++ b/packages/remix-dev/__tests__/fixtures/deno/remix.config.js @@ -1,12 +1,5 @@ /** @type {import('@remix-run/dev').AppConfig} */ module.exports = { - /* - If live reload causes page to re-render without changes (live reload is too fast), - increase the dev server broadcast delay. - - If live reload seems slow, try to decrease the dev server broadcast delay. - */ - devServerBroadcastDelay: 300, ignoredRouteFiles: ["**/.*"], server: "./server.ts", serverConditions: ["deno", "worker"], diff --git a/packages/remix-dev/__tests__/readConfig-test.ts b/packages/remix-dev/__tests__/readConfig-test.ts index 7c795e0e9c0..086b510d158 100644 --- a/packages/remix-dev/__tests__/readConfig-test.ts +++ b/packages/remix-dev/__tests__/readConfig-test.ts @@ -30,7 +30,6 @@ describe("readConfig", () => { "assetsBuildDirectory": Any, "cacheDirectory": Any, "dev": Object {}, - "devServerBroadcastDelay": 0, "entryClientFile": "entry.client.tsx", "entryClientFilePath": Any, "entryServerFile": "entry.server.tsx", diff --git a/packages/remix-dev/config.ts b/packages/remix-dev/config.ts index 5b8735d0934..e4e6033c244 100644 --- a/packages/remix-dev/config.ts +++ b/packages/remix-dev/config.ts @@ -83,17 +83,6 @@ export interface AppConfig { */ dev?: Dev; - /** - * @deprecated - * - * The delay, in milliseconds, before the dev server broadcasts a reload - * event. There is no delay by default. - * - * @deprecated Enable {@link AppConfig.future.v2_dev} to eliminate the race - * conditions that necessitated this option. - */ - devServerBroadcastDelay?: number; - /** * Additional MDX remark / rehype plugins. */ @@ -252,14 +241,6 @@ export interface RemixConfig { */ dev: Dev; - /** - * The delay before the dev (asset) server broadcasts a reload event. - * - * @deprecated Enable {@link RemixConfig.future.v2_dev} to eliminate the race - * conditions that necessitated this option. - */ - devServerBroadcastDelay: number; - /** * Additional MDX remark / rehype plugins. */ @@ -383,8 +364,8 @@ export async function readConfig( // shout out to next // https://github.com/vercel/next.js/blob/b15a976e11bf1dc867c241a4c1734757427d609c/packages/next/server/config.ts#L748-L765 if (process.env.JEST_WORKER_ID) { - // dynamic import does not currently work inside of vm which - // jest relies on so we fall back to require for this case + // dynamic import does not currently work inside vm which + // jest relies on, so we fall back to require for this case // https://github.com/nodejs/node/issues/35889 appConfigModule = require(configFile); } else { @@ -557,13 +538,6 @@ export async function readConfig( assetsBuildDirectory ); - if (appConfig.devServerBroadcastDelay) { - devServerBroadcastDelayWarning(); - } - - // set env variable so un-bundled servers can use it - let devServerBroadcastDelay = appConfig.devServerBroadcastDelay || 0; - let publicPath = addTrailingSlash(appConfig.publicPath || "/build/"); let rootRouteFile = findEntry(appDirectory, "root"); @@ -615,8 +589,8 @@ export async function readConfig( } // Note: When a future flag is removed from here, it should be added to the - // list below so we can let folks know if they have obsolete flags in their - // config. If we ever convert remix.config.js to a TS file so we get proper + // list below, so we can let folks know if they have obsolete flags in their + // config. If we ever convert remix.config.js to a TS file, so we get proper // typings this won't be necessary anymore. let future: FutureConfig = {}; @@ -655,7 +629,6 @@ export async function readConfig( entryServerFile, entryServerFilePath, dev: appConfig.dev ?? {}, - devServerBroadcastDelay, assetsBuildDirectory: absoluteAssetsBuildDirectory, relativeAssetsBuildDirectory: assetsBuildDirectory, publicPath, @@ -748,15 +721,3 @@ let disjunctionListFormat = new Intl.ListFormat("en", { style: "long", type: "disjunction", }); - -let devServerBroadcastDelayWarning = () => - logger.warn( - "The `devServerBroadcastDelay` config option will be removed in v2", - { - details: [ - "Enable `v2_dev` to eliminate the race conditions that necessitated this option.", - "-> https://remix.run/docs/en/v1.19.3/pages/v2#devserverbroadcastdelay", - ], - key: "devServerBroadcastDelayWarning", - } - ); diff --git a/packages/remix-dev/devServer/liveReload.ts b/packages/remix-dev/devServer/liveReload.ts index 38a94429bf0..fb892aafd22 100644 --- a/packages/remix-dev/devServer/liveReload.ts +++ b/packages/remix-dev/devServer/liveReload.ts @@ -32,7 +32,7 @@ export async function liveReload( client.send(JSON.stringify(event)); } }); - }, config.devServerBroadcastDelay); + }, 500); } function log(message: string) { diff --git a/templates/cloudflare-pages/remix.config.js b/templates/cloudflare-pages/remix.config.js index 9ecf2a07791..e35ffadbb5d 100644 --- a/templates/cloudflare-pages/remix.config.js +++ b/templates/cloudflare-pages/remix.config.js @@ -1,6 +1,5 @@ /** @type {import('@remix-run/dev').AppConfig} */ export default { - devServerBroadcastDelay: 1000, ignoredRouteFiles: ["**/.*"], server: "./server.ts", serverBuildPath: "functions/[[path]].js", diff --git a/templates/deno/remix.config.js b/templates/deno/remix.config.js index 4ad663f5b71..0b3e63ed53f 100644 --- a/templates/deno/remix.config.js +++ b/templates/deno/remix.config.js @@ -1,12 +1,5 @@ /** @type {import('@remix-run/dev').AppConfig} */ module.exports = { - /* - If live reload causes page to re-render without changes (live reload is too fast), - increase the dev server broadcast delay. - - If live reload seems slow, try to decrease the dev server broadcast delay. - */ - devServerBroadcastDelay: 300, ignoredRouteFiles: ["**/.*"], server: "./server.ts", serverConditions: ["deno", "worker"],