@tanstack/start-plugin-core 1.169.12 → 1.169.14
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/esm/index.d.ts +1 -1
- package/dist/esm/rsbuild/index.d.ts +1 -0
- package/dist/esm/rsbuild/plugin.js +2 -0
- package/dist/esm/rsbuild/plugin.js.map +1 -1
- package/dist/esm/rsbuild/schema.d.ts +27 -27
- package/dist/esm/rsbuild/start-compiler-host.d.ts +3 -1
- package/dist/esm/rsbuild/start-compiler-host.js +6 -2
- package/dist/esm/rsbuild/start-compiler-host.js.map +1 -1
- package/dist/esm/rsbuild/start-router-plugin.d.ts +0 -2
- package/dist/esm/rsbuild/start-router-plugin.js +21 -24
- package/dist/esm/rsbuild/start-router-plugin.js.map +1 -1
- package/dist/esm/schema.d.ts +51 -51
- package/dist/esm/start-compiler/compiler.d.ts +21 -5
- package/dist/esm/start-compiler/compiler.js +197 -48
- package/dist/esm/start-compiler/compiler.js.map +1 -1
- package/dist/esm/start-compiler/config.d.ts +7 -3
- package/dist/esm/start-compiler/config.js +19 -7
- package/dist/esm/start-compiler/config.js.map +1 -1
- package/dist/esm/start-compiler/handleCreateServerFn.js +12 -0
- package/dist/esm/start-compiler/handleCreateServerFn.js.map +1 -1
- package/dist/esm/start-compiler/host.d.ts +3 -1
- package/dist/esm/start-compiler/host.js +5 -3
- package/dist/esm/start-compiler/host.js.map +1 -1
- package/dist/esm/start-compiler/types.d.ts +4 -13
- package/dist/esm/types.d.ts +33 -0
- package/dist/esm/vite/index.d.ts +1 -0
- package/dist/esm/vite/plugin.js +2 -0
- package/dist/esm/vite/plugin.js.map +1 -1
- package/dist/esm/vite/schema.d.ts +27 -27
- package/dist/esm/vite/start-compiler-plugin/plugin.d.ts +3 -1
- package/dist/esm/vite/start-compiler-plugin/plugin.js +6 -2
- package/dist/esm/vite/start-compiler-plugin/plugin.js.map +1 -1
- package/dist/esm/vite/start-router-plugin/plugin.js +5 -3
- package/dist/esm/vite/start-router-plugin/plugin.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +6 -1
- package/src/rsbuild/index.ts +5 -0
- package/src/rsbuild/plugin.ts +3 -0
- package/src/rsbuild/start-compiler-host.ts +22 -3
- package/src/rsbuild/start-router-plugin.ts +20 -21
- package/src/start-compiler/compiler.ts +389 -70
- package/src/start-compiler/config.ts +43 -6
- package/src/start-compiler/handleCreateServerFn.ts +29 -0
- package/src/start-compiler/host.ts +13 -3
- package/src/start-compiler/types.ts +5 -14
- package/src/types.ts +44 -0
- package/src/vite/index.ts +5 -0
- package/src/vite/plugin.ts +3 -0
- package/src/vite/start-compiler-plugin/plugin.ts +22 -3
- package/src/vite/start-router-plugin/plugin.ts +6 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/start-plugin-core",
|
|
3
|
-
"version": "1.169.
|
|
3
|
+
"version": "1.169.14",
|
|
4
4
|
"description": "Modern and scalable routing for React applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -87,11 +87,11 @@
|
|
|
87
87
|
"xmlbuilder2": "^4.0.3",
|
|
88
88
|
"zod": "^3.24.2",
|
|
89
89
|
"@tanstack/router-core": "1.169.1",
|
|
90
|
+
"@tanstack/router-plugin": "1.167.32",
|
|
90
91
|
"@tanstack/router-generator": "1.166.39",
|
|
91
|
-
"@tanstack/router-plugin": "1.167.31",
|
|
92
|
-
"@tanstack/router-utils": "1.161.7",
|
|
93
92
|
"@tanstack/start-client-core": "1.168.1",
|
|
94
|
-
"@tanstack/start-server-core": "1.167.26"
|
|
93
|
+
"@tanstack/start-server-core": "1.167.26",
|
|
94
|
+
"@tanstack/router-utils": "1.161.7"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
97
|
"@rsbuild/core": "^2.0.1",
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
export type { TanStackStartInputConfig } from './schema'
|
|
2
|
-
export type {
|
|
2
|
+
export type {
|
|
3
|
+
StartCompilerImportTransform,
|
|
4
|
+
StartCompilerTransformCandidate,
|
|
5
|
+
StartCompilerTransformContext,
|
|
6
|
+
TanStackStartCoreOptions,
|
|
7
|
+
} from './types'
|
|
3
8
|
export { START_ENVIRONMENT_NAMES } from './constants'
|
package/src/rsbuild/index.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export { RSBUILD_ENVIRONMENT_NAMES } from './planning'
|
|
2
2
|
export type { TanStackStartRsbuildPluginCoreOptions } from './types'
|
|
3
3
|
export type { TanStackStartRsbuildInputConfig } from './schema'
|
|
4
|
+
export type {
|
|
5
|
+
StartCompilerImportTransform,
|
|
6
|
+
StartCompilerTransformCandidate,
|
|
7
|
+
StartCompilerTransformContext,
|
|
8
|
+
} from '../types'
|
|
4
9
|
export { tanStackStartRsbuild } from './plugin'
|
package/src/rsbuild/plugin.ts
CHANGED
|
@@ -239,6 +239,9 @@ export function tanStackStartRsbuild(
|
|
|
239
239
|
root: () => resolvedStartConfig.root || process.cwd(),
|
|
240
240
|
providerEnvName: serverFnProviderEnv,
|
|
241
241
|
generateFunctionId: startPluginOpts.serverFns?.generateFunctionId,
|
|
242
|
+
compilerTransforms: corePluginOpts.compilerTransforms,
|
|
243
|
+
serverFnProviderModuleDirectives:
|
|
244
|
+
corePluginOpts.serverFnProviderModuleDirectives,
|
|
242
245
|
serverFnsById,
|
|
243
246
|
onServerFnsByIdChange: () => {
|
|
244
247
|
updateServerFnResolver?.()
|
|
@@ -11,7 +11,10 @@ import {
|
|
|
11
11
|
import { cleanId } from '../start-compiler/utils'
|
|
12
12
|
import { RSBUILD_ENVIRONMENT_NAMES } from './planning'
|
|
13
13
|
import type { RsbuildPluginAPI, Rspack } from '@rsbuild/core'
|
|
14
|
-
import type {
|
|
14
|
+
import type {
|
|
15
|
+
CompileStartFrameworkOptions,
|
|
16
|
+
StartCompilerImportTransform,
|
|
17
|
+
} from '../types'
|
|
15
18
|
import type {
|
|
16
19
|
DevServerFnModuleSpecifierEncoder,
|
|
17
20
|
GenerateFunctionIdFnOptional,
|
|
@@ -36,6 +39,8 @@ export interface StartCompilerHostOptions {
|
|
|
36
39
|
root: string | (() => string)
|
|
37
40
|
providerEnvName: string
|
|
38
41
|
generateFunctionId?: GenerateFunctionIdFnOptional
|
|
42
|
+
compilerTransforms?: Array<StartCompilerImportTransform> | undefined
|
|
43
|
+
serverFnProviderModuleDirectives?: ReadonlyArray<string> | undefined
|
|
39
44
|
serverFnsById?: Record<string, ServerFn>
|
|
40
45
|
onServerFnsByIdChange?: () => void
|
|
41
46
|
}
|
|
@@ -79,11 +84,21 @@ export function registerStartCompilerTransforms(
|
|
|
79
84
|
// Pre-compute code filter patterns per environment type
|
|
80
85
|
const codeFilters: Record<'client' | 'server', Array<RegExp>> = {
|
|
81
86
|
client: getTransformCodeFilterForEnv('client'),
|
|
82
|
-
server: getTransformCodeFilterForEnv('server'
|
|
87
|
+
server: getTransformCodeFilterForEnv('server', {
|
|
88
|
+
compilerTransforms: opts.compilerTransforms,
|
|
89
|
+
}),
|
|
83
90
|
}
|
|
84
91
|
|
|
85
92
|
for (const env of environments) {
|
|
86
93
|
const envCodeFilters = codeFilters[env.type]
|
|
94
|
+
const compilerTransforms =
|
|
95
|
+
env.name === RSBUILD_ENVIRONMENT_NAMES.server
|
|
96
|
+
? opts.compilerTransforms
|
|
97
|
+
: undefined
|
|
98
|
+
const serverFnProviderModuleDirectives =
|
|
99
|
+
env.name === opts.providerEnvName
|
|
100
|
+
? opts.serverFnProviderModuleDirectives
|
|
101
|
+
: undefined
|
|
87
102
|
|
|
88
103
|
api.transform(
|
|
89
104
|
{
|
|
@@ -113,6 +128,8 @@ export function registerStartCompilerTransforms(
|
|
|
113
128
|
framework: opts.framework,
|
|
114
129
|
providerEnvName: opts.providerEnvName,
|
|
115
130
|
generateFunctionId: opts.generateFunctionId,
|
|
131
|
+
compilerTransforms,
|
|
132
|
+
serverFnProviderModuleDirectives,
|
|
116
133
|
onServerFnsById,
|
|
117
134
|
getKnownServerFns: () => serverFnsById,
|
|
118
135
|
encodeModuleSpecifierInDev: isDev
|
|
@@ -180,7 +197,9 @@ export function registerStartCompilerTransforms(
|
|
|
180
197
|
compilers.set(env.name, compiler)
|
|
181
198
|
}
|
|
182
199
|
|
|
183
|
-
const detectedKinds = detectKindsInCode(code, env.type
|
|
200
|
+
const detectedKinds = detectKindsInCode(code, env.type, {
|
|
201
|
+
compilerTransforms,
|
|
202
|
+
})
|
|
184
203
|
const result = await compiler.compile({ id, code, detectedKinds })
|
|
185
204
|
|
|
186
205
|
if (!result) {
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import path from 'pathe'
|
|
2
|
+
import { createRouterPluginContext } from '@tanstack/router-plugin/context'
|
|
3
|
+
import {
|
|
4
|
+
TanStackRouterCodeSplitterRspack,
|
|
5
|
+
TanStackRouterGeneratorRspack,
|
|
6
|
+
} from '@tanstack/router-plugin/rspack'
|
|
2
7
|
import { routesManifestPlugin } from '../start-router-plugin/generator-plugins/routes-manifest-plugin'
|
|
3
8
|
import { prerenderRoutesPlugin } from '../start-router-plugin/generator-plugins/prerender-routes-plugin'
|
|
4
9
|
import { buildRouteTreeFileFooterFromConfig } from '../start-router-plugin/route-tree-footer'
|
|
@@ -14,8 +19,6 @@ import type { TanStackStartRsbuildInputConfig } from './schema'
|
|
|
14
19
|
* The router-plugin package exports rspack-compatible unplugin wrappers:
|
|
15
20
|
* - TanStackRouterGeneratorRspack: file-based route generation
|
|
16
21
|
* - TanStackRouterCodeSplitterRspack: route code splitting
|
|
17
|
-
*
|
|
18
|
-
* These are dynamically imported to avoid hard dependency on router-plugin/rspack.
|
|
19
22
|
*/
|
|
20
23
|
export function registerRouterPlugins(
|
|
21
24
|
api: RsbuildPluginAPI,
|
|
@@ -25,17 +28,17 @@ export function registerRouterPlugins(
|
|
|
25
28
|
startPluginOpts: TanStackStartRsbuildInputConfig
|
|
26
29
|
},
|
|
27
30
|
): void {
|
|
28
|
-
|
|
31
|
+
const routerPluginContext = createRouterPluginContext()
|
|
32
|
+
|
|
33
|
+
api.modifyRspackConfig((config, utils) => {
|
|
29
34
|
const envName = utils.environment.name
|
|
30
35
|
const { startConfig } = opts.getConfig()
|
|
31
36
|
const routerConfig = startConfig.router
|
|
32
37
|
|
|
33
38
|
// Generator only runs once — register for the client environment
|
|
34
39
|
if (envName === RSBUILD_ENVIRONMENT_NAMES.client) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
await import('@tanstack/router-plugin/rspack')
|
|
38
|
-
const generatorPlugin = TanStackRouterGeneratorRspack({
|
|
40
|
+
const generatorPlugin = TanStackRouterGeneratorRspack(
|
|
41
|
+
{
|
|
39
42
|
...routerConfig,
|
|
40
43
|
target: opts.corePluginOpts.framework,
|
|
41
44
|
routeTreeFileFooter: () => {
|
|
@@ -53,11 +56,10 @@ export function registerRouterPlugins(
|
|
|
53
56
|
? [prerenderRoutesPlugin()]
|
|
54
57
|
: []),
|
|
55
58
|
],
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
59
|
+
},
|
|
60
|
+
routerPluginContext,
|
|
61
|
+
)
|
|
62
|
+
utils.appendPlugins(generatorPlugin as any)
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
if (
|
|
@@ -65,10 +67,8 @@ export function registerRouterPlugins(
|
|
|
65
67
|
envName === RSBUILD_ENVIRONMENT_NAMES.server
|
|
66
68
|
) {
|
|
67
69
|
const isClient = envName === RSBUILD_ENVIRONMENT_NAMES.client
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
await import('@tanstack/router-plugin/rspack')
|
|
71
|
-
const splitterPlugin = TanStackRouterCodeSplitterRspack({
|
|
70
|
+
const splitterPlugin = TanStackRouterCodeSplitterRspack(
|
|
71
|
+
{
|
|
72
72
|
...routerConfig,
|
|
73
73
|
target: opts.corePluginOpts.framework,
|
|
74
74
|
codeSplittingOptions: {
|
|
@@ -76,11 +76,10 @@ export function registerRouterPlugins(
|
|
|
76
76
|
deleteNodes: isClient ? ['ssr', 'server', 'headers'] : undefined,
|
|
77
77
|
addHmr: isClient,
|
|
78
78
|
},
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
79
|
+
},
|
|
80
|
+
routerPluginContext,
|
|
81
|
+
)
|
|
82
|
+
utils.appendPlugins(splitterPlugin as any)
|
|
84
83
|
}
|
|
85
84
|
})
|
|
86
85
|
}
|