Skip to content

Commit 3811aac

Browse files
Track generated route tree in scaffolds (#464)
1 parent d7f7a1c commit 3811aac

12 files changed

Lines changed: 111 additions & 8 deletions

File tree

.changeset/track-route-tree.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@tanstack/create": patch
3+
---
4+
5+
Keep the generated route tree tracked in new React and Solid apps and run route generation once during scaffold.

packages/create/src/create-app.ts

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ function stripExamplesFromOptions(options: Options): Options {
3131
!isDemoFilePath(route.path) &&
3232
!(route.url && route.url.startsWith('/demo')),
3333
)
34-
34+
3535
const filteredIntegrations = (addOn.integrations || []).filter(
3636
(integration) => !isDemoFilePath(integration.path)
3737
)
@@ -277,6 +277,37 @@ async function runCommandsAndInstallDependencies(
277277
await installShadcnComponents(environment, options.targetDir, options)
278278

279279
await setupIntent(environment, options.targetDir, options)
280+
281+
if (shouldGenerateRoutes(options)) {
282+
s.start(`Generating route tree...`)
283+
const command = getPackageManagerScriptCommand(options.packageManager, [
284+
'generate-routes',
285+
])
286+
const cmd = formatCommand(command)
287+
environment.startStep({
288+
id: 'generate-routes',
289+
type: 'command',
290+
message: cmd,
291+
})
292+
await environment.execute(
293+
command.command,
294+
command.args,
295+
options.targetDir,
296+
{
297+
inherit: true,
298+
},
299+
)
300+
environment.finishStep('generate-routes', 'Route tree generated')
301+
s.stop(`Route tree generated`)
302+
}
303+
}
304+
305+
function shouldGenerateRoutes(options: Options) {
306+
return (
307+
options.install !== false &&
308+
options.mode === 'file-router' &&
309+
(options.framework.id === 'react' || options.framework.id === 'solid')
310+
)
280311
}
281312

282313
async function seedEnvValues(environment: Environment, options: Options) {

packages/create/src/frameworks/react/project/base/_dot_gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ dist-ssr
66
.env
77
.nitro
88
.tanstack
9-
src/routeTree.gen.ts
109
.wrangler
1110
.output
1211
.vinxi

packages/create/src/frameworks/react/project/base/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
},
88
"scripts": {
99
"dev": "vite dev --port 3000",
10+
"generate-routes": "tsr generate",
1011
"build": "vite build",
1112
"preview": "vite preview",
1213
"test": "vitest run"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"target": "react"
3+
}

packages/create/src/frameworks/react/project/packages.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
}
1616
},
1717
"file-router": {
18+
"devDependencies": {
19+
"@tanstack/router-cli": "^1.132.0"
20+
},
1821
"dependencies": {
1922
"@tanstack/router-plugin": "^1.132.0"
2023
}

packages/create/src/frameworks/solid/project/base/_dot_gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ dist-ssr
66
.env
77
.nitro
88
.tanstack
9-
src/routeTree.gen.ts
109
.wrangler
1110
.output
1211
.vinxi

packages/create/src/frameworks/solid/project/base/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"type": "module",
55
"scripts": {
66
"dev": "vite dev --port 3000",
7+
"generate-routes": "tsr generate",
78
"build": "vite build",
89
"start": "node .output/server/index.mjs",
910
"preview": "vite preview",
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"target": "solid"
3+
}

packages/create/src/frameworks/solid/project/packages.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
}
1212
},
1313
"file-router": {
14+
"devDependencies": {
15+
"@tanstack/router-cli": "^1.133.21"
16+
},
1417
"dependencies": {
1518
"@tanstack/router-plugin": "^1.133.21"
1619
}

0 commit comments

Comments
 (0)