mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
be8275c86c
This adds a new transform to `@next/codemod` that updates
`next.config.{js,ts}` that updates the deprecated `experimental.turbo`
property to the new top-level `turbopack` property.
Details:
- Only operates on files called next.config.js or next.config.ts, in the
case the codemod tool is run on a large codebase.
- Updates _any_ object literal with a `experimental.turbo` property to
use `turbopack`. Since this transform is constrained to Next.js configs,
there shouldn’t be many false positives.
- Much of this change was written by Copilot. I simplified it, and
refactored it to make it more readable and safe.
Test Plan:
- `pnpm run build && pnpm test -- -t
next-experimental-turbo-to-turbopack` in the codemod directory
- Tested on several publicly available next configs that used the
deprecated property
13 lines
356 B
TypeScript
13 lines
356 B
TypeScript
import type { FileInfo } from 'jscodeshift'
|
|
import path from 'node:path'
|
|
|
|
export function isNextConfigFile(file: FileInfo): boolean {
|
|
const parsed = path.parse(file.path || '/')
|
|
return (
|
|
parsed.base === 'next.config.js' ||
|
|
parsed.base === 'next.config.ts' ||
|
|
parsed.base === 'next.config.mjs' ||
|
|
parsed.base === 'next.config.cjs'
|
|
)
|
|
}
|