chore(deps): upgrade workspace to TypeScript 6#5167
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Confidence Score: 4/5This is close, but the remaining GraphQL script runtime break should be fixed before merging.
packages/graphql/src/scripts/2024-04-19_check_open_instance_results.ts
|
| Filename | Overview |
|---|---|
| packages/graphql/src/scripts/2024-04-19_check_open_instance_results.ts | One maintenance script now imports through @, which is not resolved by its direct runtime path. |
| packages/graphql/vitest.config.ts | Adds a Vitest resolver alias for the GraphQL @ path mapping. |
| packages/prisma/scripts/patchPrismaNamespace.mjs | Adds a fail-closed Prisma namespace patch for TypeScript 6 generated declarations. |
Reviews (2): Last reviewed commit: "fix(ci): make TypeScript checks clean-st..." | Re-trigger Greptile
| @@ -1,11 +1,11 @@ | |||
| import { ContextWithUser } from '@/lib/context.js' | |||
There was a problem hiding this comment.
GraphQL Alias Has No Runtime Resolver
When GraphQL is built, tested, or run through tsx scripts, the new @/... imports are not covered by the package tooling. tsconfig.json teaches TypeScript about @/*, but Rollup, Vitest, and direct tsx script execution have no matching alias, so changed imports like @/lib/context.js, @/ops.js, and @/services/... can pass tsc and then fail with Cannot find module '@/...'.
Context Used: CLAUDE.md (source)
| @@ -1,3 +1,4 @@ | |||
| import { FreeTextQuestionOptions, NumericalQuestionOptions } from '@/ops.js' | |||
There was a problem hiding this comment.
This script is still run through the package's direct tsx script path, but tsx does not resolve compilerOptions.paths at runtime. The new @/ops.js import can pass typechecking and then fail before the script starts with Cannot find module '@/ops.js'. The Vitest alias fixes the test runner path, but this direct script path still needs a runtime resolver or a relative import.
| import { FreeTextQuestionOptions, NumericalQuestionOptions } from '@/ops.js' | |
| import { FreeTextQuestionOptions, NumericalQuestionOptions } from '../ops.js' |
|
Greptile finding verified as a false positive on current head. The project's direct Node 24 |
Summary
This PR upgrades the main workspace to TypeScript
6.0.3while leaving the Office Add-in on5.6.3.11.5.0.baseUrluse and makes path mappings explicit. Frontend targets move from ES5 to the TypeScript 6 minimum of ES2015.prisma-json-types-generator@3.6.0.PrismaTypesdirectly.How it works
@/*GraphQL alias as TypeScript. The Prisma check generates its client before typechecking, so clean CI jobs do not rely on an earlier build or cache restore.baseUrlremoval. Manage and PWA retain narrowpublic/*mappings for existing asset imports.Branch coverage
feature/upgrade-next-react81812b892Review focus
public/*imports.Verification
Current head:
pnpm --filter @klicker-uzh/prisma checkin Node24.16.0: passed generation, typecheck, and all four patch invariants.24.16.0typecheck graph: passed, 25/25 tasks before removal of the redundant Prisma self-build edge.pnpm run check:all: passed on current head, including 24/24 typecheck tasks and all four Prisma patch tests.pnpm run build: passed on current head, 21/21 tasks.check-types: passed on current head.test-graphqlandtest-graphql-status: passed on current head.Earlier branch verification that still applies:
24.16.0, pnpm11.5.0, and TypeScript6.0.3: passed the 3,995-entry lockfile policy.pnpm --filter @klicker-uzh/graphql checkand production build in Node24.16.0: passed; production build retains the existing Pothos declaration warnings.Warnings and limits:
TypeErrorduring local worker startup.Security / privacy
Blocking before merge
Follow-up after merge