Environment
- OS: Linux (Cloudflare Pages CI)
- Node version: 22.16.0
- Nitro version: 3.0.260610-beta
- pnpm version: 10.11.1
Reproduction
- Create a Nitro v3 project with a
nitro.config.ts file
- Deploy to Cloudflare Pages with build command
vite build
- Build fails immediately
Error
Error: Failed to load config file `/opt/buildhome/repo/nitro.config.ts`: Unknown file extension ".ts" for /opt/buildhome/repo/nitro.config.ts. Hint install `jiti` for compatibility.
at file:///opt/buildhome/repo/node_modules/.pnpm/nitro@3.0.260610-beta_vite@8.0.16_@types+node@26.0.0_/node_modules/nitro/dist/_libs/c12+rc9.mjs:537:12
...
[cause]: TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /opt/buildhome/repo/nitro.config.ts
Root Cause
Nitro v3 lists jiti as an optional peer dependency (peerDependenciesMeta), so it is not installed automatically. In CI environments like Cloudflare Pages, jiti is absent and c12 cannot load nitro.config.ts.
Workaround
Explicitly add jiti to devDependencies:
Expected Behavior
Either:
jiti should be a regular (non-optional) dependency of Nitro so it is always available, or
- The documentation /
create-nitro-app scaffold should make it clear that jiti must be added manually when using a TypeScript config file
Environment
Reproduction
nitro.config.tsfilevite buildError
Root Cause
Nitro v3 lists
jitias an optional peer dependency (peerDependenciesMeta), so it is not installed automatically. In CI environments like Cloudflare Pages,jitiis absent andc12cannot loadnitro.config.ts.Workaround
Explicitly add
jititodevDependencies:Expected Behavior
Either:
jitishould be a regular (non-optional) dependency of Nitro so it is always available, orcreate-nitro-appscaffold should make it clear thatjitimust be added manually when using a TypeScript config file