Skip to content

Commit 96410e8

Browse files
tomitheninjasuditamascursoragent
authored
KIR-612: update dependencies, Vite config, and TanStack Store usage (#101)
Bring the stack to current Vite 8, TanStack, and Prisma 7 practices by bumping workspace dependencies, switching to native tsconfig path resolution, migrating store devtools from Derived to createAtom, and aligning CI/tooling with Node 22. Co-authored-by: stamas <stamas@cloudera.com> Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 0af1121 commit 96410e8

35 files changed

Lines changed: 10630 additions & 7715 deletions

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Set up Node.js
1717
uses: actions/setup-node@v4
1818
with:
19-
node-version: '20'
19+
node-version: '22'
2020

2121
- name: Install dependencies
2222
run: npm ci
@@ -44,7 +44,7 @@ jobs:
4444
- name: Set up Node.js
4545
uses: actions/setup-node@v4
4646
with:
47-
node-version: '20'
47+
node-version: '22'
4848

4949
- name: Install dependencies
5050
run: npm ci
@@ -62,7 +62,7 @@ jobs:
6262
- name: Set up Node.js
6363
uses: actions/setup-node@v4
6464
with:
65-
node-version: '20'
65+
node-version: '22'
6666

6767
- name: Install dependencies
6868
run: npm ci

biome.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"root": true,
3-
"$schema": "https://biomejs.dev/schemas/2.3.15/schema.json",
3+
"$schema": "https://biomejs.dev/schemas/2.5.8/schema.json",
44
"vcs": {
55
"enabled": true,
66
"clientKind": "git",
@@ -69,7 +69,7 @@
6969
},
7070
"assist": {
7171
"actions": {
72-
"recommended": true
72+
"preset": "recommended"
7373
}
7474
}
7575
}

full-stack/biome.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://biomejs.dev/schemas/2.3.15/schema.json",
2+
"$schema": "https://biomejs.dev/schemas/2.5.8/schema.json",
33
"root": false,
44
"extends": "//",
55
"files": {

full-stack/package.json

Lines changed: 86 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -17,115 +17,114 @@
1717
"build-storybook": "storybook build"
1818
},
1919
"dependencies": {
20-
"@base-ui/react": "^1.2.0",
21-
"@faker-js/faker": "^10.3.0",
22-
"@fontsource-variable/geist": "^5.2.8",
23-
"@hookform/resolvers": "^5.2.2",
24-
"@modelcontextprotocol/sdk": "^1.26.0",
25-
"@prisma/studio-core": "^0.14.0",
26-
"@radix-ui/react-accordion": "^1.2.12",
27-
"@radix-ui/react-alert-dialog": "^1.1.15",
28-
"@radix-ui/react-aspect-ratio": "^1.1.8",
29-
"@radix-ui/react-avatar": "^1.1.11",
30-
"@radix-ui/react-checkbox": "^1.3.3",
31-
"@radix-ui/react-collapsible": "^1.1.12",
32-
"@radix-ui/react-context-menu": "^2.2.16",
33-
"@radix-ui/react-dialog": "^1.1.15",
34-
"@radix-ui/react-dropdown-menu": "^2.1.16",
35-
"@radix-ui/react-hover-card": "^1.1.15",
36-
"@radix-ui/react-label": "^2.1.8",
37-
"@radix-ui/react-menubar": "^1.1.16",
38-
"@radix-ui/react-navigation-menu": "^1.2.14",
39-
"@radix-ui/react-popover": "^1.1.15",
40-
"@radix-ui/react-progress": "^1.1.8",
41-
"@radix-ui/react-radio-group": "^1.3.8",
42-
"@radix-ui/react-scroll-area": "^1.2.10",
43-
"@radix-ui/react-select": "^2.2.6",
44-
"@radix-ui/react-separator": "^1.1.8",
45-
"@radix-ui/react-slider": "^1.3.6",
46-
"@radix-ui/react-slot": "^1.2.4",
47-
"@radix-ui/react-switch": "^1.2.6",
48-
"@radix-ui/react-tabs": "^1.1.13",
49-
"@radix-ui/react-toggle": "^1.1.10",
50-
"@radix-ui/react-toggle-group": "^1.1.11",
51-
"@radix-ui/react-tooltip": "^1.2.8",
52-
"@storybook/react-vite": "^10.2.8",
53-
"@t3-oss/env-core": "^0.13.10",
54-
"@tailwindcss/postcss": "^4.1.18",
55-
"@tailwindcss/vite": "^4.1.18",
56-
"@tanstack/db": "^0.5.26",
57-
"@tanstack/match-sorter-utils": "^8.19.4",
58-
"@tanstack/query-db-collection": "^1.0.23",
59-
"@tanstack/react-db": "^0.1.70",
60-
"@tanstack/react-form": "^1.28.2",
61-
"@tanstack/react-query": "^5.90.21",
62-
"@tanstack/react-query-devtools": "^5.91.3",
63-
"@tanstack/react-router": "^1.159.10",
64-
"@tanstack/react-router-devtools": "^1.159.10",
65-
"@tanstack/react-router-ssr-query": "^1.159.10",
66-
"@tanstack/react-start": "^1.159.12",
67-
"@tanstack/react-store": "^0.8.0",
68-
"@tanstack/react-table": "^8.21.3",
69-
"@tanstack/router-plugin": "^1.159.12",
70-
"@tanstack/store": "^0.8.0",
71-
"@trpc/client": "^11.10.0",
72-
"@trpc/server": "^11.10.0",
73-
"@trpc/tanstack-react-query": "^11.10.0",
20+
"@base-ui/react": "^1.7.0",
21+
"@faker-js/faker": "^10.6.0",
22+
"@fontsource-variable/geist": "^5.3.0",
23+
"@hookform/resolvers": "^5.9.0",
24+
"@modelcontextprotocol/sdk": "^1.30.0",
25+
"@prisma/studio-core": "^0.33.0",
26+
"@radix-ui/react-accordion": "^1.2.20",
27+
"@radix-ui/react-alert-dialog": "^1.1.23",
28+
"@radix-ui/react-aspect-ratio": "^1.1.15",
29+
"@radix-ui/react-avatar": "^1.2.6",
30+
"@radix-ui/react-checkbox": "^1.3.11",
31+
"@radix-ui/react-collapsible": "^1.1.20",
32+
"@radix-ui/react-context-menu": "^2.3.7",
33+
"@radix-ui/react-dialog": "^1.1.23",
34+
"@radix-ui/react-dropdown-menu": "^2.1.24",
35+
"@radix-ui/react-hover-card": "^1.1.23",
36+
"@radix-ui/react-label": "^2.1.15",
37+
"@radix-ui/react-menubar": "^1.1.24",
38+
"@radix-ui/react-navigation-menu": "^1.2.22",
39+
"@radix-ui/react-popover": "^1.1.23",
40+
"@radix-ui/react-progress": "^1.1.16",
41+
"@radix-ui/react-radio-group": "^1.4.7",
42+
"@radix-ui/react-scroll-area": "^1.2.18",
43+
"@radix-ui/react-select": "^2.3.7",
44+
"@radix-ui/react-separator": "^1.1.15",
45+
"@radix-ui/react-slider": "^1.4.7",
46+
"@radix-ui/react-slot": "^1.3.3",
47+
"@radix-ui/react-switch": "^1.3.7",
48+
"@radix-ui/react-tabs": "^1.1.21",
49+
"@radix-ui/react-toggle": "^1.1.18",
50+
"@radix-ui/react-toggle-group": "^1.1.19",
51+
"@radix-ui/react-tooltip": "^1.2.16",
52+
"@storybook/react-vite": "^10.5.8",
53+
"@t3-oss/env-core": "^0.13.11",
54+
"@tailwindcss/postcss": "^4.3.3",
55+
"@tailwindcss/vite": "^4.3.3",
56+
"@tanstack/db": "^0.7.2",
57+
"@tanstack/match-sorter-utils": "^9.1.2",
58+
"@tanstack/query-db-collection": "^1.2.4",
59+
"@tanstack/react-db": "^0.2.1",
60+
"@tanstack/react-form": "^1.33.5",
61+
"@tanstack/react-query": "^5.101.4",
62+
"@tanstack/react-query-devtools": "^5.101.4",
63+
"@tanstack/react-router": "^1.170.29",
64+
"@tanstack/react-router-devtools": "^1.167.1",
65+
"@tanstack/react-router-ssr-query": "^1.167.1",
66+
"@tanstack/react-start": "^1.168.46",
67+
"@tanstack/react-store": "^0.11.1",
68+
"@tanstack/react-table": "^9.1.2",
69+
"@tanstack/router-plugin": "^1.168.32",
70+
"@tanstack/store": "^0.11.1",
71+
"@trpc/client": "^11.18.0",
72+
"@trpc/server": "^11.18.0",
73+
"@trpc/tanstack-react-query": "^11.18.0",
7474
"class-variance-authority": "^0.7.1",
7575
"clsx": "^2.1.1",
7676
"cmdk": "^1.1.1",
77-
"date-fns": "^4.1.0",
77+
"date-fns": "^4.4.0",
7878
"embla-carousel-react": "^8.6.0",
7979
"http-errors": "^2.0.1",
8080
"input-otp": "^1.4.2",
8181
"jsonwebtoken": "^9.0.3",
82-
"lucide-react": "^0.564.0",
82+
"lucide-react": "^1.31.0",
8383
"next-themes": "^0.4.6",
8484
"nitro": "latest",
85-
"pg": "^8.18.0",
86-
"postcss": "^8.5.6",
87-
"radix-ui": "^1.4.3",
88-
"react": "^19.2.4",
89-
"react-day-picker": "^9.13.2",
90-
"react-dom": "^19.2.4",
91-
"react-hook-form": "^7.71.1",
92-
"react-resizable-panels": "^4.6.4",
93-
"recharts": "^2.15.4",
85+
"pg": "^8.23.0",
86+
"postcss": "^8.5.26",
87+
"radix-ui": "^1.6.7",
88+
"react": "^19.2.8",
89+
"react-day-picker": "^10.0.1",
90+
"react-dom": "^19.2.8",
91+
"react-hook-form": "^7.85.0",
92+
"react-resizable-panels": "^4.12.2",
93+
"recharts": "^3.10.1",
9494
"reflect-metadata": "^0.2.2",
95-
"sonner": "^2.0.7",
96-
"storybook": "^10.2.8",
95+
"sonner": "^2.0.8",
96+
"storybook": "^10.5.8",
9797
"superjson": "^2.2.6",
98-
"tailwind-merge": "^3.4.0",
99-
"tailwindcss": "^4.1.18",
98+
"tailwind-merge": "^3.6.0",
99+
"tailwindcss": "^4.3.3",
100100
"tsyringe": "^4.10.0",
101101
"tw-animate-css": "^1.4.0",
102102
"vaul": "^1.1.2",
103-
"vite-tsconfig-paths": "^6.1.1",
104-
"zod": "^4.3.6"
103+
"zod": "^4.4.3"
105104
},
106105
"devDependencies": {
107-
"@tanstack/devtools-event-client": "^0.4.0",
108-
"@tanstack/devtools-vite": "^0.5.1",
109-
"@tanstack/react-devtools": "^0.9.5",
106+
"@tanstack/devtools-event-client": "^0.5.0",
107+
"@tanstack/devtools-vite": "^0.8.3",
108+
"@tanstack/react-devtools": "^0.10.10",
110109
"@testing-library/dom": "^10.4.1",
111110
"@testing-library/react": "^16.3.2",
112111
"@types/http-errors": "^2.0.5",
113112
"@types/jsonwebtoken": "^9.0.10",
114-
"@types/node": "^22.19.11",
115-
"@types/pg": "^8.16.0",
116-
"@types/react": "^19.2.14",
117-
"@types/react-dom": "^19.2.3",
118-
"@vitejs/plugin-react": "^5.1.4",
119-
"@vitest/coverage-v8": "^4.0.18",
113+
"@types/node": "^22.20.1",
114+
"@types/pg": "^8.21.0",
115+
"@types/react": "^19.2.18",
116+
"@types/react-dom": "^19.2.4",
117+
"@vitejs/plugin-react": "^6.0.5",
118+
"@vitest/coverage-v8": "^4.1.10",
120119
"babel-plugin-react-compiler": "^1.0.0",
121120
"dotenv-cli": "^11.0.0",
122-
"jsdom": "^28.0.0",
123-
"react-doctor": "^0.0.28",
124-
"shadcn": "^3.8.4",
121+
"jsdom": "^30.0.1",
122+
"react-doctor": "^0.9.12",
123+
"shadcn": "^4.18.0",
125124
"ts-node": "^10.9.2",
126-
"typescript": "^5.9.3",
127-
"vite": "^7.3.1",
128-
"vitest": "^4.0.18",
129-
"web-vitals": "^5.1.0"
125+
"typescript": "^7.0.2",
126+
"vite": "^8.2.1",
127+
"vitest": "^4.1.10",
128+
"web-vitals": "^6.1.1"
130129
}
131130
}

full-stack/src/_generated/prisma/client.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ export * from "./enums.ts"
2828
* Type-safe database client for TypeScript
2929
* @example
3030
* ```
31-
* const prisma = new PrismaClient()
31+
* const prisma = new PrismaClient({
32+
* adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
33+
* })
3234
* // Fetch zero or more Policies
3335
* const policies = await prisma.policy.findMany()
3436
* ```

0 commit comments

Comments
 (0)