@tanstack/start-plugin-core 1.131.7 → 1.132.0-alpha.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 (146) hide show
  1. package/dist/esm/{nitro-plugin/build-sitemap.d.ts → build-sitemap.d.ts} +3 -3
  2. package/dist/esm/{nitro-plugin/build-sitemap.js → build-sitemap.js} +19 -24
  3. package/dist/esm/build-sitemap.js.map +1 -0
  4. package/dist/esm/compilers.js +7 -10
  5. package/dist/esm/compilers.js.map +1 -1
  6. package/dist/esm/constants.d.ts +6 -2
  7. package/dist/esm/constants.js +7 -10
  8. package/dist/esm/constants.js.map +1 -1
  9. package/dist/esm/debug.js.map +1 -1
  10. package/dist/esm/dev-server-plugin/extract-html-scripts.js.map +1 -1
  11. package/dist/esm/dev-server-plugin/plugin.d.ts +5 -5
  12. package/dist/esm/dev-server-plugin/plugin.js +117 -79
  13. package/dist/esm/dev-server-plugin/plugin.js.map +1 -1
  14. package/dist/esm/index.d.ts +1 -1
  15. package/dist/esm/index.js +0 -4
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/load-env-plugin/plugin.d.ts +2 -3
  18. package/dist/esm/load-env-plugin/plugin.js +5 -8
  19. package/dist/esm/load-env-plugin/plugin.js.map +1 -1
  20. package/dist/esm/output-directory.d.ts +3 -0
  21. package/dist/esm/output-directory.js +14 -0
  22. package/dist/esm/output-directory.js.map +1 -0
  23. package/dist/esm/plugin.d.ts +6 -290
  24. package/dist/esm/plugin.js +123 -76
  25. package/dist/esm/plugin.js.map +1 -1
  26. package/dist/esm/post-server-build.d.ts +7 -0
  27. package/dist/esm/post-server-build.js +55 -0
  28. package/dist/esm/post-server-build.js.map +1 -0
  29. package/dist/esm/prerender.d.ts +11 -0
  30. package/dist/esm/{nitro-plugin/prerender.js → prerender.js} +85 -73
  31. package/dist/esm/prerender.js.map +1 -0
  32. package/dist/esm/{nitro-plugin/queue.js → queue.js} +7 -10
  33. package/dist/esm/queue.js.map +1 -0
  34. package/dist/esm/resolve-entries.d.ts +8 -0
  35. package/dist/esm/resolve-entries.js +37 -0
  36. package/dist/esm/resolve-entries.js.map +1 -0
  37. package/dist/esm/schema.d.ts +1369 -6719
  38. package/dist/esm/schema.js +52 -85
  39. package/dist/esm/schema.js.map +1 -1
  40. package/dist/esm/start-compiler-plugin.js +2 -2
  41. package/dist/esm/start-compiler-plugin.js.map +1 -1
  42. package/dist/esm/start-manifest-plugin/plugin.d.ts +1 -1
  43. package/dist/esm/start-manifest-plugin/plugin.js +8 -13
  44. package/dist/esm/start-manifest-plugin/plugin.js.map +1 -1
  45. package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.js +2 -3
  46. package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.js.map +1 -1
  47. package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.js +2 -4
  48. package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.js.map +1 -1
  49. package/dist/esm/start-router-plugin/plugin.js.map +1 -1
  50. package/dist/esm/start-router-plugin/route-tree-client-plugin.js.map +1 -1
  51. package/dist/esm/start-router-plugin/virtual-route-tree-plugin.js.map +1 -1
  52. package/dist/esm/utils.js.map +1 -1
  53. package/package.json +13 -18
  54. package/src/{nitro-plugin/build-sitemap.ts → build-sitemap.ts} +8 -8
  55. package/src/constants.ts +12 -9
  56. package/src/dev-server-plugin/plugin.ts +140 -99
  57. package/src/global.d.ts +0 -2
  58. package/src/index.ts +1 -5
  59. package/src/load-env-plugin/plugin.ts +6 -11
  60. package/src/output-directory.ts +18 -0
  61. package/src/plugin.ts +160 -98
  62. package/src/post-server-build.ts +73 -0
  63. package/src/{nitro-plugin/prerender.ts → prerender.ts} +93 -86
  64. package/src/resolve-entries.ts +52 -0
  65. package/src/schema.ts +88 -121
  66. package/src/start-manifest-plugin/plugin.ts +8 -14
  67. package/dist/cjs/compilers.cjs +0 -416
  68. package/dist/cjs/compilers.cjs.map +0 -1
  69. package/dist/cjs/compilers.d.cts +0 -21
  70. package/dist/cjs/constants.cjs +0 -20
  71. package/dist/cjs/constants.cjs.map +0 -1
  72. package/dist/cjs/constants.d.cts +0 -6
  73. package/dist/cjs/debug.cjs +0 -5
  74. package/dist/cjs/debug.cjs.map +0 -1
  75. package/dist/cjs/debug.d.cts +0 -1
  76. package/dist/cjs/dev-server-plugin/extract-html-scripts.cjs +0 -35
  77. package/dist/cjs/dev-server-plugin/extract-html-scripts.cjs.map +0 -1
  78. package/dist/cjs/dev-server-plugin/extract-html-scripts.d.cts +0 -4
  79. package/dist/cjs/dev-server-plugin/plugin.cjs +0 -121
  80. package/dist/cjs/dev-server-plugin/plugin.cjs.map +0 -1
  81. package/dist/cjs/dev-server-plugin/plugin.d.cts +0 -5
  82. package/dist/cjs/index.cjs +0 -11
  83. package/dist/cjs/index.cjs.map +0 -1
  84. package/dist/cjs/index.d.cts +0 -3
  85. package/dist/cjs/load-env-plugin/plugin.cjs +0 -34
  86. package/dist/cjs/load-env-plugin/plugin.cjs.map +0 -1
  87. package/dist/cjs/load-env-plugin/plugin.d.cts +0 -3
  88. package/dist/cjs/nitro-plugin/build-sitemap.cjs +0 -138
  89. package/dist/cjs/nitro-plugin/build-sitemap.cjs.map +0 -1
  90. package/dist/cjs/nitro-plugin/build-sitemap.d.cts +0 -31
  91. package/dist/cjs/nitro-plugin/plugin.cjs +0 -187
  92. package/dist/cjs/nitro-plugin/plugin.cjs.map +0 -1
  93. package/dist/cjs/nitro-plugin/plugin.d.cts +0 -3
  94. package/dist/cjs/nitro-plugin/prerender.cjs +0 -178
  95. package/dist/cjs/nitro-plugin/prerender.cjs.map +0 -1
  96. package/dist/cjs/nitro-plugin/prerender.d.cts +0 -8
  97. package/dist/cjs/nitro-plugin/queue.cjs +0 -131
  98. package/dist/cjs/nitro-plugin/queue.cjs.map +0 -1
  99. package/dist/cjs/nitro-plugin/queue.d.cts +0 -32
  100. package/dist/cjs/plugin.cjs +0 -227
  101. package/dist/cjs/plugin.cjs.map +0 -1
  102. package/dist/cjs/plugin.d.cts +0 -300
  103. package/dist/cjs/resolve-virtual-entries-plugin/plugin.cjs +0 -80
  104. package/dist/cjs/resolve-virtual-entries-plugin/plugin.cjs.map +0 -1
  105. package/dist/cjs/resolve-virtual-entries-plugin/plugin.d.cts +0 -3
  106. package/dist/cjs/schema.cjs +0 -158
  107. package/dist/cjs/schema.cjs.map +0 -1
  108. package/dist/cjs/schema.d.cts +0 -8878
  109. package/dist/cjs/start-compiler-plugin.cjs +0 -78
  110. package/dist/cjs/start-compiler-plugin.cjs.map +0 -1
  111. package/dist/cjs/start-compiler-plugin.d.cts +0 -13
  112. package/dist/cjs/start-manifest-plugin/plugin.cjs +0 -182
  113. package/dist/cjs/start-manifest-plugin/plugin.cjs.map +0 -1
  114. package/dist/cjs/start-manifest-plugin/plugin.d.cts +0 -6
  115. package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.cjs +0 -39
  116. package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.cjs.map +0 -1
  117. package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.d.cts +0 -6
  118. package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.cjs +0 -121
  119. package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.cjs.map +0 -1
  120. package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.d.cts +0 -2
  121. package/dist/cjs/start-router-plugin/plugin.cjs +0 -45
  122. package/dist/cjs/start-router-plugin/plugin.cjs.map +0 -1
  123. package/dist/cjs/start-router-plugin/plugin.d.cts +0 -3
  124. package/dist/cjs/start-router-plugin/route-tree-client-plugin.cjs +0 -73
  125. package/dist/cjs/start-router-plugin/route-tree-client-plugin.cjs.map +0 -1
  126. package/dist/cjs/start-router-plugin/route-tree-client-plugin.d.cts +0 -6
  127. package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.cjs +0 -29
  128. package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.cjs.map +0 -1
  129. package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.d.cts +0 -3
  130. package/dist/cjs/utils.cjs +0 -18
  131. package/dist/cjs/utils.cjs.map +0 -1
  132. package/dist/cjs/utils.d.cts +0 -8
  133. package/dist/esm/nitro-plugin/build-sitemap.js.map +0 -1
  134. package/dist/esm/nitro-plugin/plugin.d.ts +0 -3
  135. package/dist/esm/nitro-plugin/plugin.js +0 -187
  136. package/dist/esm/nitro-plugin/plugin.js.map +0 -1
  137. package/dist/esm/nitro-plugin/prerender.d.ts +0 -8
  138. package/dist/esm/nitro-plugin/prerender.js.map +0 -1
  139. package/dist/esm/nitro-plugin/queue.js.map +0 -1
  140. package/dist/esm/resolve-virtual-entries-plugin/plugin.d.ts +0 -3
  141. package/dist/esm/resolve-virtual-entries-plugin/plugin.js +0 -63
  142. package/dist/esm/resolve-virtual-entries-plugin/plugin.js.map +0 -1
  143. package/src/nitro-plugin/plugin.ts +0 -252
  144. package/src/resolve-virtual-entries-plugin/plugin.ts +0 -77
  145. /package/dist/esm/{nitro-plugin/queue.d.ts → queue.d.ts} +0 -0
  146. /package/src/{nitro-plugin/queue.ts → queue.ts} +0 -0
@@ -1,300 +0,0 @@
1
- import { createTanStackStartOptionsSchema } from './schema.cjs';
2
- import { PluginOption } from 'vite';
3
- import { z } from 'zod';
4
- import { CompileStartFrameworkOptions } from './compilers.cjs';
5
- export type TanStackStartInputConfig = z.input<ReturnType<typeof createTanStackStartOptionsSchema>>;
6
- export declare function getTanStackStartOptions(opts?: TanStackStartInputConfig): {
7
- tsr: {
8
- target: "react" | "solid";
9
- routeFileIgnorePrefix: string;
10
- routesDirectory: string;
11
- quoteStyle: "single" | "double";
12
- semicolons: boolean;
13
- disableLogging: boolean;
14
- routeTreeFileHeader: string[];
15
- indexToken: string;
16
- routeToken: string;
17
- generatedRouteTree: string;
18
- disableTypes: boolean;
19
- addExtensions: boolean;
20
- enableRouteTreeFormatting: boolean;
21
- routeTreeFileFooter: string[];
22
- tmpDir: string;
23
- virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
24
- routeFilePrefix?: string | undefined;
25
- routeFileIgnorePattern?: string | undefined;
26
- pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
27
- verboseFileRoutes?: boolean | undefined;
28
- autoCodeSplitting?: boolean | undefined;
29
- customScaffolding?: {
30
- routeTemplate?: string | undefined;
31
- lazyRouteTemplate?: string | undefined;
32
- } | undefined;
33
- experimental?: {
34
- enableCodeSplitting?: boolean | undefined;
35
- } | undefined;
36
- plugins?: import('@tanstack/router-generator').GeneratorPlugin[] | undefined;
37
- srcDirectory: string;
38
- };
39
- clientEntryPath: string;
40
- serverEntryPath: string;
41
- root: string;
42
- client: {
43
- base: string;
44
- entry?: string | undefined;
45
- };
46
- server: {
47
- entry?: string | undefined;
48
- };
49
- serverFns: {
50
- base: string;
51
- };
52
- public: {
53
- base: string;
54
- dir: string;
55
- };
56
- pages: {
57
- path: string;
58
- prerender?: {
59
- enabled?: boolean | undefined;
60
- outputPath?: string | undefined;
61
- autoSubfolderIndex?: boolean | undefined;
62
- crawlLinks?: boolean | undefined;
63
- retryCount?: number | undefined;
64
- retryDelay?: number | undefined;
65
- onSuccess?: ((args_0: {
66
- page: {
67
- path: string;
68
- sitemap?: {
69
- exclude?: boolean | undefined;
70
- priority?: number | undefined;
71
- changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
72
- lastmod?: string | Date | undefined;
73
- alternateRefs?: {
74
- href: string;
75
- hreflang: string;
76
- }[] | undefined;
77
- images?: {
78
- loc: string;
79
- caption?: string | undefined;
80
- title?: string | undefined;
81
- }[] | undefined;
82
- news?: {
83
- title: string;
84
- publication: {
85
- name: string;
86
- language: string;
87
- };
88
- publicationDate: string | Date;
89
- } | undefined;
90
- } | undefined;
91
- fromCrawl?: boolean | undefined;
92
- };
93
- html: string;
94
- }, ...args: unknown[]) => any) | undefined;
95
- headers?: Record<string, string> | undefined;
96
- } | undefined;
97
- sitemap?: {
98
- exclude?: boolean | undefined;
99
- priority?: number | undefined;
100
- changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
101
- lastmod?: string | Date | undefined;
102
- alternateRefs?: {
103
- href: string;
104
- hreflang: string;
105
- }[] | undefined;
106
- images?: {
107
- loc: string;
108
- caption?: string | undefined;
109
- title?: string | undefined;
110
- }[] | undefined;
111
- news?: {
112
- title: string;
113
- publication: {
114
- name: string;
115
- language: string;
116
- };
117
- publicationDate: string | Date;
118
- } | undefined;
119
- } | undefined;
120
- fromCrawl?: boolean | undefined;
121
- }[];
122
- target?: import('nitropack/presets').PresetNameInput | undefined;
123
- prerender?: ({
124
- filter?: ((args_0: {
125
- path: string;
126
- prerender?: {
127
- enabled?: boolean | undefined;
128
- outputPath?: string | undefined;
129
- autoSubfolderIndex?: boolean | undefined;
130
- crawlLinks?: boolean | undefined;
131
- retryCount?: number | undefined;
132
- retryDelay?: number | undefined;
133
- onSuccess?: ((args_0: {
134
- page: {
135
- path: string;
136
- sitemap?: {
137
- exclude?: boolean | undefined;
138
- priority?: number | undefined;
139
- changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
140
- lastmod?: string | Date | undefined;
141
- alternateRefs?: {
142
- href: string;
143
- hreflang: string;
144
- }[] | undefined;
145
- images?: {
146
- loc: string;
147
- caption?: string | undefined;
148
- title?: string | undefined;
149
- }[] | undefined;
150
- news?: {
151
- title: string;
152
- publication: {
153
- name: string;
154
- language: string;
155
- };
156
- publicationDate: string | Date;
157
- } | undefined;
158
- } | undefined;
159
- fromCrawl?: boolean | undefined;
160
- };
161
- html: string;
162
- }, ...args: unknown[]) => any) | undefined;
163
- headers?: Record<string, string> | undefined;
164
- } | undefined;
165
- sitemap?: {
166
- exclude?: boolean | undefined;
167
- priority?: number | undefined;
168
- changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
169
- lastmod?: string | Date | undefined;
170
- alternateRefs?: {
171
- href: string;
172
- hreflang: string;
173
- }[] | undefined;
174
- images?: {
175
- loc: string;
176
- caption?: string | undefined;
177
- title?: string | undefined;
178
- }[] | undefined;
179
- news?: {
180
- title: string;
181
- publication: {
182
- name: string;
183
- language: string;
184
- };
185
- publicationDate: string | Date;
186
- } | undefined;
187
- } | undefined;
188
- fromCrawl?: boolean | undefined;
189
- }, ...args: unknown[]) => any) | undefined;
190
- enabled?: boolean | undefined;
191
- concurrency?: number | undefined;
192
- failOnError?: boolean | undefined;
193
- } & {
194
- enabled?: boolean | undefined;
195
- outputPath?: string | undefined;
196
- autoSubfolderIndex?: boolean | undefined;
197
- crawlLinks?: boolean | undefined;
198
- retryCount?: number | undefined;
199
- retryDelay?: number | undefined;
200
- onSuccess?: ((args_0: {
201
- page: {
202
- path: string;
203
- sitemap?: {
204
- exclude?: boolean | undefined;
205
- priority?: number | undefined;
206
- changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
207
- lastmod?: string | Date | undefined;
208
- alternateRefs?: {
209
- href: string;
210
- hreflang: string;
211
- }[] | undefined;
212
- images?: {
213
- loc: string;
214
- caption?: string | undefined;
215
- title?: string | undefined;
216
- }[] | undefined;
217
- news?: {
218
- title: string;
219
- publication: {
220
- name: string;
221
- language: string;
222
- };
223
- publicationDate: string | Date;
224
- } | undefined;
225
- } | undefined;
226
- fromCrawl?: boolean | undefined;
227
- };
228
- html: string;
229
- }, ...args: unknown[]) => any) | undefined;
230
- headers?: Record<string, string> | undefined;
231
- }) | undefined;
232
- sitemap?: {
233
- enabled: boolean;
234
- outputPath: string;
235
- host?: string | undefined;
236
- } | undefined;
237
- spa?: {
238
- prerender: {
239
- enabled: boolean;
240
- outputPath: string;
241
- autoSubfolderIndex?: boolean | undefined;
242
- crawlLinks: boolean;
243
- retryCount: number;
244
- retryDelay?: number | undefined;
245
- onSuccess?: ((args_0: {
246
- page: {
247
- path: string;
248
- sitemap?: {
249
- exclude?: boolean | undefined;
250
- priority?: number | undefined;
251
- changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
252
- lastmod?: string | Date | undefined;
253
- alternateRefs?: {
254
- href: string;
255
- hreflang: string;
256
- }[] | undefined;
257
- images?: {
258
- loc: string;
259
- caption?: string | undefined;
260
- title?: string | undefined;
261
- }[] | undefined;
262
- news?: {
263
- title: string;
264
- publication: {
265
- name: string;
266
- language: string;
267
- };
268
- publicationDate: string | Date;
269
- } | undefined;
270
- } | undefined;
271
- fromCrawl?: boolean | undefined;
272
- };
273
- html: string;
274
- }, ...args: unknown[]) => any) | undefined;
275
- headers?: Record<string, string> | undefined;
276
- };
277
- enabled: boolean;
278
- maskPath: string;
279
- } | undefined;
280
- };
281
- export type TanStackStartOutputConfig = ReturnType<typeof getTanStackStartOptions>;
282
- export interface TanStackStartVitePluginCoreOptions {
283
- framework: CompileStartFrameworkOptions;
284
- getVirtualServerRootHandler: (ctx: {
285
- routerFilepath: string;
286
- serverEntryFilepath: string;
287
- }) => string;
288
- getVirtualServerEntry: (ctx: {
289
- routerFilepath: string;
290
- }) => string;
291
- getVirtualClientEntry: (ctx: {
292
- routerFilepath: string;
293
- }) => string;
294
- crawlPackages?: (opts: {
295
- name: string;
296
- peerDependencies: Record<string, any>;
297
- exports?: Record<string, any> | string;
298
- }) => 'include' | 'exclude' | undefined;
299
- }
300
- export declare function TanStackStartVitePluginCore(opts: TanStackStartVitePluginCoreOptions, startConfig: TanStackStartOutputConfig): Array<PluginOption>;
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const path = require("node:path");
4
- const vite = require("vite");
5
- function _interopNamespaceDefault(e) {
6
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
- if (e) {
8
- for (const k in e) {
9
- if (k !== "default") {
10
- const d = Object.getOwnPropertyDescriptor(e, k);
11
- Object.defineProperty(n, k, d.get ? d : {
12
- enumerable: true,
13
- get: () => e[k]
14
- });
15
- }
16
- }
17
- }
18
- n.default = e;
19
- return Object.freeze(n);
20
- }
21
- const vite__namespace = /* @__PURE__ */ _interopNamespaceDefault(vite);
22
- function resolveVirtualEntriesPlugin(opts, startConfig) {
23
- let resolvedConfig;
24
- const modules = /* @__PURE__ */ new Set([
25
- "/~start/server-entry",
26
- "/~start/default-server-entry",
27
- "/~start/default-client-entry"
28
- ]);
29
- return {
30
- name: "tanstack-start-core:resolve-virtual-entries",
31
- configResolved(config) {
32
- resolvedConfig = config;
33
- },
34
- resolveId: {
35
- filter: {
36
- id: new RegExp([...modules].join("|"))
37
- },
38
- handler(id) {
39
- if (modules.has(id)) {
40
- return `${id}.tsx`;
41
- }
42
- return void 0;
43
- }
44
- },
45
- load: {
46
- filter: {
47
- id: new RegExp([...modules].map((m) => `${m}.tsx`).join("|"))
48
- },
49
- handler(id) {
50
- const routerFilepath = vite__namespace.normalizePath(
51
- path.resolve(
52
- startConfig.root,
53
- startConfig.tsr.srcDirectory,
54
- "router"
55
- )
56
- );
57
- if (id === "/~start/server-entry.tsx") {
58
- const ssrEntryFilepath = startConfig.serverEntryPath.startsWith(
59
- "/~start/default-server-entry"
60
- ) ? startConfig.serverEntryPath : vite__namespace.normalizePath(
61
- path.resolve(resolvedConfig.root, startConfig.serverEntryPath)
62
- );
63
- return opts.getVirtualServerRootHandler({
64
- routerFilepath,
65
- serverEntryFilepath: ssrEntryFilepath
66
- });
67
- }
68
- if (id === "/~start/default-client-entry.tsx") {
69
- return opts.getVirtualClientEntry({ routerFilepath });
70
- }
71
- if (id === "/~start/default-server-entry.tsx") {
72
- return opts.getVirtualServerEntry({ routerFilepath });
73
- }
74
- return void 0;
75
- }
76
- }
77
- };
78
- }
79
- exports.resolveVirtualEntriesPlugin = resolveVirtualEntriesPlugin;
80
- //# sourceMappingURL=plugin.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.cjs","sources":["../../../src/resolve-virtual-entries-plugin/plugin.ts"],"sourcesContent":["import path from 'node:path'\nimport * as vite from 'vite'\nimport type {\n TanStackStartOutputConfig,\n TanStackStartVitePluginCoreOptions,\n} from '../plugin'\n\nexport function resolveVirtualEntriesPlugin(\n opts: TanStackStartVitePluginCoreOptions,\n startConfig: TanStackStartOutputConfig,\n): vite.Plugin {\n let resolvedConfig: vite.ResolvedConfig\n\n const modules = new Set<string>([\n '/~start/server-entry',\n '/~start/default-server-entry',\n '/~start/default-client-entry',\n ])\n\n return {\n name: 'tanstack-start-core:resolve-virtual-entries',\n configResolved(config) {\n resolvedConfig = config\n },\n resolveId: {\n filter: {\n id: new RegExp([...modules].join('|')),\n },\n handler(id) {\n if (modules.has(id)) {\n return `${id}.tsx`\n }\n\n return undefined\n },\n },\n load: {\n filter: {\n id: new RegExp([...modules].map((m) => `${m}.tsx`).join('|')),\n },\n handler(id) {\n const routerFilepath = vite.normalizePath(\n path.resolve(\n startConfig.root,\n startConfig.tsr.srcDirectory,\n 'router',\n ),\n )\n\n if (id === '/~start/server-entry.tsx') {\n const ssrEntryFilepath = startConfig.serverEntryPath.startsWith(\n '/~start/default-server-entry',\n )\n ? startConfig.serverEntryPath\n : vite.normalizePath(\n path.resolve(resolvedConfig.root, startConfig.serverEntryPath),\n )\n\n return opts.getVirtualServerRootHandler({\n routerFilepath,\n serverEntryFilepath: ssrEntryFilepath,\n })\n }\n\n if (id === '/~start/default-client-entry.tsx') {\n return opts.getVirtualClientEntry({ routerFilepath })\n }\n\n if (id === '/~start/default-server-entry.tsx') {\n return opts.getVirtualServerEntry({ routerFilepath })\n }\n\n return undefined\n },\n },\n }\n}\n"],"names":["vite"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAOgB,SAAA,4BACd,MACA,aACa;AACT,MAAA;AAEE,QAAA,8BAAc,IAAY;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAEM,SAAA;AAAA,IACL,MAAM;AAAA,IACN,eAAe,QAAQ;AACJ,uBAAA;AAAA,IACnB;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,QACN,IAAI,IAAI,OAAO,CAAC,GAAG,OAAO,EAAE,KAAK,GAAG,CAAC;AAAA,MACvC;AAAA,MACA,QAAQ,IAAI;AACN,YAAA,QAAQ,IAAI,EAAE,GAAG;AACnB,iBAAO,GAAG,EAAE;AAAA,QAAA;AAGP,eAAA;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,MAAM;AAAA,MACJ,QAAQ;AAAA,QACN,IAAI,IAAI,OAAO,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;AAAA,MAC9D;AAAA,MACA,QAAQ,IAAI;AACV,cAAM,iBAAiBA,gBAAK;AAAA,UAC1B,KAAK;AAAA,YACH,YAAY;AAAA,YACZ,YAAY,IAAI;AAAA,YAChB;AAAA,UAAA;AAAA,QAEJ;AAEA,YAAI,OAAO,4BAA4B;AAC/B,gBAAA,mBAAmB,YAAY,gBAAgB;AAAA,YACnD;AAAA,UAAA,IAEE,YAAY,kBACZA,gBAAK;AAAA,YACH,KAAK,QAAQ,eAAe,MAAM,YAAY,eAAe;AAAA,UAC/D;AAEJ,iBAAO,KAAK,4BAA4B;AAAA,YACtC;AAAA,YACA,qBAAqB;AAAA,UAAA,CACtB;AAAA,QAAA;AAGH,YAAI,OAAO,oCAAoC;AAC7C,iBAAO,KAAK,sBAAsB,EAAE,gBAAgB;AAAA,QAAA;AAGtD,YAAI,OAAO,oCAAoC;AAC7C,iBAAO,KAAK,sBAAsB,EAAE,gBAAgB;AAAA,QAAA;AAG/C,eAAA;AAAA,MAAA;AAAA,IACT;AAAA,EAEJ;AACF;;"}
@@ -1,3 +0,0 @@
1
- import { TanStackStartOutputConfig, TanStackStartVitePluginCoreOptions } from '../plugin.cjs';
2
- import * as vite from 'vite';
3
- export declare function resolveVirtualEntriesPlugin(opts: TanStackStartVitePluginCoreOptions, startConfig: TanStackStartOutputConfig): vite.Plugin;
@@ -1,158 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const path = require("node:path");
4
- const node_fs = require("node:fs");
5
- const zod = require("zod");
6
- const routerGenerator = require("@tanstack/router-generator");
7
- const tsrConfig = routerGenerator.configSchema.omit({ autoCodeSplitting: true }).partial().extend({
8
- srcDirectory: zod.z.string().optional().default("src")
9
- });
10
- function createTanStackConfig(frameworkPlugin) {
11
- const schema = createTanStackStartOptionsSchema(frameworkPlugin);
12
- return {
13
- schema,
14
- parse: (opts) => {
15
- const options = schema.parse(opts);
16
- const srcDirectory = options.tsr.srcDirectory;
17
- const routesDirectory = options.tsr.routesDirectory ?? path.join(srcDirectory, "routes");
18
- const generatedRouteTree = options.tsr.generatedRouteTree ?? path.join(srcDirectory, "routeTree.gen.ts");
19
- const clientEntryPath = (() => {
20
- if (options.client.entry) {
21
- return path.join(srcDirectory, options.client.entry);
22
- }
23
- if (node_fs.existsSync(path.join(srcDirectory, "client.tsx"))) {
24
- return path.join(srcDirectory, "client.tsx");
25
- }
26
- return "/~start/default-client-entry";
27
- })();
28
- const serverEntryPath = (() => {
29
- if (options.server.entry) {
30
- return path.join(srcDirectory, options.server.entry);
31
- }
32
- if (node_fs.existsSync(path.join(srcDirectory, "server.tsx"))) {
33
- return path.join(srcDirectory, "server.tsx");
34
- }
35
- if (node_fs.existsSync(path.join(srcDirectory, "server.ts"))) {
36
- return path.join(srcDirectory, "server.ts");
37
- }
38
- if (node_fs.existsSync(path.join(srcDirectory, "server.js"))) {
39
- return path.join(srcDirectory, "server.js");
40
- }
41
- return "/~start/default-server-entry";
42
- })();
43
- return {
44
- ...options,
45
- tsr: {
46
- ...options.tsr,
47
- ...routerGenerator.getConfig({
48
- ...options.tsr,
49
- routesDirectory,
50
- generatedRouteTree
51
- })
52
- },
53
- clientEntryPath,
54
- serverEntryPath
55
- };
56
- }
57
- };
58
- }
59
- function createTanStackStartOptionsSchema(frameworkPlugin = {}) {
60
- return zod.z.object({
61
- root: zod.z.string().optional().default(process.cwd()),
62
- target: zod.z.custom().optional(),
63
- ...frameworkPlugin,
64
- tsr: tsrConfig.optional().default({}),
65
- client: zod.z.object({
66
- entry: zod.z.string().optional(),
67
- base: zod.z.string().optional().default("/_build")
68
- }).optional().default({}),
69
- server: zod.z.object({
70
- entry: zod.z.string().optional()
71
- }).optional().default({}),
72
- serverFns: zod.z.object({
73
- base: zod.z.string().optional().default("/_serverFn")
74
- }).optional().default({}),
75
- public: zod.z.object({
76
- dir: zod.z.string().optional().default("public"),
77
- base: zod.z.string().optional().default("/")
78
- }).optional().default({}),
79
- pages: zod.z.array(pageSchema).optional().default([]),
80
- sitemap: zod.z.object({
81
- enabled: zod.z.boolean().optional().default(true),
82
- host: zod.z.string().optional(),
83
- outputPath: zod.z.string().optional().default("sitemap.xml")
84
- }).optional(),
85
- prerender: zod.z.object({
86
- enabled: zod.z.boolean().optional(),
87
- concurrency: zod.z.number().optional(),
88
- filter: zod.z.function().args(pageSchema).returns(zod.z.any()).optional(),
89
- failOnError: zod.z.boolean().optional()
90
- }).and(pagePrerenderOptionsSchema.optional()).optional(),
91
- spa: spaSchema.optional()
92
- }).optional().default({});
93
- }
94
- const pageSitemapOptionsSchema = zod.z.object({
95
- exclude: zod.z.boolean().optional(),
96
- priority: zod.z.number().min(0).max(1).optional(),
97
- changefreq: zod.z.enum(["always", "hourly", "daily", "weekly", "monthly", "yearly", "never"]).optional(),
98
- lastmod: zod.z.union([zod.z.string(), zod.z.date()]).optional(),
99
- alternateRefs: zod.z.array(
100
- zod.z.object({
101
- href: zod.z.string(),
102
- hreflang: zod.z.string()
103
- })
104
- ).optional(),
105
- images: zod.z.array(
106
- zod.z.object({
107
- loc: zod.z.string(),
108
- caption: zod.z.string().optional(),
109
- title: zod.z.string().optional()
110
- })
111
- ).optional(),
112
- news: zod.z.object({
113
- publication: zod.z.object({
114
- name: zod.z.string(),
115
- language: zod.z.string()
116
- }),
117
- publicationDate: zod.z.union([zod.z.string(), zod.z.date()]),
118
- title: zod.z.string()
119
- }).optional()
120
- });
121
- const pageBaseSchema = zod.z.object({
122
- path: zod.z.string(),
123
- sitemap: pageSitemapOptionsSchema.optional(),
124
- fromCrawl: zod.z.boolean().optional()
125
- });
126
- const pagePrerenderOptionsSchema = zod.z.object({
127
- enabled: zod.z.boolean().optional(),
128
- outputPath: zod.z.string().optional(),
129
- autoSubfolderIndex: zod.z.boolean().optional(),
130
- crawlLinks: zod.z.boolean().optional(),
131
- retryCount: zod.z.number().optional(),
132
- retryDelay: zod.z.number().optional(),
133
- onSuccess: zod.z.function().args(
134
- zod.z.object({
135
- page: pageBaseSchema,
136
- html: zod.z.string()
137
- })
138
- ).returns(zod.z.any()).optional(),
139
- headers: zod.z.record(zod.z.string(), zod.z.string()).optional()
140
- });
141
- const spaSchema = zod.z.object({
142
- enabled: zod.z.boolean().optional().default(true),
143
- maskPath: zod.z.string().optional().default("/"),
144
- prerender: pagePrerenderOptionsSchema.optional().default({}).transform((opts) => ({
145
- outputPath: opts.outputPath ?? "/_shell",
146
- crawlLinks: false,
147
- retryCount: 0,
148
- ...opts,
149
- enabled: true
150
- }))
151
- });
152
- const pageSchema = pageBaseSchema.extend({
153
- prerender: pagePrerenderOptionsSchema.optional()
154
- });
155
- exports.createTanStackConfig = createTanStackConfig;
156
- exports.createTanStackStartOptionsSchema = createTanStackStartOptionsSchema;
157
- exports.pageSchema = pageSchema;
158
- //# sourceMappingURL=schema.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.cjs","sources":["../../src/schema.ts"],"sourcesContent":["import path from 'node:path'\nimport { existsSync } from 'node:fs'\nimport { z } from 'zod'\nimport { configSchema, getConfig } from '@tanstack/router-generator'\nimport type { NitroConfig } from 'nitropack'\n\nconst tsrConfig = configSchema\n .omit({ autoCodeSplitting: true })\n .partial()\n .extend({\n srcDirectory: z.string().optional().default('src'),\n })\n\nexport function createTanStackConfig<\n TFrameworkPlugin extends Record<string, unknown>,\n>(frameworkPlugin?: TFrameworkPlugin) {\n const schema = createTanStackStartOptionsSchema(frameworkPlugin)\n\n return {\n schema,\n parse: (opts?: z.input<typeof schema>) => {\n const options = schema.parse(opts)\n\n const srcDirectory = options.tsr.srcDirectory\n\n const routesDirectory =\n options.tsr.routesDirectory ?? path.join(srcDirectory, 'routes')\n\n const generatedRouteTree =\n options.tsr.generatedRouteTree ??\n path.join(srcDirectory, 'routeTree.gen.ts')\n\n const clientEntryPath = (() => {\n if (options.client.entry) {\n return path.join(srcDirectory, options.client.entry)\n }\n\n if (existsSync(path.join(srcDirectory, 'client.tsx'))) {\n return path.join(srcDirectory, 'client.tsx')\n }\n\n return '/~start/default-client-entry'\n })()\n\n const serverEntryPath = (() => {\n if (options.server.entry) {\n return path.join(srcDirectory, options.server.entry)\n }\n\n if (existsSync(path.join(srcDirectory, 'server.tsx'))) {\n return path.join(srcDirectory, 'server.tsx')\n }\n\n if (existsSync(path.join(srcDirectory, 'server.ts'))) {\n return path.join(srcDirectory, 'server.ts')\n }\n\n if (existsSync(path.join(srcDirectory, 'server.js'))) {\n return path.join(srcDirectory, 'server.js')\n }\n\n return '/~start/default-server-entry'\n })()\n\n return {\n ...options,\n tsr: {\n ...options.tsr,\n ...getConfig({\n ...options.tsr,\n routesDirectory,\n generatedRouteTree,\n }),\n },\n clientEntryPath,\n serverEntryPath,\n }\n },\n }\n}\n\nexport function createTanStackStartOptionsSchema(\n frameworkPlugin: Record<string, unknown> = {},\n) {\n return z\n .object({\n root: z.string().optional().default(process.cwd()),\n target: z.custom<NitroConfig['preset']>().optional(),\n ...frameworkPlugin,\n tsr: tsrConfig.optional().default({}),\n client: z\n .object({\n entry: z.string().optional(),\n base: z.string().optional().default('/_build'),\n })\n .optional()\n .default({}),\n server: z\n .object({\n entry: z.string().optional(),\n })\n .optional()\n .default({}),\n serverFns: z\n .object({\n base: z.string().optional().default('/_serverFn'),\n })\n .optional()\n .default({}),\n public: z\n .object({\n dir: z.string().optional().default('public'),\n base: z.string().optional().default('/'),\n })\n .optional()\n .default({}),\n pages: z.array(pageSchema).optional().default([]),\n sitemap: z\n .object({\n enabled: z.boolean().optional().default(true),\n host: z.string().optional(),\n outputPath: z.string().optional().default('sitemap.xml'),\n })\n .optional(),\n prerender: z\n .object({\n enabled: z.boolean().optional(),\n concurrency: z.number().optional(),\n filter: z.function().args(pageSchema).returns(z.any()).optional(),\n failOnError: z.boolean().optional(),\n })\n .and(pagePrerenderOptionsSchema.optional())\n .optional(),\n spa: spaSchema.optional(),\n })\n .optional()\n .default({})\n}\n\nconst pageSitemapOptionsSchema = z.object({\n exclude: z.boolean().optional(),\n priority: z.number().min(0).max(1).optional(),\n changefreq: z\n .enum(['always', 'hourly', 'daily', 'weekly', 'monthly', 'yearly', 'never'])\n .optional(),\n lastmod: z.union([z.string(), z.date()]).optional(),\n alternateRefs: z\n .array(\n z.object({\n href: z.string(),\n hreflang: z.string(),\n }),\n )\n .optional(),\n images: z\n .array(\n z.object({\n loc: z.string(),\n caption: z.string().optional(),\n title: z.string().optional(),\n }),\n )\n .optional(),\n news: z\n .object({\n publication: z.object({\n name: z.string(),\n language: z.string(),\n }),\n publicationDate: z.union([z.string(), z.date()]),\n title: z.string(),\n })\n .optional(),\n})\n\nconst pageBaseSchema = z.object({\n path: z.string(),\n sitemap: pageSitemapOptionsSchema.optional(),\n fromCrawl: z.boolean().optional(),\n})\n\nconst pagePrerenderOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n outputPath: z.string().optional(),\n autoSubfolderIndex: z.boolean().optional(),\n crawlLinks: z.boolean().optional(),\n retryCount: z.number().optional(),\n retryDelay: z.number().optional(),\n onSuccess: z\n .function()\n .args(\n z.object({\n page: pageBaseSchema,\n html: z.string(),\n }),\n )\n .returns(z.any())\n .optional(),\n headers: z.record(z.string(), z.string()).optional(),\n})\n\nconst spaSchema = z.object({\n enabled: z.boolean().optional().default(true),\n maskPath: z.string().optional().default('/'),\n prerender: pagePrerenderOptionsSchema\n .optional()\n .default({})\n .transform((opts) => ({\n outputPath: opts.outputPath ?? '/_shell',\n crawlLinks: false,\n retryCount: 0,\n ...opts,\n enabled: true,\n })),\n})\n\nexport const pageSchema = pageBaseSchema.extend({\n prerender: pagePrerenderOptionsSchema.optional(),\n})\n\nexport type Page = z.infer<typeof pageSchema>\n"],"names":["configSchema","z","existsSync","getConfig"],"mappings":"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"}