mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
8abbb3dc2e
## What? Rename `experimental.dynamicIO` to `experimental.cacheComponents` across the Next.js codebase. ## Why? We're going to be merging the functionality of the `ppr`, `dynamicIO` and `useCache` experimental flags into the singular `cacheComponents` flag to reduce complexity of the codebase and simplify adoption for users wanting to experiment with experimental features. ## How? - Renamed the configuration option from `experimental.dynamicIO` to `experimental.cacheComponents` - Added deprecation handling with automatic migration for the old option name - Updated all documentation, tests, and internal references - Updated Rust code in SWC transforms and Turbopack - Maintained backward compatibility with deprecation warnings NAR-158
24 lines
440 B
TypeScript
24 lines
440 B
TypeScript
export function createWaiter() {
|
|
let cached = null
|
|
function wait() {
|
|
if (typeof window === 'undefined') {
|
|
if (cached) {
|
|
return cached
|
|
}
|
|
cached = new Promise((r) => process.nextTick(r))
|
|
return cached
|
|
} else {
|
|
if (cached) {
|
|
return cached
|
|
}
|
|
cached = Promise.resolve()
|
|
return cached
|
|
}
|
|
}
|
|
|
|
function cleanup() {
|
|
cached = null
|
|
}
|
|
return { wait, cleanup }
|
|
}
|