Skip to content

Commit

Permalink
Decreased watchpack aggregate timeout (#54461)
Browse files Browse the repository at this point in the history
This decreases the aggregate event timeout for WatchPack in development to `5ms` which should improve the performance of reloading routes for users developing Next.js applications.
  • Loading branch information
wyattjoh authored Aug 23, 2023
1 parent 758b9d2 commit 7363bf4
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions packages/next/src/server/lib/router-utils/setup-dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,13 @@ import { MiddlewareManifest } from '../../../build/webpack/plugins/middleware-pl
import { devPageFiles } from '../../../build/webpack/plugins/next-types-plugin/shared'
import type { RenderWorkers } from '../router-server'

/**
* This is the timeout for which the watchpack will emit the `aggregate` event
* after file changes are made. This is to prevent unnecessary rebuilds when
* multiple files are changed at once.
*/
const WATCHPACK_AGGREGATE_TIMEOUT = 5

type SetupOpts = {
renderWorkers: RenderWorkers
dir: string
Expand Down Expand Up @@ -780,6 +787,7 @@ async function startWatcher(opts: SetupOpts) {
files.push(...tsconfigPaths)

const wp = new Watchpack({
aggregateTimeout: WATCHPACK_AGGREGATE_TIMEOUT,
ignored: (pathname: string) => {
return (
!files.some((file) => file.startsWith(pathname)) &&
Expand Down

0 comments on commit 7363bf4

Please sign in to comment.