@tanstack/create 0.61.2 → 0.61.4
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/CHANGELOG.md +27 -0
- package/dist/frameworks/react/add-ons/ai/assets/src/components/demo-AIAssistant.tsx +2 -2
- package/dist/frameworks/react/add-ons/ai/assets/src/components/demo-GuitarRecommendation.tsx +1 -1
- package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.ts +1 -1
- package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-guitar-tools.ts +1 -1
- package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/ai-chat.tsx +5 -5
- package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.chat.ts +1 -1
- package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/guitars/$guitarId.tsx +1 -1
- package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/guitars/index.tsx +1 -1
- package/dist/frameworks/react/add-ons/better-auth/assets/src/integrations/better-auth/header-user.tsx +1 -1
- package/dist/frameworks/react/add-ons/better-auth/assets/src/routes/api/auth/$.ts +1 -1
- package/dist/frameworks/react/add-ons/better-auth/assets/src/routes/demo/better-auth.tsx +1 -1
- package/dist/frameworks/react/add-ons/db/assets/src/components/demo.chat-area.tsx +1 -1
- package/dist/frameworks/react/add-ons/db/assets/src/components/demo.messages.tsx +1 -1
- package/dist/frameworks/react/add-ons/db/assets/src/hooks/demo.useChat.ts +1 -1
- package/dist/frameworks/react/add-ons/db/assets/src/routes/demo/db-chat.tsx +1 -1
- package/dist/frameworks/react/add-ons/drizzle/assets/src/routes/demo/drizzle.tsx.ejs +2 -2
- package/dist/frameworks/react/add-ons/form/assets/src/components/demo.FormComponents.tsx.ejs +15 -11
- package/dist/frameworks/react/add-ons/form/assets/src/routes/demo/form.address.tsx.ejs +1 -1
- package/dist/frameworks/react/add-ons/form/assets/src/routes/demo/form.simple.tsx.ejs +1 -1
- package/dist/frameworks/react/add-ons/mcp/assets/src/routes/demo/api.mcp-todos.ts +1 -1
- package/dist/frameworks/react/add-ons/mcp/assets/src/routes/mcp.ts +2 -2
- package/dist/frameworks/react/add-ons/neon/assets/src/routes/demo/neon.tsx +1 -1
- package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/client.ts +1 -1
- package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.$.ts +3 -3
- package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.rpc.$.ts +2 -2
- package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/demo/orpc-todo.tsx +1 -1
- package/dist/frameworks/react/add-ons/paraglide/assets/src/components/LocaleSwitcher.tsx.ejs +2 -2
- package/dist/frameworks/react/add-ons/paraglide/assets/src/routes/demo.i18n.tsx.ejs +1 -1
- package/dist/frameworks/react/add-ons/prisma/assets/src/routes/demo/prisma.tsx.ejs +1 -1
- package/dist/frameworks/react/add-ons/shadcn/assets/components.json +5 -5
- package/dist/frameworks/react/add-ons/shadcn/assets/src/lib/utils.ts +2 -1
- package/dist/frameworks/react/add-ons/store/assets/src/routes/demo/store.tsx.ejs +1 -1
- package/dist/frameworks/react/add-ons/storybook/assets/src/routes/demo/storybook.tsx +5 -5
- package/dist/frameworks/react/add-ons/strapi/assets/src/routes/demo/strapi.tsx +1 -1
- package/dist/frameworks/react/add-ons/strapi/assets/src/routes/demo/strapi_.$articleId.tsx +1 -1
- package/dist/frameworks/react/add-ons/t3env/README.md +1 -1
- package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/react.ts +1 -1
- package/dist/frameworks/react/add-ons/tRPC/assets/src/routes/api.trpc.$.tsx +1 -1
- package/dist/frameworks/react/add-ons/tRPC/assets/src/routes/demo/trpc-todo.tsx +1 -1
- package/dist/frameworks/react/add-ons/table/assets/src/routes/demo/table.tsx.ejs +2 -2
- package/dist/frameworks/react/add-ons/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs +2 -2
- package/dist/frameworks/react/examples/events/assets/src/components/RemyAssistant.tsx +2 -2
- package/dist/frameworks/react/examples/events/assets/src/components/SpeakerCard.tsx +1 -1
- package/dist/frameworks/react/examples/events/assets/src/components/TalkCard.tsx +1 -1
- package/dist/frameworks/react/examples/events/assets/src/components/ui/card.tsx +1 -1
- package/dist/frameworks/react/examples/events/assets/src/routes/api.remy-chat.ts +1 -1
- package/dist/frameworks/react/examples/events/assets/src/routes/index.tsx +4 -4
- package/dist/frameworks/react/examples/events/assets/src/routes/schedule.index.tsx +1 -1
- package/dist/frameworks/react/examples/events/assets/src/routes/speakers.$slug.tsx +2 -2
- package/dist/frameworks/react/examples/events/assets/src/routes/speakers.index.tsx +2 -2
- package/dist/frameworks/react/examples/events/assets/src/routes/talks.$slug.tsx +1 -1
- package/dist/frameworks/react/examples/events/assets/src/routes/talks.index.tsx +2 -2
- package/dist/frameworks/react/examples/resume/assets/src/components/ResumeAssistant.tsx +2 -2
- package/dist/frameworks/react/examples/resume/assets/src/components/ui/badge.tsx +1 -1
- package/dist/frameworks/react/examples/resume/assets/src/components/ui/card.tsx +1 -1
- package/dist/frameworks/react/examples/resume/assets/src/components/ui/checkbox.tsx +1 -1
- package/dist/frameworks/react/examples/resume/assets/src/components/ui/hover-card.tsx +1 -1
- package/dist/frameworks/react/examples/resume/assets/src/components/ui/separator.tsx +1 -1
- package/dist/frameworks/react/examples/resume/assets/src/routes/api.resume-chat.ts +1 -1
- package/dist/frameworks/react/examples/resume/assets/src/routes/index.tsx +6 -6
- package/dist/frameworks/react/project/base/_dot_gitignore +0 -1
- package/dist/frameworks/react/project/base/index.html.ejs +13 -0
- package/dist/frameworks/react/project/base/package.json +5 -2
- package/dist/frameworks/react/project/base/src/main.tsx.ejs +24 -0
- package/dist/frameworks/react/project/base/src/routes/__root.tsx.ejs +33 -2
- package/dist/frameworks/react/project/base/tsconfig.json.ejs +5 -5
- package/dist/frameworks/react/project/base/vite.config.ts.ejs +8 -13
- package/dist/frameworks/react/toolchains/eslint/assets/eslint.config.js +16 -1
- package/dist/frameworks/solid/project/base/_dot_gitignore +0 -1
- package/dist/frameworks/solid/project/base/index.html.ejs +13 -0
- package/dist/frameworks/solid/project/base/src/main.tsx.ejs +23 -0
- package/dist/frameworks/solid/project/base/src/routes/__root.tsx.ejs +20 -0
- package/dist/frameworks/solid/project/base/vite.config.ts.ejs +6 -2
- package/dist/frameworks/solid/toolchains/eslint/assets/eslint.config.js +16 -1
- package/dist/package-json.js +20 -0
- package/dist/template-file.js +1 -0
- package/dist/types/types.d.ts +1 -0
- package/package.json +1 -1
- package/src/frameworks/react/add-ons/ai/assets/src/components/demo-AIAssistant.tsx +2 -2
- package/src/frameworks/react/add-ons/ai/assets/src/components/demo-GuitarRecommendation.tsx +1 -1
- package/src/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.ts +1 -1
- package/src/frameworks/react/add-ons/ai/assets/src/lib/demo-guitar-tools.ts +1 -1
- package/src/frameworks/react/add-ons/ai/assets/src/routes/demo/ai-chat.tsx +5 -5
- package/src/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.chat.ts +1 -1
- package/src/frameworks/react/add-ons/ai/assets/src/routes/demo/guitars/$guitarId.tsx +1 -1
- package/src/frameworks/react/add-ons/ai/assets/src/routes/demo/guitars/index.tsx +1 -1
- package/src/frameworks/react/add-ons/better-auth/assets/src/integrations/better-auth/header-user.tsx +1 -1
- package/src/frameworks/react/add-ons/better-auth/assets/src/routes/api/auth/$.ts +1 -1
- package/src/frameworks/react/add-ons/better-auth/assets/src/routes/demo/better-auth.tsx +1 -1
- package/src/frameworks/react/add-ons/db/assets/src/components/demo.chat-area.tsx +1 -1
- package/src/frameworks/react/add-ons/db/assets/src/components/demo.messages.tsx +1 -1
- package/src/frameworks/react/add-ons/db/assets/src/hooks/demo.useChat.ts +1 -1
- package/src/frameworks/react/add-ons/db/assets/src/routes/demo/db-chat.tsx +1 -1
- package/src/frameworks/react/add-ons/drizzle/assets/src/routes/demo/drizzle.tsx.ejs +2 -2
- package/src/frameworks/react/add-ons/form/assets/src/components/demo.FormComponents.tsx.ejs +15 -11
- package/src/frameworks/react/add-ons/form/assets/src/routes/demo/form.address.tsx.ejs +1 -1
- package/src/frameworks/react/add-ons/form/assets/src/routes/demo/form.simple.tsx.ejs +1 -1
- package/src/frameworks/react/add-ons/mcp/assets/src/routes/demo/api.mcp-todos.ts +1 -1
- package/src/frameworks/react/add-ons/mcp/assets/src/routes/mcp.ts +2 -2
- package/src/frameworks/react/add-ons/neon/assets/src/routes/demo/neon.tsx +1 -1
- package/src/frameworks/react/add-ons/oRPC/assets/src/orpc/client.ts +1 -1
- package/src/frameworks/react/add-ons/oRPC/assets/src/routes/api.$.ts +3 -3
- package/src/frameworks/react/add-ons/oRPC/assets/src/routes/api.rpc.$.ts +2 -2
- package/src/frameworks/react/add-ons/oRPC/assets/src/routes/demo/orpc-todo.tsx +1 -1
- package/src/frameworks/react/add-ons/paraglide/assets/src/components/LocaleSwitcher.tsx.ejs +2 -2
- package/src/frameworks/react/add-ons/paraglide/assets/src/routes/demo.i18n.tsx.ejs +1 -1
- package/src/frameworks/react/add-ons/prisma/assets/src/routes/demo/prisma.tsx.ejs +1 -1
- package/src/frameworks/react/add-ons/shadcn/assets/components.json +5 -5
- package/src/frameworks/react/add-ons/shadcn/assets/src/lib/utils.ts +2 -1
- package/src/frameworks/react/add-ons/store/assets/src/routes/demo/store.tsx.ejs +1 -1
- package/src/frameworks/react/add-ons/storybook/assets/src/routes/demo/storybook.tsx +5 -5
- package/src/frameworks/react/add-ons/strapi/assets/src/routes/demo/strapi.tsx +1 -1
- package/src/frameworks/react/add-ons/strapi/assets/src/routes/demo/strapi_.$articleId.tsx +1 -1
- package/src/frameworks/react/add-ons/t3env/README.md +1 -1
- package/src/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/react.ts +1 -1
- package/src/frameworks/react/add-ons/tRPC/assets/src/routes/api.trpc.$.tsx +1 -1
- package/src/frameworks/react/add-ons/tRPC/assets/src/routes/demo/trpc-todo.tsx +1 -1
- package/src/frameworks/react/add-ons/table/assets/src/routes/demo/table.tsx.ejs +2 -2
- package/src/frameworks/react/add-ons/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs +2 -2
- package/src/frameworks/react/examples/events/assets/src/components/RemyAssistant.tsx +2 -2
- package/src/frameworks/react/examples/events/assets/src/components/SpeakerCard.tsx +1 -1
- package/src/frameworks/react/examples/events/assets/src/components/TalkCard.tsx +1 -1
- package/src/frameworks/react/examples/events/assets/src/components/ui/card.tsx +1 -1
- package/src/frameworks/react/examples/events/assets/src/routes/api.remy-chat.ts +1 -1
- package/src/frameworks/react/examples/events/assets/src/routes/index.tsx +4 -4
- package/src/frameworks/react/examples/events/assets/src/routes/schedule.index.tsx +1 -1
- package/src/frameworks/react/examples/events/assets/src/routes/speakers.$slug.tsx +2 -2
- package/src/frameworks/react/examples/events/assets/src/routes/speakers.index.tsx +2 -2
- package/src/frameworks/react/examples/events/assets/src/routes/talks.$slug.tsx +1 -1
- package/src/frameworks/react/examples/events/assets/src/routes/talks.index.tsx +2 -2
- package/src/frameworks/react/examples/resume/assets/src/components/ResumeAssistant.tsx +2 -2
- package/src/frameworks/react/examples/resume/assets/src/components/ui/badge.tsx +1 -1
- package/src/frameworks/react/examples/resume/assets/src/components/ui/card.tsx +1 -1
- package/src/frameworks/react/examples/resume/assets/src/components/ui/checkbox.tsx +1 -1
- package/src/frameworks/react/examples/resume/assets/src/components/ui/hover-card.tsx +1 -1
- package/src/frameworks/react/examples/resume/assets/src/components/ui/separator.tsx +1 -1
- package/src/frameworks/react/examples/resume/assets/src/routes/api.resume-chat.ts +1 -1
- package/src/frameworks/react/examples/resume/assets/src/routes/index.tsx +6 -6
- package/src/frameworks/react/project/base/_dot_gitignore +0 -1
- package/src/frameworks/react/project/base/index.html.ejs +13 -0
- package/src/frameworks/react/project/base/package.json +5 -2
- package/src/frameworks/react/project/base/src/main.tsx.ejs +24 -0
- package/src/frameworks/react/project/base/src/routes/__root.tsx.ejs +33 -2
- package/src/frameworks/react/project/base/tsconfig.json.ejs +5 -5
- package/src/frameworks/react/project/base/vite.config.ts.ejs +8 -13
- package/src/frameworks/react/toolchains/eslint/assets/eslint.config.js +16 -1
- package/src/frameworks/solid/project/base/_dot_gitignore +0 -1
- package/src/frameworks/solid/project/base/index.html.ejs +13 -0
- package/src/frameworks/solid/project/base/src/main.tsx.ejs +23 -0
- package/src/frameworks/solid/project/base/src/routes/__root.tsx.ejs +20 -0
- package/src/frameworks/solid/project/base/vite.config.ts.ejs +6 -2
- package/src/frameworks/solid/toolchains/eslint/assets/eslint.config.js +16 -1
- package/src/package-json.ts +24 -0
- package/src/template-file.ts +1 -0
- package/src/types.ts +1 -0
|
@@ -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
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<% if (!routerOnly) { ignoreFile() } %>
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import ReactDOM from 'react-dom/client'
|
|
4
|
+
import { RouterProvider, createRouter } from '@tanstack/react-router'
|
|
5
|
+
import { routeTree } from './routeTree.gen'
|
|
6
|
+
|
|
7
|
+
const router = createRouter({
|
|
8
|
+
routeTree,
|
|
9
|
+
defaultPreload: 'intent',
|
|
10
|
+
scrollRestoration: true,
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
declare module '@tanstack/react-router' {
|
|
14
|
+
interface Register {
|
|
15
|
+
router: typeof router
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const rootElement = document.getElementById('app')!
|
|
20
|
+
|
|
21
|
+
if (!rootElement.innerHTML) {
|
|
22
|
+
const root = ReactDOM.createRoot(rootElement)
|
|
23
|
+
root.render(<RouterProvider router={router} />)
|
|
24
|
+
}
|
|
@@ -1,3 +1,33 @@
|
|
|
1
|
+
<% if (routerOnly) { %>
|
|
2
|
+
import { Outlet, createRootRoute } from '@tanstack/react-router'
|
|
3
|
+
import { TanStackRouterDevtoolsPanel } from '@tanstack/react-router-devtools'
|
|
4
|
+
import { TanStackDevtools } from '@tanstack/react-devtools'
|
|
5
|
+
|
|
6
|
+
import '../styles.css'
|
|
7
|
+
|
|
8
|
+
export const Route = createRootRoute({
|
|
9
|
+
component: RootComponent,
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
function RootComponent() {
|
|
13
|
+
return (
|
|
14
|
+
<>
|
|
15
|
+
<Outlet />
|
|
16
|
+
<TanStackDevtools
|
|
17
|
+
config={{
|
|
18
|
+
position: 'bottom-right',
|
|
19
|
+
}}
|
|
20
|
+
plugins={[
|
|
21
|
+
{
|
|
22
|
+
name: 'TanStack Router',
|
|
23
|
+
render: <TanStackRouterDevtoolsPanel />,
|
|
24
|
+
},
|
|
25
|
+
]}
|
|
26
|
+
/>
|
|
27
|
+
</>
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
<% } else { %>
|
|
1
31
|
<% let hasContext = addOnEnabled["apollo-client"] || addOnEnabled["tanstack-query"]; %>
|
|
2
32
|
import {
|
|
3
33
|
HeadContent, Scripts, <% if (hasContext) { %>createRootRouteWithContext<% } else { %>createRootRoute<% } %> } from '@tanstack/react-router'
|
|
@@ -8,7 +38,7 @@ import Header from '../components/Header'
|
|
|
8
38
|
<% } %><% for(const integration of integrations.filter(i => i.type === 'layout' || i.type === 'provider' || i.type === 'devtools')) { %>
|
|
9
39
|
import <%= integration.jsName %> from '<%= relativePath(integration.path, true) %>'
|
|
10
40
|
<% } %><% if (addOnEnabled.paraglide) { %>
|
|
11
|
-
import { getLocale } from '
|
|
41
|
+
import { getLocale } from '#/paraglide/runtime'
|
|
12
42
|
<% } %>
|
|
13
43
|
import appCss from '../styles.css?url'
|
|
14
44
|
<% if (addOnEnabled["apollo-client"]) { %>
|
|
@@ -17,7 +47,7 @@ import type { ApolloClientIntegration } from "@apollo/client-integration-tanstac
|
|
|
17
47
|
<% if (addOnEnabled["tanstack-query"]) { %>
|
|
18
48
|
import type { QueryClient } from '@tanstack/react-query'
|
|
19
49
|
<% if (addOnEnabled.tRPC) { %>
|
|
20
|
-
import type { TRPCRouter } from '
|
|
50
|
+
import type { TRPCRouter } from '#/integrations/trpc/router'
|
|
21
51
|
import type { TRPCOptionsProxy } from '@trpc/tanstack-react-query'
|
|
22
52
|
<% } %>
|
|
23
53
|
<% } %>
|
|
@@ -93,3 +123,4 @@ function RootDocument({ children }: { children: React.ReactNode }) {
|
|
|
93
123
|
</html>
|
|
94
124
|
)
|
|
95
125
|
}
|
|
126
|
+
<% } %>
|
|
@@ -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,33 +1,28 @@
|
|
|
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
|
<% } -%>
|
|
7
|
+
<% if (routerOnly) { %>
|
|
8
|
+
import { tanstackRouter } from '@tanstack/router-plugin/vite'
|
|
9
|
+
<% } else { %>
|
|
6
10
|
import { tanstackStart } from '@tanstack/react-start/plugin/vite';
|
|
11
|
+
<% } %>
|
|
7
12
|
import viteReact from '@vitejs/plugin-react'
|
|
8
|
-
import viteTsConfigPaths from 'vite-tsconfig-paths'
|
|
9
|
-
import { fileURLToPath, URL } from 'node:url'
|
|
10
13
|
import tailwindcss from "@tailwindcss/vite"
|
|
11
14
|
<% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportContent(integration) %>
|
|
12
15
|
<% } %>
|
|
13
16
|
|
|
14
17
|
const config = defineConfig({
|
|
15
|
-
resolve: {
|
|
16
|
-
alias: {
|
|
17
|
-
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
18
|
plugins: [devtools(), <% if (addOnEnabled.paraglide) { %>paraglideVitePlugin({
|
|
21
19
|
project: './project.inlang',
|
|
22
20
|
outdir: './src/paraglide',
|
|
23
|
-
strategy: ['url'],
|
|
21
|
+
strategy: ['url', "baseLocale"],
|
|
24
22
|
}), <% } %><% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportCode(integration) %>,<% } %>
|
|
25
|
-
|
|
26
|
-
viteTsConfigPaths({
|
|
27
|
-
projects: ['./tsconfig.json'],
|
|
28
|
-
}),
|
|
23
|
+
tsconfigPaths({ projects: ['./tsconfig.json'] }),
|
|
29
24
|
tailwindcss(),
|
|
30
|
-
tanstackStart()
|
|
25
|
+
<% if (routerOnly) { %>tanstackRouter({ target: 'react', autoCodeSplitting: true }),<% } else { %>tanstackStart(),<% } %>
|
|
31
26
|
viteReact(<% if (addOnEnabled.compiler) { %>{
|
|
32
27
|
babel: {
|
|
33
28
|
plugins: ["babel-plugin-react-compiler"],
|
|
@@ -2,4 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
import { tanstackConfig } from '@tanstack/eslint-config'
|
|
4
4
|
|
|
5
|
-
export default [
|
|
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
|
+
]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<% if (!routerOnly) { ignoreFile() } %>
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title><%= projectName %></title>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div id="app"></div>
|
|
11
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<% if (!routerOnly) { ignoreFile() } %>
|
|
2
|
+
import { render } from 'solid-js/web'
|
|
3
|
+
import { RouterProvider, createRouter } from '@tanstack/solid-router'
|
|
4
|
+
import { routeTree } from './routeTree.gen'
|
|
5
|
+
|
|
6
|
+
const router = createRouter({
|
|
7
|
+
routeTree,
|
|
8
|
+
defaultPreload: 'intent',
|
|
9
|
+
defaultPreloadStaleTime: 0,
|
|
10
|
+
scrollRestoration: true,
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
declare module '@tanstack/solid-router' {
|
|
14
|
+
interface Register {
|
|
15
|
+
router: typeof router
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const rootElement = document.getElementById('app')!
|
|
20
|
+
|
|
21
|
+
if (!rootElement.innerHTML) {
|
|
22
|
+
render(() => <RouterProvider router={router} />, rootElement)
|
|
23
|
+
}
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
<% if (routerOnly) { %>
|
|
2
|
+
import { Outlet, createRootRoute } from '@tanstack/solid-router'
|
|
3
|
+
import { TanStackRouterDevtools } from '@tanstack/solid-router-devtools'
|
|
4
|
+
|
|
5
|
+
import '../styles.css'
|
|
6
|
+
|
|
7
|
+
export const Route = createRootRoute({
|
|
8
|
+
component: RootComponent,
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
function RootComponent() {
|
|
12
|
+
return (
|
|
13
|
+
<>
|
|
14
|
+
<Outlet />
|
|
15
|
+
<TanStackRouterDevtools position="bottom-right" />
|
|
16
|
+
</>
|
|
17
|
+
)
|
|
18
|
+
}
|
|
19
|
+
<% } else { %>
|
|
1
20
|
import { HeadContent, Outlet, Scripts, createRootRouteWithContext } from '@tanstack/solid-router'
|
|
2
21
|
import { TanStackRouterDevtools } from '@tanstack/solid-router-devtools'
|
|
3
22
|
|
|
@@ -47,3 +66,4 @@ function RootComponent() {
|
|
|
47
66
|
</html>
|
|
48
67
|
);
|
|
49
68
|
}
|
|
69
|
+
<% } %>
|
|
@@ -2,7 +2,11 @@ import { defineConfig } from "vite";
|
|
|
2
2
|
import { devtools } from '@tanstack/devtools-vite'
|
|
3
3
|
import viteTsConfigPaths from 'vite-tsconfig-paths'
|
|
4
4
|
import tailwindcss from "@tailwindcss/vite"
|
|
5
|
+
<% if (routerOnly) { %>
|
|
6
|
+
import { tanstackRouter } from '@tanstack/router-plugin/vite'
|
|
7
|
+
<% } else { %>
|
|
5
8
|
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
9
|
+
<% } %>
|
|
6
10
|
import solidPlugin from 'vite-plugin-solid';
|
|
7
11
|
<% for(const integration of integrations.filter(i => i.type === 'vite-plugin')) { %><%- integrationImportContent(integration) %>
|
|
8
12
|
<% } %>
|
|
@@ -15,7 +19,7 @@ export default defineConfig({
|
|
|
15
19
|
projects: ['./tsconfig.json'],
|
|
16
20
|
}),
|
|
17
21
|
tailwindcss(),
|
|
18
|
-
tanstackStart()
|
|
19
|
-
solidPlugin({ ssr: true }),
|
|
22
|
+
<% if (routerOnly) { %>tanstackRouter({ target: 'solid', autoCodeSplitting: true }),<% } else { %>tanstackStart(),<% } %>
|
|
23
|
+
solidPlugin(<% if (!routerOnly) { %>{ ssr: true }<% } %>),
|
|
20
24
|
],
|
|
21
25
|
})
|
|
@@ -2,4 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
import { tanstackConfig } from "@tanstack/eslint-config";
|
|
4
4
|
|
|
5
|
-
export default [
|
|
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/src/package-json.ts
CHANGED
|
@@ -63,6 +63,7 @@ export function createPackageJSON(options: Options) {
|
|
|
63
63
|
jsx: 'tsx',
|
|
64
64
|
fileRouter: options.mode === 'file-router',
|
|
65
65
|
codeRouter: options.mode === 'code-router',
|
|
66
|
+
routerOnly: options.routerOnly === true,
|
|
66
67
|
addOnEnabled: options.chosenAddOns.reduce<Record<string, boolean>>(
|
|
67
68
|
(acc, addon) => {
|
|
68
69
|
acc[addon.id] = true
|
|
@@ -97,6 +98,29 @@ export function createPackageJSON(options: Options) {
|
|
|
97
98
|
)
|
|
98
99
|
}
|
|
99
100
|
|
|
101
|
+
if (options.routerOnly) {
|
|
102
|
+
if (options.framework.id === 'react-cra') {
|
|
103
|
+
delete packageJSON.dependencies?.['@tanstack/react-start']
|
|
104
|
+
delete packageJSON.dependencies?.['@tanstack/react-router-ssr-query']
|
|
105
|
+
packageJSON.devDependencies = {
|
|
106
|
+
...(packageJSON.devDependencies ?? {}),
|
|
107
|
+
'@tanstack/router-plugin':
|
|
108
|
+
packageJSON.devDependencies?.['@tanstack/router-plugin'] ?? '^1.132.0',
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (options.framework.id === 'solid') {
|
|
113
|
+
delete packageJSON.dependencies?.['@tanstack/solid-start']
|
|
114
|
+
delete packageJSON.dependencies?.['@tanstack/solid-router-ssr-query']
|
|
115
|
+
delete packageJSON.scripts?.start
|
|
116
|
+
packageJSON.devDependencies = {
|
|
117
|
+
...(packageJSON.devDependencies ?? {}),
|
|
118
|
+
'@tanstack/router-plugin':
|
|
119
|
+
packageJSON.devDependencies?.['@tanstack/router-plugin'] ?? '^1.133.20',
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
100
124
|
packageJSON.dependencies = sortObject(
|
|
101
125
|
(packageJSON.dependencies ?? {}) as Record<string, string>,
|
|
102
126
|
)
|
package/src/template-file.ts
CHANGED
|
@@ -136,6 +136,7 @@ export function createTemplateFile(environment: Environment, options: Options) {
|
|
|
136
136
|
jsx: 'tsx',
|
|
137
137
|
fileRouter: options.mode === 'file-router',
|
|
138
138
|
codeRouter: options.mode === 'code-router',
|
|
139
|
+
routerOnly: options.routerOnly === true,
|
|
139
140
|
addOnEnabled,
|
|
140
141
|
addOnOption: options.addOnOptions,
|
|
141
142
|
addOns: options.chosenAddOns,
|