@tanstack/start-plugin-core 1.121.20 → 1.121.21
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/dist/cjs/compilers.cjs +416 -0
- package/dist/cjs/compilers.cjs.map +1 -0
- package/dist/cjs/compilers.d.cts +21 -0
- package/dist/cjs/constants.cjs +20 -0
- package/dist/cjs/constants.cjs.map +1 -0
- package/dist/cjs/constants.d.cts +6 -0
- package/dist/cjs/debug.cjs +5 -0
- package/dist/cjs/debug.cjs.map +1 -0
- package/dist/cjs/debug.d.cts +1 -0
- package/dist/cjs/dev-server-plugin/extract-html-scripts.cjs +35 -0
- package/dist/cjs/dev-server-plugin/extract-html-scripts.cjs.map +1 -0
- package/dist/cjs/dev-server-plugin/extract-html-scripts.d.cts +4 -0
- package/dist/cjs/dev-server-plugin/plugin.cjs +136 -0
- package/dist/cjs/dev-server-plugin/plugin.cjs.map +1 -0
- package/dist/cjs/dev-server-plugin/plugin.d.cts +5 -0
- package/dist/cjs/index.cjs +11 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +3 -0
- package/dist/cjs/load-env-plugin/plugin.cjs +34 -0
- package/dist/cjs/load-env-plugin/plugin.cjs.map +1 -0
- package/dist/cjs/load-env-plugin/plugin.d.cts +3 -0
- package/dist/cjs/nitro-plugin/build-sitemap.cjs +138 -0
- package/dist/cjs/nitro-plugin/build-sitemap.cjs.map +1 -0
- package/dist/cjs/nitro-plugin/build-sitemap.d.cts +31 -0
- package/dist/cjs/nitro-plugin/plugin.cjs +181 -0
- package/dist/cjs/nitro-plugin/plugin.cjs.map +1 -0
- package/dist/cjs/nitro-plugin/plugin.d.cts +3 -0
- package/dist/cjs/nitro-plugin/prerender.cjs +174 -0
- package/dist/cjs/nitro-plugin/prerender.cjs.map +1 -0
- package/dist/cjs/nitro-plugin/prerender.d.cts +8 -0
- package/dist/cjs/nitro-plugin/queue.cjs +131 -0
- package/dist/cjs/nitro-plugin/queue.cjs.map +1 -0
- package/dist/cjs/nitro-plugin/queue.d.cts +32 -0
- package/dist/cjs/plugin.cjs +197 -0
- package/dist/cjs/plugin.cjs.map +1 -0
- package/dist/cjs/plugin.d.cts +291 -0
- package/dist/cjs/resolve-virtual-entries-plugin/plugin.cjs +66 -0
- package/dist/cjs/resolve-virtual-entries-plugin/plugin.cjs.map +1 -0
- package/dist/cjs/resolve-virtual-entries-plugin/plugin.d.cts +3 -0
- package/dist/cjs/schema.cjs +157 -0
- package/dist/cjs/schema.cjs.map +1 -0
- package/dist/cjs/schema.d.cts +8779 -0
- package/dist/cjs/start-compiler-plugin.cjs +74 -0
- package/dist/cjs/start-compiler-plugin.cjs.map +1 -0
- package/dist/cjs/start-compiler-plugin.d.cts +13 -0
- package/dist/cjs/start-manifest-plugin/plugin.cjs +182 -0
- package/dist/cjs/start-manifest-plugin/plugin.cjs.map +1 -0
- package/dist/cjs/start-manifest-plugin/plugin.d.cts +3 -0
- package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.cjs +39 -0
- package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.cjs.map +1 -0
- package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.d.cts +6 -0
- package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.cjs +121 -0
- package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.cjs.map +1 -0
- package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.d.cts +2 -0
- package/dist/cjs/start-router-plugin/plugin.cjs +21 -0
- package/dist/cjs/start-router-plugin/plugin.cjs.map +1 -0
- package/dist/cjs/start-router-plugin/plugin.d.cts +3 -0
- package/dist/cjs/start-router-plugin/route-tree-client-plugin.cjs +72 -0
- package/dist/cjs/start-router-plugin/route-tree-client-plugin.cjs.map +1 -0
- package/dist/cjs/start-router-plugin/route-tree-client-plugin.d.cts +6 -0
- package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.cjs +30 -0
- package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.cjs.map +1 -0
- package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.d.cts +4 -0
- package/dist/cjs/utils.cjs +18 -0
- package/dist/cjs/utils.cjs.map +1 -0
- package/dist/cjs/utils.d.cts +8 -0
- package/dist/esm/compilers.d.ts +21 -0
- package/dist/esm/compilers.js +398 -0
- package/dist/esm/compilers.js.map +1 -0
- package/dist/esm/constants.d.ts +6 -0
- package/dist/esm/constants.js +20 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/debug.d.ts +1 -0
- package/dist/esm/debug.js +5 -0
- package/dist/esm/debug.js.map +1 -0
- package/dist/esm/dev-server-plugin/extract-html-scripts.d.ts +4 -0
- package/dist/esm/dev-server-plugin/extract-html-scripts.js +18 -0
- package/dist/esm/dev-server-plugin/extract-html-scripts.js.map +1 -0
- package/dist/esm/dev-server-plugin/plugin.d.ts +5 -0
- package/dist/esm/dev-server-plugin/plugin.js +136 -0
- package/dist/esm/dev-server-plugin/plugin.js.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/load-env-plugin/plugin.d.ts +3 -0
- package/dist/esm/load-env-plugin/plugin.js +17 -0
- package/dist/esm/load-env-plugin/plugin.js.map +1 -0
- package/dist/esm/nitro-plugin/build-sitemap.d.ts +31 -0
- package/dist/esm/nitro-plugin/build-sitemap.js +138 -0
- package/dist/esm/nitro-plugin/build-sitemap.js.map +1 -0
- package/dist/esm/nitro-plugin/plugin.d.ts +3 -0
- package/dist/esm/nitro-plugin/plugin.js +181 -0
- package/dist/esm/nitro-plugin/plugin.js.map +1 -0
- package/dist/esm/nitro-plugin/prerender.d.ts +8 -0
- package/dist/esm/nitro-plugin/prerender.js +174 -0
- package/dist/esm/nitro-plugin/prerender.js.map +1 -0
- package/dist/esm/nitro-plugin/queue.d.ts +32 -0
- package/dist/esm/nitro-plugin/queue.js +131 -0
- package/dist/esm/nitro-plugin/queue.js.map +1 -0
- package/dist/esm/plugin.d.ts +291 -0
- package/dist/esm/plugin.js +180 -0
- package/dist/esm/plugin.js.map +1 -0
- package/dist/esm/resolve-virtual-entries-plugin/plugin.d.ts +3 -0
- package/dist/esm/resolve-virtual-entries-plugin/plugin.js +49 -0
- package/dist/esm/resolve-virtual-entries-plugin/plugin.js.map +1 -0
- package/dist/esm/schema.d.ts +8779 -0
- package/dist/esm/schema.js +157 -0
- package/dist/esm/schema.js.map +1 -0
- package/dist/esm/start-compiler-plugin.d.ts +13 -0
- package/dist/esm/start-compiler-plugin.js +74 -0
- package/dist/esm/start-compiler-plugin.js.map +1 -0
- package/dist/esm/start-manifest-plugin/plugin.d.ts +3 -0
- package/dist/esm/start-manifest-plugin/plugin.js +182 -0
- package/dist/esm/start-manifest-plugin/plugin.js.map +1 -0
- package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.d.ts +6 -0
- package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.js +39 -0
- package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.js.map +1 -0
- package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.d.ts +2 -0
- package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.js +121 -0
- package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.js.map +1 -0
- package/dist/esm/start-router-plugin/plugin.d.ts +3 -0
- package/dist/esm/start-router-plugin/plugin.js +21 -0
- package/dist/esm/start-router-plugin/plugin.js.map +1 -0
- package/dist/esm/start-router-plugin/route-tree-client-plugin.d.ts +6 -0
- package/dist/esm/start-router-plugin/route-tree-client-plugin.js +55 -0
- package/dist/esm/start-router-plugin/route-tree-client-plugin.js.map +1 -0
- package/dist/esm/start-router-plugin/virtual-route-tree-plugin.d.ts +4 -0
- package/dist/esm/start-router-plugin/virtual-route-tree-plugin.js +30 -0
- package/dist/esm/start-router-plugin/virtual-route-tree-plugin.js.map +1 -0
- package/dist/esm/utils.d.ts +8 -0
- package/dist/esm/utils.js +18 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,291 @@
|
|
|
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
|
+
} | undefined;
|
|
96
|
+
sitemap?: {
|
|
97
|
+
exclude?: boolean | undefined;
|
|
98
|
+
priority?: number | undefined;
|
|
99
|
+
changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
|
|
100
|
+
lastmod?: string | Date | undefined;
|
|
101
|
+
alternateRefs?: {
|
|
102
|
+
href: string;
|
|
103
|
+
hreflang: string;
|
|
104
|
+
}[] | undefined;
|
|
105
|
+
images?: {
|
|
106
|
+
loc: string;
|
|
107
|
+
caption?: string | undefined;
|
|
108
|
+
title?: string | undefined;
|
|
109
|
+
}[] | undefined;
|
|
110
|
+
news?: {
|
|
111
|
+
title: string;
|
|
112
|
+
publication: {
|
|
113
|
+
name: string;
|
|
114
|
+
language: string;
|
|
115
|
+
};
|
|
116
|
+
publicationDate: string | Date;
|
|
117
|
+
} | undefined;
|
|
118
|
+
} | undefined;
|
|
119
|
+
fromCrawl?: boolean | undefined;
|
|
120
|
+
}[];
|
|
121
|
+
target?: import('nitropack/presets').PresetNameInput | undefined;
|
|
122
|
+
prerender?: ({
|
|
123
|
+
filter?: ((args_0: {
|
|
124
|
+
path: string;
|
|
125
|
+
prerender?: {
|
|
126
|
+
enabled?: boolean | undefined;
|
|
127
|
+
outputPath?: string | undefined;
|
|
128
|
+
autoSubfolderIndex?: boolean | undefined;
|
|
129
|
+
crawlLinks?: boolean | undefined;
|
|
130
|
+
retryCount?: number | undefined;
|
|
131
|
+
retryDelay?: number | undefined;
|
|
132
|
+
onSuccess?: ((args_0: {
|
|
133
|
+
page: {
|
|
134
|
+
path: string;
|
|
135
|
+
sitemap?: {
|
|
136
|
+
exclude?: boolean | undefined;
|
|
137
|
+
priority?: number | undefined;
|
|
138
|
+
changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
|
|
139
|
+
lastmod?: string | Date | undefined;
|
|
140
|
+
alternateRefs?: {
|
|
141
|
+
href: string;
|
|
142
|
+
hreflang: string;
|
|
143
|
+
}[] | undefined;
|
|
144
|
+
images?: {
|
|
145
|
+
loc: string;
|
|
146
|
+
caption?: string | undefined;
|
|
147
|
+
title?: string | undefined;
|
|
148
|
+
}[] | undefined;
|
|
149
|
+
news?: {
|
|
150
|
+
title: string;
|
|
151
|
+
publication: {
|
|
152
|
+
name: string;
|
|
153
|
+
language: string;
|
|
154
|
+
};
|
|
155
|
+
publicationDate: string | Date;
|
|
156
|
+
} | undefined;
|
|
157
|
+
} | undefined;
|
|
158
|
+
fromCrawl?: boolean | undefined;
|
|
159
|
+
};
|
|
160
|
+
html: string;
|
|
161
|
+
}, ...args: unknown[]) => any) | undefined;
|
|
162
|
+
} | undefined;
|
|
163
|
+
sitemap?: {
|
|
164
|
+
exclude?: boolean | undefined;
|
|
165
|
+
priority?: number | undefined;
|
|
166
|
+
changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
|
|
167
|
+
lastmod?: string | Date | undefined;
|
|
168
|
+
alternateRefs?: {
|
|
169
|
+
href: string;
|
|
170
|
+
hreflang: string;
|
|
171
|
+
}[] | undefined;
|
|
172
|
+
images?: {
|
|
173
|
+
loc: string;
|
|
174
|
+
caption?: string | undefined;
|
|
175
|
+
title?: string | undefined;
|
|
176
|
+
}[] | undefined;
|
|
177
|
+
news?: {
|
|
178
|
+
title: string;
|
|
179
|
+
publication: {
|
|
180
|
+
name: string;
|
|
181
|
+
language: string;
|
|
182
|
+
};
|
|
183
|
+
publicationDate: string | Date;
|
|
184
|
+
} | undefined;
|
|
185
|
+
} | undefined;
|
|
186
|
+
fromCrawl?: boolean | undefined;
|
|
187
|
+
}, ...args: unknown[]) => any) | undefined;
|
|
188
|
+
enabled?: boolean | undefined;
|
|
189
|
+
concurrency?: number | undefined;
|
|
190
|
+
failOnError?: boolean | undefined;
|
|
191
|
+
} & {
|
|
192
|
+
enabled?: boolean | undefined;
|
|
193
|
+
outputPath?: string | undefined;
|
|
194
|
+
autoSubfolderIndex?: boolean | undefined;
|
|
195
|
+
crawlLinks?: boolean | undefined;
|
|
196
|
+
retryCount?: number | undefined;
|
|
197
|
+
retryDelay?: number | undefined;
|
|
198
|
+
onSuccess?: ((args_0: {
|
|
199
|
+
page: {
|
|
200
|
+
path: string;
|
|
201
|
+
sitemap?: {
|
|
202
|
+
exclude?: boolean | undefined;
|
|
203
|
+
priority?: number | undefined;
|
|
204
|
+
changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
|
|
205
|
+
lastmod?: string | Date | undefined;
|
|
206
|
+
alternateRefs?: {
|
|
207
|
+
href: string;
|
|
208
|
+
hreflang: string;
|
|
209
|
+
}[] | undefined;
|
|
210
|
+
images?: {
|
|
211
|
+
loc: string;
|
|
212
|
+
caption?: string | undefined;
|
|
213
|
+
title?: string | undefined;
|
|
214
|
+
}[] | undefined;
|
|
215
|
+
news?: {
|
|
216
|
+
title: string;
|
|
217
|
+
publication: {
|
|
218
|
+
name: string;
|
|
219
|
+
language: string;
|
|
220
|
+
};
|
|
221
|
+
publicationDate: string | Date;
|
|
222
|
+
} | undefined;
|
|
223
|
+
} | undefined;
|
|
224
|
+
fromCrawl?: boolean | undefined;
|
|
225
|
+
};
|
|
226
|
+
html: string;
|
|
227
|
+
}, ...args: unknown[]) => any) | undefined;
|
|
228
|
+
}) | undefined;
|
|
229
|
+
sitemap?: {
|
|
230
|
+
enabled: boolean;
|
|
231
|
+
outputPath: string;
|
|
232
|
+
host?: string | undefined;
|
|
233
|
+
} | undefined;
|
|
234
|
+
spa?: {
|
|
235
|
+
prerender: {
|
|
236
|
+
enabled: boolean;
|
|
237
|
+
outputPath: string;
|
|
238
|
+
autoSubfolderIndex?: boolean | undefined;
|
|
239
|
+
crawlLinks: boolean;
|
|
240
|
+
retryCount: number;
|
|
241
|
+
retryDelay?: number | undefined;
|
|
242
|
+
onSuccess?: ((args_0: {
|
|
243
|
+
page: {
|
|
244
|
+
path: string;
|
|
245
|
+
sitemap?: {
|
|
246
|
+
exclude?: boolean | undefined;
|
|
247
|
+
priority?: number | undefined;
|
|
248
|
+
changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never" | undefined;
|
|
249
|
+
lastmod?: string | Date | undefined;
|
|
250
|
+
alternateRefs?: {
|
|
251
|
+
href: string;
|
|
252
|
+
hreflang: string;
|
|
253
|
+
}[] | undefined;
|
|
254
|
+
images?: {
|
|
255
|
+
loc: string;
|
|
256
|
+
caption?: string | undefined;
|
|
257
|
+
title?: string | undefined;
|
|
258
|
+
}[] | undefined;
|
|
259
|
+
news?: {
|
|
260
|
+
title: string;
|
|
261
|
+
publication: {
|
|
262
|
+
name: string;
|
|
263
|
+
language: string;
|
|
264
|
+
};
|
|
265
|
+
publicationDate: string | Date;
|
|
266
|
+
} | undefined;
|
|
267
|
+
} | undefined;
|
|
268
|
+
fromCrawl?: boolean | undefined;
|
|
269
|
+
};
|
|
270
|
+
html: string;
|
|
271
|
+
}, ...args: unknown[]) => any) | undefined;
|
|
272
|
+
};
|
|
273
|
+
enabled: boolean;
|
|
274
|
+
maskPath: string;
|
|
275
|
+
} | undefined;
|
|
276
|
+
};
|
|
277
|
+
export type TanStackStartOutputConfig = ReturnType<typeof getTanStackStartOptions>;
|
|
278
|
+
export interface TanStackStartVitePluginCoreOptions {
|
|
279
|
+
framework: CompileStartFrameworkOptions;
|
|
280
|
+
getVirtualServerRootHandler: (ctx: {
|
|
281
|
+
routerFilepath: string;
|
|
282
|
+
serverEntryFilepath: string;
|
|
283
|
+
}) => string;
|
|
284
|
+
getVirtualServerEntry: (ctx: {
|
|
285
|
+
routerFilepath: string;
|
|
286
|
+
}) => string;
|
|
287
|
+
getVirtualClientEntry: (ctx: {
|
|
288
|
+
routerFilepath: string;
|
|
289
|
+
}) => string;
|
|
290
|
+
}
|
|
291
|
+
export declare function TanStackStartVitePluginCore(opts: TanStackStartVitePluginCoreOptions, startConfig: TanStackStartOutputConfig): Array<PluginOption>;
|
|
@@ -0,0 +1,66 @@
|
|
|
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(id) {
|
|
35
|
+
if (modules.has(id)) {
|
|
36
|
+
return `${id}.tsx`;
|
|
37
|
+
}
|
|
38
|
+
return void 0;
|
|
39
|
+
},
|
|
40
|
+
load(id) {
|
|
41
|
+
const routerFilepath = vite__namespace.normalizePath(
|
|
42
|
+
path.resolve(startConfig.root, startConfig.tsr.srcDirectory, "router")
|
|
43
|
+
);
|
|
44
|
+
if (id === "/~start/server-entry.tsx") {
|
|
45
|
+
const ssrEntryFilepath = startConfig.serverEntryPath.startsWith(
|
|
46
|
+
"/~start/default-server-entry"
|
|
47
|
+
) ? startConfig.serverEntryPath : vite__namespace.normalizePath(
|
|
48
|
+
path.resolve(resolvedConfig.root, startConfig.serverEntryPath)
|
|
49
|
+
);
|
|
50
|
+
return opts.getVirtualServerRootHandler({
|
|
51
|
+
routerFilepath,
|
|
52
|
+
serverEntryFilepath: ssrEntryFilepath
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
if (id === "/~start/default-client-entry.tsx") {
|
|
56
|
+
return opts.getVirtualClientEntry({ routerFilepath });
|
|
57
|
+
}
|
|
58
|
+
if (id === "/~start/default-server-entry.tsx") {
|
|
59
|
+
return opts.getVirtualServerEntry({ routerFilepath });
|
|
60
|
+
}
|
|
61
|
+
return void 0;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
exports.resolveVirtualEntriesPlugin = resolveVirtualEntriesPlugin;
|
|
66
|
+
//# sourceMappingURL=plugin.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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(id) {\n if (modules.has(id)) {\n return `${id}.tsx`\n }\n\n return undefined\n },\n load(id) {\n const routerFilepath = vite.normalizePath(\n path.resolve(startConfig.root, startConfig.tsr.srcDirectory, 'router'),\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"],"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,UAAU,IAAI;AACR,UAAA,QAAQ,IAAI,EAAE,GAAG;AACnB,eAAO,GAAG,EAAE;AAAA,MAAA;AAGP,aAAA;AAAA,IACT;AAAA,IACA,KAAK,IAAI;AACP,YAAM,iBAAiBA,gBAAK;AAAA,QAC1B,KAAK,QAAQ,YAAY,MAAM,YAAY,IAAI,cAAc,QAAQ;AAAA,MACvE;AAEA,UAAI,OAAO,4BAA4B;AAC/B,cAAA,mBAAmB,YAAY,gBAAgB;AAAA,UACnD;AAAA,QAAA,IAEE,YAAY,kBACZA,gBAAK;AAAA,UACH,KAAK,QAAQ,eAAe,MAAM,YAAY,eAAe;AAAA,QAC/D;AAEJ,eAAO,KAAK,4BAA4B;AAAA,UACtC;AAAA,UACA,qBAAqB;AAAA,QAAA,CACtB;AAAA,MAAA;AAGH,UAAI,OAAO,oCAAoC;AAC7C,eAAO,KAAK,sBAAsB,EAAE,gBAAgB;AAAA,MAAA;AAGtD,UAAI,OAAO,oCAAoC;AAC7C,eAAO,KAAK,sBAAsB,EAAE,gBAAgB;AAAA,MAAA;AAG/C,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;;"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TanStackStartOutputConfig, TanStackStartVitePluginCoreOptions } from '../plugin.cjs';
|
|
2
|
+
import * as vite from 'vite';
|
|
3
|
+
export declare function resolveVirtualEntriesPlugin(opts: TanStackStartVitePluginCoreOptions, startConfig: TanStackStartOutputConfig): vite.Plugin;
|
|
@@ -0,0 +1,157 @@
|
|
|
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
|
+
});
|
|
140
|
+
const spaSchema = zod.z.object({
|
|
141
|
+
enabled: zod.z.boolean().optional().default(true),
|
|
142
|
+
maskPath: zod.z.string().optional().default("/"),
|
|
143
|
+
prerender: pagePrerenderOptionsSchema.optional().default({}).transform((opts) => ({
|
|
144
|
+
outputPath: opts.outputPath ?? "/_shell",
|
|
145
|
+
crawlLinks: false,
|
|
146
|
+
retryCount: 0,
|
|
147
|
+
...opts,
|
|
148
|
+
enabled: true
|
|
149
|
+
}))
|
|
150
|
+
});
|
|
151
|
+
const pageSchema = pageBaseSchema.extend({
|
|
152
|
+
prerender: pagePrerenderOptionsSchema.optional()
|
|
153
|
+
});
|
|
154
|
+
exports.createTanStackConfig = createTanStackConfig;
|
|
155
|
+
exports.createTanStackStartOptionsSchema = createTanStackStartOptionsSchema;
|
|
156
|
+
exports.pageSchema = pageSchema;
|
|
157
|
+
//# sourceMappingURL=schema.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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})\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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"}
|