mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
0ae8c72462
### What? Replace `DetachedPromise` with the shared `createPromiseWithResolvers` helper and use that helper in the vendored `@mswjs/interceptors` Node 20 shim. This can go away entirely when we support Node 22 at minimum. ### Why? Next.js maintained duplicate deferred-promise implementations in `src/lib/detached-promise.ts`, `src/shared/lib/promise-with-resolvers.ts`, and the interceptor bundle entry. ### How? - Migrate `DetachedPromise` consumers to `createPromiseWithResolvers` - Delete the duplicate `DetachedPromise` implementation - Delegate the interceptor's required global polyfill to the shared helper - Update the generated interceptor bundle and server trace snapshot Validated with `pnpm --filter=next types`, focused Jest tests, ESLint, Prettier, and the `ncc_mswjs_interceptors` bundle task. <!-- NEXT_JS_LLM --> --------- Co-authored-by: Sebastian "Sebbie" Silbermann <sebastian.silbermann@vercel.com> Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>