Environment
|
|
| Operating system |
Linux 6.12.76-linuxkit |
| CPU |
unknown (11 cores) |
| Node.js version |
v24.15.0 |
| nuxt/cli version |
3.35.2 |
| Package manager |
[email protected] |
| Nuxt version |
4.4.7 |
| Nitro version |
2.13.4 |
| Builder |
[email protected] |
| Config |
compatibilityDate, css, devtools, i18n, modules, primevue, ssr, tailwindcss |
| Modules |
@nuxtjs/[email protected], @nuxt/[email protected], @pinia/[email protected], @primevue/[email protected], @nuxtjs/[email protected], @vueuse/[email protected] |
Reproduction
https://stackblitz.com/edit/github-uvhynulj
Describe the bug
Starting nuxt dev crashes with Debug Failure. project /…/.nuxt/tsconfig.server.json expected to have at least one output when:
ssr: false
typescript.typeCheck: true
- the project has no
server/ or shared/ directory
Root tsconfig.json declares tsconfig.server.json as a project reference. With ssr: false + no server/ dir, the generated tsconfig.server.json only resolves to .d.ts files, producing zero outputs. Nuxt's VitePluginCheckerPlugin runs vue-tsc in buildMode whenever the root tsconfig has references, so
vue-tsc walks the empty server project and TypeScript throws.
4.4.6 works. 4.4.7 and 4.4.8 fail. A coworker hit the same crash on tsconfig.shared.json with the same downgrade fix.
Additional context
- vue-tsc: 3.3.3
- vite-plugin-checker: 0.14.1 (transitive via @nuxt/vite-builder)
- Workaround: pin to 4.4.6
Logs
> postinstall
> nuxt prepare
[nuxt:tailwindcss] ℹ Using Tailwind CSS from ~/assets/css/main.css
│
◆ Types generated in .nuxt.
added 2 packages, removed 6 packages, changed 16 packages, and audited 1062 packages in 4s
284 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
> dev
> nuxt dev
│
● Nuxt 4.4.7 (with Nitro 2.13.4, Vite 7.3.5 and Vue 3.5.35)
➜ Local: http://localhost:3000/
➜ Network: use --host to expose
[nuxt:tailwindcss] ℹ Using Tailwind CSS from ~/assets/css/main.css
➜ DevTools: press Shift + Alt + D in the browser (v3.2.4)
ℹ Re-optimizing dependencies because lockfile has changed
✔ Vite client built in 63ms
✔ Vite server built in 80ms
[nitro] ✔ Nuxt Nitro server built in 1594ms
ℹ Vite client warmed up in 2ms
ERROR [uncaughtException] Debug Failure. project /app/.nuxt/tsconfig.server.json expected to have at least one output
at getFirstProjectOutput (node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:121358:16)
at emit (node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136041:84)
at executeSteps (node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136060:11)
at Object.done (node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:135924:5)
at buildWorker (node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136649:24)
at build (node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136634:18)
at Object.build (node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136915:79)
at Object.configureServer (node_modules/vite-plugin-checker/dist/checkers/vueTsc/main.js:107:70)
➜ Local: http://localhost:3000/
➜ Network: use --host to expose
[nuxt:tailwindcss] ℹ Using Tailwind CSS from ~/assets/css/main.css
➜ DevTools: press Shift + Alt + D in the browser (v3.2.4)
✔ Vite client built in 47ms
✔ Vite server built in 92ms
[nitro] ✔ Nuxt Nitro server built in 1677ms
ℹ Vite client warmed up in 1ms
node:internal/event_target:1118
process.nextTick(() => { throw err; });
^
Error: Debug Failure. project /app/.nuxt/tsconfig.server.json expected to have at least one output
at getFirstProjectOutput (/app/node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:121358:16)
at emit (/app/node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136041:84)
at executeSteps (/app/node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136060:11)
at Object.done (/app/node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:135924:5)
at buildWorker (/app/node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136649:24)
at build (/app/node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136634:18)
at Object.build (/app/node_modules/vite-plugin-checker/dist/checkers/vueTsc/typescript-vue-tsc/lib/typescript.js:136915:79)
at Object.configureServer (/app/node_modules/vite-plugin-checker/src/checkers/vueTsc/main.ts:150:70)
Node.js v24.15.0
Environment
Linux 6.12.76-linuxkitunknown (11 cores)v24.15.03.35.2[email protected]4.4.72.13.4[email protected]compatibilityDate,css,devtools,i18n,modules,primevue,ssr,tailwindcss@nuxtjs/[email protected],@nuxt/[email protected],@pinia/[email protected],@primevue/[email protected],@nuxtjs/[email protected],@vueuse/[email protected]Reproduction
https://stackblitz.com/edit/github-uvhynulj
Describe the bug
Starting
nuxt devcrashes withDebug Failure. project /…/.nuxt/tsconfig.server.json expected to have at least one outputwhen:ssr: falsetypescript.typeCheck: trueserver/orshared/directoryRoot
tsconfig.jsondeclarestsconfig.server.jsonas a project reference. Withssr: false+ noserver/dir, the generatedtsconfig.server.jsononly resolves to.d.tsfiles, producing zero outputs. Nuxt'sVitePluginCheckerPluginrunsvue-tscinbuildModewhenever the root tsconfig has references, sovue-tscwalks the empty server project and TypeScript throws.4.4.6 works. 4.4.7 and 4.4.8 fail. A coworker hit the same crash on
tsconfig.shared.jsonwith the same downgrade fix.Additional context
Logs