You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: relative paths in dev in validator.ts (#83073)
Fixes#83063
- **Problem**: `next dev` produced overly deep relative imports in
`validator.ts` that differed from `next typegen`/`next build`.
- **Cause**: Dev pre-relativized page file paths and didn’t pass
`validatorFilePath`, causing incorrect relative path computation.
- **Solution**:
- Pass `validatorFilePath` to `createRouteTypesManifest` in dev.
- Stop pre-relativizing file paths; provide absolute `fileName` so the
manifest computes paths relative to the validator directory.
- **Result**: `validator.ts` now uses correct, shallow relative imports,
matching `next typegen` and `next build`.
- **Verification**: Reproduced with
`test/e2e/app-dir/typed-routes-validator`; outputs from `pnpm next dev`
and `pnpm next typegen` now match.
### Example
Before (next dev):
```typescript
// Validate ../../../../../../app/page.tsx
{
const handler = {} as typeof import("../../../../../../app/page.js")
handler satisfies AppPageConfig<"/">
}
```
After (next dev/typegen/build):
```typescript
// Validate ../../app/page.tsx
{
const handler = {} as typeof import("../../app/page.js")
handler satisfies AppPageConfig<"/">
}
```
0 commit comments