TypeScript errors in freshly created Nitro v2 project
Environment
Node.js 22.11 Nitro 2.11.12
Reproduction
Create a new project with:
pnpm dlx giget@latest nitro nitro-app --install
Run type checking with:
pnpm exec tsc --noEmit -p ./tsconfig.json
Describe the bug
Although it is a fresh project, there are a lot of TypeScript errors initially:
Found 54 errors in 40 files.
Errors Files
1 node_modules/.pnpm/@[email protected]/node_modules/@types/node/process.d.ts:562
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/better-sqlite3.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/bun-sqlite.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/cloudflare-d1.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/libsql/core.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/libsql/http.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/libsql/node.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/libsql/web.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/mysql2.d.ts:1
2 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/pglite.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/planetscale.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/postgresql.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/db0/dist/connectors/sqlite3.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/h3/dist/index.d.ts:29
1 node_modules/.pnpm/[email protected]/node_modules/listhen/dist/index.d.ts:8
2 node_modules/.pnpm/[email protected]/node_modules/nitropack/dist/presets/cloudflare/types.d.ts:1
2 node_modules/.pnpm/[email protected]/node_modules/nitropack/dist/presets/firebase/types.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/nitropack/dist/runtime/internal/context.d.ts:2
1 node_modules/.pnpm/[email protected]/node_modules/nitropack/dist/shared/nitro.BULiwDWR.d.ts:27
1 node_modules/.pnpm/[email protected]/node_modules/ofetch/dist/shared/ofetch.d0b3d489.d.mts:1
1 node_modules/.pnpm/[email protected]/node_modules/unimport/dist/index.d.mts:8
6 node_modules/.pnpm/[email protected]/node_modules/unplugin/dist/index.d.ts:2
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/azure-app-configuration.d.ts:1
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/azure-cosmos.d.ts:1
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/azure-key-vault.d.ts:1
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/azure-storage-blob.d.ts:1
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/azure-storage-table.d.ts:1
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/capacitor-preferences.d.ts:4
2 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/cloudflare-kv-binding.d.ts:2
2 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/cloudflare-r2-binding.d.ts:2
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/deno-kv-node.d.ts:1
3 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/deno-kv.d.ts:1
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/http.d.ts:5
2 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/mongodb.d.ts:1
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/netlify-blobs.d.ts:18
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/planetscale.d.ts:1
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/uploadthing.d.ts:1
1 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/upstash.d.ts:1
2 node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/unstorage/drivers/vercel-kv.d.ts:1
1 node_modules/.pnpm/[email protected]/node_modules/webpack-virtual-modules/lib/index.d.ts:1
The question is, how can actual TypeScript errors be detected? What command can we run in a pipeline to check types? Also a pnpm build does not report any TypeScript errors if they exist...
Additional context
No response
Logs
So this is an important question -
You hadn't exclude node_modules/ ?
So this is an important question -
You hadn't exclude
node_modules/?
@gxres042 I've tried to add "exclude": ["./node_modules/**/*"] to ./tsconfig.json or even "exclude": ["../../node_modules/**/*"] to the generated ./.nitro/types/tsconfig.json file, without any success. I see that ./.nitro/types/tsconfig.json does include all directories:
"include": [
"./nitro.d.ts",
"../../**/*",
"../../server/**/*"
]
...but even if I remove "../../**/*", from the includes, the errors are present. I don't know what the problem is – it irritates me, that a newly created project has TypeScript errors... am I doing something wrong?
Well my mistake. I know where the problem is.
@gxres042 Thanks 🙏
So as a workaround, skipLibCheck: true, can be added to tsconfig.json