@tanstack/start-plugin-core 1.121.0-alpha.8 → 1.121.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 (187) hide show
  1. package/dist/cjs/compilers.cjs +24 -10
  2. package/dist/cjs/compilers.cjs.map +1 -1
  3. package/dist/cjs/constants.cjs +10 -0
  4. package/dist/cjs/constants.cjs.map +1 -1
  5. package/dist/cjs/constants.d.cts +2 -0
  6. package/dist/cjs/debug.cjs +5 -0
  7. package/dist/cjs/debug.cjs.map +1 -0
  8. package/dist/cjs/debug.d.cts +1 -0
  9. package/dist/cjs/{extractHtmlScripts.cjs → dev-server-plugin/extract-html-scripts.cjs} +1 -1
  10. package/dist/cjs/dev-server-plugin/extract-html-scripts.cjs.map +1 -0
  11. package/dist/cjs/{nitro/dev-server-plugin.cjs → dev-server-plugin/plugin.cjs} +2 -2
  12. package/dist/cjs/dev-server-plugin/plugin.cjs.map +1 -0
  13. package/dist/cjs/load-env-plugin/plugin.cjs +34 -0
  14. package/dist/cjs/load-env-plugin/plugin.cjs.map +1 -0
  15. package/dist/cjs/load-env-plugin/plugin.d.cts +3 -0
  16. package/dist/cjs/{build-sitemap.cjs → nitro-plugin/build-sitemap.cjs} +12 -10
  17. package/dist/cjs/nitro-plugin/build-sitemap.cjs.map +1 -0
  18. package/dist/cjs/{build-sitemap.d.cts → nitro-plugin/build-sitemap.d.cts} +2 -2
  19. package/dist/cjs/{nitro/nitro-plugin.cjs → nitro-plugin/plugin.cjs} +79 -65
  20. package/dist/cjs/nitro-plugin/plugin.cjs.map +1 -0
  21. package/dist/cjs/{prerender.cjs → nitro-plugin/prerender.cjs} +18 -14
  22. package/dist/cjs/nitro-plugin/prerender.cjs.map +1 -0
  23. package/dist/cjs/{prerender.d.cts → nitro-plugin/prerender.d.cts} +1 -1
  24. package/dist/cjs/nitro-plugin/queue.cjs.map +1 -0
  25. package/dist/cjs/plugin.cjs +50 -38
  26. package/dist/cjs/plugin.cjs.map +1 -1
  27. package/dist/cjs/plugin.d.cts +14 -2657
  28. package/dist/cjs/resolve-virtual-entries-plugin/plugin.cjs +66 -0
  29. package/dist/cjs/resolve-virtual-entries-plugin/plugin.cjs.map +1 -0
  30. package/dist/cjs/resolve-virtual-entries-plugin/plugin.d.cts +3 -0
  31. package/dist/cjs/schema.cjs +5 -5
  32. package/dist/cjs/schema.cjs.map +1 -1
  33. package/dist/cjs/schema.d.cts +32 -16
  34. package/dist/cjs/start-compiler-plugin.cjs +21 -19
  35. package/dist/cjs/start-compiler-plugin.cjs.map +1 -1
  36. package/dist/cjs/start-compiler-plugin.d.cts +1 -1
  37. package/dist/cjs/start-manifest-plugin/plugin.cjs +182 -0
  38. package/dist/cjs/start-manifest-plugin/plugin.cjs.map +1 -0
  39. package/dist/{esm/routesManifestPlugin.d.ts → cjs/start-manifest-plugin/plugin.d.cts} +1 -1
  40. package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.cjs +39 -0
  41. package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.cjs.map +1 -0
  42. package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.d.cts +6 -0
  43. package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.cjs +121 -0
  44. package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.cjs.map +1 -0
  45. package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.d.cts +2 -0
  46. package/dist/cjs/start-router-plugin/plugin.cjs +21 -0
  47. package/dist/cjs/start-router-plugin/plugin.cjs.map +1 -0
  48. package/dist/cjs/start-router-plugin/plugin.d.cts +3 -0
  49. package/dist/cjs/start-router-plugin/route-tree-client-plugin.cjs +72 -0
  50. package/dist/cjs/start-router-plugin/route-tree-client-plugin.cjs.map +1 -0
  51. package/dist/cjs/start-router-plugin/route-tree-client-plugin.d.cts +6 -0
  52. package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.cjs +30 -0
  53. package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.cjs.map +1 -0
  54. package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.d.cts +4 -0
  55. package/dist/cjs/utils.cjs +11 -0
  56. package/dist/cjs/utils.cjs.map +1 -1
  57. package/dist/cjs/utils.d.cts +7 -0
  58. package/dist/esm/compilers.js +24 -10
  59. package/dist/esm/compilers.js.map +1 -1
  60. package/dist/esm/constants.d.ts +2 -0
  61. package/dist/esm/constants.js +10 -0
  62. package/dist/esm/constants.js.map +1 -1
  63. package/dist/esm/debug.d.ts +1 -0
  64. package/dist/esm/debug.js +5 -0
  65. package/dist/esm/debug.js.map +1 -0
  66. package/dist/esm/{extractHtmlScripts.js → dev-server-plugin/extract-html-scripts.js} +1 -1
  67. package/dist/esm/dev-server-plugin/extract-html-scripts.js.map +1 -0
  68. package/dist/esm/{nitro/dev-server-plugin.js → dev-server-plugin/plugin.js} +2 -2
  69. package/dist/esm/dev-server-plugin/plugin.js.map +1 -0
  70. package/dist/esm/load-env-plugin/plugin.d.ts +3 -0
  71. package/dist/esm/load-env-plugin/plugin.js +17 -0
  72. package/dist/esm/load-env-plugin/plugin.js.map +1 -0
  73. package/dist/esm/{build-sitemap.d.ts → nitro-plugin/build-sitemap.d.ts} +2 -2
  74. package/dist/esm/{build-sitemap.js → nitro-plugin/build-sitemap.js} +9 -7
  75. package/dist/esm/nitro-plugin/build-sitemap.js.map +1 -0
  76. package/dist/esm/nitro-plugin/plugin.js +181 -0
  77. package/dist/esm/nitro-plugin/plugin.js.map +1 -0
  78. package/dist/esm/{prerender.d.ts → nitro-plugin/prerender.d.ts} +1 -1
  79. package/dist/esm/{prerender.js → nitro-plugin/prerender.js} +15 -11
  80. package/dist/esm/nitro-plugin/prerender.js.map +1 -0
  81. package/dist/esm/nitro-plugin/queue.js.map +1 -0
  82. package/dist/esm/plugin.d.ts +14 -2657
  83. package/dist/esm/plugin.js +51 -39
  84. package/dist/esm/plugin.js.map +1 -1
  85. package/dist/esm/resolve-virtual-entries-plugin/plugin.d.ts +3 -0
  86. package/dist/esm/resolve-virtual-entries-plugin/plugin.js +49 -0
  87. package/dist/esm/resolve-virtual-entries-plugin/plugin.js.map +1 -0
  88. package/dist/esm/schema.d.ts +32 -16
  89. package/dist/esm/start-compiler-plugin.d.ts +1 -1
  90. package/dist/esm/start-compiler-plugin.js +21 -19
  91. package/dist/esm/start-compiler-plugin.js.map +1 -1
  92. package/dist/{cjs/routesManifestPlugin.d.cts → esm/start-manifest-plugin/plugin.d.ts} +1 -1
  93. package/dist/esm/start-manifest-plugin/plugin.js +182 -0
  94. package/dist/esm/start-manifest-plugin/plugin.js.map +1 -0
  95. package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.d.ts +6 -0
  96. package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.js +39 -0
  97. package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.js.map +1 -0
  98. package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.d.ts +2 -0
  99. package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.js +121 -0
  100. package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.js.map +1 -0
  101. package/dist/esm/start-router-plugin/plugin.d.ts +3 -0
  102. package/dist/esm/start-router-plugin/plugin.js +21 -0
  103. package/dist/esm/start-router-plugin/plugin.js.map +1 -0
  104. package/dist/esm/start-router-plugin/route-tree-client-plugin.d.ts +6 -0
  105. package/dist/esm/start-router-plugin/route-tree-client-plugin.js +55 -0
  106. package/dist/esm/start-router-plugin/route-tree-client-plugin.js.map +1 -0
  107. package/dist/esm/start-router-plugin/virtual-route-tree-plugin.d.ts +4 -0
  108. package/dist/esm/start-router-plugin/virtual-route-tree-plugin.js +30 -0
  109. package/dist/esm/start-router-plugin/virtual-route-tree-plugin.js.map +1 -0
  110. package/dist/esm/utils.d.ts +7 -0
  111. package/dist/esm/utils.js +11 -0
  112. package/dist/esm/utils.js.map +1 -1
  113. package/package.json +8 -7
  114. package/src/compilers.ts +31 -131
  115. package/src/constants.ts +10 -0
  116. package/src/debug.ts +3 -0
  117. package/src/{nitro/dev-server-plugin.ts → dev-server-plugin/plugin.ts} +11 -1
  118. package/src/global.d.ts +8 -0
  119. package/src/load-env-plugin/plugin.ts +17 -0
  120. package/src/{build-sitemap.ts → nitro-plugin/build-sitemap.ts} +11 -8
  121. package/src/nitro-plugin/plugin.ts +244 -0
  122. package/src/{prerender.ts → nitro-plugin/prerender.ts} +17 -13
  123. package/src/plugin.ts +63 -41
  124. package/src/resolve-virtual-entries-plugin/plugin.ts +63 -0
  125. package/src/start-compiler-plugin.ts +25 -25
  126. package/src/start-manifest-plugin/plugin.ts +249 -0
  127. package/src/start-router-plugin/generator-plugins/routes-manifest-plugin.ts +43 -0
  128. package/src/start-router-plugin/generator-plugins/server-routes-plugin.ts +138 -0
  129. package/src/start-router-plugin/plugin.ts +35 -0
  130. package/src/start-router-plugin/route-tree-client-plugin.ts +76 -0
  131. package/src/start-router-plugin/virtual-route-tree-plugin.ts +30 -0
  132. package/src/utils.ts +11 -0
  133. package/dist/cjs/build-sitemap.cjs.map +0 -1
  134. package/dist/cjs/extractHtmlScripts.cjs.map +0 -1
  135. package/dist/cjs/nitro/build-nitro.cjs +0 -18
  136. package/dist/cjs/nitro/build-nitro.cjs.map +0 -1
  137. package/dist/cjs/nitro/build-nitro.d.cts +0 -2
  138. package/dist/cjs/nitro/dev-server-plugin.cjs.map +0 -1
  139. package/dist/cjs/nitro/nitro-plugin.cjs.map +0 -1
  140. package/dist/cjs/prerender.cjs.map +0 -1
  141. package/dist/cjs/queue.cjs.map +0 -1
  142. package/dist/cjs/routesManifestPlugin.cjs +0 -168
  143. package/dist/cjs/routesManifestPlugin.cjs.map +0 -1
  144. package/dist/cjs/start-server-routes-plugin/config.d.cts +0 -49
  145. package/dist/cjs/start-server-routes-plugin/plugin.cjs +0 -613
  146. package/dist/cjs/start-server-routes-plugin/plugin.cjs.map +0 -1
  147. package/dist/cjs/start-server-routes-plugin/plugin.d.cts +0 -3
  148. package/dist/cjs/start-server-routes-plugin/template.cjs +0 -111
  149. package/dist/cjs/start-server-routes-plugin/template.cjs.map +0 -1
  150. package/dist/cjs/start-server-routes-plugin/template.d.cts +0 -34
  151. package/dist/esm/build-sitemap.js.map +0 -1
  152. package/dist/esm/extractHtmlScripts.js.map +0 -1
  153. package/dist/esm/nitro/build-nitro.d.ts +0 -2
  154. package/dist/esm/nitro/build-nitro.js +0 -18
  155. package/dist/esm/nitro/build-nitro.js.map +0 -1
  156. package/dist/esm/nitro/dev-server-plugin.js.map +0 -1
  157. package/dist/esm/nitro/nitro-plugin.js +0 -167
  158. package/dist/esm/nitro/nitro-plugin.js.map +0 -1
  159. package/dist/esm/prerender.js.map +0 -1
  160. package/dist/esm/queue.js.map +0 -1
  161. package/dist/esm/routesManifestPlugin.js +0 -168
  162. package/dist/esm/routesManifestPlugin.js.map +0 -1
  163. package/dist/esm/start-server-routes-plugin/config.d.ts +0 -49
  164. package/dist/esm/start-server-routes-plugin/plugin.d.ts +0 -3
  165. package/dist/esm/start-server-routes-plugin/plugin.js +0 -613
  166. package/dist/esm/start-server-routes-plugin/plugin.js.map +0 -1
  167. package/dist/esm/start-server-routes-plugin/template.d.ts +0 -34
  168. package/dist/esm/start-server-routes-plugin/template.js +0 -111
  169. package/dist/esm/start-server-routes-plugin/template.js.map +0 -1
  170. package/src/nitro/build-nitro.ts +0 -27
  171. package/src/nitro/nitro-plugin.ts +0 -195
  172. package/src/routesManifestPlugin.ts +0 -220
  173. package/src/start-server-routes-plugin/config.ts +0 -8
  174. package/src/start-server-routes-plugin/plugin.ts +0 -899
  175. package/src/start-server-routes-plugin/template.ts +0 -164
  176. /package/dist/cjs/{extractHtmlScripts.d.cts → dev-server-plugin/extract-html-scripts.d.cts} +0 -0
  177. /package/dist/cjs/{nitro/dev-server-plugin.d.cts → dev-server-plugin/plugin.d.cts} +0 -0
  178. /package/dist/cjs/{nitro/nitro-plugin.d.cts → nitro-plugin/plugin.d.cts} +0 -0
  179. /package/dist/cjs/{queue.cjs → nitro-plugin/queue.cjs} +0 -0
  180. /package/dist/cjs/{queue.d.cts → nitro-plugin/queue.d.cts} +0 -0
  181. /package/dist/esm/{extractHtmlScripts.d.ts → dev-server-plugin/extract-html-scripts.d.ts} +0 -0
  182. /package/dist/esm/{nitro/dev-server-plugin.d.ts → dev-server-plugin/plugin.d.ts} +0 -0
  183. /package/dist/esm/{nitro/nitro-plugin.d.ts → nitro-plugin/plugin.d.ts} +0 -0
  184. /package/dist/esm/{queue.d.ts → nitro-plugin/queue.d.ts} +0 -0
  185. /package/dist/esm/{queue.js → nitro-plugin/queue.js} +0 -0
  186. /package/src/{extractHtmlScripts.ts → dev-server-plugin/extract-html-scripts.ts} +0 -0
  187. /package/src/{queue.ts → nitro-plugin/queue.ts} +0 -0
@@ -1,220 +0,0 @@
1
- import { readFileSync } from 'node:fs'
2
- import path from 'node:path'
3
- import { joinURL } from 'ufo'
4
- import { rootRouteId } from '@tanstack/router-core'
5
- import { resolveViteId } from './utils'
6
- import type {
7
- PluginOption,
8
- ResolvedConfig,
9
- Manifest as ViteManifest,
10
- ManifestChunk as ViteManifestChunk,
11
- } from 'vite'
12
- import type { Manifest, RouterManagedTag } from '@tanstack/router-core'
13
- import type { TanStackStartOutputConfig } from './plugin'
14
-
15
- export function startManifestPlugin(
16
- opts: TanStackStartOutputConfig,
17
- ): PluginOption {
18
- let config: ResolvedConfig
19
-
20
- const moduleId = 'tanstack-start-router-manifest:v'
21
- const resolvedModuleId = resolveViteId(moduleId)
22
-
23
- return {
24
- name: 'tsr-routes-manifest',
25
- enforce: 'pre',
26
-
27
- configResolved(resolvedConfig) {
28
- config = resolvedConfig
29
- },
30
- // configEnvironment(env, envConfig) {
31
- // config = envConfig.
32
- // },
33
- resolveId(id) {
34
- if (id === moduleId) {
35
- return resolvedModuleId
36
- }
37
- return
38
- },
39
- load(id) {
40
- if (id === resolvedModuleId) {
41
- if (this.environment.config.consumer !== 'server') {
42
- // this will ultimately fail the build if the plugin is used outside the server environment
43
- // TODO: do we need special handling for `serve`?
44
- return `export default {}`
45
- }
46
- // If we're in development, return a dummy manifest
47
-
48
- if (config.command === 'serve') {
49
- return `export const tsrStartManifest = () => ({
50
- entry: "$${process.env.TSS_CLIENT_BASE}/",
51
- routes: {}
52
- })`
53
- }
54
-
55
- const clientViteManifestPath = path.resolve(
56
- opts.root,
57
- '.tanstack-start/build/client-dist/.vite/manifest.json',
58
- )
59
-
60
- let viteManifest: ViteManifest
61
- try {
62
- viteManifest = JSON.parse(
63
- readFileSync(clientViteManifestPath, 'utf-8'),
64
- )
65
- } catch (err) {
66
- console.error(err)
67
- throw new Error(
68
- `Could not find the production client vite manifest at '${clientViteManifestPath}'!`,
69
- )
70
- }
71
-
72
- const routeTreePath = path.resolve(opts.tsr.generatedRouteTree)
73
-
74
- let routeTreeContent: string
75
- try {
76
- routeTreeContent = readFileSync(routeTreePath, 'utf-8')
77
- } catch (err) {
78
- console.error(err)
79
- throw new Error(
80
- `Could not find the generated route tree at '${routeTreePath}'!`,
81
- )
82
- }
83
-
84
- // Extract the routesManifest JSON from the route tree file.
85
- // It's located between the /* ROUTE_MANIFEST_START and ROUTE_MANIFEST_END */ comment block.
86
-
87
- const routerManifest = JSON.parse(
88
- routeTreeContent.match(
89
- /\/\* ROUTE_MANIFEST_START([\s\S]*?)ROUTE_MANIFEST_END \*\//,
90
- )?.[1] || '{ routes: {} }',
91
- ) as Manifest
92
-
93
- const routes = routerManifest.routes
94
-
95
- let entryFile: ViteManifestChunk | undefined
96
-
97
- const filesByRouteFilePath: ViteManifest = Object.fromEntries(
98
- Object.entries(viteManifest).map(([k, v]) => {
99
- if (v.isEntry) {
100
- entryFile = v
101
- }
102
-
103
- const rPath = k.split('?')[0]
104
-
105
- return [rPath, v]
106
- }, {}),
107
- )
108
-
109
- const routesDirectoryFromRoot = path.relative(
110
- opts.root,
111
- opts.tsr.routesDirectory,
112
- )
113
-
114
- // Add preloads to the routes from the vite manifest
115
- Object.entries(routes).forEach(([k, v]) => {
116
- const file =
117
- filesByRouteFilePath[
118
- path.join(routesDirectoryFromRoot, v.filePath as string)
119
- ]
120
-
121
- if (file) {
122
- const preloads = (file.imports ?? []).map((d) =>
123
- path.join('/', viteManifest[d]!.file),
124
- )
125
-
126
- if (file.file) {
127
- preloads.unshift(path.join('/', file.file))
128
- }
129
-
130
- const cssFiles = file.css ?? []
131
- const cssAssetsList: Array<RouterManagedTag> = cssFiles.map(
132
- (cssFile) => ({
133
- tag: 'link',
134
- attrs: {
135
- rel: 'stylesheet',
136
- href: joinURL('/', cssFile),
137
- type: 'text/css',
138
- },
139
- }),
140
- )
141
-
142
- routes[k] = {
143
- ...v,
144
- assets: [...(v.assets || []), ...cssAssetsList],
145
- preloads,
146
- }
147
- }
148
- })
149
-
150
- if (entryFile) {
151
- routes[rootRouteId]!.preloads = [
152
- path.join('/', entryFile.file),
153
- ...(entryFile.imports?.map((d) =>
154
- path.join('/', viteManifest[d]!.file),
155
- ) || []),
156
- ]
157
-
158
- // Gather all the CSS files from the entry file in
159
- // the `css` key and add them to the root route
160
- const entryCssFiles = entryFile.css ?? []
161
- const entryCssAssetsList: Array<RouterManagedTag> = entryCssFiles.map(
162
- (cssFile) => ({
163
- tag: 'link',
164
- attrs: {
165
- rel: 'stylesheet',
166
- href: joinURL('/', cssFile),
167
- type: 'text/css',
168
- },
169
- }),
170
- )
171
-
172
- routes[rootRouteId]!.assets = [
173
- ...(routes[rootRouteId]!.assets || []),
174
- ...entryCssAssetsList,
175
- {
176
- tag: 'script',
177
- attrs: {
178
- src: joinURL('/', entryFile.file),
179
- type: 'module',
180
- },
181
- },
182
- ]
183
- }
184
-
185
- const recurseRoute = (
186
- route: {
187
- preloads?: Array<string>
188
- children?: Array<any>
189
- },
190
- seenPreloads = {} as Record<string, true>,
191
- ) => {
192
- route.preloads = route.preloads?.filter((preload) => {
193
- if (seenPreloads[preload]) {
194
- return false
195
- }
196
- seenPreloads[preload] = true
197
- return true
198
- })
199
-
200
- if (route.children) {
201
- route.children.forEach((child) => {
202
- const childRoute = routes[child]!
203
- recurseRoute(childRoute, { ...seenPreloads })
204
- })
205
- }
206
- }
207
-
208
- // @ts-expect-error
209
- recurseRoute(routes[rootRouteId])
210
-
211
- const routesManifest = {
212
- routes,
213
- }
214
-
215
- return `export const tsrStartManifest = () => (${JSON.stringify(routesManifest)})`
216
- }
217
- return
218
- },
219
- }
220
- }
@@ -1,8 +0,0 @@
1
- import { baseConfigSchema } from '@tanstack/router-generator'
2
- import { z } from 'zod'
3
-
4
- export const configSchema = baseConfigSchema.extend({
5
- srcDirectory: z.string().optional().default('src'),
6
- })
7
-
8
- export type Config = z.infer<typeof configSchema>