mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
dcf4607f8f
Watching too many files can hurt performance, and impacts how much work Turbopack is doing. See for example the conversation around https://github.com/vercel/next.js/pull/94597. This PR handles the following four cases: - Git worktrees: we can include a guard to prevent exiting a worktree (by looking at the `.git` file). - Git repository boundaries: we can include a guard to prevent us from exiting a checked-out repository and watching the repository’s parent directory. - We will log a warning if this happens. - Empty / bogus `package.lock` files & `package-lock.json` files (and equivalents using other package managers): if we spot a `package-lock.json` file but it has no packages or a `package-lock.json` w/o an associated `package.json` file. We can ignore them. This handles the case of accidentally running `npm install` in any directory. - Home directory detection: we can detect if we’re going to start watching your home dir and rollback up if this is the case. - We will log a warning if this happens. - If your Next config is in your home dir, we will still run your app there as Next config is the furthest we can rollback - NPM, Yarn, Lerna & Bun workspaces: based on the `workspaces` field in the `package.json` or `lerna.json` I would recommend using split-view to review. I also cleaned up the `warnDuplicatedLockFiles()` function because it was a bit unnecessary to repeat the full message. Closes https://github.com/vercel/next.js/issues/92978