Upgrade React to v19, update TypeScript config and Vite settings

Co-authored-by: natemkelley <natemkelley@gmail.com>
This commit is contained in:
Cursor Agent 2025-08-13 06:03:50 +00:00
parent 5e51d6f8c6
commit cb6343eac2
4 changed files with 65 additions and 48 deletions

View File

@ -2,7 +2,8 @@
"$schema": "https://json.schemastore.org/tsconfig", "$schema": "https://json.schemastore.org/tsconfig",
"include": [ "include": [
"src/**/*.ts", "src/**/*.ts",
"src/**/*.tsx" "src/**/*.tsx",
"node_modules/vite/client.d.ts"
], ],
"exclude": ["node_modules", "dist", "**/*.stories.ts", "**/*.stories.tsx"], "exclude": ["node_modules", "dist", "**/*.stories.ts", "**/*.stories.tsx"],
"compilerOptions": { "compilerOptions": {
@ -10,7 +11,7 @@
"jsx": "react-jsx", "jsx": "react-jsx",
"module": "ESNext", "module": "ESNext",
"lib": ["ES2022", "DOM", "DOM.Iterable"], "lib": ["ES2022", "DOM", "DOM.Iterable"],
"types": ["vite/client"], "typeRoots": ["./node_modules/@types"],
"moduleResolution": "bundler", "moduleResolution": "bundler",
"allowImportingTsExtensions": true, "allowImportingTsExtensions": true,
@ -24,7 +25,8 @@
"noUncheckedSideEffectImports": true, "noUncheckedSideEffectImports": true,
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
"@/*": ["./src/*"] "@/*": ["./src/*"],
"vite/client": ["./node_modules/vite/client.d.ts"]
} }
}, },
"references": [ "references": [

View File

@ -5,7 +5,10 @@ import { defineConfig } from 'vite';
import checker from 'vite-plugin-checker'; import checker from 'vite-plugin-checker';
import viteTsConfigPaths from 'vite-tsconfig-paths'; import viteTsConfigPaths from 'vite-tsconfig-paths';
const config = defineConfig({ export default defineConfig(({ command }) => {
const isServe = command === 'serve';
return {
server: { server: {
port: 3000, port: 3000,
}, },
@ -19,13 +22,12 @@ const config = defineConfig({
customViteReactPlugin: true, customViteReactPlugin: true,
}), }),
viteReact(), viteReact(),
!process.env.VITEST isServe
? checker({ ? checker({
typescript: true, typescript: true,
biome: true, biome: true,
}) })
: undefined, : undefined,
], ],
};
}); });
export default config;

View File

@ -64,6 +64,12 @@
"packageManager": "pnpm@9.15.0", "packageManager": "pnpm@9.15.0",
"pnpm": { "pnpm": {
"overrides": { "overrides": {
"@buster-app/web>react": "18.3.1",
"@buster-app/web>react-dom": "18.3.1",
"@buster-app/web>@types/react": "^18.3.23",
"@buster-app/web>@types/react-dom": "^18.3.7",
"@buster-app/web-tss>react": "^19.1.1",
"@buster-app/web-tss>react-dom": "^19.1.1",
"@buster-app/web-tss>@types/react": "^19.1.10", "@buster-app/web-tss>@types/react": "^19.1.10",
"@buster-app/web-tss>@types/react-dom": "^19.1.7" "@buster-app/web-tss>@types/react-dom": "^19.1.7"
}, },

View File

@ -110,6 +110,12 @@ catalogs:
version: 3.25.76 version: 3.25.76
overrides: overrides:
'@buster-app/web>react': 18.3.1
'@buster-app/web>react-dom': 18.3.1
'@buster-app/web>@types/react': ^18.3.23
'@buster-app/web>@types/react-dom': ^18.3.7
'@buster-app/web-tss>react': ^19.1.1
'@buster-app/web-tss>react-dom': ^19.1.1
'@buster-app/web-tss>@types/react': ^19.1.10 '@buster-app/web-tss>@types/react': ^19.1.10
'@buster-app/web-tss>@types/react-dom': ^19.1.7 '@buster-app/web-tss>@types/react-dom': ^19.1.7
@ -635,7 +641,7 @@ importers:
specifier: ^1.259.0 specifier: ^1.259.0
version: 1.259.0 version: 1.259.0
react: react:
specifier: ^18.3.1 specifier: 18.3.1
version: 18.3.1 version: 18.3.1
react-color: react-color:
specifier: ^2.19.3 specifier: ^2.19.3
@ -653,7 +659,7 @@ importers:
specifier: ^16.0.1 specifier: ^16.0.1
version: 16.0.1 version: 16.0.1
react-dom: react-dom:
specifier: ^18.3.1 specifier: 18.3.1
version: 18.3.1(react@18.3.1) version: 18.3.1(react@18.3.1)
react-hotkeys-hook: react-hotkeys-hook:
specifier: ^5.1.0 specifier: ^5.1.0
@ -17274,11 +17280,11 @@ snapshots:
zod-from-json-schema: 0.0.5 zod-from-json-schema: 0.0.5
zod-to-json-schema: 3.24.6(zod@3.25.76) zod-to-json-schema: 3.24.6(zod@3.25.76)
'@mdx-js/react@3.1.0(@types/react@18.3.23)(react@18.3.1)': '@mdx-js/react@3.1.0(@types/react@18.3.23)(react@19.1.1)':
dependencies: dependencies:
'@types/mdx': 2.0.13 '@types/mdx': 2.0.13
'@types/react': 18.3.23 '@types/react': 18.3.23
react: 18.3.1 react: 19.1.1
'@mdx-js/react@3.1.0(@types/react@19.1.10)(react@19.1.1)': '@mdx-js/react@3.1.0(@types/react@19.1.10)(react@19.1.1)':
dependencies: dependencies:
@ -20590,12 +20596,12 @@ snapshots:
'@storybook/addon-docs@9.1.1(@types/react@18.3.23)(storybook@9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': '@storybook/addon-docs@9.1.1(@types/react@18.3.23)(storybook@9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))':
dependencies: dependencies:
'@mdx-js/react': 3.1.0(@types/react@18.3.23)(react@18.3.1) '@mdx-js/react': 3.1.0(@types/react@18.3.23)(react@19.1.1)
'@storybook/csf-plugin': 9.1.1(storybook@9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@storybook/csf-plugin': 9.1.1(storybook@9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))
'@storybook/icons': 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/icons': 1.4.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@storybook/react-dom-shim': 9.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@storybook/react-dom-shim': 9.1.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))
react: 18.3.1 react: 19.1.1
react-dom: 18.3.1(react@18.3.1) react-dom: 19.1.1(react@19.1.1)
storybook: 9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) storybook: 9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
ts-dedent: 2.2.0 ts-dedent: 2.2.0
transitivePeerDependencies: transitivePeerDependencies:
@ -20680,11 +20686,6 @@ snapshots:
'@storybook/global@5.0.0': {} '@storybook/global@5.0.0': {}
'@storybook/icons@1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
'@storybook/icons@1.4.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': '@storybook/icons@1.4.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies: dependencies:
react: 19.1.1 react: 19.1.1
@ -20794,6 +20795,12 @@ snapshots:
react-dom: 18.3.1(react@18.3.1) react-dom: 18.3.1(react@18.3.1)
storybook: 9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) storybook: 9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
'@storybook/react-dom-shim@9.1.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))':
dependencies:
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
storybook: 9.1.1(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))
'@storybook/react-dom-shim@9.1.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@9.1.2(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': '@storybook/react-dom-shim@9.1.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(storybook@9.1.2(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(prettier@3.6.2)(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))':
dependencies: dependencies:
react: 19.1.1 react: 19.1.1
@ -24707,8 +24714,8 @@ snapshots:
'@typescript-eslint/parser': 8.35.1(eslint@8.57.1)(typescript@5.9.2) '@typescript-eslint/parser': 8.35.1(eslint@8.57.1)(typescript@5.9.2)
eslint: 8.57.1 eslint: 8.57.1
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1))(eslint@8.57.1) eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1)
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.5(eslint@8.57.1) eslint-plugin-react: 7.37.5(eslint@8.57.1)
eslint-plugin-react-hooks: 5.2.0(eslint@8.57.1) eslint-plugin-react-hooks: 5.2.0(eslint@8.57.1)
@ -24731,7 +24738,7 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1))(eslint@8.57.1): eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1):
dependencies: dependencies:
'@nolyfill/is-core-module': 1.0.39 '@nolyfill/is-core-module': 1.0.39
debug: 4.4.1 debug: 4.4.1
@ -24742,22 +24749,22 @@ snapshots:
tinyglobby: 0.2.14 tinyglobby: 0.2.14
unrs-resolver: 1.11.0 unrs-resolver: 1.11.0
optionalDependencies: optionalDependencies:
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): eslint-module-utils@2.12.1(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1):
dependencies: dependencies:
debug: 3.2.7 debug: 3.2.7
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 8.35.1(eslint@8.57.1)(typescript@5.9.2) '@typescript-eslint/parser': 8.35.1(eslint@8.57.1)(typescript@5.9.2)
eslint: 8.57.1 eslint: 8.57.1
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1))(eslint@8.57.1) eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1):
dependencies: dependencies:
'@rtsao/scc': 1.1.0 '@rtsao/scc': 1.1.0
array-includes: 3.1.9 array-includes: 3.1.9
@ -24768,7 +24775,7 @@ snapshots:
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 8.57.1 eslint: 8.57.1
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.35.1(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)
hasown: 2.0.2 hasown: 2.0.2
is-core-module: 2.16.1 is-core-module: 2.16.1
is-glob: 4.0.3 is-glob: 4.0.3