@tanstack/create 0.62.1 → 0.63.0

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 (167) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/create-app.js +3 -1
  3. package/dist/frameworks/react/add-ons/ai/package.json +3 -3
  4. package/dist/frameworks/react/add-ons/apollo-client/package.json +2 -2
  5. package/dist/frameworks/react/add-ons/better-auth/package.json +1 -1
  6. package/dist/frameworks/react/add-ons/clerk/package.json +1 -1
  7. package/dist/frameworks/react/add-ons/convex/package.json +2 -2
  8. package/dist/frameworks/react/add-ons/db/package.json +3 -3
  9. package/dist/frameworks/react/add-ons/drizzle/package.json.ejs +5 -5
  10. package/dist/frameworks/react/add-ons/form/package.json +2 -2
  11. package/dist/frameworks/react/add-ons/mcp/package.json +2 -2
  12. package/dist/frameworks/react/add-ons/neon/package.json +2 -2
  13. package/dist/frameworks/react/add-ons/oRPC/package.json +7 -7
  14. package/dist/frameworks/react/add-ons/paraglide/package.json +1 -1
  15. package/dist/frameworks/react/add-ons/posthog/package.json +2 -2
  16. package/dist/frameworks/react/add-ons/prisma/package.json.ejs +7 -7
  17. package/dist/frameworks/react/add-ons/sentry/package.json +1 -1
  18. package/dist/frameworks/react/add-ons/shadcn/package.json +1 -1
  19. package/dist/frameworks/react/add-ons/store/package.json +3 -3
  20. package/dist/frameworks/react/add-ons/storybook/package.json +2 -2
  21. package/dist/frameworks/react/add-ons/strapi/package.json +2 -2
  22. package/dist/frameworks/react/add-ons/t3env/package.json +2 -2
  23. package/dist/frameworks/react/add-ons/tRPC/package.json +4 -4
  24. package/dist/frameworks/react/add-ons/table/package.json +3 -3
  25. package/dist/frameworks/react/add-ons/tanstack-query/package.json +2 -2
  26. package/dist/frameworks/react/add-ons/workos/package.json +2 -2
  27. package/dist/frameworks/react/examples/events/package.json +3 -3
  28. package/dist/frameworks/react/examples/resume/package.json +2 -2
  29. package/dist/frameworks/react/hosts/cloudflare/package.json.ejs +2 -2
  30. package/dist/frameworks/react/hosts/netlify/package.json +1 -1
  31. package/dist/frameworks/react/project/base/package.json +17 -20
  32. package/dist/frameworks/react/project/base/src/components/Header.tsx.ejs +0 -7
  33. package/dist/frameworks/react/project/base/src/routes/about.tsx.ejs +3 -8
  34. package/dist/frameworks/react/project/base/src/routes/index.tsx.ejs +7 -7
  35. package/dist/frameworks/react/project/base/src/styles.css.ejs +0 -18
  36. package/dist/frameworks/react/project/base/tsconfig.json.ejs +0 -1
  37. package/dist/frameworks/react/project/base/vite.config.ts.ejs +0 -2
  38. package/dist/frameworks/react/toolchains/biome/package.json +1 -1
  39. package/dist/frameworks/react/toolchains/eslint/package.json +2 -2
  40. package/dist/frameworks/solid/add-ons/better-auth/package.json +1 -1
  41. package/dist/frameworks/solid/add-ons/convex/package.json +3 -3
  42. package/dist/frameworks/solid/add-ons/form/package.json +1 -1
  43. package/dist/frameworks/solid/add-ons/sentry/package.json +1 -1
  44. package/dist/frameworks/solid/add-ons/store/package.json +2 -2
  45. package/dist/frameworks/solid/add-ons/strapi/package.json +2 -2
  46. package/dist/frameworks/solid/add-ons/t3env/package.json +2 -2
  47. package/dist/frameworks/solid/add-ons/tanstack-query/package.json +2 -2
  48. package/dist/frameworks/solid/examples/tanchat/assets/ai-streaming-server/package.json +3 -3
  49. package/dist/frameworks/solid/examples/tanchat/package.json +2 -2
  50. package/dist/frameworks/solid/hosts/cloudflare/package.json.ejs +2 -2
  51. package/dist/frameworks/solid/hosts/netlify/package.json +1 -1
  52. package/dist/frameworks/solid/project/base/package.json +11 -10
  53. package/dist/frameworks/solid/project/base/src/components/Header.tsx.ejs +51 -138
  54. package/dist/frameworks/solid/project/base/src/routes/__root.tsx.ejs +2 -5
  55. package/dist/frameworks/solid/project/base/src/routes/about.tsx.ejs +22 -0
  56. package/dist/frameworks/solid/project/base/src/routes/index.tsx.ejs +59 -94
  57. package/dist/frameworks/solid/project/base/src/styles.css.ejs +187 -7
  58. package/dist/frameworks/solid/project/base/vite.config.ts.ejs +1 -2
  59. package/dist/frameworks/solid/toolchains/biome/package.json +1 -1
  60. package/dist/frameworks/solid/toolchains/eslint/package.json +2 -2
  61. package/dist/npm-resolver.js +56 -0
  62. package/dist/package-json.js +25 -3
  63. package/dist/types/npm-resolver.d.ts +18 -0
  64. package/dist/types/package-json.d.ts +1 -5
  65. package/package.json +1 -1
  66. package/src/create-app.ts +3 -1
  67. package/src/frameworks/react/add-ons/ai/package.json +3 -3
  68. package/src/frameworks/react/add-ons/apollo-client/package.json +2 -2
  69. package/src/frameworks/react/add-ons/better-auth/package.json +1 -1
  70. package/src/frameworks/react/add-ons/clerk/package.json +1 -1
  71. package/src/frameworks/react/add-ons/convex/package.json +2 -2
  72. package/src/frameworks/react/add-ons/db/package.json +3 -3
  73. package/src/frameworks/react/add-ons/drizzle/package.json.ejs +5 -5
  74. package/src/frameworks/react/add-ons/form/package.json +2 -2
  75. package/src/frameworks/react/add-ons/mcp/package.json +2 -2
  76. package/src/frameworks/react/add-ons/neon/package.json +2 -2
  77. package/src/frameworks/react/add-ons/oRPC/package.json +7 -7
  78. package/src/frameworks/react/add-ons/paraglide/package.json +1 -1
  79. package/src/frameworks/react/add-ons/posthog/package.json +2 -2
  80. package/src/frameworks/react/add-ons/prisma/package.json.ejs +7 -7
  81. package/src/frameworks/react/add-ons/sentry/package.json +1 -1
  82. package/src/frameworks/react/add-ons/shadcn/package.json +1 -1
  83. package/src/frameworks/react/add-ons/store/package.json +3 -3
  84. package/src/frameworks/react/add-ons/storybook/package.json +2 -2
  85. package/src/frameworks/react/add-ons/strapi/package.json +2 -2
  86. package/src/frameworks/react/add-ons/t3env/package.json +2 -2
  87. package/src/frameworks/react/add-ons/tRPC/package.json +4 -4
  88. package/src/frameworks/react/add-ons/table/package.json +3 -3
  89. package/src/frameworks/react/add-ons/tanstack-query/package.json +2 -2
  90. package/src/frameworks/react/add-ons/workos/package.json +2 -2
  91. package/src/frameworks/react/examples/events/package.json +3 -3
  92. package/src/frameworks/react/examples/resume/package.json +2 -2
  93. package/src/frameworks/react/hosts/cloudflare/package.json.ejs +2 -2
  94. package/src/frameworks/react/hosts/netlify/package.json +1 -1
  95. package/src/frameworks/react/project/base/package.json +17 -20
  96. package/src/frameworks/react/project/base/src/components/Header.tsx.ejs +0 -7
  97. package/src/frameworks/react/project/base/src/routes/about.tsx.ejs +3 -8
  98. package/src/frameworks/react/project/base/src/routes/index.tsx.ejs +7 -7
  99. package/src/frameworks/react/project/base/src/styles.css.ejs +0 -18
  100. package/src/frameworks/react/project/base/tsconfig.json.ejs +0 -1
  101. package/src/frameworks/react/project/base/vite.config.ts.ejs +0 -2
  102. package/src/frameworks/react/toolchains/biome/package.json +1 -1
  103. package/src/frameworks/react/toolchains/eslint/package.json +2 -2
  104. package/src/frameworks/solid/add-ons/better-auth/package.json +1 -1
  105. package/src/frameworks/solid/add-ons/convex/package.json +3 -3
  106. package/src/frameworks/solid/add-ons/form/package.json +1 -1
  107. package/src/frameworks/solid/add-ons/sentry/package.json +1 -1
  108. package/src/frameworks/solid/add-ons/store/package.json +2 -2
  109. package/src/frameworks/solid/add-ons/strapi/package.json +2 -2
  110. package/src/frameworks/solid/add-ons/t3env/package.json +2 -2
  111. package/src/frameworks/solid/add-ons/tanstack-query/package.json +2 -2
  112. package/src/frameworks/solid/examples/tanchat/assets/ai-streaming-server/package.json +3 -3
  113. package/src/frameworks/solid/examples/tanchat/package.json +2 -2
  114. package/src/frameworks/solid/hosts/cloudflare/package.json.ejs +2 -2
  115. package/src/frameworks/solid/hosts/netlify/package.json +1 -1
  116. package/src/frameworks/solid/project/base/package.json +11 -10
  117. package/src/frameworks/solid/project/base/src/components/Header.tsx.ejs +51 -138
  118. package/src/frameworks/solid/project/base/src/routes/__root.tsx.ejs +2 -5
  119. package/src/frameworks/solid/project/base/src/routes/about.tsx.ejs +22 -0
  120. package/src/frameworks/solid/project/base/src/routes/index.tsx.ejs +59 -94
  121. package/src/frameworks/solid/project/base/src/styles.css.ejs +187 -7
  122. package/src/frameworks/solid/project/base/vite.config.ts.ejs +1 -2
  123. package/src/frameworks/solid/toolchains/biome/package.json +1 -1
  124. package/src/frameworks/solid/toolchains/eslint/package.json +2 -2
  125. package/src/npm-resolver.ts +65 -0
  126. package/src/package-json.ts +34 -3
  127. package/tests/package-json.test.ts +32 -0
  128. package/dist/frameworks/react/project/base/content/blog/fifth-post.mdx.ejs +0 -54
  129. package/dist/frameworks/react/project/base/content/blog/first-post.md.ejs +0 -47
  130. package/dist/frameworks/react/project/base/content/blog/fourth-post.md.ejs +0 -42
  131. package/dist/frameworks/react/project/base/content/blog/second-post.mdx.ejs +0 -46
  132. package/dist/frameworks/react/project/base/content/blog/third-post.md.ejs +0 -49
  133. package/dist/frameworks/react/project/base/content-collections.ts.ejs +0 -37
  134. package/dist/frameworks/react/project/base/public/images/lagoon-1.svg +0 -13
  135. package/dist/frameworks/react/project/base/public/images/lagoon-2.svg +0 -12
  136. package/dist/frameworks/react/project/base/public/images/lagoon-3.svg +0 -12
  137. package/dist/frameworks/react/project/base/public/images/lagoon-4.svg +0 -12
  138. package/dist/frameworks/react/project/base/public/images/lagoon-5.svg +0 -12
  139. package/dist/frameworks/react/project/base/public/images/lagoon-about.svg +0 -14
  140. package/dist/frameworks/react/project/base/public/tanstack-circle-logo.png +0 -0
  141. package/dist/frameworks/react/project/base/public/tanstack-word-logo-white.svg +0 -1
  142. package/dist/frameworks/react/project/base/src/components/MdxCallout.tsx.ejs +0 -16
  143. package/dist/frameworks/react/project/base/src/components/MdxMetrics.tsx.ejs +0 -23
  144. package/dist/frameworks/react/project/base/src/lib/site.ts.ejs +0 -4
  145. package/dist/frameworks/react/project/base/src/routes/blog.$slug.tsx.ejs +0 -71
  146. package/dist/frameworks/react/project/base/src/routes/blog.index.tsx.ejs +0 -93
  147. package/dist/frameworks/react/project/base/src/routes/rss[.]xml.ts.ejs +0 -35
  148. package/src/frameworks/react/project/base/content/blog/fifth-post.mdx.ejs +0 -54
  149. package/src/frameworks/react/project/base/content/blog/first-post.md.ejs +0 -47
  150. package/src/frameworks/react/project/base/content/blog/fourth-post.md.ejs +0 -42
  151. package/src/frameworks/react/project/base/content/blog/second-post.mdx.ejs +0 -46
  152. package/src/frameworks/react/project/base/content/blog/third-post.md.ejs +0 -49
  153. package/src/frameworks/react/project/base/content-collections.ts.ejs +0 -37
  154. package/src/frameworks/react/project/base/public/images/lagoon-1.svg +0 -13
  155. package/src/frameworks/react/project/base/public/images/lagoon-2.svg +0 -12
  156. package/src/frameworks/react/project/base/public/images/lagoon-3.svg +0 -12
  157. package/src/frameworks/react/project/base/public/images/lagoon-4.svg +0 -12
  158. package/src/frameworks/react/project/base/public/images/lagoon-5.svg +0 -12
  159. package/src/frameworks/react/project/base/public/images/lagoon-about.svg +0 -14
  160. package/src/frameworks/react/project/base/public/tanstack-circle-logo.png +0 -0
  161. package/src/frameworks/react/project/base/public/tanstack-word-logo-white.svg +0 -1
  162. package/src/frameworks/react/project/base/src/components/MdxCallout.tsx.ejs +0 -16
  163. package/src/frameworks/react/project/base/src/components/MdxMetrics.tsx.ejs +0 -23
  164. package/src/frameworks/react/project/base/src/lib/site.ts.ejs +0 -4
  165. package/src/frameworks/react/project/base/src/routes/blog.$slug.tsx.ejs +0 -71
  166. package/src/frameworks/react/project/base/src/routes/blog.index.tsx.ejs +0 -93
  167. package/src/frameworks/react/project/base/src/routes/rss[.]xml.ts.ejs +0 -35
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @tanstack/create
2
2
 
3
+ ## 0.63.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Update all template dependencies to latest versions. All `@tanstack/*` packages now use `"latest"` in templates and are resolved to pinned exact versions at project generation time via the npm registry. Third-party packages (vite, biome, sentry, clerk, convex, trpc, orpc, drizzle, prisma, zod, etc.) are updated to their current latest semver ranges and standardized across all add-ons. ([`5f47a05`](https://github.com/TanStack/cli/commit/5f47a05d5b00376710945609770a10bf17722661))
8
+
9
+ ## 0.62.3
10
+
11
+ ### Patch Changes
12
+
13
+ - Auto-generated changeset from semantic commits on main.
14
+
15
+ - fix(ci): use direct changeset publish args (b6f5ff5)
16
+
17
+ ## 0.62.2
18
+
19
+ ### Patch Changes
20
+
21
+ - Make the default base starter minimal (Home + About) for React and Solid, and add a new `blog` template option for both frameworks. ([`f33f8d4`](https://github.com/TanStack/cli/commit/f33f8d4954d9ad6771871257a4e1e58feee9b34d))
22
+
23
+ Interactive `create` now prompts for a template when one is not provided, and template id resolution prefers the selected framework when ids overlap.
24
+
25
+ - Add pnpm build approvals for `esbuild` and `lightningcss` in base app templates and preserve `pnpm.onlyBuiltDependencies` when add-ons add their own entries. ([`16fcd67`](https://github.com/TanStack/cli/commit/16fcd674c0f74c1c62cf97b0042060d5a51981ef))
26
+
3
27
  ## 0.62.1
4
28
 
5
29
  ### Patch Changes
@@ -4,6 +4,7 @@ import { formatCommand } from './utils.js';
4
4
  import { writeConfigFileToEnvironment } from './config-file.js';
5
5
  import { getPackageManagerScriptCommand, packageManagerInstall, translateExecuteCommand, } from './package-manager.js';
6
6
  import { createPackageJSON } from './package-json.js';
7
+ import { resolvePackageJSONLatest } from './npm-resolver.js';
7
8
  import { createTemplateFile } from './template-file.js';
8
9
  import { installShadcnComponents } from './integrations/shadcn.js';
9
10
  import { setupGit } from './integrations/git.js';
@@ -101,7 +102,8 @@ async function writeFiles(environment, options) {
101
102
  type: 'file',
102
103
  message: 'Writing package.json...',
103
104
  });
104
- await environment.writeFile(resolve(options.targetDir, './package.json'), JSON.stringify(createPackageJSON(options), null, 2));
105
+ const packageJSON = await resolvePackageJSONLatest(createPackageJSON(options));
106
+ await environment.writeFile(resolve(options.targetDir, './package.json'), JSON.stringify(packageJSON, null, 2));
105
107
  environment.finishStep('write-package-json', 'Package.json written');
106
108
  environment.startStep({
107
109
  id: 'write-config-file',
@@ -8,8 +8,8 @@
8
8
  "@tanstack/ai-openai": "latest",
9
9
  "@tanstack/ai-react": "latest",
10
10
  "highlight.js": "^11.11.1",
11
- "streamdown": "^1.6.5",
12
- "lucide-react": "^0.544.0",
13
- "zod": "^4.3.5"
11
+ "lucide-react": "^0.577.0",
12
+ "streamdown": "^2.3.0",
13
+ "zod": "^4.3.6"
14
14
  }
15
15
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "@apollo/client": "^4.0.0",
4
- "@apollo/client-integration-tanstack-start": "^0.14.2-rc.0",
3
+ "@apollo/client": "^4.1.6",
4
+ "@apollo/client-integration-tanstack-start": "^0.14.4-rc.0",
5
5
  "graphql": "^16.10.0",
6
6
  "rxjs": "^7.8.2"
7
7
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "dependencies": {
3
- "better-auth": "^1.4.12"
3
+ "better-auth": "^1.5.3"
4
4
  }
5
5
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "dependencies": {
3
- "@clerk/clerk-react": "^5.49.0"
3
+ "@clerk/clerk-react": "^5.61.3"
4
4
  }
5
5
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
3
  "@convex-dev/react-query": "0.1.0",
4
- "convex": "^1.27.3",
5
- "lucide-react": "^0.561.0"
4
+ "convex": "^1.32.0",
5
+ "lucide-react": "^0.577.0"
6
6
  }
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "@tanstack/query-db-collection": "^1.0.8",
4
- "@tanstack/react-db": "^0.1.1",
5
- "zod": "^4.0.14"
3
+ "@tanstack/query-db-collection": "latest",
4
+ "@tanstack/react-db": "latest",
5
+ "zod": "^4.3.6"
6
6
  }
7
7
  }
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "dependencies": {
3
- "drizzle-orm": "^0.45.0",
4
- "drizzle-kit": "^0.31.8"<% if (addOnOption.drizzle.database === 'postgresql') { %>,
3
+ "drizzle-orm": "^0.45.1",
4
+ "drizzle-kit": "^0.31.9"<% if (addOnOption.drizzle.database === 'postgresql') { %>,
5
5
  "pg": "^8.16.3"<% } %><% if (addOnOption.drizzle.database === 'mysql') { %>,
6
6
  "mysql2": "^3.15.3"<% } %><% if (addOnOption.drizzle.database === 'sqlite') { %>,
7
- "better-sqlite3": "^12.5.0"<% } %>
7
+ "better-sqlite3": "^12.6.2"<% } %>
8
8
  },
9
9
  "devDependencies": {
10
- "dotenv": "^16.0.0",
11
- "tsx": "^4.0.0"<% if (addOnOption.drizzle.database === 'postgresql') { %>,
10
+ "dotenv": "^17.3.1",
11
+ "tsx": "^4.21.0"<% if (addOnOption.drizzle.database === 'postgresql') { %>,
12
12
  "@types/pg": "^8.15.6"<% } %><% if (addOnOption.drizzle.database === 'sqlite') { %>,
13
13
  "@types/better-sqlite3": "^7.6.0"<% } %>
14
14
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "@tanstack/react-form": "^1.0.0",
4
- "zod": "^4.1.11"
3
+ "@tanstack/react-form": "latest",
4
+ "zod": "^4.3.6"
5
5
  }
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "@modelcontextprotocol/sdk": "^1.17.0",
4
- "zod": "4.2.1"
3
+ "@modelcontextprotocol/sdk": "^1.27.1",
4
+ "zod": "^4.3.6"
5
5
  }
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "@neondatabase/serverless": "^1.0.0",
4
- "@neondatabase/vite-plugin-postgres": "^0.5.0"
3
+ "@neondatabase/serverless": "^1.0.2",
4
+ "@neondatabase/vite-plugin-postgres": "^0.7.0"
5
5
  }
6
6
  }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "dependencies": {
3
- "@orpc/client": "^1.13.0",
4
- "@orpc/json-schema": "^1.13.0",
5
- "@orpc/openapi": "^1.13.0",
6
- "@orpc/server": "^1.13.0",
7
- "@orpc/tanstack-query": "^1.13.0",
8
- "@orpc/zod": "^1.13.0",
9
- "zod": "^4.2.1"
3
+ "@orpc/client": "^1.13.6",
4
+ "@orpc/json-schema": "^1.13.6",
5
+ "@orpc/openapi": "^1.13.6",
6
+ "@orpc/server": "^1.13.6",
7
+ "@orpc/tanstack-query": "^1.13.6",
8
+ "@orpc/zod": "^1.13.6",
9
+ "zod": "^4.3.6"
10
10
  }
11
11
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "devDependencies": {
3
- "@inlang/paraglide-js": "^2.8.0"
3
+ "@inlang/paraglide-js": "^2.13.1"
4
4
  }
5
5
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "posthog-js": "^1.335.4",
4
- "@posthog/react": "^1.7.0"
3
+ "@posthog/react": "^1.7.0",
4
+ "posthog-js": "^1.358.1"
5
5
  }
6
6
  }
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "dependencies": {
3
- "prisma": "^7.2.0",
4
- "@prisma/client": "^7.2.0"<% if (addOnOption.prisma.database === 'postgres') { %>,
5
- "@prisma/adapter-pg": "^7.2.0"<% } %><% if (addOnOption.prisma.database === 'mysql') { %>,
6
- "@prisma/adapter-mariadb": "^7.2.0"<% } %><% if (addOnOption.prisma.database === 'sqlite') { %>,
7
- "@prisma/adapter-better-sqlite3": "^7.2.0"<% } %>
3
+ "prisma": "^7.4.2",
4
+ "@prisma/client": "^7.4.2"<% if (addOnOption.prisma.database === 'postgres') { %>,
5
+ "@prisma/adapter-pg": "^7.4.2"<% } %><% if (addOnOption.prisma.database === 'mysql') { %>,
6
+ "@prisma/adapter-mariadb": "^7.4.2"<% } %><% if (addOnOption.prisma.database === 'sqlite') { %>,
7
+ "@prisma/adapter-better-sqlite3": "^7.4.2"<% } %>
8
8
  },
9
9
  "devDependencies": {
10
- "dotenv-cli": "^10.0.0",
11
- "tsx": "^4.20.6"
10
+ "dotenv-cli": "^11.0.0",
11
+ "tsx": "^4.21.0"
12
12
  },
13
13
  "scripts": {<% if (addOnOption.prisma.database === 'postgres') { %>
14
14
  "post-cta-init": "<%- getPackageManagerExecuteScript('create-db@latest', ['--user-agent', 'tanstack/tsrouter']) %>",<% } %>
@@ -5,7 +5,7 @@
5
5
  "start": "node --import ./.output/server/instrument.server.mjs .output/server/index.mjs"
6
6
  },
7
7
  "dependencies": {
8
- "@sentry/tanstackstart-react": "^10.34.0",
8
+ "@sentry/tanstackstart-react": "^10.42.0",
9
9
  "dotenv-cli": "^11.0.0"
10
10
  }
11
11
  }
@@ -2,7 +2,7 @@
2
2
  "dependencies": {
3
3
  "class-variance-authority": "^0.7.1",
4
4
  "clsx": "^2.1.1",
5
- "lucide-react": "^0.561.0",
5
+ "lucide-react": "^0.577.0",
6
6
  "tailwind-merge": "^3.0.2",
7
7
  "tw-animate-css": "^1.3.6"
8
8
  }
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "dependencies": {
3
- "@tanstack/store": "^0.9.1",
4
- "@tanstack/react-store": "^0.9.1"
3
+ "@tanstack/react-store": "latest",
4
+ "@tanstack/store": "latest"
5
5
  },
6
6
  "devDependencies": {
7
- "@tanstack/devtools-event-client": "^0.4.0"
7
+ "@tanstack/devtools-event-client": "latest"
8
8
  }
9
9
  }
@@ -4,7 +4,7 @@
4
4
  "build-storybook": "storybook build"
5
5
  },
6
6
  "dependencies": {
7
- "@storybook/react-vite": "^10.1.10",
8
- "storybook": "^10.1.10"
7
+ "@storybook/react-vite": "^10.2.15",
8
+ "storybook": "^10.2.15"
9
9
  }
10
10
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "dependencies": {
3
- "@strapi/client": "^1.6.0",
3
+ "@strapi/client": "^1.6.1",
4
4
  "react-markdown": "^9.0.1",
5
5
  "remark-gfm": "^4.0.0",
6
- "use-debounce": "^10.0.0"
6
+ "use-debounce": "^10.1.0"
7
7
  }
8
8
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "zod": "^4.1.11",
4
- "@t3-oss/env-core": "^0.13.8"
3
+ "@t3-oss/env-core": "^0.13.10",
4
+ "zod": "^4.3.6"
5
5
  }
6
6
  }
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "dependencies": {
3
- "@trpc/client": "^11.4.3",
4
- "@trpc/server": "^11.4.3",
5
- "@trpc/tanstack-react-query": "^11.4.3",
3
+ "@trpc/client": "^11.11.0",
4
+ "@trpc/server": "^11.11.0",
5
+ "@trpc/tanstack-react-query": "^11.11.0",
6
6
  "superjson": "^2.2.2",
7
- "zod": "^4.1.11"
7
+ "zod": "^4.3.6"
8
8
  }
9
9
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "@faker-js/faker": "^10.0.0",
4
- "@tanstack/match-sorter-utils": "^8.19.4",
5
- "@tanstack/react-table": "^8.21.2"
3
+ "@faker-js/faker": "^10.3.0",
4
+ "@tanstack/match-sorter-utils": "latest",
5
+ "@tanstack/react-table": "latest"
6
6
  }
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "@tanstack/react-query": "^5.66.5",
4
- "@tanstack/react-query-devtools": "^5.84.2"
3
+ "@tanstack/react-query": "latest",
4
+ "@tanstack/react-query-devtools": "latest"
5
5
  }
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "@workos-inc/authkit-react": "^0.13.0",
4
- "zod": "^4.1.11"
3
+ "@workos-inc/authkit-react": "^0.16.0",
4
+ "zod": "^4.3.6"
5
5
  }
6
6
  }
@@ -7,14 +7,14 @@
7
7
  "@tanstack/ai-ollama": "latest",
8
8
  "@tanstack/ai-openai": "latest",
9
9
  "@tanstack/ai-react": "latest",
10
- "@tanstack/store": "^0.7.0",
10
+ "@tanstack/store": "latest",
11
11
  "class-variance-authority": "^0.7.1",
12
12
  "clsx": "^2.1.1",
13
13
  "marked": "^15.0.8",
14
- "streamdown": "^1.6.5",
14
+ "streamdown": "^2.3.0",
15
15
  "tailwind-merge": "^3.0.2",
16
16
  "tailwindcss-animate": "^1.0.7",
17
- "zod": "^4.3.5"
17
+ "zod": "^4.3.6"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@content-collections/core": "^0.13.1",
@@ -15,10 +15,10 @@
15
15
  "class-variance-authority": "^0.7.1",
16
16
  "clsx": "^2.1.1",
17
17
  "marked": "^15.0.8",
18
- "streamdown": "^1.6.5",
18
+ "streamdown": "^2.3.0",
19
19
  "tailwind-merge": "^3.0.2",
20
20
  "tailwindcss-animate": "^1.0.7",
21
- "zod": "^4.3.5"
21
+ "zod": "^4.3.6"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@content-collections/core": "^0.13.1",
@@ -3,9 +3,9 @@
3
3
  "deploy": "<%= packageManager %> run build && wrangler deploy"
4
4
  },
5
5
  "dependencies": {
6
- "@cloudflare/vite-plugin": "^1.13.8"
6
+ "@cloudflare/vite-plugin": "^1.26.0"
7
7
  },
8
8
  "devDependencies": {
9
- "wrangler": "^4.40.3"
9
+ "wrangler": "^4.70.0"
10
10
  }
11
11
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "devDependencies": {
3
- "@netlify/vite-plugin-tanstack-start": "^1.2.3"
3
+ "@netlify/vite-plugin-tanstack-start": "^1.2.15"
4
4
  }
5
5
  }
@@ -12,33 +12,30 @@
12
12
  "test": "vitest run"
13
13
  },
14
14
  "dependencies": {
15
- "@tanstack/react-devtools": "^0.7.0",
16
- "@tanstack/react-router": "^1.132.0",
17
- "@tanstack/react-router-devtools": "^1.132.0",
18
- "@tanstack/react-router-ssr-query": "^1.131.7",
19
- "@tanstack/react-start": "^1.132.0",
20
- "lucide-react": "^0.561.0",
15
+ "@tanstack/react-devtools": "latest",
16
+ "@tanstack/react-router": "latest",
17
+ "@tanstack/react-router-devtools": "latest",
18
+ "@tanstack/react-router-ssr-query": "latest",
19
+ "@tanstack/react-start": "latest",
20
+ "lucide-react": "^0.577.0",
21
21
  "react": "^19.2.0",
22
22
  "react-dom": "^19.2.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@content-collections/core": "^0.13.1",
26
- "@content-collections/markdown": "^0.1.4",
27
- "@content-collections/mdx": "^0.2.2",
28
- "@content-collections/vite": "^0.2.8",
29
25
  "@tailwindcss/typography": "^0.5.16",
30
- "@tanstack/devtools-vite": "^0.3.11",
31
- "@testing-library/dom": "^10.4.0",
32
- "@testing-library/react": "^16.2.0",
26
+ "@tanstack/devtools-vite": "latest",
27
+ "@testing-library/dom": "^10.4.1",
28
+ "@testing-library/react": "^16.3.0",
33
29
  "@types/react": "^19.2.0",
34
30
  "@types/react-dom": "^19.2.0",
35
- "@vitejs/plugin-react": "^5.0.4",
36
- "jsdom": "^27.0.0",
37
- "remark-gfm": "^4.0.1",
38
- "typescript": "^5.7.2",
39
- "vite": "^7.1.7",
31
+ "@vitejs/plugin-react": "^5.1.4",
32
+ "jsdom": "^28.1.0",
33
+ "typescript": "^5.9.2",
34
+ "vite": "^7.3.1",
40
35
  "vite-tsconfig-paths": "^5.1.4",
41
- "vitest": "^3.0.5",
42
- "zod": "^4.3.5"
36
+ "vitest": "^3.0.5"
37
+ },
38
+ "pnpm": {
39
+ "onlyBuiltDependencies": ["esbuild", "lightningcss"]
43
40
  }
44
41
  }
@@ -69,13 +69,6 @@ export default function Header() {
69
69
  <Link to="/" className="nav-link" activeProps={{ className: 'nav-link is-active' }}>
70
70
  Home
71
71
  </Link>
72
- <Link
73
- to="/blog"
74
- className="nav-link"
75
- activeProps={{ className: 'nav-link is-active' }}
76
- >
77
- Blog
78
- </Link>
79
72
  <Link
80
73
  to="/about"
81
74
  className="nav-link"
@@ -8,18 +8,13 @@ function About() {
8
8
  return (
9
9
  <main className="page-wrap px-4 py-12">
10
10
  <section className="island-shell rounded-2xl p-6 sm:p-8">
11
- <img
12
- src="/images/lagoon-about.svg"
13
- alt=""
14
- className="mb-6 h-56 w-full rounded-2xl object-cover"
15
- />
16
11
  <p className="island-kicker mb-2">About</p>
17
12
  <h1 className="display-title mb-3 text-4xl font-bold text-[var(--sea-ink)] sm:text-5xl">
18
- Built for shipping fast.
13
+ A small starter with room to grow.
19
14
  </h1>
20
15
  <p className="m-0 max-w-3xl text-base leading-8 text-[var(--sea-ink-soft)]">
21
- TanStack Start gives you type-safe routing, server functions, and modern SSR
22
- defaults so you can focus on product work instead of framework glue.
16
+ TanStack Start gives you type-safe routing, server functions, and modern SSR defaults.
17
+ Use this as a clean foundation, then layer in your own routes, styling, and add-ons.
23
18
  </p>
24
19
  </section>
25
20
  </main>
@@ -10,18 +10,18 @@ function App() {
10
10
  <div className="pointer-events-none absolute -bottom-20 -right-20 h-56 w-56 rounded-full bg-[radial-gradient(circle,rgba(47,106,74,0.18),transparent_66%)]" />
11
11
  <p className="island-kicker mb-3">TanStack Start Base Template</p>
12
12
  <h1 className="display-title mb-5 max-w-3xl text-4xl leading-[1.02] font-bold tracking-tight text-[var(--sea-ink)] sm:text-6xl">
13
- Island hours, but for product teams.
13
+ Start simple, ship quickly.
14
14
  </h1>
15
15
  <p className="mb-8 max-w-2xl text-base text-[var(--sea-ink-soft)] sm:text-lg">
16
- A tropical, breathable app starter with full-document SSR, server functions,
17
- streaming, and type-safe routing. Calm on the eyes. Fast in production.
16
+ This base starter intentionally keeps things light: two routes, clean structure,
17
+ and the essentials you need to build from scratch.
18
18
  </p>
19
19
  <div className="flex flex-wrap gap-3">
20
20
  <a
21
- href="/blog"
21
+ href="/about"
22
22
  className="rounded-full border border-[rgba(50,143,151,0.3)] bg-[rgba(79,184,178,0.14)] px-5 py-2.5 text-sm font-semibold text-[var(--lagoon-deep)] no-underline transition hover:-translate-y-0.5 hover:bg-[rgba(79,184,178,0.24)]"
23
23
  >
24
- Explore Posts
24
+ About This Starter
25
25
  </a>
26
26
  <a
27
27
  href="https://tanstack.com/router"
@@ -39,7 +39,7 @@ function App() {
39
39
  ['Type-Safe Routing', 'Routes and links stay in sync across every page.'],
40
40
  ['Server Functions', 'Call server code from your UI without creating API boilerplate.'],
41
41
  ['Streaming by Default', 'Ship progressively rendered responses for faster experiences.'],
42
- ['Tailwind Native', 'Design quickly with utility-first styling and custom tokens.'],
42
+ ['Tailwind Native', 'Design quickly with utility-first styling and reusable tokens.'],
43
43
  ].map(([title, desc], index) => (
44
44
  <article
45
45
  key={title}
@@ -56,7 +56,7 @@ function App() {
56
56
  <p className="island-kicker mb-2">Quick Start</p>
57
57
  <ul className="m-0 list-disc space-y-2 pl-5 text-sm text-[var(--sea-ink-soft)]">
58
58
  <li>
59
- Edit <code>src/routes/index.tsx</code> to customize the hero and product narrative.
59
+ Edit <code>src/routes/index.tsx</code> to customize the home page.
60
60
  </li>
61
61
  <li>
62
62
  Update <code>src/components/Header.tsx</code> and <code>src/components/Footer.tsx</code>{' '}
@@ -154,24 +154,6 @@ pre code {
154
154
  color: inherit;
155
155
  }
156
156
 
157
- .prose pre {
158
- border: 1px solid var(--line);
159
- border-radius: 12px;
160
- background: #1d2e45;
161
- color: #e8efff;
162
- overflow-x: auto;
163
- }
164
-
165
- .prose {
166
- overflow-wrap: anywhere;
167
- }
168
-
169
- .prose table {
170
- display: block;
171
- width: 100%;
172
- overflow-x: auto;
173
- }
174
-
175
157
  .page-wrap {
176
158
  width: min(1080px, calc(100% - 2rem));
177
159
  margin-inline: auto;
@@ -8,7 +8,6 @@
8
8
  "baseUrl": ".",
9
9
  "paths": {
10
10
  "#/*": ["./src/*"],
11
- "content-collections": ["./.content-collections/generated"],
12
11
  "@/*": ["./src/*"]
13
12
  },
14
13
  "lib": ["ES2022", "DOM", "DOM.Iterable"],
@@ -1,6 +1,5 @@
1
1
  import { defineConfig } from 'vite'
2
2
  import { devtools } from '@tanstack/devtools-vite'
3
- import contentCollections from '@content-collections/vite'
4
3
  import tsconfigPaths from 'vite-tsconfig-paths'
5
4
  <% if (addOnEnabled.paraglide) { -%>
6
5
  import { paraglideVitePlugin } from "@inlang/paraglide-js"
@@ -21,7 +20,6 @@ const config = defineConfig({
21
20
  outdir: './src/paraglide',
22
21
  strategy: ['url', "baseLocale"],
23
22
  }), <% } %><% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportCode(integration) %>,<% } %>
24
- contentCollections(),
25
23
  tsconfigPaths({ projects: ['./tsconfig.json'] }),
26
24
  tailwindcss(),
27
25
  <% if (routerOnly) { %>tanstackRouter({ target: 'react', autoCodeSplitting: true }),<% } else { %>tanstackStart(),<% } %>
@@ -5,6 +5,6 @@
5
5
  "check": "biome check"
6
6
  },
7
7
  "devDependencies": {
8
- "@biomejs/biome": "2.2.4"
8
+ "@biomejs/biome": "2.4.5"
9
9
  }
10
10
  }
@@ -5,7 +5,7 @@
5
5
  "check": "prettier --write . && eslint --fix"
6
6
  },
7
7
  "devDependencies": {
8
- "@tanstack/eslint-config": "^0.3.0",
9
- "prettier": "^3.5.3"
8
+ "@tanstack/eslint-config": "latest",
9
+ "prettier": "^3.8.1"
10
10
  }
11
11
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "dependencies": {
3
- "better-auth": "^1.4.12"
3
+ "better-auth": "^1.5.3"
4
4
  }
5
5
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
+ "convex": "^1.32.0",
3
4
  "convex-solidjs": "^0.0.3",
4
- "convex": "^1.27.3",
5
- "lucide-solid": "^0.544.0"
5
+ "lucide-solid": "^0.577.0"
6
6
  }
7
- }
7
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "dependencies": {
3
- "@tanstack/solid-form": "^1.0.0"
3
+ "@tanstack/solid-form": "latest"
4
4
  }
5
5
  }