chore(deps): upgrade to React 19, Chakra UI v3, router v7 and modern tooling
- React 18 -> 19 (react, react-dom, @types), react-router 6 -> 7, vite 5 -> 8, typescript 5.5 -> 5.9 with Bundler module resolution, esModuleInterop and @/* path alias - Chakra 2.8 -> 3.37 (+cli), chakra-react-select 4.9 -> 6.1, next-themes for color mode; drop @chakra-ui/icons, chakra-ui-contextmenu, framer-motion and react-device-detect - axios, jodit-react, hookform, toast, testing-library, node types bumped alongside; bun.lockb regenerated - web-vitals 4 -> 6: ReportHandler/getCLS/getFID removed, migrate to MetricType with onCLS/onINP/onFCP/onLCP/onTTFB
This commit is contained in:
+31
-35
@@ -3,31 +3,27 @@
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@chakra-ui/icons": "^2.1.1",
|
||||
"@chakra-ui/react": "^2.8.2",
|
||||
"@emotion/react": "^11.13.3",
|
||||
"@emotion/styled": "^11.13.0",
|
||||
"@hookstate/core": "^4.0.1",
|
||||
"@chakra-ui/react": "^3.37.0",
|
||||
"@emotion/react": "^11.14.0",
|
||||
"@hookstate/core": "^4.0.2",
|
||||
"@hookstate/localstored": "^4.0.2",
|
||||
"axios": "1.7.5",
|
||||
"axios": "^1.20.0",
|
||||
"bson-objectid": "^2.0.4",
|
||||
"chakra-react-select": "^4.9.1",
|
||||
"chakra-ui-contextmenu": "^1.0.5",
|
||||
"framer-motion": "^11.3.30",
|
||||
"interweave": "^13.1.0",
|
||||
"jodit-react": "^4.1.2",
|
||||
"js-base64": "^3.7.7",
|
||||
"react": "^18.3.1",
|
||||
"react-device-detect": "^2.2.3",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-hook-form": "^7.53.0",
|
||||
"react-icons": "^5.3.0",
|
||||
"chakra-react-select": "^6.1.3",
|
||||
"interweave": "^13.1.1",
|
||||
"jodit-react": "^5.5.3",
|
||||
"js-base64": "^3.9.3",
|
||||
"next-themes": "^0.4.6",
|
||||
"react": "^19.2.8",
|
||||
"react-dom": "^19.2.8",
|
||||
"react-hook-form": "^7.87.0",
|
||||
"react-icons": "^5.7.0",
|
||||
"react-rating": "^2.0.5",
|
||||
"react-responsive-carousel": "^3.2.23",
|
||||
"react-router-dom": "^6.26.1",
|
||||
"react-select": "^5.8.0",
|
||||
"react-toastify": "^10.0.5",
|
||||
"web-vitals": "^4.2.3"
|
||||
"react-router-dom": "^7.18.3",
|
||||
"react-select": "^5.10.2",
|
||||
"react-toastify": "^11.1.0",
|
||||
"web-vitals": "^6.2.1"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "bunx --bun vite",
|
||||
@@ -42,8 +38,8 @@
|
||||
]
|
||||
},
|
||||
"resolutions": {
|
||||
"@types/react": "18.2.21",
|
||||
"@types/react-dom": "18.2.7"
|
||||
"@types/react": "19.2.18",
|
||||
"@types/react-dom": "19.2.7"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
@@ -58,18 +54,18 @@
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"@chakra-ui/cli": "^2.4.1",
|
||||
"@hookstate/devtools": "^4.0.1",
|
||||
"@testing-library/jest-dom": "^6.5.0",
|
||||
"@testing-library/react": "^16.0.0",
|
||||
"@testing-library/user-event": "^14.5.2",
|
||||
"@types/jest": "^29.5.12",
|
||||
"@types/node": "^22.5.1",
|
||||
"@types/react": "^18.2.21",
|
||||
"@types/react-dom": "^18.2.7",
|
||||
"@chakra-ui/cli": "^3.37.0",
|
||||
"@hookstate/devtools": "^4.0.3",
|
||||
"@testing-library/jest-dom": "^7.0.1",
|
||||
"@testing-library/react": "^16.3.3",
|
||||
"@testing-library/user-event": "^14.6.7",
|
||||
"@types/jest": "^30.0.0",
|
||||
"@types/node": "^26.4.1",
|
||||
"@types/react": "^19.2.18",
|
||||
"@types/react-dom": "^19.2.7",
|
||||
"@types/react-table": "^7.7.20",
|
||||
"@vitejs/plugin-react": "^4.3.1",
|
||||
"typescript": "^5.5.4",
|
||||
"vite": "^5.4.2"
|
||||
"@vitejs/plugin-react": "^6.1.1",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^8.2.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { ReportHandler } from 'web-vitals';
|
||||
import type { MetricType } from 'web-vitals';
|
||||
|
||||
const reportWebVitals = (onPerfEntry?: ReportHandler) => {
|
||||
const reportWebVitals = (onPerfEntry?: (metric: MetricType) => void) => {
|
||||
if (onPerfEntry && onPerfEntry instanceof Function) {
|
||||
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
|
||||
getCLS(onPerfEntry);
|
||||
getFID(onPerfEntry);
|
||||
getFCP(onPerfEntry);
|
||||
getLCP(onPerfEntry);
|
||||
getTTFB(onPerfEntry);
|
||||
import('web-vitals').then(({ onCLS, onINP, onFCP, onLCP, onTTFB }) => {
|
||||
onCLS(onPerfEntry);
|
||||
onINP(onPerfEntry);
|
||||
onFCP(onPerfEntry);
|
||||
onLCP(onPerfEntry);
|
||||
onTTFB(onPerfEntry);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
+7
-4
@@ -5,17 +5,20 @@
|
||||
"types": ["vite/client"],
|
||||
"allowJs": false,
|
||||
"skipLibCheck": true,
|
||||
"esModuleInterop": false,
|
||||
"esModuleInterop": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"strict": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"module": "esnext",
|
||||
"moduleResolution": "node",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Bundler",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"noEmit": true,
|
||||
"jsx": "react-jsx"
|
||||
"jsx": "react-jsx",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
|
||||
Reference in New Issue
Block a user