chore(deps): upgrade all dependencies (2026-08-17) - #17
Open
devin-ai-integration[bot] wants to merge 13 commits into
Open
devin-ai-integration[bot] wants to merge 13 commits into
devin-ai-integration[bot] wants to merge 13 commits into
Conversation
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
…ugin-react and vite-plugin-svgr Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
…rts from 1.7.0 to 2.1.1 Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
Author
🤖 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:
|
vite 8's rolldown-based CJS interop breaks @react-jvectormap/core (a webpack/css-loader bundle): the app throws "_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default is not a function" at runtime and renders an empty #root in both dev and the production build, even though lint, build and tsc all pass. Co-Authored-By: Phil Bedford <phil.bedford@cognition.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Upgrades every outdated npm dependency in the dashboard (28 packages) in batched commits: patch, minor, then one commit per major. No application source changes were needed — every upgrade was accepted only after
npm run lint,npm run build, andnpx tsc --noEmitpassed.npm auditgoes from 14 vulnerabilities (1 critical, 10 high) → 0.The notable moves are
vite6 → 8 (rolldown-based build) andtypescript5.7 → 6.0, both of which required coupling decisions documented below. React 19 peer-dependencyoverridesare preserved unchanged.Upgrade summary
Batch 1 — patch (
chore(deps): upgrade patch dependencies)Batch 2 — minor (
chore(deps): upgrade minor dependencies)Batch 3 — majors, one commit each
~pin preserved (~6.0.3); TS 7 skipped, see below@vitejs/plugin-react4.x:Cannot find package 'esbuild'), then pinned back to 7.3.6 — see "vite 8 regression" belowreact-apexchartsin one commitvite 8 regression (why vite is pinned to 7.3.6)
vite 8.2.1 passes lint,
npm run buildandtsc --noEmit, but the app is broken at runtime — in dev and in the production build:The failure comes from
@react-jvectormap/core(used bysrc/components/ecommerce/CountryMap.tsx), which ships a webpack bundle thatrequirescss-loader/dist/runtime/api.js; vite 8's rolldown-based CJS interop resolves that default import to a namespace instead of a function, so the whole React tree fails to mount and the dashboard renders blank.main(vite 6.4.1) renders fine, so this is caused by the upgrade. Working around it would mean patching or replacing@react-jvectormap— out of scope here — so vite is pinned to the latest 7.x (7.3.6), which is still a major upgrade and renders correctly (#root≈ 252k chars, no console errors).@vitejs/plugin-react5.2.0 andvite-plugin-svgr5.2.0 both peer-support vite 7.Note for anyone bisecting: clear
node_modules/.viteafter changing vite versions, or stale vite-8 prebundles reproduce the error under vite 7.A final commit runs
npm audit fix(non-breaking, lockfile-only) to clear two remaining transitive advisories (flatted,yaml).Security fixes
npm auditbefore: 14 vulnerabilities (1 critical, 10 high, 2 moderate, 1 low). After: 0. Advisories resolved include:brace-expansion— GHSA-f886-m6hf-6m8v, GHSA-3jxr-9vmj-r5cp, GHSA-mh99-v99m-4gvg, GHSA-rgw5-rvv9-x895minimatch— GHSA-3ppc-4f35-3m26, GHSA-7r86-cg39-jmmj, GHSA-23c5-xmqv-rm74picomatch— GHSA-3v7f-55p6-f55p, GHSA-c2c7-rcm5-vvqjpostcss— GHSA-qx2v-qp2m-jg93, GHSA-6g55-p6wh-862q, GHSA-fxqj-rqcc-2cmp, GHSA-r28c-9q8g-f849vite— GHSA-4w7w-66w2-5vf9, GHSA-p9ff-h696-f583, GHSA-fx2h-pf6j-xcffjs-yaml— GHSA-mh29-5h37-fv8m, GHSA-h67p-54hq-rp68, GHSA-52cp-r559-cp3m, GHSA-5p4m-2wfm-xmqjnanoid— GHSA-28wg-ghj8-5hjv, GHSA-2v37-7h3g-55p8flatted— GHSA-25h7-pfq9-p65f, GHSA-rf6f-7fwh-wjghyaml— GHSA-48c2-rrv3-qjmpajv— GHSA-2g4f-4pwh-qvx6,@babel/core— GHSA-4x5r-pxfx-6jf8,launch-editor— GHSA-v6wh-96g9-6wx3npm audit fix --forcewas not used.Skipped packages
daygrid,timegrid,list,interaction) have no stable 7.x release (latest published is7.0.0-rc.0/7.0.0-beta.6), so the FullCalendar set cannot move to 7 as a unit. All six pinned to 6.1.21 instead.typescript-eslinthard-errors on load: "typescript-eslint does not support TS 7.0" (upstream tracking issue typescript-eslint#10940), sonpm run lintfails. Took TS 6.0.3 instead, which passes lint, build andtsc --noEmit.npm installfails withERESOLVE— its optional peer@rolldown/plugin-babel@0.2.3pulls a conflicting@babel/core@8.0.0-rc.4. Resolving would require anoverridesentry pinning a prerelease Babel.5.2.0peer-supports `vite ^7react-hooks/set-state-in-effect,react-hooks/purity) produce 4 lint errors in existing app source (SidebarContext.tsx,ThemeContext.tsx,Calendar.tsx:38,Calendar.tsx:97Date.now()in render). Fixing requires refactoring application components, which is out of scope for a dependency upgrade. Took the in-range5.2.0.Source impact
src/:react,react-dom,react-router(16 files),apexcharts+react-apexcharts(5 files),flatpickr(2),@fullcalendar/*,swiper,react-dropzone,react-helmet-async,@react-jvectormap/*,clsx,tailwind-merge(1 file each),tailwindcssviasrc/index.css.vite,@vitejs/plugin-react,vite-plugin-svgr,typescript,eslint,@eslint/js,typescript-eslint,eslint-plugin-react-hooks,eslint-plugin-react-refresh,globals,postcss,@tailwindcss/postcss,@types/react,@types/react-dom.react-dnd/react-dnd-html5-backendare declared but not imported anywhere insrc/(and were already current).Validation
npm run lintreact-refresh/only-export-componentswarnings (identical onmain)npm run build(tsc -b && vite build)npx tsc --noEmitnpm testtestscript exists in this repo — there is no unit-test suite to run;tests/contains only Python Selenium/Playwright browser scripts that are not wired to npmnpm auditBaseline on
mainwas verified green (lint/build/tsc) before any upgrade. All three gates were re-run after every batch and after every individual major upgrade.Frontend verification
Verified end-to-end in a real browser against
npm run dev(vite 7.3.6) with a recorded, annotated walkthrough: all checks passed, 0 console errors, 0 console warnings. Dashboard render, Tailwind 4.3 styling, ApexCharts 6 widgets (bars + live tooltip, radial 75.55%, area series), the jVectorMap demographic map (176 country paths), react-router 7.18 navigation across Calendar / Basic Tables / Profile / Alerts / Line & Bar Chart, FullCalendar day-select → add-event, dark-mode toggle, sidebar collapse,Ctrl+Ksearch, react-dropzoneonDrop, and the flatpickr picker.swiper 11 → 14 could not be exercised as a carousel: the free template imports only
swiper/swiper-bundle.cssand has no Swiper React component insrc/. Verified the CSS entry still resolves (78.swiper*rules loaded).Link to Devin session: https://app.devin.ai/sessions/880e22ef0447491eb0368970cfd9a9b8
Requested by: @dr-phil
Devin Review