mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
## What Follow-up to #95365. Documents adopting Partial Prefetching end to end: - Restructures the [Adopting Partial Prefetching guide](https://github.com/vercel/next.js/blob/canary/docs/01-app/02-guides/adopting-partial-prefetching.mdx) around the two paths: enable `partialPrefetching` and audit every `<Link prefetch={true}>` against a per-case decision table, or adopt incrementally per route with the [`instant-link-prefetch-partial`](https://nextjs.org/docs/messages/instant-link-prefetch-partial) insight as the worklist. Adds `Auditing routes for URL data` and `Prefetching URL data` sections. - Adds the `remove-partial-prefetch` codemod, which strips the redundant per-route `prefetch = 'partial'` exports once the flag is on while preserving comments and other `prefetch` values. - Adds the `next-partial-prefetching-adoption` skill that sequences the guide for agents: audit, enable + codemod, URL-data sweep, verify, optional runtime prefetching. - Aligns the `instant-link-prefetch-partial` error page, `<Link>` reference, glossary, and Interactive apps guide with the same prefetch model. ## Why With the flag on, `<Link prefetch={true}>` no longer delivers dynamic content, and shell validation flags `params`/`searchParams` reads outside `<Suspense>`. Adopters need one guide that sequences the audit, the flag, and both insights, and an agent skill that follows it. Stacked on #95365 (base: `codex/instant-shell-link-data`) since it links to the `instant-shell-url-data` error page that PR introduces. GitHub will retarget to `canary` when that merges. <!-- NEXT_JS_LLM_PR -->
17 lines
592 B
JavaScript
17 lines
592 B
JavaScript
/* global jest */
|
|
jest.autoMockOff()
|
|
const defineTest = require('jscodeshift/dist/testUtils').defineTest
|
|
const { readdirSync } = require('fs')
|
|
const { join } = require('path')
|
|
|
|
const fixtureDir = 'remove-partial-prefetch'
|
|
const fixtureDirPath = join(__dirname, '..', '__testfixtures__', fixtureDir)
|
|
const fixtures = readdirSync(fixtureDirPath)
|
|
.filter((file) => file.endsWith('.input.tsx'))
|
|
.map((file) => file.replace('.input.tsx', ''))
|
|
|
|
for (const fixture of fixtures) {
|
|
const prefix = `${fixtureDir}/${fixture}`
|
|
defineTest(__dirname, fixtureDir, null, prefix, { parser: 'tsx' })
|
|
}
|