@tanstack/create 0.61.2 → 0.61.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.
Files changed (134) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/frameworks/react/add-ons/ai/assets/src/components/demo-AIAssistant.tsx +2 -2
  3. package/dist/frameworks/react/add-ons/ai/assets/src/components/demo-GuitarRecommendation.tsx +1 -1
  4. package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.ts +1 -1
  5. package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-guitar-tools.ts +1 -1
  6. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/ai-chat.tsx +5 -5
  7. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.chat.ts +1 -1
  8. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/guitars/$guitarId.tsx +1 -1
  9. package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/guitars/index.tsx +1 -1
  10. package/dist/frameworks/react/add-ons/better-auth/assets/src/integrations/better-auth/header-user.tsx +1 -1
  11. package/dist/frameworks/react/add-ons/better-auth/assets/src/routes/api/auth/$.ts +1 -1
  12. package/dist/frameworks/react/add-ons/better-auth/assets/src/routes/demo/better-auth.tsx +1 -1
  13. package/dist/frameworks/react/add-ons/db/assets/src/components/demo.chat-area.tsx +1 -1
  14. package/dist/frameworks/react/add-ons/db/assets/src/components/demo.messages.tsx +1 -1
  15. package/dist/frameworks/react/add-ons/db/assets/src/hooks/demo.useChat.ts +1 -1
  16. package/dist/frameworks/react/add-ons/db/assets/src/routes/demo/db-chat.tsx +1 -1
  17. package/dist/frameworks/react/add-ons/drizzle/assets/src/routes/demo/drizzle.tsx.ejs +2 -2
  18. package/dist/frameworks/react/add-ons/form/assets/src/components/demo.FormComponents.tsx.ejs +15 -11
  19. package/dist/frameworks/react/add-ons/form/assets/src/routes/demo/form.address.tsx.ejs +1 -1
  20. package/dist/frameworks/react/add-ons/form/assets/src/routes/demo/form.simple.tsx.ejs +1 -1
  21. package/dist/frameworks/react/add-ons/mcp/assets/src/routes/demo/api.mcp-todos.ts +1 -1
  22. package/dist/frameworks/react/add-ons/mcp/assets/src/routes/mcp.ts +2 -2
  23. package/dist/frameworks/react/add-ons/neon/assets/src/routes/demo/neon.tsx +1 -1
  24. package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/client.ts +1 -1
  25. package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.$.ts +3 -3
  26. package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.rpc.$.ts +2 -2
  27. package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/demo/orpc-todo.tsx +1 -1
  28. package/dist/frameworks/react/add-ons/paraglide/assets/src/components/LocaleSwitcher.tsx.ejs +2 -2
  29. package/dist/frameworks/react/add-ons/paraglide/assets/src/routes/demo.i18n.tsx.ejs +1 -1
  30. package/dist/frameworks/react/add-ons/prisma/assets/src/routes/demo/prisma.tsx.ejs +1 -1
  31. package/dist/frameworks/react/add-ons/shadcn/assets/components.json +5 -5
  32. package/dist/frameworks/react/add-ons/shadcn/assets/src/lib/utils.ts +2 -1
  33. package/dist/frameworks/react/add-ons/store/assets/src/routes/demo/store.tsx.ejs +1 -1
  34. package/dist/frameworks/react/add-ons/storybook/assets/src/routes/demo/storybook.tsx +5 -5
  35. package/dist/frameworks/react/add-ons/strapi/assets/src/routes/demo/strapi.tsx +1 -1
  36. package/dist/frameworks/react/add-ons/strapi/assets/src/routes/demo/strapi_.$articleId.tsx +1 -1
  37. package/dist/frameworks/react/add-ons/t3env/README.md +1 -1
  38. package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/react.ts +1 -1
  39. package/dist/frameworks/react/add-ons/tRPC/assets/src/routes/api.trpc.$.tsx +1 -1
  40. package/dist/frameworks/react/add-ons/tRPC/assets/src/routes/demo/trpc-todo.tsx +1 -1
  41. package/dist/frameworks/react/add-ons/table/assets/src/routes/demo/table.tsx.ejs +2 -2
  42. package/dist/frameworks/react/add-ons/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs +2 -2
  43. package/dist/frameworks/react/examples/events/assets/src/components/RemyAssistant.tsx +2 -2
  44. package/dist/frameworks/react/examples/events/assets/src/components/SpeakerCard.tsx +1 -1
  45. package/dist/frameworks/react/examples/events/assets/src/components/TalkCard.tsx +1 -1
  46. package/dist/frameworks/react/examples/events/assets/src/components/ui/card.tsx +1 -1
  47. package/dist/frameworks/react/examples/events/assets/src/routes/api.remy-chat.ts +1 -1
  48. package/dist/frameworks/react/examples/events/assets/src/routes/index.tsx +4 -4
  49. package/dist/frameworks/react/examples/events/assets/src/routes/schedule.index.tsx +1 -1
  50. package/dist/frameworks/react/examples/events/assets/src/routes/speakers.$slug.tsx +2 -2
  51. package/dist/frameworks/react/examples/events/assets/src/routes/speakers.index.tsx +2 -2
  52. package/dist/frameworks/react/examples/events/assets/src/routes/talks.$slug.tsx +1 -1
  53. package/dist/frameworks/react/examples/events/assets/src/routes/talks.index.tsx +2 -2
  54. package/dist/frameworks/react/examples/resume/assets/src/components/ResumeAssistant.tsx +2 -2
  55. package/dist/frameworks/react/examples/resume/assets/src/components/ui/badge.tsx +1 -1
  56. package/dist/frameworks/react/examples/resume/assets/src/components/ui/card.tsx +1 -1
  57. package/dist/frameworks/react/examples/resume/assets/src/components/ui/checkbox.tsx +1 -1
  58. package/dist/frameworks/react/examples/resume/assets/src/components/ui/hover-card.tsx +1 -1
  59. package/dist/frameworks/react/examples/resume/assets/src/components/ui/separator.tsx +1 -1
  60. package/dist/frameworks/react/examples/resume/assets/src/routes/api.resume-chat.ts +1 -1
  61. package/dist/frameworks/react/examples/resume/assets/src/routes/index.tsx +6 -6
  62. package/dist/frameworks/react/project/base/package.json +5 -2
  63. package/dist/frameworks/react/project/base/src/routes/__root.tsx.ejs +2 -2
  64. package/dist/frameworks/react/project/base/tsconfig.json.ejs +5 -5
  65. package/dist/frameworks/react/project/base/vite.config.ts.ejs +2 -11
  66. package/dist/frameworks/react/toolchains/eslint/assets/eslint.config.js +16 -1
  67. package/dist/frameworks/solid/toolchains/eslint/assets/eslint.config.js +16 -1
  68. package/package.json +1 -1
  69. package/src/frameworks/react/add-ons/ai/assets/src/components/demo-AIAssistant.tsx +2 -2
  70. package/src/frameworks/react/add-ons/ai/assets/src/components/demo-GuitarRecommendation.tsx +1 -1
  71. package/src/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.ts +1 -1
  72. package/src/frameworks/react/add-ons/ai/assets/src/lib/demo-guitar-tools.ts +1 -1
  73. package/src/frameworks/react/add-ons/ai/assets/src/routes/demo/ai-chat.tsx +5 -5
  74. package/src/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.chat.ts +1 -1
  75. package/src/frameworks/react/add-ons/ai/assets/src/routes/demo/guitars/$guitarId.tsx +1 -1
  76. package/src/frameworks/react/add-ons/ai/assets/src/routes/demo/guitars/index.tsx +1 -1
  77. package/src/frameworks/react/add-ons/better-auth/assets/src/integrations/better-auth/header-user.tsx +1 -1
  78. package/src/frameworks/react/add-ons/better-auth/assets/src/routes/api/auth/$.ts +1 -1
  79. package/src/frameworks/react/add-ons/better-auth/assets/src/routes/demo/better-auth.tsx +1 -1
  80. package/src/frameworks/react/add-ons/db/assets/src/components/demo.chat-area.tsx +1 -1
  81. package/src/frameworks/react/add-ons/db/assets/src/components/demo.messages.tsx +1 -1
  82. package/src/frameworks/react/add-ons/db/assets/src/hooks/demo.useChat.ts +1 -1
  83. package/src/frameworks/react/add-ons/db/assets/src/routes/demo/db-chat.tsx +1 -1
  84. package/src/frameworks/react/add-ons/drizzle/assets/src/routes/demo/drizzle.tsx.ejs +2 -2
  85. package/src/frameworks/react/add-ons/form/assets/src/components/demo.FormComponents.tsx.ejs +15 -11
  86. package/src/frameworks/react/add-ons/form/assets/src/routes/demo/form.address.tsx.ejs +1 -1
  87. package/src/frameworks/react/add-ons/form/assets/src/routes/demo/form.simple.tsx.ejs +1 -1
  88. package/src/frameworks/react/add-ons/mcp/assets/src/routes/demo/api.mcp-todos.ts +1 -1
  89. package/src/frameworks/react/add-ons/mcp/assets/src/routes/mcp.ts +2 -2
  90. package/src/frameworks/react/add-ons/neon/assets/src/routes/demo/neon.tsx +1 -1
  91. package/src/frameworks/react/add-ons/oRPC/assets/src/orpc/client.ts +1 -1
  92. package/src/frameworks/react/add-ons/oRPC/assets/src/routes/api.$.ts +3 -3
  93. package/src/frameworks/react/add-ons/oRPC/assets/src/routes/api.rpc.$.ts +2 -2
  94. package/src/frameworks/react/add-ons/oRPC/assets/src/routes/demo/orpc-todo.tsx +1 -1
  95. package/src/frameworks/react/add-ons/paraglide/assets/src/components/LocaleSwitcher.tsx.ejs +2 -2
  96. package/src/frameworks/react/add-ons/paraglide/assets/src/routes/demo.i18n.tsx.ejs +1 -1
  97. package/src/frameworks/react/add-ons/prisma/assets/src/routes/demo/prisma.tsx.ejs +1 -1
  98. package/src/frameworks/react/add-ons/shadcn/assets/components.json +5 -5
  99. package/src/frameworks/react/add-ons/shadcn/assets/src/lib/utils.ts +2 -1
  100. package/src/frameworks/react/add-ons/store/assets/src/routes/demo/store.tsx.ejs +1 -1
  101. package/src/frameworks/react/add-ons/storybook/assets/src/routes/demo/storybook.tsx +5 -5
  102. package/src/frameworks/react/add-ons/strapi/assets/src/routes/demo/strapi.tsx +1 -1
  103. package/src/frameworks/react/add-ons/strapi/assets/src/routes/demo/strapi_.$articleId.tsx +1 -1
  104. package/src/frameworks/react/add-ons/t3env/README.md +1 -1
  105. package/src/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/react.ts +1 -1
  106. package/src/frameworks/react/add-ons/tRPC/assets/src/routes/api.trpc.$.tsx +1 -1
  107. package/src/frameworks/react/add-ons/tRPC/assets/src/routes/demo/trpc-todo.tsx +1 -1
  108. package/src/frameworks/react/add-ons/table/assets/src/routes/demo/table.tsx.ejs +2 -2
  109. package/src/frameworks/react/add-ons/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs +2 -2
  110. package/src/frameworks/react/examples/events/assets/src/components/RemyAssistant.tsx +2 -2
  111. package/src/frameworks/react/examples/events/assets/src/components/SpeakerCard.tsx +1 -1
  112. package/src/frameworks/react/examples/events/assets/src/components/TalkCard.tsx +1 -1
  113. package/src/frameworks/react/examples/events/assets/src/components/ui/card.tsx +1 -1
  114. package/src/frameworks/react/examples/events/assets/src/routes/api.remy-chat.ts +1 -1
  115. package/src/frameworks/react/examples/events/assets/src/routes/index.tsx +4 -4
  116. package/src/frameworks/react/examples/events/assets/src/routes/schedule.index.tsx +1 -1
  117. package/src/frameworks/react/examples/events/assets/src/routes/speakers.$slug.tsx +2 -2
  118. package/src/frameworks/react/examples/events/assets/src/routes/speakers.index.tsx +2 -2
  119. package/src/frameworks/react/examples/events/assets/src/routes/talks.$slug.tsx +1 -1
  120. package/src/frameworks/react/examples/events/assets/src/routes/talks.index.tsx +2 -2
  121. package/src/frameworks/react/examples/resume/assets/src/components/ResumeAssistant.tsx +2 -2
  122. package/src/frameworks/react/examples/resume/assets/src/components/ui/badge.tsx +1 -1
  123. package/src/frameworks/react/examples/resume/assets/src/components/ui/card.tsx +1 -1
  124. package/src/frameworks/react/examples/resume/assets/src/components/ui/checkbox.tsx +1 -1
  125. package/src/frameworks/react/examples/resume/assets/src/components/ui/hover-card.tsx +1 -1
  126. package/src/frameworks/react/examples/resume/assets/src/components/ui/separator.tsx +1 -1
  127. package/src/frameworks/react/examples/resume/assets/src/routes/api.resume-chat.ts +1 -1
  128. package/src/frameworks/react/examples/resume/assets/src/routes/index.tsx +6 -6
  129. package/src/frameworks/react/project/base/package.json +5 -2
  130. package/src/frameworks/react/project/base/src/routes/__root.tsx.ejs +2 -2
  131. package/src/frameworks/react/project/base/tsconfig.json.ejs +5 -5
  132. package/src/frameworks/react/project/base/vite.config.ts.ejs +2 -11
  133. package/src/frameworks/react/toolchains/eslint/assets/eslint.config.js +16 -1
  134. package/src/frameworks/solid/toolchains/eslint/assets/eslint.config.js +16 -1
@@ -2,8 +2,8 @@ import { createFileRoute } from '@tanstack/react-router'
2
2
 
3
3
  import { allTalks } from 'content-collections'
4
4
 
5
- import TalkCard from '@/components/TalkCard'
6
- import RemyAssistant from '@/components/RemyAssistant'
5
+ import TalkCard from '#/components/TalkCard'
6
+ import RemyAssistant from '#/components/RemyAssistant'
7
7
 
8
8
  export const Route = createFileRoute('/talks/')({
9
9
  component: TalksPage,
@@ -3,8 +3,8 @@ import { Send, X, Briefcase, UserCheck } from "lucide-react";
3
3
  import { Streamdown } from "streamdown";
4
4
  import { Store } from "@tanstack/store";
5
5
 
6
- import { useResumeChat } from "@/lib/resume-ai-hook";
7
- import type { ResumeChatMessages } from "@/lib/resume-ai-hook";
6
+ import { useResumeChat } from "#/lib/resume-ai-hook";
7
+ import type { ResumeChatMessages } from "#/lib/resume-ai-hook";
8
8
 
9
9
  function Messages({ messages }: { messages: ResumeChatMessages }) {
10
10
  const messagesContainerRef = useRef<HTMLDivElement>(null);
@@ -2,7 +2,7 @@ import * as React from "react"
2
2
  import { Slot } from "@radix-ui/react-slot"
3
3
  import { cva, type VariantProps } from "class-variance-authority"
4
4
 
5
- import { cn } from "@/lib/utils"
5
+ import { cn } from "#/lib/utils"
6
6
 
7
7
  const badgeVariants = cva(
8
8
  "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
@@ -1,6 +1,6 @@
1
1
  import * as React from "react"
2
2
 
3
- import { cn } from "@/lib/utils"
3
+ import { cn } from "#/lib/utils"
4
4
 
5
5
  function Card({ className, ...props }: React.ComponentProps<"div">) {
6
6
  return (
@@ -2,7 +2,7 @@ import * as React from "react"
2
2
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox"
3
3
  import { CheckIcon } from "lucide-react"
4
4
 
5
- import { cn } from "@/lib/utils"
5
+ import { cn } from "#/lib/utils"
6
6
 
7
7
  function Checkbox({
8
8
  className,
@@ -3,7 +3,7 @@
3
3
  import * as React from "react"
4
4
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card"
5
5
 
6
- import { cn } from "@/lib/utils"
6
+ import { cn } from "#/lib/utils"
7
7
 
8
8
  function HoverCard({
9
9
  ...props
@@ -1,7 +1,7 @@
1
1
  import * as React from "react"
2
2
  import * as SeparatorPrimitive from "@radix-ui/react-separator"
3
3
 
4
- import { cn } from "@/lib/utils"
4
+ import { cn } from "#/lib/utils"
5
5
 
6
6
  function Separator({
7
7
  className,
@@ -10,7 +10,7 @@ import {
10
10
  getAllJobs,
11
11
  getAllEducation,
12
12
  searchExperience,
13
- } from '@/lib/resume-tools'
13
+ } from '#/lib/resume-tools'
14
14
 
15
15
  export const Route = createFileRoute('/api/resume-chat')({
16
16
  server: {
@@ -3,17 +3,17 @@ import { marked } from 'marked'
3
3
 
4
4
  import { createFileRoute } from '@tanstack/react-router'
5
5
  import { allJobs, allEducations } from 'content-collections'
6
- import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
7
- import { Checkbox } from '@/components/ui/checkbox'
8
- import { Badge } from '@/components/ui/badge'
9
- import { Separator } from '@/components/ui/separator'
6
+ import { Card, CardContent, CardHeader, CardTitle } from '#/components/ui/card'
7
+ import { Checkbox } from '#/components/ui/checkbox'
8
+ import { Badge } from '#/components/ui/badge'
9
+ import { Separator } from '#/components/ui/separator'
10
10
  import {
11
11
  HoverCard,
12
12
  HoverCardContent,
13
13
  HoverCardTrigger,
14
- } from '@/components/ui/hover-card'
14
+ } from '#/components/ui/hover-card'
15
15
 
16
- import ResumeAssistant from '@/components/ResumeAssistant'
16
+ import ResumeAssistant from '#/components/ResumeAssistant'
17
17
 
18
18
  export const Route = createFileRoute('/')({
19
19
  component: App,
@@ -2,6 +2,9 @@
2
2
  "name": "",
3
3
  "private": true,
4
4
  "type": "module",
5
+ "imports": {
6
+ "#/*": "./src/*"
7
+ },
5
8
  "scripts": {
6
9
  "dev": "vite dev --port 3000",
7
10
  "build": "vite build",
@@ -16,8 +19,7 @@
16
19
  "@tanstack/react-start": "^1.132.0",
17
20
  "lucide-react": "^0.561.0",
18
21
  "react": "^19.2.0",
19
- "react-dom": "^19.2.0",
20
- "vite-tsconfig-paths": "^5.1.4"
22
+ "react-dom": "^19.2.0"
21
23
  },
22
24
  "devDependencies": {
23
25
  "@tanstack/devtools-vite": "^0.3.11",
@@ -29,6 +31,7 @@
29
31
  "jsdom": "^27.0.0",
30
32
  "typescript": "^5.7.2",
31
33
  "vite": "^7.1.7",
34
+ "vite-tsconfig-paths": "^5.1.4",
32
35
  "vitest": "^3.0.5"
33
36
  }
34
37
  }
@@ -8,7 +8,7 @@ import Header from '../components/Header'
8
8
  <% } %><% for(const integration of integrations.filter(i => i.type === 'layout' || i.type === 'provider' || i.type === 'devtools')) { %>
9
9
  import <%= integration.jsName %> from '<%= relativePath(integration.path, true) %>'
10
10
  <% } %><% if (addOnEnabled.paraglide) { %>
11
- import { getLocale } from '@/paraglide/runtime'
11
+ import { getLocale } from '#/paraglide/runtime'
12
12
  <% } %>
13
13
  import appCss from '../styles.css?url'
14
14
  <% if (addOnEnabled["apollo-client"]) { %>
@@ -17,7 +17,7 @@ import type { ApolloClientIntegration } from "@apollo/client-integration-tanstac
17
17
  <% if (addOnEnabled["tanstack-query"]) { %>
18
18
  import type { QueryClient } from '@tanstack/react-query'
19
19
  <% if (addOnEnabled.tRPC) { %>
20
- import type { TRPCRouter } from '@/integrations/trpc/router'
20
+ import type { TRPCRouter } from '#/integrations/trpc/router'
21
21
  import type { TRPCOptionsProxy } from '@trpc/tanstack-react-query'
22
22
  <% } %>
23
23
  <% } %>
@@ -5,6 +5,10 @@
5
5
  "target": "ES2022",
6
6
  "jsx": "react-jsx",
7
7
  "module": "ESNext",
8
+ "baseUrl": ".",
9
+ "paths": {
10
+ "@/*": ["./src/*"]
11
+ },
8
12
  "lib": ["ES2022", "DOM", "DOM.Iterable"],
9
13
  "types": ["vite/client"],
10
14
 
@@ -21,10 +25,6 @@
21
25
  "noUnusedLocals": true,
22
26
  "noUnusedParameters": true,
23
27
  "noFallthroughCasesInSwitch": true,
24
- "noUncheckedSideEffectImports": true,
25
- "baseUrl": ".",
26
- "paths": {
27
- "@/*": ["./src/*"]
28
- }
28
+ "noUncheckedSideEffectImports": true
29
29
  }
30
30
  }
@@ -1,31 +1,22 @@
1
1
  import { defineConfig } from 'vite'
2
2
  import { devtools } from '@tanstack/devtools-vite'
3
+ import tsconfigPaths from 'vite-tsconfig-paths'
3
4
  <% if (addOnEnabled.paraglide) { -%>
4
5
  import { paraglideVitePlugin } from "@inlang/paraglide-js"
5
6
  <% } -%>
6
7
  import { tanstackStart } from '@tanstack/react-start/plugin/vite';
7
8
  import viteReact from '@vitejs/plugin-react'
8
- import viteTsConfigPaths from 'vite-tsconfig-paths'
9
- import { fileURLToPath, URL } from 'node:url'
10
9
  import tailwindcss from "@tailwindcss/vite"
11
10
  <% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportContent(integration) %>
12
11
  <% } %>
13
12
 
14
13
  const config = defineConfig({
15
- resolve: {
16
- alias: {
17
- '@': fileURLToPath(new URL('./src', import.meta.url)),
18
- },
19
- },
20
14
  plugins: [devtools(), <% if (addOnEnabled.paraglide) { %>paraglideVitePlugin({
21
15
  project: './project.inlang',
22
16
  outdir: './src/paraglide',
23
17
  strategy: ['url'],
24
18
  }), <% } %><% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportCode(integration) %>,<% } %>
25
- // this is the plugin that enables path aliases
26
- viteTsConfigPaths({
27
- projects: ['./tsconfig.json'],
28
- }),
19
+ tsconfigPaths({ projects: ['./tsconfig.json'] }),
29
20
  tailwindcss(),
30
21
  tanstackStart(),
31
22
  viteReact(<% if (addOnEnabled.compiler) { %>{
@@ -2,4 +2,19 @@
2
2
 
3
3
  import { tanstackConfig } from '@tanstack/eslint-config'
4
4
 
5
- export default [...tanstackConfig]
5
+ export default [
6
+ ...tanstackConfig,
7
+ {
8
+ rules: {
9
+ 'import/no-cycle': 'off',
10
+ 'import/order': 'off',
11
+ 'sort-imports': 'off',
12
+ '@typescript-eslint/array-type': 'off',
13
+ '@typescript-eslint/require-await': 'off',
14
+ 'pnpm/json-enforce-catalog': 'off',
15
+ },
16
+ },
17
+ {
18
+ ignores: ['eslint.config.js', 'prettier.config.js'],
19
+ },
20
+ ]
@@ -2,4 +2,19 @@
2
2
 
3
3
  import { tanstackConfig } from "@tanstack/eslint-config";
4
4
 
5
- export default [...tanstackConfig];
5
+ export default [
6
+ ...tanstackConfig,
7
+ {
8
+ rules: {
9
+ "import/no-cycle": "off",
10
+ "import/order": "off",
11
+ "sort-imports": "off",
12
+ "@typescript-eslint/array-type": "off",
13
+ "@typescript-eslint/require-await": "off",
14
+ "pnpm/json-enforce-catalog": "off",
15
+ },
16
+ },
17
+ {
18
+ ignores: ["eslint.config.js", "prettier.config.js"],
19
+ },
20
+ ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/create",
3
- "version": "0.61.2",
3
+ "version": "0.61.3",
4
4
  "description": "TanStack Application Builder Engine",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -5,8 +5,8 @@ import { Store } from '@tanstack/store'
5
5
  import { Send, X, ChevronRight, BotIcon } from 'lucide-react'
6
6
  import { Streamdown } from 'streamdown'
7
7
 
8
- import { useGuitarRecommendationChat } from '@/lib/demo-ai-hook'
9
- import type { ChatMessages } from '@/lib/demo-ai-hook'
8
+ import { useGuitarRecommendationChat } from '#/lib/demo-ai-hook'
9
+ import type { ChatMessages } from '#/lib/demo-ai-hook'
10
10
 
11
11
  import GuitarRecommendation from './demo-GuitarRecommendation'
12
12
 
@@ -2,7 +2,7 @@ import { useNavigate } from '@tanstack/react-router'
2
2
 
3
3
  import { showAIAssistant } from './demo-AIAssistant'
4
4
 
5
- import guitars from '@/data/demo-guitars'
5
+ import guitars from '#/data/demo-guitars'
6
6
 
7
7
  export default function GuitarRecommendation({ id }: { id: string }) {
8
8
  const navigate = useNavigate()
@@ -6,7 +6,7 @@ import {
6
6
  import type { InferChatMessages } from '@tanstack/ai-react'
7
7
  import { clientTools } from '@tanstack/ai-client'
8
8
 
9
- import { recommendGuitarToolDef } from '@/lib/demo-guitar-tools'
9
+ import { recommendGuitarToolDef } from '#/lib/demo-guitar-tools'
10
10
 
11
11
  const recommendGuitarToolClient = recommendGuitarToolDef.client(({ id }) => ({
12
12
  id: +id,
@@ -1,6 +1,6 @@
1
1
  import { toolDefinition } from '@tanstack/ai'
2
2
  import { z } from 'zod'
3
- import guitars from '@/data/demo-guitars'
3
+ import guitars from '#/data/demo-guitars'
4
4
 
5
5
  // Tool definition for getting guitars
6
6
  export const getGuitarsToolDef = toolDefinition({
@@ -11,12 +11,12 @@ import {
11
11
  } from 'lucide-react'
12
12
  import { Streamdown } from 'streamdown'
13
13
 
14
- import { useGuitarRecommendationChat } from '@/lib/demo-ai-hook'
15
- import type { ChatMessages } from '@/lib/demo-ai-hook'
16
- import { useAudioRecorder } from '@/hooks/demo-useAudioRecorder'
17
- import { useTTS } from '@/hooks/demo-useTTS'
14
+ import { useGuitarRecommendationChat } from '#/lib/demo-ai-hook'
15
+ import type { ChatMessages } from '#/lib/demo-ai-hook'
16
+ import { useAudioRecorder } from '#/hooks/demo-useAudioRecorder'
17
+ import { useTTS } from '#/hooks/demo-useTTS'
18
18
 
19
- import GuitarRecommendation from '@/components/demo-GuitarRecommendation'
19
+ import GuitarRecommendation from '#/components/demo-GuitarRecommendation'
20
20
 
21
21
  import './ai-chat.css'
22
22
 
@@ -5,7 +5,7 @@ import { openaiText } from '@tanstack/ai-openai'
5
5
  import { geminiText } from '@tanstack/ai-gemini'
6
6
  import { ollamaText } from '@tanstack/ai-ollama'
7
7
 
8
- import { getGuitars, recommendGuitarToolDef } from '@/lib/demo-guitar-tools'
8
+ import { getGuitars, recommendGuitarToolDef } from '#/lib/demo-guitar-tools'
9
9
 
10
10
  const SYSTEM_PROMPT = `You are a helpful assistant for a store that sells guitars.
11
11
 
@@ -1,6 +1,6 @@
1
1
  import { Link, createFileRoute } from '@tanstack/react-router'
2
2
 
3
- import guitars from '@/data/demo-guitars'
3
+ import guitars from '#/data/demo-guitars'
4
4
 
5
5
  export const Route = createFileRoute('/demo/guitars/$guitarId')({
6
6
  component: RouteComponent,
@@ -1,6 +1,6 @@
1
1
  import { Link, createFileRoute } from '@tanstack/react-router'
2
2
 
3
- import guitars from '@/data/demo-guitars'
3
+ import guitars from '#/data/demo-guitars'
4
4
 
5
5
  export const Route = createFileRoute('/demo/guitars/')({
6
6
  component: GuitarsIndex,
@@ -1,4 +1,4 @@
1
- import { authClient } from "@/lib/auth-client";
1
+ import { authClient } from "#/lib/auth-client";
2
2
  import { Link } from "@tanstack/react-router";
3
3
 
4
4
  export default function BetterAuthHeader() {
@@ -1,5 +1,5 @@
1
1
  import { createFileRoute } from '@tanstack/react-router'
2
- import { auth } from '@/lib/auth'
2
+ import { auth } from '#/lib/auth'
3
3
 
4
4
  export const Route = createFileRoute('/api/auth/$')({
5
5
  server: {
@@ -1,6 +1,6 @@
1
1
  import { createFileRoute } from "@tanstack/react-router";
2
2
  import { useState } from "react";
3
- import { authClient } from "@/lib/auth-client";
3
+ import { authClient } from "#/lib/auth-client";
4
4
 
5
5
  export const Route = createFileRoute("/demo/better-auth")({
6
6
  component: BetterAuthDemo,
@@ -1,6 +1,6 @@
1
1
  import { useState } from 'react'
2
2
 
3
- import { useChat, useMessages } from '@/hooks/demo.useChat'
3
+ import { useChat, useMessages } from '#/hooks/demo.useChat'
4
4
 
5
5
  import Messages from './demo.messages'
6
6
 
@@ -1,4 +1,4 @@
1
- import type { Message } from '@/db-collections'
1
+ import type { Message } from '#/db-collections'
2
2
 
3
3
  export const getAvatarColor = (username: string) => {
4
4
  const colors = [
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useRef } from 'react'
2
2
  import { useLiveQuery } from '@tanstack/react-db'
3
3
 
4
- import { messagesCollection, type Message } from '@/db-collections'
4
+ import { messagesCollection, type Message } from '#/db-collections'
5
5
 
6
6
  import type { Collection } from '@tanstack/react-db'
7
7
 
@@ -1,6 +1,6 @@
1
1
  import { createFileRoute } from '@tanstack/react-router'
2
2
 
3
- import ChatArea from '@/components/demo.chat-area'
3
+ import ChatArea from '#/components/demo.chat-area'
4
4
 
5
5
  export const Route = createFileRoute('/demo/db-chat')({
6
6
  component: App,
@@ -1,8 +1,8 @@
1
1
  import { createFileRoute, useRouter } from '@tanstack/react-router'
2
2
  import { createServerFn } from '@tanstack/react-start'
3
- import { db } from '@/db/index'
3
+ import { db } from '#/db/index'
4
4
  import { desc } from 'drizzle-orm'
5
- import { todos } from '@/db/schema'
5
+ import { todos } from '#/db/schema'
6
6
 
7
7
  const getTodos = createServerFn({
8
8
  method: 'GET',
@@ -1,14 +1,14 @@
1
1
  import { useStore } from '@tanstack/react-form'
2
2
 
3
- import { useFieldContext, useFormContext } from '@/hooks/demo.form-context'
3
+ import { useFieldContext, useFormContext } from '#/hooks/demo.form-context'
4
4
  <% if (addOnEnabled.shadcn) { %>
5
- import { Button } from '@/components/ui/button'
6
- import { Input } from '@/components/ui/input'
7
- import { Textarea as ShadcnTextarea } from '@/components/ui/textarea'
8
- import * as ShadcnSelect from '@/components/ui/select'
9
- import { Slider as ShadcnSlider } from '@/components/ui/slider'
10
- import { Switch as ShadcnSwitch } from '@/components/ui/switch'
11
- import { Label } from '@/components/ui/label'
5
+ import { Button } from '#/components/ui/button'
6
+ import { Input } from '#/components/ui/input'
7
+ import { Textarea as ShadcnTextarea } from '#/components/ui/textarea'
8
+ import * as ShadcnSelect from '#/components/ui/select'
9
+ import { Slider as ShadcnSlider } from '#/components/ui/slider'
10
+ import { Switch as ShadcnSwitch } from '#/components/ui/switch'
11
+ import { Label } from '#/components/ui/label'
12
12
 
13
13
  export function SubscribeButton({ label }: { label: string }) {
14
14
  const form = useFormContext()
@@ -117,11 +117,15 @@ export function Select({
117
117
  <ShadcnSelect.SelectTrigger className="w-full">
118
118
  <ShadcnSelect.SelectValue placeholder={placeholder} />
119
119
  </ShadcnSelect.SelectTrigger>
120
- <ShadcnSelect.SelectContent>
120
+ <ShadcnSelect.SelectContent className="bg-background text-foreground">
121
121
  <ShadcnSelect.SelectGroup>
122
122
  <ShadcnSelect.SelectLabel>{label}</ShadcnSelect.SelectLabel>
123
123
  {values.map((value) => (
124
- <ShadcnSelect.SelectItem key={value.value} value={value.value}>
124
+ <ShadcnSelect.SelectItem
125
+ key={value.value}
126
+ value={value.value}
127
+ className="text-foreground"
128
+ >
125
129
  {value.label}
126
130
  </ShadcnSelect.SelectItem>
127
131
  ))}
@@ -297,4 +301,4 @@ export function Select({
297
301
  </div>
298
302
  )
299
303
  }
300
- <% } %>
304
+ <% } %>
@@ -1,6 +1,6 @@
1
1
  import { <% if (fileRouter) { %>createFileRoute<% } else { %>createRoute<% } %> } from '@tanstack/react-router'
2
2
 
3
- import { useAppForm } from '@/hooks/demo.form'
3
+ import { useAppForm } from '#/hooks/demo.form'
4
4
 
5
5
  <% if (codeRouter) { %>
6
6
  import type { RootRoute } from '@tanstack/react-router'
@@ -1,7 +1,7 @@
1
1
  import { <% if (fileRouter) { %>createFileRoute<% } else { %>createRoute<% } %> } from '@tanstack/react-router'
2
2
  import { z } from 'zod'
3
3
 
4
- import { useAppForm } from '@/hooks/demo.form'
4
+ import { useAppForm } from '#/hooks/demo.form'
5
5
 
6
6
  <% if (codeRouter) { %>
7
7
  import type { RootRoute } from '@tanstack/react-router'
@@ -1,6 +1,6 @@
1
1
  import { createFileRoute } from '@tanstack/react-router'
2
2
 
3
- import { addTodo, getTodos, subscribeToTodos } from '@/mcp-todos'
3
+ import { addTodo, getTodos, subscribeToTodos } from '#/mcp-todos'
4
4
 
5
5
  export const Route = createFileRoute('/api/mcp-todos')({
6
6
  server: {
@@ -2,9 +2,9 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
2
2
  import { createFileRoute } from '@tanstack/react-router'
3
3
  import z from 'zod'
4
4
 
5
- import { handleMcpRequest } from '@/utils/mcp-handler'
5
+ import { handleMcpRequest } from '#/utils/mcp-handler'
6
6
 
7
- import { addTodo } from '@/mcp-todos'
7
+ import { addTodo } from '#/mcp-todos'
8
8
 
9
9
  const server = new McpServer({
10
10
  name: 'start-server',
@@ -1,7 +1,7 @@
1
1
  import { createServerFn } from '@tanstack/react-start'
2
2
  import { createFileRoute, useRouter } from '@tanstack/react-router'
3
3
 
4
- import { getClient } from '@/db'
4
+ import { getClient } from '#/db'
5
5
 
6
6
  const getTodos = createServerFn({
7
7
  method: 'GET',
@@ -7,7 +7,7 @@ import { createIsomorphicFn } from '@tanstack/react-start'
7
7
 
8
8
  import type { RouterClient } from '@orpc/server'
9
9
 
10
- import router from '@/orpc/router'
10
+ import router from '#/orpc/router'
11
11
 
12
12
  const getORPCClient = createIsomorphicFn()
13
13
  .server(() =>
@@ -1,4 +1,4 @@
1
- import '@/polyfill'
1
+ import '#/polyfill'
2
2
 
3
3
  import { OpenAPIHandler } from '@orpc/openapi/fetch'
4
4
  import { ZodToJsonSchemaConverter } from '@orpc/zod/zod4'
@@ -7,8 +7,8 @@ import { createFileRoute } from '@tanstack/react-router'
7
7
  import { onError } from '@orpc/server'
8
8
  import { OpenAPIReferencePlugin } from '@orpc/openapi/plugins'
9
9
 
10
- import { TodoSchema } from '@/orpc/schema'
11
- import router from '@/orpc/router'
10
+ import { TodoSchema } from '#/orpc/schema'
11
+ import router from '#/orpc/router'
12
12
 
13
13
  const handler = new OpenAPIHandler(router, {
14
14
  interceptors: [
@@ -1,8 +1,8 @@
1
- import '@/polyfill'
1
+ import '#/polyfill'
2
2
 
3
3
  import { RPCHandler } from '@orpc/server/fetch'
4
4
  import { createFileRoute } from '@tanstack/react-router'
5
- import router from '@/orpc/router'
5
+ import router from '#/orpc/router'
6
6
 
7
7
  const handler = new RPCHandler(router)
8
8
 
@@ -2,7 +2,7 @@ import { useCallback, useState } from 'react'
2
2
  import { createFileRoute } from '@tanstack/react-router'
3
3
  import { useMutation, useQuery } from '@tanstack/react-query'
4
4
 
5
- import { orpc } from '@/orpc/client'
5
+ import { orpc } from '#/orpc/client'
6
6
 
7
7
  export const Route = createFileRoute('/demo/orpc-todo')({
8
8
  component: ORPCTodos,
@@ -1,8 +1,8 @@
1
1
  // Locale switcher refs:
2
2
  // - Paraglide docs: https://inlang.com/m/gerre34r/library-inlang-paraglideJs
3
3
  // - Router example: https://github.com/TanStack/router/tree/main/examples/react/i18n-paraglide#switching-locale
4
- import { getLocale, locales, setLocale } from '@/paraglide/runtime'
5
- import { m } from '@/paraglide/messages'
4
+ import { getLocale, locales, setLocale } from '#/paraglide/runtime'
5
+ import { m } from '#/paraglide/messages'
6
6
 
7
7
  export default function ParaglideLocaleSwitcher() {
8
8
  const currentLocale = getLocale()
@@ -1,6 +1,6 @@
1
1
  import { createFileRoute } from "@tanstack/react-router";
2
2
  import logo from "../logo.svg";
3
- import { m } from "@/paraglide/messages";
3
+ import { m } from "#/paraglide/messages";
4
4
  import LocaleSwitcher from "../components/LocaleSwitcher";
5
5
 
6
6
  export const Route = createFileRoute("/demo/i18n")({
@@ -1,6 +1,6 @@
1
1
  import { createFileRoute, useRouter } from '@tanstack/react-router'
2
2
  import { createServerFn } from '@tanstack/react-start'
3
- import { prisma } from '@/db'
3
+ import { prisma } from '#/db'
4
4
 
5
5
  const getTodos = createServerFn({
6
6
  method: 'GET',
@@ -11,11 +11,11 @@
11
11
  "prefix": ""
12
12
  },
13
13
  "aliases": {
14
- "components": "@/components",
15
- "utils": "@/lib/utils",
16
- "ui": "@/components/ui",
17
- "lib": "@/lib",
18
- "hooks": "@/hooks"
14
+ "components": "#/components",
15
+ "utils": "#/lib/utils",
16
+ "ui": "#/components/ui",
17
+ "lib": "#/lib",
18
+ "hooks": "#/hooks"
19
19
  },
20
20
  "iconLibrary": "lucide"
21
21
  }