Nitro · Imports
NITRO0022Keep Nitro server helpers in server/utils
Suggests server/utils for helpers that Nitro server routes, middleware, and plugins import from ad-hoc directories.
vite-doctor/nitroimportsinfoSuggestion
Why it happens
Nitro 2 and Nuxt auto-import exports from server/utils in server code and generate their types. Helpers kept in directories such as server/lib or server/helpers need a relative import in every caller.
Fix
Move shared server helpers to server/utils/ when server auto-imports are enabled. NITRO0022 is currently suppressed: Doctor does not yet capture Nitro’s resolved provider and exclusion evidence, so it cannot establish that an explicit utility import selects the same implementation as an auto-import.
Example
Let Nitro auto-import server helpers
Before
// server/api/admin/users.get.ts
import { requireAdmin } from '../../lib/auth'
import { paginate } from '../../helpers/paginate'
export default defineEventHandler(async (event) => {
await requireAdmin(event)
return paginate(event, users)
})
After
// server/utils/auth.ts exports requireAdmin
// server/utils/paginate.ts exports paginate
// server/api/admin/users.get.ts
export default defineEventHandler(async (event) => {
await requireAdmin(event)
return paginate(event, users)
})
Verify the fix
Run only this rule after editing so the report stays focused on the diagnostic you are closing:
pnpm vite-doctor . --framework nitro --extends auto,nitro/strict --rules nitro/structure/prefer-server-utils