chore: upgrade toolchain majors (TypeScript 6, Vite 8, svgr 5, tsconfig-paths 6)#165
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
caltech-dev | 95088ab | Commit Preview URL Branch Preview URL |
Jun 11 2026, 04:18 AM |
| "typescript": "^6.0.3", | ||
| "vite": "^8.0.16", | ||
| "vite-plugin-svgr": "^5.2.0", | ||
| "vite-tsconfig-paths": "^6.1.1", |
There was a problem hiding this comment.
🚩 Major version bumps may require migration steps
This PR bumps four dev dependencies across major versions: TypeScript 5→6, Vite 7→8, vite-plugin-svgr 4→5, and vite-tsconfig-paths 5→6. Major version bumps can introduce breaking changes. The new src/css.d.ts (declare module "*.css") and the css.lightningcss.errorRecovery config addition suggest some migration work was already done (Vite 8 uses lightningcss by default and may no longer provide built-in CSS type declarations). It would be worth verifying the build succeeds end-to-end with these versions and that no other migration steps are needed.
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1 @@ | |||
| declare module "*.css"; | |||
There was a problem hiding this comment.
📝 Info: css.d.ts added to compensate for Vite 8 dropping CSS type declarations
The addition of declare module "*.css" is needed because newer versions of Vite/vite-plugin-svgr may no longer provide ambient CSS module declarations via vite/client types. This is confirmed by the CSS imports in src/Planner.tsx:11-14 and src/index.tsx:5 which import .css files directly. Without this declaration, TypeScript would error on those imports. This is a correct migration step.
Was this helpful? React with 👍 or 👎 to provide feedback.
|
Test results — ran the Vite 8 dev server locally and exercised the app end-to-end in Chrome (Devin session).
Notes on required migration fixes
|
…ig-paths 6) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com>
941e84b to
95088ab
Compare
There was a problem hiding this comment.
📝 Info: @vitejs/plugin-react-swc version not bumped but compatible
The @vitejs/plugin-react-swc remains at ^4.3.1 while Vite was bumped to 8.x. Per the lockfile, version 4.3.1 declares peerDependencies: { "vite": "^4 || ^5 || ^6 || ^7 || ^8" }, so this is compatible. No version bump needed here.
(Refers to line 45)
Was this helpful? React with 👍 or 👎 to provide feedback.
| css: { | ||
| lightningcss: { | ||
| // flatpickr's CSS contains legacy IE `@media (min-width:0\0)` hacks | ||
| errorRecovery: true, | ||
| }, | ||
| }, |
There was a problem hiding this comment.
📝 Info: Vite 8 LightningCSS errorRecovery for flatpickr compatibility
Vite 8 uses LightningCSS as the default CSS processor (replacing PostCSS). The errorRecovery: true option is correctly added to handle flatpickr's legacy IE CSS hacks (@media (min-width:0\0)). Without this, the build would fail on flatpickr's CSS. This is a valid workaround, though longer-term the project could consider replacing flatpickr (which is unmaintained) with a modern date picker that doesn't require legacy CSS hacks.
Was this helpful? React with 👍 or 👎 to provide feedback.
…catalogs, MUI 9, dep-shedding (#166) * deps: bump vite to 7.3.5, wrangler to 4.98.0; npm audit clean Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: upgrade toolchain majors (TypeScript 6, Vite 8, svgr 5, tsconfig-paths 6) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * perf: lazy-load term catalogs and split vendor chunks Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: no-op workspace mutations while term catalog is loading Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: log error when term catalog fails to load Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: sync catalog state before paint when the term changes Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * build: use function-form manualChunks for rolldown compatibility Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: upgrade MUI to v9.1.0 (HelpOutline -> HelpOutlined icon rename) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: use HelpOutlineOutlined to preserve original HelpOutline glyph Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: re-sync search options after async catalog load Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: key search option re-sync on catalog identity Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: upgrade toolchain majors (TypeScript 6, Vite 8, svgr 5, tsconfig-paths 6) (#165) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * perf: lazy-load term catalogs + vendor code splitting (8.2 MB → ~1.0 MB initial JS) (#164) * perf: lazy-load term catalogs and split vendor chunks Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: no-op workspace mutations while term catalog is loading Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: log error when term catalog fails to load Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: sync catalog state before paint when the term changes Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * build: use function-form manualChunks for rolldown compatibility Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: re-sync search options after async catalog load Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: key search option re-sync on catalog identity Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: upgrade MUI to v9.1.0 (#163) * chore: upgrade MUI to v9.1.0 (HelpOutline -> HelpOutlined icon rename) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: use HelpOutlineOutlined to preserve original HelpOutline glyph Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * Replace flatpickr and react-select with native/MUI inputs, bump auto-animate (#167) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * build: pin wrangler to exact 4.98.0 (4.99+ wrangler dev assets 404 regression) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: gitignore .wrangler local dev cache Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * review: restore Icon gitignore CRs, drop stale lightningcss errorRecovery (flatpickr removed) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: alert instead of silent no-op for Import Workspace / Default Schedule while catalog loads Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com>
Summary
Build-toolchain-only major upgrades; no runtime/MUI deps touched:
typescript5.9 → 6.0.3,vite7 → 8.0.16,vite-plugin-svgr4 → 5.2.0,vite-tsconfig-paths5 → 6.1.1@vitejs/plugin-react-swc,@tailwindcss/vite/tailwindcssbumped to latest minors for Vite 8 compatibilitytarget/libES2020 → ES2022Two fallout fixes required:
src/css.d.tswithdeclare module "*.css"to cover CSS imports likeimport "./css/planner.css".@media (min-width:0\0)). Setcss.lightningcss.errorRecovery: trueinvite.config.tsso the invalid query is stripped (warning only) instead of failing the build.Validated:
npm run verify(oxlint + prettier + tsc + vite build) andnpx react-doctor@latest -y --offline --fail-on error(100/100) pass.Link to Devin session: https://app.devin.ai/sessions/2eb2f53798ef4b36806b3b68cee6bbd5
Requested by: @rchalamala