Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Since 4.4.7: nuxt dev crashes with Debug Failure ... tsconfig.server.json expected to have at least one output when ssr: false + typescript.typeCheck: true #35319

Description

@lvonlanthen

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

Metadata

Metadata

Assignees

Labels

typesupstreamIssue caused by a dependency or upstream project🍰 p2-nice-to-haveNice to have, not blocking

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions