@better-t-stack/template-generator 3.35.1 → 3.35.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -385,27 +385,27 @@ function updatePackageJsonsWithCatalogs(vfs, packagesInfo, catalog) {
385
385
  //#region src/utils/add-deps.ts
386
386
  const dependencyVersionMap = {
387
387
  typescript: "^6",
388
- "better-auth": "1.6.22",
389
- "@better-auth/expo": "1.6.22",
390
- "@clerk/backend": "^3.2.1",
391
- "@clerk/express": "^2.0.5",
392
- "@clerk/fastify": "^3.1.3",
393
- "@clerk/nextjs": "^7.0.5",
394
- "@clerk/react": "^6.1.1",
395
- "@clerk/react-router": "^3.0.5",
396
- "@clerk/tanstack-react-start": "^1.1.3",
397
- "@clerk/expo": "^3.1.3",
398
- "drizzle-orm": "^0.45.1",
399
- "drizzle-kit": "^0.31.8",
400
- "@planetscale/database": "^1.19.0",
401
- "@libsql/client": "0.15.15",
402
- libsql: "0.5.22",
403
- "@neondatabase/serverless": "^1.0.2",
404
- pg: "^8.17.1",
405
- "@types/pg": "^8.16.0",
388
+ "better-auth": "1.6.23",
389
+ "@better-auth/expo": "1.6.23",
390
+ "@clerk/backend": "^3.10.0",
391
+ "@clerk/express": "^2.1.35",
392
+ "@clerk/fastify": "^3.1.45",
393
+ "@clerk/nextjs": "^7.5.12",
394
+ "@clerk/react": "^6.11.3",
395
+ "@clerk/react-router": "^3.5.4",
396
+ "@clerk/tanstack-react-start": "^1.4.12",
397
+ "@clerk/expo": "^3.6.5",
398
+ "drizzle-orm": "^0.45.2",
399
+ "drizzle-kit": "^0.31.10",
400
+ "@planetscale/database": "^1.20.1",
401
+ "@libsql/client": "0.17.4",
402
+ libsql: "0.5.29",
403
+ "@neondatabase/serverless": "^1.1.0",
404
+ pg: "^8.22.0",
405
+ "@types/pg": "^8.20.0",
406
406
  "@types/ws": "^8.18.1",
407
- ws: "^8.18.3",
408
- mysql2: "^3.14.0",
407
+ ws: "^8.21.0",
408
+ mysql2: "^3.22.5",
409
409
  "@prisma/client": "^7.8.0",
410
410
  prisma: "^7.8.0",
411
411
  "@prisma/adapter-d1": "^7.8.0",
@@ -415,57 +415,57 @@ const dependencyVersionMap = {
415
415
  "@prisma/adapter-better-sqlite3": "^7.8.0",
416
416
  "@prisma/adapter-pg": "^7.8.0",
417
417
  "@prisma/adapter-planetscale": "^7.8.0",
418
- mongoose: "^9.6.2",
419
- mongodb: "^7.2.0",
418
+ mongoose: "^9.7.3",
419
+ mongodb: "^7.4.0",
420
420
  "vite-plugin-pwa": "^1.3.0",
421
421
  "@vite-pwa/assets-generator": "^1.0.2",
422
- "@tauri-apps/cli": "^2.11.2",
423
- "@biomejs/biome": "^2.4.16",
424
- oxlint: "^1.68.0",
425
- oxfmt: "^0.53.0",
422
+ "@tauri-apps/cli": "^2.11.4",
423
+ "@biomejs/biome": "^2.5.2",
424
+ oxlint: "^1.72.0",
425
+ oxfmt: "^0.57.0",
426
426
  husky: "^9.1.7",
427
427
  lefthook: "^2.1.9",
428
428
  "lint-staged": "^17.0.7",
429
- tsx: "^4.19.2",
429
+ tsx: "^4.22.5",
430
430
  "@types/node": "^22.13.14",
431
- "@types/bun": "^1.3.4",
431
+ "@types/bun": "^1.3.14",
432
432
  "@elysiajs/node": "^1.4.5",
433
- "@elysiajs/cors": "^1.4.1",
433
+ "@elysiajs/cors": "^1.4.2",
434
434
  "@elysiajs/trpc": "^1.1.0",
435
- elysia: "^1.4.28",
435
+ elysia: "^1.4.29",
436
436
  "@sinclair/typebox": "^0.34.49",
437
- "@hono/node-server": "^1.14.4",
438
- "@hono/trpc-server": "^0.4.0",
439
- hono: "^4.8.2",
440
- cors: "^2.8.5",
441
- express: "^5.1.0",
442
- "@types/express": "^5.0.1",
443
- "@types/cors": "^2.8.17",
444
- fastify: "^5.3.3",
445
- "@fastify/cors": "^11.0.1",
446
- turbo: "^2.9.16",
447
- nx: "^22.7.5",
448
- "vite-plus": "0.1.24",
449
- rolldown: "1.1.0",
450
- ai: "^7.0.3",
451
- "@ai-sdk/google": "^4.0.1",
452
- "@ai-sdk/vue": "^4.0.3",
453
- "@ai-sdk/svelte": "^5.0.3",
454
- "@ai-sdk/react": "^4.0.4",
455
- "@ai-sdk/devtools": "^1.0.0",
437
+ "@hono/node-server": "^2.0.8",
438
+ "@hono/trpc-server": "^0.4.2",
439
+ hono: "^4.12.27",
440
+ cors: "^2.8.6",
441
+ express: "^5.2.1",
442
+ "@types/express": "^5.0.6",
443
+ "@types/cors": "^2.8.19",
444
+ fastify: "^5.9.0",
445
+ "@fastify/cors": "^11.2.0",
446
+ turbo: "^2.10.2",
447
+ nx: "^23.0.1",
448
+ "vite-plus": "0.2.2",
449
+ rolldown: "1.1.4",
450
+ ai: "^7.0.13",
451
+ "@ai-sdk/google": "^4.0.7",
452
+ "@ai-sdk/vue": "^4.0.13",
453
+ "@ai-sdk/svelte": "^5.0.13",
454
+ "@ai-sdk/react": "^4.0.14",
455
+ "@ai-sdk/devtools": "^1.0.1",
456
456
  streamdown: "^2.5.0",
457
- shiki: "^3.20.0",
457
+ shiki: "^4.3.0",
458
458
  "@orpc/server": "^1.14.6",
459
459
  "@orpc/client": "^1.14.6",
460
460
  "@orpc/openapi": "^1.14.6",
461
461
  "@orpc/zod": "^1.14.6",
462
462
  "@orpc/tanstack-query": "^1.14.6",
463
- "@trpc/tanstack-react-query": "^11.16.0",
464
- "@trpc/server": "^11.16.0",
465
- "@trpc/client": "^11.16.0",
463
+ "@trpc/tanstack-react-query": "^11.18.0",
464
+ "@trpc/server": "^11.18.0",
465
+ "@trpc/client": "^11.18.0",
466
466
  next: "^16.2.0",
467
- nitro: "^3.0.260429-beta",
468
- convex: "^1.42.0",
467
+ nitro: "^3.0.260610-beta",
468
+ convex: "^1.42.1",
469
469
  "@convex-dev/react-query": "^0.1.0",
470
470
  "@convex-dev/agent": "^0.6.4",
471
471
  "@convex-dev/polar": "^0.9.2",
@@ -473,40 +473,40 @@ const dependencyVersionMap = {
473
473
  "convex-nuxt": "0.1.5",
474
474
  "convex-vue": "^0.1.5",
475
475
  "@convex-dev/better-auth": "^0.12.5",
476
- "@tanstack/svelte-query": "^5.85.3",
477
- "@tanstack/svelte-query-devtools": "^5.85.3",
478
- "@tanstack/vue-query-devtools": "^6.1.5",
479
- "@tanstack/vue-query": "^5.92.9",
480
- "@tanstack/react-query-devtools": "^5.91.1",
481
- "@tanstack/react-query": "^5.90.12",
482
- "@tanstack/react-form": "^1.28.0",
483
- "@tanstack/react-router-ssr-query": "^1.166.11",
484
- "@tanstack/solid-form": "^1.28.0",
485
- "@tanstack/svelte-form": "^1.28.0",
486
- "@tanstack/solid-query": "^5.99.1",
487
- "@tanstack/solid-query-devtools": "^5.99.1",
488
- "@tanstack/solid-router-devtools": "^1.166.13",
489
- wrangler: "^4.103.0",
490
- "@cloudflare/vite-plugin": "^1.17.1",
491
- "@opennextjs/cloudflare": "^1.17.3",
476
+ "@tanstack/svelte-query": "^6.1.36",
477
+ "@tanstack/svelte-query-devtools": "^6.1.36",
478
+ "@tanstack/vue-query-devtools": "^6.1.36",
479
+ "@tanstack/vue-query": "^5.101.2",
480
+ "@tanstack/react-query-devtools": "^5.101.2",
481
+ "@tanstack/react-query": "^5.101.2",
482
+ "@tanstack/react-form": "^1.33.0",
483
+ "@tanstack/react-router-ssr-query": "^1.167.1",
484
+ "@tanstack/solid-form": "^1.33.0",
485
+ "@tanstack/svelte-form": "^1.33.0",
486
+ "@tanstack/solid-query": "^5.101.2",
487
+ "@tanstack/solid-query-devtools": "^5.101.2",
488
+ "@tanstack/solid-router-devtools": "^1.167.0",
489
+ wrangler: "^4.107.0",
490
+ "@cloudflare/vite-plugin": "^1.43.0",
491
+ "@opennextjs/cloudflare": "^1.20.1",
492
492
  "nitro-cloudflare-dev": "^0.2.2",
493
- "@sveltejs/adapter-cloudflare": "^7.2.8",
494
- "@sveltejs/adapter-node": "^5.5.4",
495
- "@cloudflare/workers-types": "^4.20260621.1",
496
- "@astrojs/cloudflare": "^14.0.1",
497
- "@astrojs/node": "^11.0.0",
498
- alchemy: "^0.91.2",
499
- dotenv: "^17.2.2",
500
- tsdown: "^0.21.9",
501
- zod: "^4.1.13",
502
- "@t3-oss/env-core": "^0.13.1",
503
- "@t3-oss/env-nextjs": "^0.13.1",
504
- "@t3-oss/env-nuxt": "^0.13.1",
493
+ "@sveltejs/adapter-cloudflare": "^7.2.9",
494
+ "@sveltejs/adapter-node": "^5.5.7",
495
+ "@cloudflare/workers-types": "^4.20260702.1",
496
+ "@astrojs/cloudflare": "^14.1.0",
497
+ "@astrojs/node": "^11.0.1",
498
+ alchemy: "^0.93.12",
499
+ dotenv: "^17.4.2",
500
+ tsdown: "^0.22.3",
501
+ zod: "^4.4.3",
502
+ "@t3-oss/env-core": "^0.13.11",
503
+ "@t3-oss/env-nextjs": "^0.13.11",
504
+ "@t3-oss/env-nuxt": "^0.13.11",
505
505
  "@polar-sh/better-auth": "^1.8.4",
506
- "@polar-sh/checkout": "^0.2.1",
506
+ "@polar-sh/checkout": "^0.4.0",
507
507
  "@polar-sh/sdk": "^0.47.1",
508
- "@stripe/react-stripe-js": "^4.0.2",
509
- "@stripe/stripe-js": "^7.9.0",
508
+ "@stripe/react-stripe-js": "^5.6.1",
509
+ "@stripe/stripe-js": "^8.11.0",
510
510
  evlog: "^2.19.2"
511
511
  };
512
512
  /**
@@ -676,8 +676,7 @@ function updateRootPackageJson(vfs, config) {
676
676
  };
677
677
  if (hasVitePlus) pkgJson.overrides = {
678
678
  ...pkgJson.overrides,
679
- vite: `npm:@voidzero-dev/vite-plus-core@${VITE_PLUS_VERSION}`,
680
- vitest: `npm:@voidzero-dev/vite-plus-test@${VITE_PLUS_VERSION}`
679
+ vite: `npm:@voidzero-dev/vite-plus-core@${VITE_PLUS_VERSION}`
681
680
  };
682
681
  if (backend === "convex") {
683
682
  if (!workspaces.includes("packages/*")) workspaces.push("packages/*");
@@ -2519,10 +2518,25 @@ function processEnvVariables(vfs, config) {
2519
2518
  const hasSvelte = frontend.includes("svelte");
2520
2519
  const hasSolid = frontend.includes("solid");
2521
2520
  const hasAstro = frontend.includes("astro");
2522
- if (hasReactRouter || hasTanStackRouter || hasTanStackStart || hasNextJs || hasNuxt || hasSolid || hasSvelte || hasAstro) {
2521
+ const hasWebFrontend = hasReactRouter || hasTanStackRouter || hasTanStackStart || hasNextJs || hasNuxt || hasSolid || hasSvelte || hasAstro;
2522
+ if (hasWebFrontend) {
2523
2523
  const clientDir = "apps/web";
2524
2524
  if (vfs.directoryExists(clientDir)) writeEnvFile(vfs, `${clientDir}/.env`, buildClientVars(frontend, backend, auth));
2525
2525
  }
2526
+ if (webDeploy === "docker" && hasWebFrontend) {
2527
+ const rootComposeVars = [{
2528
+ key: hasNextJs ? "NEXT_PUBLIC_CONVEX_URL" : hasSvelte || hasAstro ? "PUBLIC_CONVEX_URL" : "VITE_CONVEX_URL",
2529
+ value: CONVEX_URL_PLACEHOLDER,
2530
+ condition: backend === "convex" && !hasNuxt,
2531
+ comment: "Baked into the web image at docker compose build time"
2532
+ }, {
2533
+ key: hasNextJs ? "NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY" : "VITE_CLERK_PUBLISHABLE_KEY",
2534
+ value: "",
2535
+ condition: auth === "clerk" && (hasNextJs || hasReactRouter || hasTanStackRouter || hasTanStackStart),
2536
+ comment: "Baked into the web image at docker compose build time"
2537
+ }];
2538
+ if (rootComposeVars.some((v) => v.condition)) writeEnvFile(vfs, ".env", rootComposeVars);
2539
+ }
2526
2540
  if (frontend.includes("native-bare") || frontend.includes("native-uniwind") || frontend.includes("native-unistyles")) {
2527
2541
  const nativeDir = "apps/native";
2528
2542
  if (vfs.directoryExists(nativeDir)) writeEnvFile(vfs, `${nativeDir}/.env`, buildNativeVars(frontend, backend, auth));
@@ -4502,7 +4516,6 @@ export default {
4502
4516
  },
4503
4517
  "devDependencies": {
4504
4518
  "@types/bun": "^1.3.14",
4505
- "@types/three": "^0.165.0",
4506
4519
  "concurrently": "^10.0.3",
4507
4520
  "typescript": "^6"
4508
4521
  }
@@ -16646,7 +16659,7 @@ export const authClient = createAuthClient({
16646
16659
  const sessionQuery = authClient.useSession();
16647
16660
 
16648
16661
  {{#if (eq api "orpc")}}
16649
- const privateDataQuery = createQuery(orpc.privateData.queryOptions());
16662
+ const privateDataQuery = createQuery(() => orpc.privateData.queryOptions());
16650
16663
  {{/if}}
16651
16664
 
16652
16665
  $effect(() => {
@@ -16675,7 +16688,7 @@ export const authClient = createAuthClient({
16675
16688
  <h1>Dashboard</h1>
16676
16689
  <p>Welcome {$sessionQuery.data.user.name}</p>
16677
16690
  {{#if (eq api "orpc")}}
16678
- <p>API: {$privateDataQuery.data?.message}</p>
16691
+ <p>API: {privateDataQuery.data?.message}</p>
16679
16692
  {{/if}}
16680
16693
  {{#if (eq payments "polar")}}
16681
16694
  <p>Plan: {customerState?.activeSubscriptions?.length > 0 ? "Pro" : "Free"}</p>
@@ -19426,7 +19439,7 @@ temp
19426
19439
 
19427
19440
  services:
19428
19441
  mongodb:
19429
- image: mongo
19442
+ image: mongo:8
19430
19443
  container_name: {{projectName}}-mongodb
19431
19444
  environment:
19432
19445
  MONGO_INITDB_ROOT_USERNAME: root
@@ -19449,7 +19462,7 @@ volumes:
19449
19462
 
19450
19463
  services:
19451
19464
  mysql:
19452
- image: mysql
19465
+ image: mysql:8.4
19453
19466
  container_name: {{projectName}}-mysql
19454
19467
  environment:
19455
19468
  MYSQL_ROOT_PASSWORD: password
@@ -19473,7 +19486,7 @@ volumes:
19473
19486
 
19474
19487
  services:
19475
19488
  postgres:
19476
- image: postgres
19489
+ image: postgres:18
19477
19490
  container_name: {{projectName}}-postgres
19478
19491
  environment:
19479
19492
  POSTGRES_DB: {{projectName}}
@@ -20257,10 +20270,10 @@ services:
20257
20270
  {{#if (includes frontend "next")}}NEXT_PUBLIC_SERVER_URL{{else if (or (includes frontend "svelte") (includes frontend "astro"))}}PUBLIC_SERVER_URL{{else}}VITE_SERVER_URL{{/if}}: http://localhost:3000
20258
20271
  {{/if}}
20259
20272
  {{#if (eq backend "convex")}}
20260
- {{#if (includes frontend "next")}}NEXT_PUBLIC_CONVEX_URL{{else if (or (includes frontend "svelte") (includes frontend "astro"))}}PUBLIC_CONVEX_URL{{else}}VITE_CONVEX_URL{{/if}}: \${CONVEX_URL:-}
20273
+ {{#if (includes frontend "next")}}NEXT_PUBLIC_CONVEX_URL: \${NEXT_PUBLIC_CONVEX_URL:-}{{else if (or (includes frontend "svelte") (includes frontend "astro"))}}PUBLIC_CONVEX_URL: \${PUBLIC_CONVEX_URL:-}{{else}}VITE_CONVEX_URL: \${VITE_CONVEX_URL:-}{{/if}}
20261
20274
  {{/if}}
20262
20275
  {{#if (and (eq auth "clerk") (or (includes frontend "next") (includes frontend "react-router") (includes frontend "tanstack-router") (includes frontend "tanstack-start")))}}
20263
- {{#if (includes frontend "next")}}NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY{{else}}VITE_CLERK_PUBLISHABLE_KEY{{/if}}: \${CLERK_PUBLISHABLE_KEY:-}
20276
+ {{#if (includes frontend "next")}}NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: \${NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY:-}{{else}}VITE_CLERK_PUBLISHABLE_KEY: \${VITE_CLERK_PUBLISHABLE_KEY:-}{{/if}}
20264
20277
  {{/if}}
20265
20278
  {{/if}}
20266
20279
  init: true
@@ -20311,6 +20324,22 @@ services:
20311
20324
  condition: service_healthy
20312
20325
  {{/if}}
20313
20326
  {{/if}}
20327
+ healthcheck:
20328
+ {{#if (or (includes frontend "tanstack-router") (includes frontend "react-router") (includes frontend "solid"))}}
20329
+ test: ["CMD", "wget", "-q", "--spider", "http://localhost:80/"]
20330
+ {{else}}
20331
+ test:
20332
+ [
20333
+ "CMD",
20334
+ "node",
20335
+ "-e",
20336
+ "fetch('http://localhost:3001/').then((r) => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))",
20337
+ ]
20338
+ {{/if}}
20339
+ interval: 10s
20340
+ timeout: 5s
20341
+ retries: 5
20342
+ start_period: 10s
20314
20343
  restart: unless-stopped
20315
20344
 
20316
20345
  {{/if}}
@@ -20363,7 +20392,7 @@ services:
20363
20392
  {{#if (eq dbSetup "docker")}}
20364
20393
  {{#if (eq database "postgres")}}
20365
20394
  postgres:
20366
- image: postgres
20395
+ image: postgres:18
20367
20396
  container_name: {{projectName}}-postgres
20368
20397
  environment:
20369
20398
  POSTGRES_DB: {{projectName}}
@@ -20382,7 +20411,7 @@ services:
20382
20411
  {{/if}}
20383
20412
  {{#if (eq database "mysql")}}
20384
20413
  mysql:
20385
- image: mysql
20414
+ image: mysql:8.4
20386
20415
  container_name: {{projectName}}-mysql
20387
20416
  environment:
20388
20417
  MYSQL_ROOT_PASSWORD: \${MYSQL_ROOT_PASSWORD:-password}
@@ -20402,7 +20431,7 @@ services:
20402
20431
  {{/if}}
20403
20432
  {{#if (eq database "mongodb")}}
20404
20433
  mongodb:
20405
- image: mongo
20434
+ image: mongo:8
20406
20435
  container_name: {{projectName}}-mongodb
20407
20436
  environment:
20408
20437
  MONGO_INITDB_ROOT_USERNAME: root
@@ -20429,7 +20458,7 @@ volumes:
20429
20458
  COPY --from=oven/bun:1 /usr/local/bin/bun /usr/local/bin/bun
20430
20459
  {{/if}}
20431
20460
  {{#if (eq packageManager "pnpm")}}
20432
- RUN npm install -g pnpm
20461
+ RUN npm install -g pnpm@11
20433
20462
  {{/if}}
20434
20463
  WORKDIR /app
20435
20464
  ENV SKIP_ENV_VALIDATION=1
@@ -20468,7 +20497,7 @@ CMD ["node", "dist/index.mjs"]
20468
20497
  COPY --from=oven/bun:1 /usr/local/bin/bun /usr/local/bin/bun
20469
20498
  {{/if}}
20470
20499
  {{#if (eq packageManager "pnpm")}}
20471
- RUN npm install -g pnpm
20500
+ RUN npm install -g pnpm@11
20472
20501
  {{/if}}
20473
20502
  WORKDIR /app
20474
20503
  ENV SKIP_ENV_VALIDATION=1
@@ -20520,7 +20549,7 @@ CMD ["node", "dist/server/entry.mjs"]
20520
20549
  COPY --from=oven/bun:1 /usr/local/bin/bun /usr/local/bin/bun
20521
20550
  {{/if}}
20522
20551
  {{#if (eq packageManager "pnpm")}}
20523
- RUN npm install -g pnpm
20552
+ RUN npm install -g pnpm@11
20524
20553
  {{/if}}
20525
20554
  WORKDIR /app
20526
20555
  ENV SKIP_ENV_VALIDATION=1
@@ -20562,7 +20591,7 @@ CMD ["node", "server/index.mjs"]
20562
20591
  COPY --from=oven/bun:1 /usr/local/bin/bun /usr/local/bin/bun
20563
20592
  {{/if}}
20564
20593
  {{#if (eq packageManager "pnpm")}}
20565
- RUN npm install -g pnpm
20594
+ RUN npm install -g pnpm@11
20566
20595
  {{/if}}
20567
20596
  WORKDIR /app
20568
20597
  ENV SKIP_ENV_VALIDATION=1
@@ -20598,6 +20627,8 @@ ENV NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\${NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY}
20598
20627
  {{/if}}
20599
20628
  ENV NODE_ENV=production
20600
20629
  RUN cd apps/web && {{packageManager}} run build
20630
+ # standalone output excludes public/; ensure it exists so the runner copy never fails
20631
+ RUN mkdir -p apps/web/public
20601
20632
 
20602
20633
  FROM node:24-slim AS runner
20603
20634
  WORKDIR /app
@@ -20605,6 +20636,7 @@ ENV NODE_ENV=production
20605
20636
 
20606
20637
  COPY --from=builder /app/apps/web/.next/standalone ./
20607
20638
  COPY --from=builder /app/apps/web/.next/static ./apps/web/.next/static
20639
+ COPY --from=builder /app/apps/web/public ./apps/web/public
20608
20640
 
20609
20641
  ENV HOSTNAME=0.0.0.0
20610
20642
  ENV PORT=3001
@@ -20617,7 +20649,7 @@ CMD ["node", "apps/web/server.js"]
20617
20649
  COPY --from=oven/bun:1 /usr/local/bin/bun /usr/local/bin/bun
20618
20650
  {{/if}}
20619
20651
  {{#if (eq packageManager "pnpm")}}
20620
- RUN npm install -g pnpm
20652
+ RUN npm install -g pnpm@11
20621
20653
  {{/if}}
20622
20654
  WORKDIR /app
20623
20655
  ENV SKIP_ENV_VALIDATION=1
@@ -20684,7 +20716,7 @@ CMD ["nginx", "-g", "daemon off;"]
20684
20716
  COPY --from=oven/bun:1 /usr/local/bin/bun /usr/local/bin/bun
20685
20717
  {{/if}}
20686
20718
  {{#if (eq packageManager "pnpm")}}
20687
- RUN npm install -g pnpm
20719
+ RUN npm install -g pnpm@11
20688
20720
  {{/if}}
20689
20721
  WORKDIR /app
20690
20722
  ENV SKIP_ENV_VALIDATION=1
@@ -20751,7 +20783,7 @@ CMD ["nginx", "-g", "daemon off;"]
20751
20783
  COPY --from=oven/bun:1 /usr/local/bin/bun /usr/local/bin/bun
20752
20784
  {{/if}}
20753
20785
  {{#if (eq packageManager "pnpm")}}
20754
- RUN npm install -g pnpm
20786
+ RUN npm install -g pnpm@11
20755
20787
  {{/if}}
20756
20788
  WORKDIR /app
20757
20789
  ENV SKIP_ENV_VALIDATION=1
@@ -20808,7 +20840,7 @@ CMD ["node", ".output/server/index.mjs"]
20808
20840
  COPY --from=oven/bun:1 /usr/local/bin/bun /usr/local/bin/bun
20809
20841
  {{/if}}
20810
20842
  {{#if (eq packageManager "pnpm")}}
20811
- RUN npm install -g pnpm
20843
+ RUN npm install -g pnpm@11
20812
20844
  {{/if}}
20813
20845
  WORKDIR /app
20814
20846
  ENV SKIP_ENV_VALIDATION=1
@@ -20871,7 +20903,7 @@ CMD ["nginx", "-g", "daemon off;"]
20871
20903
  COPY --from=oven/bun:1 /usr/local/bin/bun /usr/local/bin/bun
20872
20904
  {{/if}}
20873
20905
  {{#if (eq packageManager "pnpm")}}
20874
- RUN npm install -g pnpm
20906
+ RUN npm install -g pnpm@11
20875
20907
  {{/if}}
20876
20908
  WORKDIR /app
20877
20909
  ENV SKIP_ENV_VALIDATION=1
@@ -29460,12 +29492,12 @@ function TodosRoute() {
29460
29492
  let newTodoText = $state('');
29461
29493
 
29462
29494
  {{#if (eq api "orpc")}}
29463
- const todosQuery = createQuery(orpc.todo.getAll.queryOptions());
29495
+ const todosQuery = createQuery(() => orpc.todo.getAll.queryOptions());
29464
29496
 
29465
- const addMutation = createMutation(
29497
+ const addMutation = createMutation(() =>
29466
29498
  orpc.todo.create.mutationOptions({
29467
29499
  onSuccess: () => {
29468
- $todosQuery.refetch();
29500
+ todosQuery.refetch();
29469
29501
  newTodoText = '';
29470
29502
  },
29471
29503
  onError: (error) => {
@@ -29474,10 +29506,10 @@ function TodosRoute() {
29474
29506
  })
29475
29507
  );
29476
29508
 
29477
- const toggleMutation = createMutation(
29509
+ const toggleMutation = createMutation(() =>
29478
29510
  orpc.todo.toggle.mutationOptions({
29479
29511
  onSuccess: () => {
29480
- $todosQuery.refetch();
29512
+ todosQuery.refetch();
29481
29513
  },
29482
29514
  onError: (error) => {
29483
29515
  console.error('Failed to toggle todo:', error?.message ?? error);
@@ -29485,10 +29517,10 @@ function TodosRoute() {
29485
29517
  })
29486
29518
  );
29487
29519
 
29488
- const deleteMutation = createMutation(
29520
+ const deleteMutation = createMutation(() =>
29489
29521
  orpc.todo.delete.mutationOptions({
29490
29522
  onSuccess: () => {
29491
- $todosQuery.refetch();
29523
+ todosQuery.refetch();
29492
29524
  },
29493
29525
  onError: (error) => {
29494
29526
  console.error('Failed to delete todo:', error?.message ?? error);
@@ -29501,22 +29533,22 @@ function TodosRoute() {
29501
29533
  event.preventDefault();
29502
29534
  const text = newTodoText.trim();
29503
29535
  if (text) {
29504
- $addMutation.mutate({ text });
29536
+ addMutation.mutate({ text });
29505
29537
  }
29506
29538
  }
29507
29539
 
29508
29540
  function handleToggleTodo(id: number, completed: boolean) {
29509
- $toggleMutation.mutate({ id, completed: !completed });
29541
+ toggleMutation.mutate({ id, completed: !completed });
29510
29542
  }
29511
29543
 
29512
29544
  function handleDeleteTodo(id: number) {
29513
- $deleteMutation.mutate({ id });
29545
+ deleteMutation.mutate({ id });
29514
29546
  }
29515
29547
 
29516
- const isAdding = $derived($addMutation.isPending);
29548
+ const isAdding = $derived(addMutation.isPending);
29517
29549
  const canAdd = $derived(!isAdding && newTodoText.trim().length > 0);
29518
- const isLoadingTodos = $derived($todosQuery.isLoading);
29519
- const todos = $derived($todosQuery.data ?? []);
29550
+ const isLoadingTodos = $derived(todosQuery.isLoading);
29551
+ const todos = $derived(todosQuery.data ?? []);
29520
29552
  const hasTodos = $derived(todos.length > 0);
29521
29553
 
29522
29554
  <\/script>
@@ -29548,8 +29580,8 @@ function TodosRoute() {
29548
29580
  {:else}
29549
29581
  <ul class="space-y-1">
29550
29582
  {#each todos as todo (todo.id)}
29551
- {@const isToggling = $toggleMutation.isPending && $toggleMutation.variables?.id === todo.id}
29552
- {@const isDeleting = $deleteMutation.isPending && $deleteMutation.variables?.id === todo.id}
29583
+ {@const isToggling = toggleMutation.isPending && toggleMutation.variables?.id === todo.id}
29584
+ {@const isDeleting = deleteMutation.isPending && deleteMutation.variables?.id === todo.id}
29553
29585
  {@const isDisabled = isToggling || isDeleting}
29554
29586
  <li
29555
29587
  class="flex items-center justify-between p-2 "
@@ -29584,24 +29616,24 @@ function TodosRoute() {
29584
29616
  </ul>
29585
29617
  {/if}
29586
29618
 
29587
- {#if $todosQuery.isError}
29619
+ {#if todosQuery.isError}
29588
29620
  <p class="mt-4 text-red-500">
29589
- Error loading: {$todosQuery.error?.message ?? 'Unknown error'}
29621
+ Error loading: {todosQuery.error?.message ?? 'Unknown error'}
29590
29622
  </p>
29591
29623
  {/if}
29592
- {#if $addMutation.isError}
29624
+ {#if addMutation.isError}
29593
29625
  <p class="mt-4 text-red-500">
29594
- Error adding: {$addMutation.error?.message ?? 'Unknown error'}
29626
+ Error adding: {addMutation.error?.message ?? 'Unknown error'}
29595
29627
  </p>
29596
29628
  {/if}
29597
- {#if $toggleMutation.isError}
29629
+ {#if toggleMutation.isError}
29598
29630
  <p class="mt-4 text-red-500">
29599
- Error updating: {$toggleMutation.error?.message ?? 'Unknown error'}
29631
+ Error updating: {toggleMutation.error?.message ?? 'Unknown error'}
29600
29632
  </p>
29601
29633
  {/if}
29602
- {#if $deleteMutation.isError}
29634
+ {#if deleteMutation.isError}
29603
29635
  <p class="mt-4 text-red-500">
29604
- Error deleting: {$deleteMutation.error?.message ?? 'Unknown error'}
29636
+ Error deleting: {deleteMutation.error?.message ?? 'Unknown error'}
29605
29637
  </p>
29606
29638
  {/if}
29607
29639
  </div>
@@ -29646,20 +29678,14 @@ declare module "cloudflare:workers" {
29646
29678
  ["extras/pnpm-workspace.yaml.hbs", `packages:
29647
29679
  - "apps/*"
29648
29680
  - "packages/*"
29649
- {{#if (or (eq runtime "node") (eq webDeploy "cloudflare") (eq serverDeploy "cloudflare") (eq webDeploy "docker") (eq serverDeploy "docker") (eq orm "prisma") (includes addons "lefthook") (includes addons "nx") (includes addons "pwa") (includes addons "vite-plus") (includes frontend "tanstack-router") (includes frontend "react-router") (includes frontend "tanstack-start") (includes frontend "next") (includes frontend "nuxt") (includes frontend "native-bare") (includes frontend "native-uniwind") (includes frontend "native-unistyles"))}}
29681
+ {{#if (or (eq runtime "node") (eq webDeploy "cloudflare") (eq serverDeploy "cloudflare") (eq webDeploy "docker") (eq serverDeploy "docker") (eq orm "prisma") (includes addons "lefthook") (includes addons "nx") (includes addons "pwa") (includes addons "turborepo") (includes addons "vite-plus") (includes frontend "react-router") (includes frontend "next") (includes frontend "nuxt"))}}
29650
29682
 
29651
29683
  # pnpm 11 blocks dependency lifecycle scripts unless they are approved here.
29652
29684
  # Entries are scoped to packages this generated stack can pull in.
29653
29685
  allowBuilds:
29654
- {{#if (or (eq runtime "node") (eq webDeploy "cloudflare") (eq serverDeploy "cloudflare") (eq webDeploy "docker") (eq serverDeploy "docker") (includes addons "vite-plus") (includes frontend "tanstack-start") (includes frontend "nuxt"))}}
29686
+ {{#if (or (eq runtime "node") (eq webDeploy "cloudflare") (eq serverDeploy "cloudflare") (eq webDeploy "docker") (eq serverDeploy "docker") (includes addons "turborepo") (includes addons "vite-plus") (includes frontend "react-router") (includes frontend "nuxt"))}}
29655
29687
  esbuild: true
29656
29688
  {{/if}}
29657
- {{#if (or (includes frontend "tanstack-router") (includes frontend "react-router") (includes frontend "tanstack-start") (includes frontend "next"))}}
29658
- msw: true
29659
- {{/if}}
29660
- {{#if (or (includes frontend "native-bare") (includes frontend "native-uniwind") (includes frontend "native-unistyles"))}}
29661
- msgpackr-extract: true
29662
- {{/if}}
29663
29689
  {{#if (includes frontend "nuxt")}}
29664
29690
  "@parcel/watcher": true
29665
29691
  vue-demi: true
@@ -29751,11 +29777,11 @@ export default defineConfig({
29751
29777
  "astro": "astro"
29752
29778
  },
29753
29779
  "dependencies": {
29754
- "astro": "^7.0.3"
29780
+ "astro": "^7.0.5"
29755
29781
  },
29756
29782
  "devDependencies": {
29757
- "@tailwindcss/vite": "^4.3.1",
29758
- "tailwindcss": "^4.3.1"
29783
+ "@tailwindcss/vite": "^4.3.2",
29784
+ "tailwindcss": "^4.3.2"
29759
29785
  }
29760
29786
  }
29761
29787
  `],
@@ -31109,39 +31135,38 @@ module.exports = config;
31109
31135
  "web": "expo start --web"
31110
31136
  },
31111
31137
  "dependencies": {
31112
- "@expo/ui": "~56.0.12",
31138
+ "@expo/ui": "~57.0.1",
31113
31139
  "@expo/vector-icons": "^15.1.1",
31114
- "@tanstack/react-query": "^5.99.2",
31140
+ "@tanstack/react-query": "^5.101.2",
31115
31141
  {{#if (includes examples "ai")}}
31116
31142
  "@stardazed/streams-text-encoding": "^1.0.2",
31117
- "@ungap/structured-clone": "^1.3.0",
31143
+ "@ungap/structured-clone": "^1.3.2",
31118
31144
  {{/if}}
31119
- "expo": "~56.0.3",
31120
- "expo-constants": "~56.0.14",
31121
- "expo-crypto": "~56.0.3",
31122
- "expo-font": "~56.0.5",
31123
- "expo-linking": "~56.0.11",
31124
- "expo-network": "~56.0.4",
31125
- "expo-router": "~56.2.5",
31126
- "expo-secure-store": "~56.0.4",
31127
- "expo-splash-screen": "~56.0.9",
31128
- "expo-status-bar": "~56.0.4",
31129
- "expo-system-ui": "~56.0.5",
31130
- "expo-web-browser": "~56.0.5",
31145
+ "expo": "~57.0.1",
31146
+ "expo-constants": "~57.0.2",
31147
+ "expo-crypto": "~57.0.0",
31148
+ "expo-font": "~57.0.0",
31149
+ "expo-linking": "~57.0.1",
31150
+ "expo-network": "~57.0.0",
31151
+ "expo-router": "~57.0.2",
31152
+ "expo-secure-store": "~57.0.0",
31153
+ "expo-splash-screen": "~57.0.1",
31154
+ "expo-status-bar": "~57.0.0",
31155
+ "expo-system-ui": "~57.0.0",
31156
+ "expo-web-browser": "~57.0.0",
31131
31157
  "react": "19.2.3",
31132
31158
  "react-dom": "19.2.3",
31133
- "react-native": "0.85.3",
31134
- "react-native-gesture-handler": "~2.31.1",
31135
- "react-native-reanimated": "4.3.1",
31159
+ "react-native": "0.86.0",
31160
+ "react-native-gesture-handler": "~2.32.0",
31161
+ "react-native-reanimated": "4.5.0",
31136
31162
  "react-native-safe-area-context": "~5.7.0",
31137
31163
  "react-native-screens": "4.25.2",
31138
31164
  "react-native-web": "~0.21.0",
31139
- "react-native-worklets": "0.8.3"
31165
+ "react-native-worklets": "0.10.0"
31140
31166
  },
31141
31167
  "devDependencies": {
31142
- "@babel/core": "^7.29.0",
31143
- "@types/react": "~19.2.14",
31144
- "typescript": "^6"
31168
+ "@types/react": "~19.2.17",
31169
+ "typescript": "~6.0.3"
31145
31170
  },
31146
31171
  "private": true
31147
31172
  }
@@ -32442,40 +32467,39 @@ module.exports = config;
32442
32467
  "@expo/vector-icons": "^15.1.1",
32443
32468
  {{#if (includes examples "ai")}}
32444
32469
  "@stardazed/streams-text-encoding": "^1.0.2",
32445
- "@ungap/structured-clone": "^1.3.0",
32470
+ "@ungap/structured-clone": "^1.3.2",
32446
32471
  {{/if}}
32447
- "babel-preset-expo": "~56.0.0",
32448
- "expo": "~56.0.3",
32449
- "expo-constants": "~56.0.14",
32450
- "expo-crypto": "~56.0.3",
32451
- "expo-dev-client": "~56.0.14",
32452
- "expo-font": "~56.0.5",
32453
- "expo-linking": "~56.0.11",
32454
- "expo-network": "~56.0.4",
32455
- "expo-router": "~56.2.5",
32456
- "expo-secure-store": "~56.0.4",
32457
- "expo-splash-screen": "~56.0.9",
32458
- "expo-status-bar": "~56.0.4",
32459
- "expo-system-ui": "~56.0.5",
32460
- "expo-web-browser": "~56.0.5",
32472
+ "babel-preset-expo": "~57.0.1",
32473
+ "expo": "~57.0.1",
32474
+ "expo-constants": "~57.0.2",
32475
+ "expo-crypto": "~57.0.0",
32476
+ "expo-dev-client": "~57.0.3",
32477
+ "expo-font": "~57.0.0",
32478
+ "expo-linking": "~57.0.1",
32479
+ "expo-network": "~57.0.0",
32480
+ "expo-router": "~57.0.2",
32481
+ "expo-secure-store": "~57.0.0",
32482
+ "expo-splash-screen": "~57.0.1",
32483
+ "expo-status-bar": "~57.0.0",
32484
+ "expo-system-ui": "~57.0.0",
32485
+ "expo-web-browser": "~57.0.0",
32461
32486
  "react": "19.2.3",
32462
32487
  "react-dom": "19.2.3",
32463
- "react-native": "0.85.3",
32464
- "react-native-edge-to-edge": "^1.8.1",
32465
- "react-native-gesture-handler": "~2.31.1",
32466
- "react-native-nitro-modules": "^0.35.7",
32467
- "react-native-reanimated": "4.3.1",
32488
+ "react-native": "0.86.0",
32489
+ "react-native-gesture-handler": "~2.32.0",
32490
+ "react-native-nitro-modules": "0.36.1",
32491
+ "react-native-reanimated": "4.5.0",
32468
32492
  "react-native-safe-area-context": "~5.7.0",
32469
32493
  "react-native-screens": "4.25.2",
32470
- "react-native-unistyles": "^3.2.4",
32494
+ "react-native-unistyles": "^3.2.5",
32471
32495
  "react-native-web": "~0.21.0",
32472
- "react-native-worklets": "0.8.3"
32496
+ "react-native-worklets": "0.10.0"
32473
32497
  },
32474
32498
  "devDependencies": {
32475
32499
  "ajv": "^8.20.0",
32476
- "@babel/core": "^7.29.0",
32477
- "@types/react": "~19.2.14",
32478
- "typescript": "^6"
32500
+ "@babel/core": "^7.29.7",
32501
+ "@types/react": "~19.2.17",
32502
+ "typescript": "~6.0.3"
32479
32503
  }
32480
32504
  }
32481
32505
  `],
@@ -33573,44 +33597,44 @@ module.exports = uniwindConfig;
33573
33597
  "web": "expo start --web"
33574
33598
  },
33575
33599
  "dependencies": {
33576
- "@expo/metro-runtime": "~56.0.11",
33600
+ "@expo/metro-runtime": "~57.0.2",
33577
33601
  "@expo/vector-icons": "^15.1.1",
33578
33602
  "@gorhom/bottom-sheet": "^5.2.14",
33579
33603
  {{#if (includes examples "ai")}}
33580
33604
  "@stardazed/streams-text-encoding": "^1.0.2",
33581
- "@ungap/structured-clone": "^1.3.0",
33605
+ "@ungap/structured-clone": "^1.3.2",
33582
33606
  {{/if}}
33583
- "expo": "~56.0.3",
33584
- "expo-constants": "~56.0.14",
33585
- "expo-font": "~56.0.5",
33586
- "expo-haptics": "~56.0.3",
33587
- "expo-linking": "~56.0.11",
33588
- "expo-network": "~56.0.4",
33589
- "expo-router": "~56.2.5",
33590
- "expo-secure-store": "~56.0.4",
33591
- "expo-status-bar": "~56.0.4",
33592
- "expo-web-browser": "~56.0.5",
33593
- "heroui-native": "^1.0.4",
33607
+ "expo": "~57.0.1",
33608
+ "expo-constants": "~57.0.2",
33609
+ "expo-font": "~57.0.0",
33610
+ "expo-haptics": "~57.0.0",
33611
+ "expo-linking": "~57.0.1",
33612
+ "expo-network": "~57.0.0",
33613
+ "expo-router": "~57.0.2",
33614
+ "expo-secure-store": "~57.0.0",
33615
+ "expo-status-bar": "~57.0.0",
33616
+ "expo-web-browser": "~57.0.0",
33617
+ "heroui-native": "^1.0.5",
33594
33618
  "react": "19.2.3",
33595
33619
  "react-dom": "19.2.3",
33596
- "react-native": "0.85.3",
33597
- "react-native-gesture-handler": "~2.31.1",
33598
- "react-native-keyboard-controller": "1.21.6",
33599
- "react-native-reanimated": "4.3.1",
33620
+ "react-native": "0.86.0",
33621
+ "react-native-gesture-handler": "~2.32.0",
33622
+ "react-native-keyboard-controller": "1.21.9",
33623
+ "react-native-reanimated": "4.5.0",
33600
33624
  "react-native-safe-area-context": "~5.7.0",
33601
33625
  "react-native-screens": "4.25.2",
33602
33626
  "react-native-svg": "15.15.4",
33603
33627
  "react-native-web": "~0.21.0",
33604
- "react-native-worklets": "0.8.3",
33628
+ "react-native-worklets": "0.10.0",
33605
33629
  "tailwind-merge": "^3.6.0",
33606
33630
  "tailwind-variants": "^3.2.2",
33607
- "tailwindcss": "^4.3.0",
33608
- "uniwind": "^1.9.0"
33631
+ "tailwindcss": "^4.3.2",
33632
+ "uniwind": "^1.10.0"
33609
33633
  },
33610
33634
  "devDependencies": {
33611
- "@types/node": "^25.9.1",
33612
- "@types/react": "~19.2.14",
33613
- "typescript": "^6"
33635
+ "@types/node": "^26.0.1",
33636
+ "@types/react": "~19.2.17",
33637
+ "typescript": "~6.0.3"
33614
33638
  }
33615
33639
  }
33616
33640
  `],
@@ -33895,13 +33919,13 @@ export default defineNuxtConfig({
33895
33919
  "postinstall": "nuxt prepare"
33896
33920
  },
33897
33921
  "dependencies": {
33898
- "@nuxt/ui": "^4.5.1",
33899
- "nuxt": "^4.4.4",
33900
- "vue": "^3.5.38"
33922
+ "@nuxt/ui": "^4.9.0",
33923
+ "nuxt": "^4.4.8",
33924
+ "vue": "^3.5.39"
33901
33925
  },
33902
33926
  "devDependencies": {
33903
- "tailwindcss": "^4.3.1",
33904
- "@iconify-json/lucide": "^1.2.96"
33927
+ "tailwindcss": "^4.3.2",
33928
+ "@iconify-json/lucide": "^1.2.115"
33905
33929
  }
33906
33930
  }
33907
33931
  `],
@@ -33978,7 +34002,7 @@ initOpenNextCloudflareForDev();
33978
34002
  "dependencies": {
33979
34003
  "@{{projectName}}/ui": "{{#if (eq packageManager "npm")}}*{{else}}workspace:*{{/if}}",
33980
34004
  "@swc/helpers": "^0.5.23",
33981
- "lucide-react": "^1.21.0",
34005
+ "lucide-react": "^1.23.0",
33982
34006
  "next": "^16.2.0",
33983
34007
  "next-themes": "^0.4.6",
33984
34008
  "react": "^19.2.7",
@@ -33987,11 +34011,11 @@ initOpenNextCloudflareForDev();
33987
34011
  "babel-plugin-react-compiler": "^1.0.0"
33988
34012
  },
33989
34013
  "devDependencies": {
33990
- "@tailwindcss/postcss": "^4.3.1",
34014
+ "@tailwindcss/postcss": "^4.3.2",
33991
34015
  "@types/node": "^20",
33992
34016
  "@types/react": "^19.2.17",
33993
34017
  "@types/react-dom": "^19.2.3",
33994
- "tailwindcss": "^4.3.1"
34018
+ "tailwindcss": "^4.3.2"
33995
34019
  }
33996
34020
  }
33997
34021
  `],
@@ -34380,26 +34404,26 @@ export function ThemeProvider({
34380
34404
  },
34381
34405
  "dependencies": {
34382
34406
  "@{{projectName}}/ui": "{{#if (eq packageManager "npm")}}*{{else}}workspace:*{{/if}}",
34383
- "@react-router/fs-routes": "^7.14.1",
34384
- "@react-router/node": "^7.14.1",
34385
- "@react-router/serve": "^7.14.1",
34386
- "isbot": "^5.1.39",
34387
- "lucide-react": "^1.21.0",
34407
+ "@react-router/fs-routes": "^8.1.0",
34408
+ "@react-router/node": "^8.1.0",
34409
+ "@react-router/serve": "^8.1.0",
34410
+ "isbot": "^5.1.44",
34411
+ "lucide-react": "^1.23.0",
34388
34412
  "next-themes": "^0.4.6",
34389
34413
  "react": "^19.2.7",
34390
34414
  "react-dom": "^19.2.7",
34391
- "react-router": "^7.14.1",
34415
+ "react-router": "^8.1.0",
34392
34416
  "sonner": "^2.0.7"
34393
34417
  },
34394
34418
  "devDependencies": {
34395
- "@react-router/dev": "^7.14.1",
34396
- "@tailwindcss/vite": "^4.3.1",
34397
- "@types/node": "^20",
34419
+ "@react-router/dev": "^8.1.0",
34420
+ "@tailwindcss/vite": "^4.3.2",
34421
+ "@types/node": "^22.13.14",
34398
34422
  "@types/react": "^19.2.17",
34399
34423
  "@types/react-dom": "^19.2.3",
34400
- "react-router-devtools": "^1.1.0",
34401
- "tailwindcss": "^4.3.1",
34402
- "vite": "^8.0.8",
34424
+ "react-router-devtools": "^6.2.1",
34425
+ "tailwindcss": "^4.3.2",
34426
+ "vite": "^7.3.6",
34403
34427
  "vite-tsconfig-paths": "^6.1.1"
34404
34428
  }
34405
34429
  }
@@ -34410,9 +34434,6 @@ export function ThemeProvider({
34410
34434
  export default {
34411
34435
  ssr: false,
34412
34436
  appDirectory: "src",
34413
- future: {
34414
- v8_middleware: true,
34415
- },
34416
34437
  } satisfies Config;
34417
34438
  `],
34418
34439
  ["frontend/react/react-router/src/components/mode-toggle.tsx.hbs", `import { Moon, Sun } from "lucide-react";
@@ -34918,26 +34939,26 @@ export default defineConfig({
34918
34939
  "check-types": "vite build && tsc --noEmit"
34919
34940
  },
34920
34941
  "dependencies": {
34921
- "@hookform/resolvers": "^5.2.2",
34942
+ "@hookform/resolvers": "^5.4.0",
34922
34943
  "@{{projectName}}/ui": "{{#if (eq packageManager "npm")}}*{{else}}workspace:*{{/if}}",
34923
- "@tailwindcss/vite": "^4.3.1",
34924
- "@tanstack/react-router": "^1.168.22",
34925
- "lucide-react": "^1.21.0",
34944
+ "@tailwindcss/vite": "^4.3.2",
34945
+ "@tanstack/react-router": "^1.170.17",
34946
+ "lucide-react": "^1.23.0",
34926
34947
  "next-themes": "^0.4.6",
34927
34948
  "react": "^19.2.7",
34928
34949
  "react-dom": "^19.2.7",
34929
34950
  "sonner": "^2.0.7"
34930
34951
  },
34931
34952
  "devDependencies": {
34932
- "@tanstack/react-router-devtools": "^1.166.13",
34933
- "@tanstack/router-plugin": "^1.167.22",
34953
+ "@tanstack/react-router-devtools": "^1.167.0",
34954
+ "@tanstack/router-plugin": "^1.168.19",
34934
34955
  "@types/node": "^22.13.14",
34935
34956
  "@types/react": "^19.2.17",
34936
34957
  "@types/react-dom": "^19.2.3",
34937
- "@vitejs/plugin-react": "^6.0.1",
34938
- "postcss": "^8.5.10",
34939
- "tailwindcss": "^4.3.1",
34940
- "vite": "^8.0.8"
34958
+ "@vitejs/plugin-react": "^6.0.3",
34959
+ "postcss": "^8.5.16",
34960
+ "tailwindcss": "^4.3.2",
34961
+ "vite": "^8.1.3"
34941
34962
  }
34942
34963
  }
34943
34964
  `],
@@ -35363,27 +35384,27 @@ export default defineConfig({
35363
35384
  },
35364
35385
  "dependencies": {
35365
35386
  "@{{projectName}}/ui": "{{#if (eq packageManager "npm")}}*{{else}}workspace:*{{/if}}",
35366
- "@tailwindcss/vite": "^4.3.1",
35367
- "@tanstack/react-query": "^5.99.0",
35368
- "@tanstack/react-router": "^1.168.22",
35369
- "@tanstack/react-start": "^1.167.41",
35370
- "lucide-react": "^1.21.0",
35387
+ "@tailwindcss/vite": "^4.3.2",
35388
+ "@tanstack/react-query": "^5.101.2",
35389
+ "@tanstack/react-router": "^1.170.17",
35390
+ "@tanstack/react-start": "^1.168.27",
35391
+ "lucide-react": "^1.23.0",
35371
35392
  "next-themes": "^0.4.6",
35372
35393
  "react": "^19.2.7",
35373
35394
  "react-dom": "^19.2.7",
35374
35395
  "sonner": "^2.0.7",
35375
- "tailwindcss": "^4.3.1"
35396
+ "tailwindcss": "^4.3.2"
35376
35397
  },
35377
35398
  "devDependencies": {
35378
- "@tanstack/react-router-devtools": "^1.166.13",
35399
+ "@tanstack/react-router-devtools": "^1.167.0",
35379
35400
  "@testing-library/dom": "^10.4.1",
35380
35401
  "@testing-library/react": "^16.3.2",
35381
35402
  "@types/react": "^19.2.17",
35382
35403
  "@types/react-dom": "^19.2.3",
35383
- "@vitejs/plugin-react": "^6.0.1",
35384
- "jsdom": "^29.0.2",
35385
- "vite": "^8.0.8",
35386
- "web-vitals": "^5.2.0"
35404
+ "@vitejs/plugin-react": "^6.0.3",
35405
+ "jsdom": "^29.1.1",
35406
+ "vite": "^8.1.3",
35407
+ "web-vitals": "^5.3.0"
35387
35408
  }
35388
35409
  }
35389
35410
  `],
@@ -36173,16 +36194,16 @@ dist-ssr
36173
36194
  "test": "vitest run"
36174
36195
  },
36175
36196
  "dependencies": {
36176
- "@tailwindcss/vite": "^4.3.1",
36177
- "@tanstack/router-plugin": "^1.167.22",
36178
- "@tanstack/solid-router": "^1.168.20",
36179
- "lucide-solid": "^1.8.0",
36180
- "solid-js": "^1.9.12",
36181
- "tailwindcss": "^4.3.1"
36197
+ "@tailwindcss/vite": "^4.3.2",
36198
+ "@tanstack/router-plugin": "^1.168.19",
36199
+ "@tanstack/solid-router": "^1.170.17",
36200
+ "lucide-solid": "^1.23.0",
36201
+ "solid-js": "^1.9.14",
36202
+ "tailwindcss": "^4.3.2"
36182
36203
  },
36183
36204
  "devDependencies": {
36184
- "@tanstack/solid-router-devtools": "^1.166.13",
36185
- "vite": "^8.0.8",
36205
+ "@tanstack/solid-router-devtools": "^1.167.0",
36206
+ "vite": "^8.1.3",
36186
36207
  "vite-plugin-solid": "^2.11.12"
36187
36208
  }
36188
36209
  }
@@ -36493,13 +36514,13 @@ vite.config.ts.timestamp-*
36493
36514
  {{else}}
36494
36515
  "@sveltejs/adapter-auto": "^7.0.1",
36495
36516
  {{/if}}
36496
- "@sveltejs/kit": "^2.58.0",
36497
- "@sveltejs/vite-plugin-svelte": "^7.0.0",
36498
- "@tailwindcss/vite": "^4.3.1",
36499
- "svelte": "^5.55.5",
36500
- "svelte-check": "^4.4.6",
36501
- "tailwindcss": "^4.3.1",
36502
- "vite": "^8.0.10"
36517
+ "@sveltejs/kit": "^2.69.0",
36518
+ "@sveltejs/vite-plugin-svelte": "^7.1.2",
36519
+ "@tailwindcss/vite": "^4.3.2",
36520
+ "svelte": "^5.56.4",
36521
+ "svelte-check": "^4.7.1",
36522
+ "tailwindcss": "^4.3.2",
36523
+ "vite": "^8.1.3"
36503
36524
  },
36504
36525
  "dependencies": {}
36505
36526
  }
@@ -36695,7 +36716,7 @@ const TITLE_TEXT = \`
36695
36716
  {{#if (eq api "orpc")}}
36696
36717
  import { orpc } from "$lib/orpc";
36697
36718
  import { createQuery } from "@tanstack/svelte-query";
36698
- const healthCheck = createQuery(orpc.healthCheck.queryOptions());
36719
+ const healthCheck = createQuery(() => orpc.healthCheck.queryOptions());
36699
36720
  {{/if}}
36700
36721
 
36701
36722
  const TITLE_TEXT = \`
@@ -36723,12 +36744,12 @@ const TITLE_TEXT = \`
36723
36744
  <h2 class="mb-2 font-medium">API Status</h2>
36724
36745
  <div class="flex items-center gap-2">
36725
36746
  <div
36726
- class={\`h-2 w-2 rounded-full \${$healthCheck.data ? "bg-green-500" : "bg-red-500"}\`}
36747
+ class={\`h-2 w-2 rounded-full \${healthCheck.data ? "bg-green-500" : "bg-red-500"}\`}
36727
36748
  ></div>
36728
36749
  <span class="text-muted-foreground text-sm">
36729
- {$healthCheck.isLoading
36750
+ {healthCheck.isLoading
36730
36751
  ? "Checking..."
36731
- : $healthCheck.data
36752
+ : healthCheck.data
36732
36753
  ? "Connected"
36733
36754
  : "Disconnected"}
36734
36755
  </span>
@@ -37654,11 +37675,11 @@ await app.finalize();
37654
37675
  },
37655
37676
  "dependencies": {
37656
37677
  "@base-ui/react": "^1.6.0",
37657
- "@shadcn/react": "^0.1.0",
37678
+ "@shadcn/react": "^0.2.0",
37658
37679
  "shadcn": "^4.12.0",
37659
37680
  "class-variance-authority": "^0.7.1",
37660
37681
  "clsx": "^2.1.1",
37661
- "lucide-react": "^1.21.0",
37682
+ "lucide-react": "^1.23.0",
37662
37683
  "next-themes": "^0.4.6",
37663
37684
  "react": "^19.2.7",
37664
37685
  "react-dom": "^19.2.7",
@@ -37667,10 +37688,10 @@ await app.finalize();
37667
37688
  "tw-animate-css": "^1.4.0"
37668
37689
  },
37669
37690
  "devDependencies": {
37670
- "@tailwindcss/postcss": "^4.3.1",
37691
+ "@tailwindcss/postcss": "^4.3.2",
37671
37692
  "@types/react": "^19.2.17",
37672
37693
  "@types/react-dom": "^19.2.3",
37673
- "tailwindcss": "^4.3.1"
37694
+ "tailwindcss": "^4.3.2"
37674
37695
  },
37675
37696
  "scripts": {
37676
37697
  "check-types": "tsc --noEmit"