Skip to content

Commit b168a80

Browse files
authored
chore(deps): upgrade stack to latest (Vite 8, TS 6, React 19.2.7), remove dead deps, fix 12 advisories (#186)
* chore(deps): update runtime + dev-tool deps to latest (minor/patch) React 19.2.7, motion 12.42, three 0.185, tailwind 4.3, lenis 1.3.25, R3F 9.6, and dev tooling (vitest, prettier, typescript-eslint, eslint plugins). Refactor useContactForm to raise the error toast in handlers instead of an effect, per the new react-hooks/set-state-in-effect rule in eslint-plugin-react-hooks 7.1. * chore(deps): lucide-react 1.x, jsdom 29; remove unused tsparticles - lucide-react 0.563 -> 1.21, jsdom 28 -> 29 (both clean) - @tsparticles/react + /slim were installed but never imported in src/ -- removed them, the dead manualChunks 'particles' entry, and the orphaned test mock * chore(deps): upgrade build toolchain (Vite 8, plugin-react 6, TypeScript 6) - Vite 7 -> 8 (Rolldown bundler): convert manualChunks to function form; build time drops ~6s -> ~0.8s - TypeScript 5.9 -> 6.0: drop deprecated baseUrl (paths now ./-prefixed), add ambient declarations for @fontsource-variable side-effect imports - @vitejs/plugin-react 5 -> 6 - ESLint held at 9: eslint-plugin-react latest (7.37.5) only supports eslint <=9.7, not 10. Will bump once the plugin ships eslint-10 support. * chore(deps): raise undici override to clear advisories + changelog/version undici override >=7.28.0 <8 (jsdom 29 caps undici at 7.x; 7.28 clears the high advisories). 13 -> 1 dependency vulnerabilities. Bump version to 3.16.0.
1 parent 3822c70 commit b168a80

8 files changed

Lines changed: 1211 additions & 1716 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
22

33
All notable changes to this project are documented here. Follows [Semantic Versioning](https://semver.org/).
44

5+
## [3.16.0] - 2026-06-28
6+
7+
### Changed
8+
9+
- **Build toolchain**: Vite 7 -> 8 (Rolldown bundler -- production build time ~6s -> ~0.8s), TypeScript 5.9 -> 6.0, `@vitejs/plugin-react` 5 -> 6. `manualChunks` migrated to function form; `baseUrl` dropped (paths now `./`-prefixed); ambient declarations added for `@fontsource-variable` side-effect imports
10+
- **Runtime deps to latest**: React 19.2.7, motion 12.42, three 0.185, tailwindcss 4.3, lenis 1.3.25, `@react-three/fiber` 9.6, react-icons 5.6, lucide-react 0.x -> 1.21
11+
- **Dev tooling**: vitest 4.1.9, prettier 3.9, typescript-eslint 8.62, jsdom 28 -> 29, and the `eslint-plugin-react-hooks` 7.1 `set-state-in-effect` rule (drove the contact-hook refactor)
12+
13+
### Removed
14+
15+
- Unused `@tsparticles/react` + `@tsparticles/slim` dependencies (never imported), the dead `particles` manualChunks entry, and the orphaned test mock
16+
17+
### Security
18+
19+
- Resolved 12 of 13 dependency advisories (4 high + moderates -> 0 high, 1 moderate): `undici` override raised to `>=7.28.0 <8` (newest version jsdom 29 supports). Remaining moderate is a dev-only transitive with no compatible patch
20+
- ESLint held at 9: `eslint-plugin-react` does not yet support ESLint 10
21+
522
## [3.15.0] - 2026-06-28
623

724
### Added

package.json

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "portfolio-react",
3-
"version": "3.15.0",
3+
"version": "3.16.0",
44
"type": "module",
55
"private": true,
66
"homepage": "https://sagargupta.online/portfolio-react/",
@@ -23,40 +23,38 @@
2323
"@fontsource-variable/inter": "^5.2.8",
2424
"@fontsource-variable/jetbrains-mono": "^5.2.8",
2525
"@react-three/drei": "^10.7.7",
26-
"@react-three/fiber": "^9.5.0",
27-
"@tailwindcss/vite": "^4.1.18",
28-
"@tsparticles/react": "^3.0.0",
29-
"@tsparticles/slim": "^3.9.1",
30-
"lenis": "^1.3.17",
31-
"lucide-react": "^0.563.0",
32-
"motion": "^12.35.2",
33-
"react": "^19.2.4",
34-
"react-dom": "^19.2.4",
35-
"react-github-calendar": "^5.0.5",
36-
"react-icons": "^5.5.0",
37-
"react-intersection-observer": "^10.0.2",
38-
"tailwindcss": "^4.1.18",
39-
"three": "^0.183.0"
26+
"@react-three/fiber": "^9.6.1",
27+
"@tailwindcss/vite": "^4.3.1",
28+
"lenis": "^1.3.25",
29+
"lucide-react": "^1.21.0",
30+
"motion": "^12.42.0",
31+
"react": "^19.2.7",
32+
"react-dom": "^19.2.7",
33+
"react-github-calendar": "^5.0.6",
34+
"react-icons": "^5.6.0",
35+
"react-intersection-observer": "^10.0.3",
36+
"tailwindcss": "^4.3.1",
37+
"three": "^0.185.0"
4038
},
4139
"devDependencies": {
42-
"@eslint/js": "^9.39.1",
40+
"@eslint/js": "^9.39.4",
4341
"@testing-library/react": "^16.3.2",
4442
"@types/react-dom": "^19.2.3",
45-
"@vitejs/plugin-react": "^5.1.4",
43+
"@vitejs/plugin-react": "^6.0.3",
4644
"eslint": "^9.39.4",
4745
"eslint-plugin-jsx-a11y": "^6.10.2",
4846
"eslint-plugin-react": "^7.37.5",
49-
"eslint-plugin-react-hooks": "^7.0.1",
50-
"eslint-plugin-react-refresh": "^0.5.0",
47+
"eslint-plugin-react-hooks": "^7.1.1",
48+
"eslint-plugin-react-refresh": "^0.5.3",
5149
"gh-pages": "^6.3.0",
52-
"globals": "^17.4.0",
53-
"jsdom": "^28.1.0",
54-
"prettier": "^3.8.1",
55-
"rimraf": "^6.1.2",
56-
"typescript": "^5.9.3",
57-
"typescript-eslint": "^8.57.2",
58-
"vite": "^7.3.2",
59-
"vitest": "^4.1.8"
50+
"globals": "^17.7.0",
51+
"jsdom": "^29.1.1",
52+
"prettier": "^3.9.1",
53+
"rimraf": "^6.1.3",
54+
"typescript": "^6.0.3",
55+
"typescript-eslint": "^8.62.0",
56+
"vite": "^8.1.0",
57+
"vitest": "^4.1.9"
6058
},
6159
"engines": {
6260
"node": ">=24.11.0",
@@ -79,7 +77,7 @@
7977
"js-yaml": ">=4.1.1",
8078
"ajv@<7": "~6.14.0",
8179
"rollup@>=4.0.0 <4.59.0": ">=4.59.0",
82-
"undici": ">=7.24.0",
80+
"undici": ">=7.28.0 <8",
8381
"flatted": ">=3.4.0",
8482
"yaml": ">=2.8.3",
8583
"esbuild": ">=0.28.1"

0 commit comments

Comments
 (0)