@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
@@ -1,71 +0,0 @@
1
- import { createFileRoute, notFound } from '@tanstack/react-router'
2
- import { MDXContent } from '@content-collections/mdx/react'
3
- import { allBlogs } from 'content-collections'
4
- import { SITE_URL } from '#/lib/site'
5
- import { MdxCallout } from '#/components/MdxCallout'
6
- import { MdxMetrics } from '#/components/MdxMetrics'
7
-
8
- export const Route = createFileRoute('/blog/$slug')({
9
- loader: ({ params }) => {
10
- const post = Array.from(
11
- new Map(
12
- [...allBlogs]
13
- .sort((a, b) => new Date(b.pubDate).valueOf() - new Date(a.pubDate).valueOf())
14
- .map((entry) => [entry.slug, entry]),
15
- ).values(),
16
- ).find((entry) => entry.slug === params.slug)
17
- if (!post) throw notFound()
18
- return post
19
- },
20
- head: ({ loaderData, params }) => {
21
- const title = loaderData?.title ?? 'Post'
22
- const description = loaderData?.description ?? ''
23
- const image = loaderData?.heroImage ?? '/images/lagoon-1.svg'
24
- return {
25
- links: [{ rel: 'canonical', href: `${SITE_URL}/blog/${params.slug}` }],
26
- meta: [
27
- { title },
28
- { name: 'description', content: description },
29
- {
30
- property: 'og:image',
31
- content: image.startsWith('http') ? image : `${SITE_URL}${image}`,
32
- },
33
- ],
34
- }
35
- },
36
- component: BlogPost,
37
- })
38
-
39
- function BlogPost() {
40
- const post = Route.useLoaderData()
41
-
42
- return (
43
- <main className="page-wrap px-4 pb-12 pt-16">
44
- <article className="island-shell rounded-2xl p-6 sm:p-8">
45
- {post.heroImage ? (
46
- <img
47
- src={post.heroImage}
48
- alt=""
49
- className="mb-6 h-64 w-full rounded-2xl object-cover"
50
- />
51
- ) : null}
52
- <p className="island-kicker mb-2">Post</p>
53
- <h1 className="display-title mb-3 text-4xl font-bold text-[var(--sea-ink)] sm:text-5xl">
54
- {post.title}
55
- </h1>
56
- <p className="mb-6 text-sm text-[var(--sea-ink-soft)]">
57
- {new Date(post.pubDate).toLocaleDateString()}
58
- </p>
59
- <div
60
- className="prose prose-slate prose-headings:text-[var(--sea-ink)] prose-p:text-[var(--sea-ink-soft)] prose-li:text-[var(--sea-ink-soft)] prose-ul:text-[var(--sea-ink-soft)] prose-ol:text-[var(--sea-ink-soft)] prose-strong:text-[var(--sea-ink)] prose-a:text-[var(--lagoon-deep)] max-w-none"
61
- >
62
- {post.mdx ? (
63
- <MDXContent code={post.mdx} components={{ MdxCallout, MdxMetrics }} />
64
- ) : (
65
- <div dangerouslySetInnerHTML={{ __html: post.html ?? '' }} />
66
- )}
67
- </div>
68
- </article>
69
- </main>
70
- )
71
- }
@@ -1,93 +0,0 @@
1
- import { Link, createFileRoute } from '@tanstack/react-router'
2
- import { allBlogs } from 'content-collections'
3
- import { SITE_DESCRIPTION, SITE_TITLE, SITE_URL } from '#/lib/site'
4
-
5
- const canonical = `${SITE_URL}/blog`
6
- const pageTitle = `Blog | ${SITE_TITLE}`
7
-
8
- export const Route = createFileRoute('/blog/')({
9
- head: () => ({
10
- links: [{ rel: 'canonical', href: canonical }],
11
- meta: [
12
- { title: pageTitle },
13
- { name: 'description', content: SITE_DESCRIPTION },
14
- { property: 'og:image', content: `${SITE_URL}/images/lagoon-1.svg` },
15
- ],
16
- }),
17
- component: BlogIndex,
18
- })
19
-
20
- function BlogIndex() {
21
- const postsByDate = Array.from(
22
- new Map(
23
- [...allBlogs]
24
- .sort((a, b) => new Date(b.pubDate).valueOf() - new Date(a.pubDate).valueOf())
25
- .map((post) => [post.slug, post]),
26
- ).values(),
27
- )
28
-
29
- const featured = postsByDate[0]
30
- const posts = postsByDate.slice(1)
31
- return (
32
- <main className="page-wrap px-4 pb-8 pt-14">
33
- <section className="mb-4">
34
- <p className="island-kicker mb-2">Latest Dispatches</p>
35
- <h1 className="display-title m-0 text-4xl font-bold tracking-tight text-[var(--sea-ink)] sm:text-5xl">
36
- Blog
37
- </h1>
38
- </section>
39
-
40
- <section className="grid gap-4 sm:grid-cols-2 lg:grid-cols-3">
41
- <article className="island-shell rise-in rounded-2xl p-5 sm:p-6 lg:col-span-2">
42
- {featured.heroImage ? (
43
- <img
44
- src={featured.heroImage}
45
- alt=""
46
- className="mb-4 h-44 w-full rounded-xl object-cover xl:h-60"
47
- />
48
- ) : null}
49
- <h2 className="m-0 text-2xl font-semibold text-[var(--sea-ink)]">
50
- <Link
51
- to="/blog/$slug"
52
- params={{ slug: featured.slug }}
53
- className="no-underline"
54
- >
55
- {featured.title}
56
- </Link>
57
- </h2>
58
- <p className="mb-2 mt-3 text-base text-[var(--sea-ink-soft)]">
59
- {featured.description}
60
- </p>
61
- <p className="m-0 text-xs text-[var(--sea-ink-soft)]">
62
- {new Date(featured.pubDate).toLocaleDateString()}
63
- </p>
64
- </article>
65
-
66
- {posts.map((post, index) => (
67
- <article
68
- key={post.slug}
69
- className="island-shell rise-in rounded-2xl p-5 sm:last:col-span-2 lg:last:col-span-1"
70
- style={{ animationDelay: `${index * 80 + 120}ms` }}
71
- >
72
- {post.heroImage ? (
73
- <img
74
- src={post.heroImage}
75
- alt=""
76
- className="mb-4 h-44 w-full rounded-xl object-cover"
77
- />
78
- ) : null}
79
- <h2 className="m-0 text-2xl font-semibold text-[var(--sea-ink)]">
80
- <Link to="/blog/$slug" params={{ slug: post.slug }} className="no-underline">
81
- {post.title}
82
- </Link>
83
- </h2>
84
- <p className="mb-2 mt-2 text-sm text-[var(--sea-ink-soft)]">{post.description}</p>
85
- <p className="m-0 text-xs text-[var(--sea-ink-soft)]">
86
- {new Date(post.pubDate).toLocaleDateString()}
87
- </p>
88
- </article>
89
- ))}
90
- </section>
91
- </main>
92
- )
93
- }
@@ -1,35 +0,0 @@
1
- <% if (routerOnly) { ignoreFile() } %>
2
- import { createFileRoute } from '@tanstack/react-router'
3
- import { allBlogs } from 'content-collections'
4
- import { SITE_DESCRIPTION, SITE_TITLE, SITE_URL } from '#/lib/site'
5
-
6
- export const Route = createFileRoute('/rss.xml')({
7
- server: {
8
- handlers: {
9
- GET: () => {
10
- const posts = Array.from(
11
- new Map(
12
- [...allBlogs]
13
- .sort((a, b) => new Date(b.pubDate).valueOf() - new Date(a.pubDate).valueOf())
14
- .map((post) => [post.slug, post]),
15
- ).values(),
16
- )
17
-
18
- const items = posts
19
- .map((post) => {
20
- const url = `${SITE_URL}/blog/${post.slug}`
21
- return `<item><title><![CDATA[${post.title}]]></title><description><![CDATA[${post.description}]]></description><link>${url}</link><guid>${url}</guid><pubDate>${new Date(post.pubDate).toUTCString()}</pubDate></item>`
22
- })
23
- .join('')
24
-
25
- const xml = `<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title><![CDATA[${SITE_TITLE}]]></title><description><![CDATA[${SITE_DESCRIPTION}]]></description><link>${SITE_URL}</link>${items}</channel></rss>`
26
-
27
- return new Response(xml, {
28
- headers: {
29
- 'Content-Type': 'application/rss+xml; charset=utf-8',
30
- },
31
- })
32
- },
33
- },
34
- },
35
- })