{ "//": "Server-side type-checking. Node 25 runs .ts natively (type-stripping), so there is NO build step — this config only type-checks (noEmit). Migration is incremental (like the client): allowJs + checkJs:false means only .ts server files are checked; the remaining .js run untouched. Migrated modules are ESM (.ts) and are required from .js callers via Node's require(esm).", "compilerOptions": { "target": "es2023", "lib": ["es2023"], "module": "nodenext", "moduleResolution": "nodenext", "allowJs": true, "checkJs": false, "strict": true, "noEmit": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, "types": ["node"] }, "include": [ "utils/**/*.ts", "utils/**/*.mts", "utils/**/*.cts", "services/**/*.ts", "services/**/*.mts", "services/**/*.cts", "routes/**/*.ts", "routes/**/*.mts", "routes/**/*.cts", "middleware/**/*.ts", "middleware/**/*.mts", "middleware/**/*.cts", "db/**/*.ts", "db/**/*.mts", "db/**/*.cts", "workers/**/*.ts", "workers/**/*.mts", "workers/**/*.cts", "server.mts", "server.cts" ] }