@tanstack/router-generator 1.121.0-alpha.5 → 1.121.1

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 (90) hide show
  1. package/dist/cjs/config.cjs +23 -5
  2. package/dist/cjs/config.cjs.map +1 -1
  3. package/dist/cjs/config.d.cts +7 -3
  4. package/dist/cjs/filesystem/physical/getRouteNodes.cjs +5 -3
  5. package/dist/cjs/filesystem/physical/getRouteNodes.cjs.map +1 -1
  6. package/dist/cjs/filesystem/virtual/getRouteNodes.cjs +1 -1
  7. package/dist/cjs/filesystem/virtual/getRouteNodes.cjs.map +1 -1
  8. package/dist/cjs/generator.cjs +836 -668
  9. package/dist/cjs/generator.cjs.map +1 -1
  10. package/dist/cjs/generator.d.cts +71 -1
  11. package/dist/cjs/index.cjs +5 -2
  12. package/dist/cjs/index.cjs.map +1 -1
  13. package/dist/cjs/index.d.cts +7 -3
  14. package/dist/cjs/logger.cjs +37 -0
  15. package/dist/cjs/logger.cjs.map +1 -0
  16. package/dist/cjs/logger.d.cts +10 -0
  17. package/dist/cjs/plugin/default-generator-plugin.cjs +88 -0
  18. package/dist/cjs/plugin/default-generator-plugin.cjs.map +1 -0
  19. package/dist/cjs/plugin/default-generator-plugin.d.cts +2 -0
  20. package/dist/cjs/plugin/types.d.cts +46 -0
  21. package/dist/cjs/template.cjs +10 -10
  22. package/dist/cjs/template.cjs.map +1 -1
  23. package/dist/cjs/template.d.cts +2 -2
  24. package/dist/cjs/transform/default-transform-plugin.cjs +95 -0
  25. package/dist/cjs/transform/default-transform-plugin.cjs.map +1 -0
  26. package/dist/cjs/transform/default-transform-plugin.d.cts +2 -0
  27. package/dist/cjs/transform/transform.cjs +351 -0
  28. package/dist/cjs/transform/transform.cjs.map +1 -0
  29. package/dist/cjs/transform/transform.d.cts +4 -0
  30. package/dist/cjs/transform/types.d.cts +43 -0
  31. package/dist/cjs/transform/utils.cjs +36 -0
  32. package/dist/cjs/transform/utils.cjs.map +1 -0
  33. package/dist/cjs/transform/utils.d.cts +2 -0
  34. package/dist/cjs/types.d.cts +22 -0
  35. package/dist/cjs/utils.cjs +262 -40
  36. package/dist/cjs/utils.cjs.map +1 -1
  37. package/dist/cjs/utils.d.cts +82 -9
  38. package/dist/esm/config.d.ts +7 -3
  39. package/dist/esm/config.js +21 -3
  40. package/dist/esm/config.js.map +1 -1
  41. package/dist/esm/filesystem/physical/getRouteNodes.js +3 -1
  42. package/dist/esm/filesystem/physical/getRouteNodes.js.map +1 -1
  43. package/dist/esm/filesystem/virtual/getRouteNodes.js +1 -1
  44. package/dist/esm/filesystem/virtual/getRouteNodes.js.map +1 -1
  45. package/dist/esm/generator.d.ts +71 -1
  46. package/dist/esm/generator.js +827 -658
  47. package/dist/esm/generator.js.map +1 -1
  48. package/dist/esm/index.d.ts +7 -3
  49. package/dist/esm/index.js +7 -4
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/logger.d.ts +10 -0
  52. package/dist/esm/logger.js +37 -0
  53. package/dist/esm/logger.js.map +1 -0
  54. package/dist/esm/plugin/default-generator-plugin.d.ts +2 -0
  55. package/dist/esm/plugin/default-generator-plugin.js +88 -0
  56. package/dist/esm/plugin/default-generator-plugin.js.map +1 -0
  57. package/dist/esm/plugin/types.d.ts +46 -0
  58. package/dist/esm/template.d.ts +2 -2
  59. package/dist/esm/template.js +10 -10
  60. package/dist/esm/template.js.map +1 -1
  61. package/dist/esm/transform/default-transform-plugin.d.ts +2 -0
  62. package/dist/esm/transform/default-transform-plugin.js +95 -0
  63. package/dist/esm/transform/default-transform-plugin.js.map +1 -0
  64. package/dist/esm/transform/transform.d.ts +4 -0
  65. package/dist/esm/transform/transform.js +351 -0
  66. package/dist/esm/transform/transform.js.map +1 -0
  67. package/dist/esm/transform/types.d.ts +43 -0
  68. package/dist/esm/transform/utils.d.ts +2 -0
  69. package/dist/esm/transform/utils.js +36 -0
  70. package/dist/esm/transform/utils.js.map +1 -0
  71. package/dist/esm/types.d.ts +22 -0
  72. package/dist/esm/utils.d.ts +82 -9
  73. package/dist/esm/utils.js +262 -40
  74. package/dist/esm/utils.js.map +1 -1
  75. package/package.json +9 -10
  76. package/src/config.ts +23 -2
  77. package/src/filesystem/physical/getRouteNodes.ts +2 -1
  78. package/src/filesystem/virtual/getRouteNodes.ts +1 -1
  79. package/src/generator.ts +1123 -945
  80. package/src/index.ts +25 -3
  81. package/src/logger.ts +43 -0
  82. package/src/plugin/default-generator-plugin.ts +96 -0
  83. package/src/plugin/types.ts +51 -0
  84. package/src/template.ts +33 -12
  85. package/src/transform/default-transform-plugin.ts +103 -0
  86. package/src/transform/transform.ts +430 -0
  87. package/src/transform/types.ts +50 -0
  88. package/src/transform/utils.ts +42 -0
  89. package/src/types.ts +25 -0
  90. package/src/utils.ts +385 -36
package/src/config.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import path from 'node:path'
2
- import { existsSync, readFileSync } from 'node:fs'
2
+ import { existsSync, mkdirSync, readFileSync } from 'node:fs'
3
3
  import { z } from 'zod'
4
4
  import { virtualRootRouteSchema } from './filesystem/virtual/config'
5
+ import type { GeneratorPlugin } from './plugin/types'
5
6
 
6
7
  export const baseConfigSchema = z.object({
7
8
  target: z.enum(['react', 'solid']).optional().default('react'),
@@ -35,7 +36,6 @@ export const configSchema = baseConfigSchema.extend({
35
36
  disableTypes: z.boolean().optional().default(false),
36
37
  verboseFileRoutes: z.boolean().optional(),
37
38
  addExtensions: z.boolean().optional().default(false),
38
- disableManifestGeneration: z.boolean().optional().default(false),
39
39
  enableRouteTreeFormatting: z.boolean().optional().default(true),
40
40
  routeTreeFileFooter: z.array(z.string()).optional().default([]),
41
41
  autoCodeSplitting: z.boolean().optional(),
@@ -51,6 +51,8 @@ export const configSchema = baseConfigSchema.extend({
51
51
  enableCodeSplitting: z.boolean().optional(),
52
52
  })
53
53
  .optional(),
54
+ plugins: z.array(z.custom<GeneratorPlugin>()).optional(),
55
+ tmpDir: z.string().optional().default(''),
54
56
  })
55
57
 
56
58
  export type Config = z.infer<typeof configSchema>
@@ -118,6 +120,25 @@ export function getConfig(
118
120
  }
119
121
  }
120
122
 
123
+ const resolveTmpDir = (dir: string | Array<string>) => {
124
+ if (Array.isArray(dir)) {
125
+ dir = path.join(...dir)
126
+ }
127
+ if (!path.isAbsolute(dir)) {
128
+ dir = path.resolve(process.cwd(), dir)
129
+ }
130
+ mkdirSync(dir, { recursive: true })
131
+ return dir
132
+ }
133
+
134
+ if (config.tmpDir) {
135
+ config.tmpDir = resolveTmpDir(config.tmpDir)
136
+ } else if (process.env.TSR_TMP_DIR) {
137
+ config.tmpDir = resolveTmpDir(process.env.TSR_TMP_DIR)
138
+ } else {
139
+ config.tmpDir = resolveTmpDir(['.tanstack', 'tmp'])
140
+ }
141
+
121
142
  validateConfig(config)
122
143
  return config
123
144
  }
@@ -2,13 +2,13 @@ import path from 'node:path'
2
2
  import * as fsp from 'node:fs/promises'
3
3
  import {
4
4
  determineInitialRoutePath,
5
- logging,
6
5
  removeExt,
7
6
  replaceBackslash,
8
7
  routePathToVariable,
9
8
  } from '../../utils'
10
9
  import { getRouteNodes as getRouteNodesVirtual } from '../virtual/getRouteNodes'
11
10
  import { loadConfigFile } from '../virtual/loadConfigFile'
11
+ import { logging } from '../../logger'
12
12
  import { rootPathId } from './rootPathId'
13
13
  import type {
14
14
  VirtualRootRoute,
@@ -189,6 +189,7 @@ export async function getRouteNodes(
189
189
  const rootRouteNode = routeNodes.find((d) => d.routePath === `/${rootPathId}`)
190
190
  if (rootRouteNode) {
191
191
  rootRouteNode._fsRouteType = '__root'
192
+ rootRouteNode.variableName = 'root'
192
193
  }
193
194
 
194
195
  return { rootRouteNode, routeNodes }
@@ -72,7 +72,7 @@ export async function getRouteNodes(
72
72
  children,
73
73
  filePath: virtualRouteConfig.file,
74
74
  fullPath: join(fullDir, virtualRouteConfig.file),
75
- variableName: 'rootRoute',
75
+ variableName: 'root',
76
76
  routePath: `/${rootPathId}`,
77
77
  _fsRouteType: '__root',
78
78
  })