@tanstack/router-plugin 1.120.4-alpha.4 → 1.120.4
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/core/code-splitter/compilers.cjs +21 -39
- package/dist/cjs/core/code-splitter/compilers.cjs.map +1 -1
- package/dist/cjs/core/code-splitter/compilers.d.cts +0 -3
- package/dist/cjs/core/code-splitter/framework-options.cjs +8 -4
- package/dist/cjs/core/code-splitter/framework-options.cjs.map +1 -1
- package/dist/cjs/core/code-splitter/framework-options.d.cts +2 -0
- package/dist/cjs/core/config.d.cts +40 -31
- package/dist/cjs/core/router-code-splitter-plugin.cjs +20 -11
- package/dist/cjs/core/router-code-splitter-plugin.cjs.map +1 -1
- package/dist/cjs/core/router-composed-plugin.cjs +5 -19
- package/dist/cjs/core/router-composed-plugin.cjs.map +1 -1
- package/dist/cjs/core/router-generator-plugin.cjs +2 -8
- package/dist/cjs/core/router-generator-plugin.cjs.map +1 -1
- package/dist/cjs/esbuild.d.cts +27 -21
- package/dist/cjs/rspack.d.cts +27 -21
- package/dist/cjs/vite.cjs +0 -2
- package/dist/cjs/vite.cjs.map +1 -1
- package/dist/cjs/vite.d.cts +26 -52
- package/dist/cjs/webpack.d.cts +27 -21
- package/dist/esm/core/code-splitter/compilers.d.ts +0 -3
- package/dist/esm/core/code-splitter/compilers.js +21 -39
- package/dist/esm/core/code-splitter/compilers.js.map +1 -1
- package/dist/esm/core/code-splitter/framework-options.d.ts +2 -0
- package/dist/esm/core/code-splitter/framework-options.js +8 -4
- package/dist/esm/core/code-splitter/framework-options.js.map +1 -1
- package/dist/esm/core/config.d.ts +40 -31
- package/dist/esm/core/router-code-splitter-plugin.js +14 -5
- package/dist/esm/core/router-code-splitter-plugin.js.map +1 -1
- package/dist/esm/core/router-composed-plugin.js +5 -19
- package/dist/esm/core/router-composed-plugin.js.map +1 -1
- package/dist/esm/core/router-generator-plugin.js +2 -8
- package/dist/esm/core/router-generator-plugin.js.map +1 -1
- package/dist/esm/esbuild.d.ts +27 -21
- package/dist/esm/rspack.d.ts +27 -21
- package/dist/esm/vite.d.ts +26 -52
- package/dist/esm/vite.js +1 -3
- package/dist/esm/vite.js.map +1 -1
- package/dist/esm/webpack.d.ts +27 -21
- package/package.json +6 -6
- package/src/core/code-splitter/compilers.ts +27 -54
- package/src/core/code-splitter/framework-options.ts +6 -0
- package/src/core/router-code-splitter-plugin.ts +23 -3
- package/src/core/router-composed-plugin.ts +10 -20
- package/src/core/router-generator-plugin.ts +1 -12
- package/src/vite.ts +0 -3
- package/dist/cjs/core/route-autoimport-plugin.cjs +0 -98
- package/dist/cjs/core/route-autoimport-plugin.cjs.map +0 -1
- package/dist/cjs/core/route-autoimport-plugin.d.cts +0 -6
- package/dist/cjs/core/route-hmr-statement.cjs +0 -33
- package/dist/cjs/core/route-hmr-statement.cjs.map +0 -1
- package/dist/cjs/core/route-hmr-statement.d.cts +0 -1
- package/dist/cjs/core/router-hmr-plugin.cjs +0 -51
- package/dist/cjs/core/router-hmr-plugin.cjs.map +0 -1
- package/dist/cjs/core/router-hmr-plugin.d.cts +0 -8
- package/dist/cjs/core/utils.cjs +0 -12
- package/dist/cjs/core/utils.cjs.map +0 -1
- package/dist/cjs/core/utils.d.cts +0 -2
- package/dist/esm/core/route-autoimport-plugin.d.ts +0 -6
- package/dist/esm/core/route-autoimport-plugin.js +0 -81
- package/dist/esm/core/route-autoimport-plugin.js.map +0 -1
- package/dist/esm/core/route-hmr-statement.d.ts +0 -1
- package/dist/esm/core/route-hmr-statement.js +0 -16
- package/dist/esm/core/route-hmr-statement.js.map +0 -1
- package/dist/esm/core/router-hmr-plugin.d.ts +0 -8
- package/dist/esm/core/router-hmr-plugin.js +0 -51
- package/dist/esm/core/router-hmr-plugin.js.map +0 -1
- package/dist/esm/core/utils.d.ts +0 -2
- package/dist/esm/core/utils.js +0 -12
- package/dist/esm/core/utils.js.map +0 -1
- package/src/core/route-autoimport-plugin.ts +0 -102
- package/src/core/route-hmr-statement.ts +0 -13
- package/src/core/router-hmr-plugin.ts +0 -65
- package/src/core/utils.ts +0 -18
package/dist/esm/rspack.d.ts
CHANGED
|
@@ -16,29 +16,31 @@ declare const TanStackRouterGeneratorRspack: (options?: Partial<{
|
|
|
16
16
|
target: "react" | "solid";
|
|
17
17
|
routeFileIgnorePrefix: string;
|
|
18
18
|
routesDirectory: string;
|
|
19
|
+
generatedRouteTree: string;
|
|
19
20
|
quoteStyle: "single" | "double";
|
|
20
21
|
semicolons: boolean;
|
|
21
|
-
disableLogging: boolean;
|
|
22
|
-
routeTreeFileHeader: string[];
|
|
23
|
-
indexToken: string;
|
|
24
|
-
routeToken: string;
|
|
25
|
-
generatedRouteTree: string;
|
|
26
22
|
disableTypes: boolean;
|
|
27
23
|
addExtensions: boolean;
|
|
24
|
+
disableLogging: boolean;
|
|
28
25
|
disableManifestGeneration: boolean;
|
|
29
26
|
enableRouteTreeFormatting: boolean;
|
|
27
|
+
apiBase: string;
|
|
28
|
+
routeTreeFileHeader: string[];
|
|
30
29
|
routeTreeFileFooter: string[];
|
|
30
|
+
indexToken: string;
|
|
31
|
+
routeToken: string;
|
|
31
32
|
enableRouteGeneration?: boolean | undefined;
|
|
32
33
|
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
33
34
|
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
34
35
|
routeFilePrefix?: string | undefined;
|
|
35
36
|
routeFileIgnorePattern?: string | undefined;
|
|
36
|
-
|
|
37
|
-
verboseFileRoutes?: boolean | undefined;
|
|
37
|
+
__enableAPIRoutesGeneration?: boolean | undefined;
|
|
38
38
|
autoCodeSplitting?: boolean | undefined;
|
|
39
|
+
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
39
40
|
customScaffolding?: {
|
|
40
41
|
routeTemplate?: string | undefined;
|
|
41
42
|
lazyRouteTemplate?: string | undefined;
|
|
43
|
+
apiTemplate?: string | undefined;
|
|
42
44
|
} | undefined;
|
|
43
45
|
experimental?: {
|
|
44
46
|
enableCodeSplitting?: boolean | undefined;
|
|
@@ -61,29 +63,31 @@ declare const TanStackRouterCodeSplitterRspack: (options?: Partial<{
|
|
|
61
63
|
target: "react" | "solid";
|
|
62
64
|
routeFileIgnorePrefix: string;
|
|
63
65
|
routesDirectory: string;
|
|
66
|
+
generatedRouteTree: string;
|
|
64
67
|
quoteStyle: "single" | "double";
|
|
65
68
|
semicolons: boolean;
|
|
66
|
-
disableLogging: boolean;
|
|
67
|
-
routeTreeFileHeader: string[];
|
|
68
|
-
indexToken: string;
|
|
69
|
-
routeToken: string;
|
|
70
|
-
generatedRouteTree: string;
|
|
71
69
|
disableTypes: boolean;
|
|
72
70
|
addExtensions: boolean;
|
|
71
|
+
disableLogging: boolean;
|
|
73
72
|
disableManifestGeneration: boolean;
|
|
74
73
|
enableRouteTreeFormatting: boolean;
|
|
74
|
+
apiBase: string;
|
|
75
|
+
routeTreeFileHeader: string[];
|
|
75
76
|
routeTreeFileFooter: string[];
|
|
77
|
+
indexToken: string;
|
|
78
|
+
routeToken: string;
|
|
76
79
|
enableRouteGeneration?: boolean | undefined;
|
|
77
80
|
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
78
81
|
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
79
82
|
routeFilePrefix?: string | undefined;
|
|
80
83
|
routeFileIgnorePattern?: string | undefined;
|
|
81
|
-
|
|
82
|
-
verboseFileRoutes?: boolean | undefined;
|
|
84
|
+
__enableAPIRoutesGeneration?: boolean | undefined;
|
|
83
85
|
autoCodeSplitting?: boolean | undefined;
|
|
86
|
+
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
84
87
|
customScaffolding?: {
|
|
85
88
|
routeTemplate?: string | undefined;
|
|
86
89
|
lazyRouteTemplate?: string | undefined;
|
|
90
|
+
apiTemplate?: string | undefined;
|
|
87
91
|
} | undefined;
|
|
88
92
|
experimental?: {
|
|
89
93
|
enableCodeSplitting?: boolean | undefined;
|
|
@@ -106,29 +110,31 @@ declare const TanStackRouterRspack: (options?: Partial<{
|
|
|
106
110
|
target: "react" | "solid";
|
|
107
111
|
routeFileIgnorePrefix: string;
|
|
108
112
|
routesDirectory: string;
|
|
113
|
+
generatedRouteTree: string;
|
|
109
114
|
quoteStyle: "single" | "double";
|
|
110
115
|
semicolons: boolean;
|
|
111
|
-
disableLogging: boolean;
|
|
112
|
-
routeTreeFileHeader: string[];
|
|
113
|
-
indexToken: string;
|
|
114
|
-
routeToken: string;
|
|
115
|
-
generatedRouteTree: string;
|
|
116
116
|
disableTypes: boolean;
|
|
117
117
|
addExtensions: boolean;
|
|
118
|
+
disableLogging: boolean;
|
|
118
119
|
disableManifestGeneration: boolean;
|
|
119
120
|
enableRouteTreeFormatting: boolean;
|
|
121
|
+
apiBase: string;
|
|
122
|
+
routeTreeFileHeader: string[];
|
|
120
123
|
routeTreeFileFooter: string[];
|
|
124
|
+
indexToken: string;
|
|
125
|
+
routeToken: string;
|
|
121
126
|
enableRouteGeneration?: boolean | undefined;
|
|
122
127
|
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
123
128
|
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
124
129
|
routeFilePrefix?: string | undefined;
|
|
125
130
|
routeFileIgnorePattern?: string | undefined;
|
|
126
|
-
|
|
127
|
-
verboseFileRoutes?: boolean | undefined;
|
|
131
|
+
__enableAPIRoutesGeneration?: boolean | undefined;
|
|
128
132
|
autoCodeSplitting?: boolean | undefined;
|
|
133
|
+
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
129
134
|
customScaffolding?: {
|
|
130
135
|
routeTemplate?: string | undefined;
|
|
131
136
|
lazyRouteTemplate?: string | undefined;
|
|
137
|
+
apiTemplate?: string | undefined;
|
|
132
138
|
} | undefined;
|
|
133
139
|
experimental?: {
|
|
134
140
|
enableCodeSplitting?: boolean | undefined;
|
package/dist/esm/vite.d.ts
CHANGED
|
@@ -12,29 +12,31 @@ declare const TanStackRouterGeneratorVite: (options?: Partial<{
|
|
|
12
12
|
target: "react" | "solid";
|
|
13
13
|
routeFileIgnorePrefix: string;
|
|
14
14
|
routesDirectory: string;
|
|
15
|
+
generatedRouteTree: string;
|
|
15
16
|
quoteStyle: "single" | "double";
|
|
16
17
|
semicolons: boolean;
|
|
17
|
-
disableLogging: boolean;
|
|
18
|
-
routeTreeFileHeader: string[];
|
|
19
|
-
indexToken: string;
|
|
20
|
-
routeToken: string;
|
|
21
|
-
generatedRouteTree: string;
|
|
22
18
|
disableTypes: boolean;
|
|
23
19
|
addExtensions: boolean;
|
|
20
|
+
disableLogging: boolean;
|
|
24
21
|
disableManifestGeneration: boolean;
|
|
25
22
|
enableRouteTreeFormatting: boolean;
|
|
23
|
+
apiBase: string;
|
|
24
|
+
routeTreeFileHeader: string[];
|
|
26
25
|
routeTreeFileFooter: string[];
|
|
26
|
+
indexToken: string;
|
|
27
|
+
routeToken: string;
|
|
27
28
|
enableRouteGeneration?: boolean | undefined;
|
|
28
29
|
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
29
30
|
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
30
31
|
routeFilePrefix?: string | undefined;
|
|
31
32
|
routeFileIgnorePattern?: string | undefined;
|
|
32
|
-
|
|
33
|
-
verboseFileRoutes?: boolean | undefined;
|
|
33
|
+
__enableAPIRoutesGeneration?: boolean | undefined;
|
|
34
34
|
autoCodeSplitting?: boolean | undefined;
|
|
35
|
+
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
35
36
|
customScaffolding?: {
|
|
36
37
|
routeTemplate?: string | undefined;
|
|
37
38
|
lazyRouteTemplate?: string | undefined;
|
|
39
|
+
apiTemplate?: string | undefined;
|
|
38
40
|
} | undefined;
|
|
39
41
|
experimental?: {
|
|
40
42
|
enableCodeSplitting?: boolean | undefined;
|
|
@@ -53,29 +55,31 @@ declare const TanStackRouterCodeSplitterVite: (options?: Partial<{
|
|
|
53
55
|
target: "react" | "solid";
|
|
54
56
|
routeFileIgnorePrefix: string;
|
|
55
57
|
routesDirectory: string;
|
|
58
|
+
generatedRouteTree: string;
|
|
56
59
|
quoteStyle: "single" | "double";
|
|
57
60
|
semicolons: boolean;
|
|
58
|
-
disableLogging: boolean;
|
|
59
|
-
routeTreeFileHeader: string[];
|
|
60
|
-
indexToken: string;
|
|
61
|
-
routeToken: string;
|
|
62
|
-
generatedRouteTree: string;
|
|
63
61
|
disableTypes: boolean;
|
|
64
62
|
addExtensions: boolean;
|
|
63
|
+
disableLogging: boolean;
|
|
65
64
|
disableManifestGeneration: boolean;
|
|
66
65
|
enableRouteTreeFormatting: boolean;
|
|
66
|
+
apiBase: string;
|
|
67
|
+
routeTreeFileHeader: string[];
|
|
67
68
|
routeTreeFileFooter: string[];
|
|
69
|
+
indexToken: string;
|
|
70
|
+
routeToken: string;
|
|
68
71
|
enableRouteGeneration?: boolean | undefined;
|
|
69
72
|
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
70
73
|
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
71
74
|
routeFilePrefix?: string | undefined;
|
|
72
75
|
routeFileIgnorePattern?: string | undefined;
|
|
73
|
-
|
|
74
|
-
verboseFileRoutes?: boolean | undefined;
|
|
76
|
+
__enableAPIRoutesGeneration?: boolean | undefined;
|
|
75
77
|
autoCodeSplitting?: boolean | undefined;
|
|
78
|
+
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
76
79
|
customScaffolding?: {
|
|
77
80
|
routeTemplate?: string | undefined;
|
|
78
81
|
lazyRouteTemplate?: string | undefined;
|
|
82
|
+
apiTemplate?: string | undefined;
|
|
79
83
|
} | undefined;
|
|
80
84
|
experimental?: {
|
|
81
85
|
enableCodeSplitting?: boolean | undefined;
|
|
@@ -94,66 +98,36 @@ declare const TanStackRouterVite: (options?: Partial<{
|
|
|
94
98
|
target: "react" | "solid";
|
|
95
99
|
routeFileIgnorePrefix: string;
|
|
96
100
|
routesDirectory: string;
|
|
101
|
+
generatedRouteTree: string;
|
|
97
102
|
quoteStyle: "single" | "double";
|
|
98
103
|
semicolons: boolean;
|
|
99
|
-
disableLogging: boolean;
|
|
100
|
-
routeTreeFileHeader: string[];
|
|
101
|
-
indexToken: string;
|
|
102
|
-
routeToken: string;
|
|
103
|
-
generatedRouteTree: string;
|
|
104
104
|
disableTypes: boolean;
|
|
105
105
|
addExtensions: boolean;
|
|
106
|
+
disableLogging: boolean;
|
|
106
107
|
disableManifestGeneration: boolean;
|
|
107
108
|
enableRouteTreeFormatting: boolean;
|
|
108
|
-
|
|
109
|
-
enableRouteGeneration?: boolean | undefined;
|
|
110
|
-
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
111
|
-
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
112
|
-
routeFilePrefix?: string | undefined;
|
|
113
|
-
routeFileIgnorePattern?: string | undefined;
|
|
114
|
-
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
115
|
-
verboseFileRoutes?: boolean | undefined;
|
|
116
|
-
autoCodeSplitting?: boolean | undefined;
|
|
117
|
-
customScaffolding?: {
|
|
118
|
-
routeTemplate?: string | undefined;
|
|
119
|
-
lazyRouteTemplate?: string | undefined;
|
|
120
|
-
} | undefined;
|
|
121
|
-
experimental?: {
|
|
122
|
-
enableCodeSplitting?: boolean | undefined;
|
|
123
|
-
} | undefined;
|
|
124
|
-
}> | undefined) => import('vite').Plugin<any> | import('vite').Plugin<any>[];
|
|
125
|
-
declare const tanstackRouter: (options?: Partial<{
|
|
126
|
-
target: "react" | "solid";
|
|
127
|
-
routeFileIgnorePrefix: string;
|
|
128
|
-
routesDirectory: string;
|
|
129
|
-
quoteStyle: "single" | "double";
|
|
130
|
-
semicolons: boolean;
|
|
131
|
-
disableLogging: boolean;
|
|
109
|
+
apiBase: string;
|
|
132
110
|
routeTreeFileHeader: string[];
|
|
111
|
+
routeTreeFileFooter: string[];
|
|
133
112
|
indexToken: string;
|
|
134
113
|
routeToken: string;
|
|
135
|
-
generatedRouteTree: string;
|
|
136
|
-
disableTypes: boolean;
|
|
137
|
-
addExtensions: boolean;
|
|
138
|
-
disableManifestGeneration: boolean;
|
|
139
|
-
enableRouteTreeFormatting: boolean;
|
|
140
|
-
routeTreeFileFooter: string[];
|
|
141
114
|
enableRouteGeneration?: boolean | undefined;
|
|
142
115
|
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
143
116
|
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
144
117
|
routeFilePrefix?: string | undefined;
|
|
145
118
|
routeFileIgnorePattern?: string | undefined;
|
|
146
|
-
|
|
147
|
-
verboseFileRoutes?: boolean | undefined;
|
|
119
|
+
__enableAPIRoutesGeneration?: boolean | undefined;
|
|
148
120
|
autoCodeSplitting?: boolean | undefined;
|
|
121
|
+
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
149
122
|
customScaffolding?: {
|
|
150
123
|
routeTemplate?: string | undefined;
|
|
151
124
|
lazyRouteTemplate?: string | undefined;
|
|
125
|
+
apiTemplate?: string | undefined;
|
|
152
126
|
} | undefined;
|
|
153
127
|
experimental?: {
|
|
154
128
|
enableCodeSplitting?: boolean | undefined;
|
|
155
129
|
} | undefined;
|
|
156
130
|
}> | undefined) => import('vite').Plugin<any> | import('vite').Plugin<any>[];
|
|
157
131
|
export default TanStackRouterVite;
|
|
158
|
-
export { configSchema, TanStackRouterGeneratorVite, TanStackRouterCodeSplitterVite, TanStackRouterVite,
|
|
132
|
+
export { configSchema, TanStackRouterGeneratorVite, TanStackRouterCodeSplitterVite, TanStackRouterVite, };
|
|
159
133
|
export type { Config };
|
package/dist/esm/vite.js
CHANGED
|
@@ -10,13 +10,11 @@ const TanStackRouterCodeSplitterVite = createVitePlugin(
|
|
|
10
10
|
unpluginRouterCodeSplitterFactory
|
|
11
11
|
);
|
|
12
12
|
const TanStackRouterVite = createVitePlugin(unpluginRouterComposedFactory);
|
|
13
|
-
const tanstackRouter = TanStackRouterVite;
|
|
14
13
|
export {
|
|
15
14
|
TanStackRouterCodeSplitterVite,
|
|
16
15
|
TanStackRouterGeneratorVite,
|
|
17
16
|
TanStackRouterVite,
|
|
18
17
|
configSchema,
|
|
19
|
-
TanStackRouterVite as default
|
|
20
|
-
tanstackRouter
|
|
18
|
+
TanStackRouterVite as default
|
|
21
19
|
};
|
|
22
20
|
//# sourceMappingURL=vite.js.map
|
package/dist/esm/vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sources":["../../src/vite.ts"],"sourcesContent":["import { createVitePlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\n\nimport type { Config } from './core/config'\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [TanStackRouterGeneratorVite()],\n * // ...\n * })\n * ```\n */\nconst TanStackRouterGeneratorVite = createVitePlugin(\n unpluginRouterGeneratorFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [TanStackRouterCodeSplitterVite()],\n * // ...\n * })\n * ```\n */\nconst TanStackRouterCodeSplitterVite = createVitePlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [TanStackRouterVite()],\n * // ...\n * })\n * ```\n */\nconst TanStackRouterVite = createVitePlugin(unpluginRouterComposedFactory)\
|
|
1
|
+
{"version":3,"file":"vite.js","sources":["../../src/vite.ts"],"sourcesContent":["import { createVitePlugin } from 'unplugin'\n\nimport { configSchema } from './core/config'\nimport { unpluginRouterCodeSplitterFactory } from './core/router-code-splitter-plugin'\nimport { unpluginRouterGeneratorFactory } from './core/router-generator-plugin'\nimport { unpluginRouterComposedFactory } from './core/router-composed-plugin'\n\nimport type { Config } from './core/config'\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [TanStackRouterGeneratorVite()],\n * // ...\n * })\n * ```\n */\nconst TanStackRouterGeneratorVite = createVitePlugin(\n unpluginRouterGeneratorFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [TanStackRouterCodeSplitterVite()],\n * // ...\n * })\n * ```\n */\nconst TanStackRouterCodeSplitterVite = createVitePlugin(\n unpluginRouterCodeSplitterFactory,\n)\n\n/**\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [TanStackRouterVite()],\n * // ...\n * })\n * ```\n */\nconst TanStackRouterVite = createVitePlugin(unpluginRouterComposedFactory)\n\nexport default TanStackRouterVite\nexport {\n configSchema,\n TanStackRouterGeneratorVite,\n TanStackRouterCodeSplitterVite,\n TanStackRouterVite,\n}\nexport type { Config }\n"],"names":[],"mappings":";;;;;AAkBA,MAAM,8BAA8B;AAAA,EAClC;AACF;AAWA,MAAM,iCAAiC;AAAA,EACrC;AACF;AAWM,MAAA,qBAAqB,iBAAiB,6BAA6B;"}
|
package/dist/esm/webpack.d.ts
CHANGED
|
@@ -12,29 +12,31 @@ declare const TanStackRouterGeneratorWebpack: (options?: Partial<{
|
|
|
12
12
|
target: "react" | "solid";
|
|
13
13
|
routeFileIgnorePrefix: string;
|
|
14
14
|
routesDirectory: string;
|
|
15
|
+
generatedRouteTree: string;
|
|
15
16
|
quoteStyle: "single" | "double";
|
|
16
17
|
semicolons: boolean;
|
|
17
|
-
disableLogging: boolean;
|
|
18
|
-
routeTreeFileHeader: string[];
|
|
19
|
-
indexToken: string;
|
|
20
|
-
routeToken: string;
|
|
21
|
-
generatedRouteTree: string;
|
|
22
18
|
disableTypes: boolean;
|
|
23
19
|
addExtensions: boolean;
|
|
20
|
+
disableLogging: boolean;
|
|
24
21
|
disableManifestGeneration: boolean;
|
|
25
22
|
enableRouteTreeFormatting: boolean;
|
|
23
|
+
apiBase: string;
|
|
24
|
+
routeTreeFileHeader: string[];
|
|
26
25
|
routeTreeFileFooter: string[];
|
|
26
|
+
indexToken: string;
|
|
27
|
+
routeToken: string;
|
|
27
28
|
enableRouteGeneration?: boolean | undefined;
|
|
28
29
|
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
29
30
|
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
30
31
|
routeFilePrefix?: string | undefined;
|
|
31
32
|
routeFileIgnorePattern?: string | undefined;
|
|
32
|
-
|
|
33
|
-
verboseFileRoutes?: boolean | undefined;
|
|
33
|
+
__enableAPIRoutesGeneration?: boolean | undefined;
|
|
34
34
|
autoCodeSplitting?: boolean | undefined;
|
|
35
|
+
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
35
36
|
customScaffolding?: {
|
|
36
37
|
routeTemplate?: string | undefined;
|
|
37
38
|
lazyRouteTemplate?: string | undefined;
|
|
39
|
+
apiTemplate?: string | undefined;
|
|
38
40
|
} | undefined;
|
|
39
41
|
experimental?: {
|
|
40
42
|
enableCodeSplitting?: boolean | undefined;
|
|
@@ -53,29 +55,31 @@ declare const TanStackRouterCodeSplitterWebpack: (options?: Partial<{
|
|
|
53
55
|
target: "react" | "solid";
|
|
54
56
|
routeFileIgnorePrefix: string;
|
|
55
57
|
routesDirectory: string;
|
|
58
|
+
generatedRouteTree: string;
|
|
56
59
|
quoteStyle: "single" | "double";
|
|
57
60
|
semicolons: boolean;
|
|
58
|
-
disableLogging: boolean;
|
|
59
|
-
routeTreeFileHeader: string[];
|
|
60
|
-
indexToken: string;
|
|
61
|
-
routeToken: string;
|
|
62
|
-
generatedRouteTree: string;
|
|
63
61
|
disableTypes: boolean;
|
|
64
62
|
addExtensions: boolean;
|
|
63
|
+
disableLogging: boolean;
|
|
65
64
|
disableManifestGeneration: boolean;
|
|
66
65
|
enableRouteTreeFormatting: boolean;
|
|
66
|
+
apiBase: string;
|
|
67
|
+
routeTreeFileHeader: string[];
|
|
67
68
|
routeTreeFileFooter: string[];
|
|
69
|
+
indexToken: string;
|
|
70
|
+
routeToken: string;
|
|
68
71
|
enableRouteGeneration?: boolean | undefined;
|
|
69
72
|
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
70
73
|
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
71
74
|
routeFilePrefix?: string | undefined;
|
|
72
75
|
routeFileIgnorePattern?: string | undefined;
|
|
73
|
-
|
|
74
|
-
verboseFileRoutes?: boolean | undefined;
|
|
76
|
+
__enableAPIRoutesGeneration?: boolean | undefined;
|
|
75
77
|
autoCodeSplitting?: boolean | undefined;
|
|
78
|
+
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
76
79
|
customScaffolding?: {
|
|
77
80
|
routeTemplate?: string | undefined;
|
|
78
81
|
lazyRouteTemplate?: string | undefined;
|
|
82
|
+
apiTemplate?: string | undefined;
|
|
79
83
|
} | undefined;
|
|
80
84
|
experimental?: {
|
|
81
85
|
enableCodeSplitting?: boolean | undefined;
|
|
@@ -94,29 +98,31 @@ declare const TanStackRouterWebpack: (options?: Partial<{
|
|
|
94
98
|
target: "react" | "solid";
|
|
95
99
|
routeFileIgnorePrefix: string;
|
|
96
100
|
routesDirectory: string;
|
|
101
|
+
generatedRouteTree: string;
|
|
97
102
|
quoteStyle: "single" | "double";
|
|
98
103
|
semicolons: boolean;
|
|
99
|
-
disableLogging: boolean;
|
|
100
|
-
routeTreeFileHeader: string[];
|
|
101
|
-
indexToken: string;
|
|
102
|
-
routeToken: string;
|
|
103
|
-
generatedRouteTree: string;
|
|
104
104
|
disableTypes: boolean;
|
|
105
105
|
addExtensions: boolean;
|
|
106
|
+
disableLogging: boolean;
|
|
106
107
|
disableManifestGeneration: boolean;
|
|
107
108
|
enableRouteTreeFormatting: boolean;
|
|
109
|
+
apiBase: string;
|
|
110
|
+
routeTreeFileHeader: string[];
|
|
108
111
|
routeTreeFileFooter: string[];
|
|
112
|
+
indexToken: string;
|
|
113
|
+
routeToken: string;
|
|
109
114
|
enableRouteGeneration?: boolean | undefined;
|
|
110
115
|
codeSplittingOptions?: import('./core/config.js').CodeSplittingOptions | undefined;
|
|
111
116
|
virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
|
|
112
117
|
routeFilePrefix?: string | undefined;
|
|
113
118
|
routeFileIgnorePattern?: string | undefined;
|
|
114
|
-
|
|
115
|
-
verboseFileRoutes?: boolean | undefined;
|
|
119
|
+
__enableAPIRoutesGeneration?: boolean | undefined;
|
|
116
120
|
autoCodeSplitting?: boolean | undefined;
|
|
121
|
+
pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
|
|
117
122
|
customScaffolding?: {
|
|
118
123
|
routeTemplate?: string | undefined;
|
|
119
124
|
lazyRouteTemplate?: string | undefined;
|
|
125
|
+
apiTemplate?: string | undefined;
|
|
120
126
|
} | undefined;
|
|
121
127
|
experimental?: {
|
|
122
128
|
enableCodeSplitting?: boolean | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/router-plugin",
|
|
3
|
-
"version": "1.120.4
|
|
3
|
+
"version": "1.120.4",
|
|
4
4
|
"description": "Modern and scalable routing for React applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -100,17 +100,17 @@
|
|
|
100
100
|
"chokidar": "^3.6.0",
|
|
101
101
|
"unplugin": "^2.1.2",
|
|
102
102
|
"zod": "^3.24.2",
|
|
103
|
-
"@tanstack/router-core": "^1.120.4
|
|
104
|
-
"@tanstack/router-generator": "^1.120.4
|
|
105
|
-
"@tanstack/
|
|
106
|
-
"@tanstack/
|
|
103
|
+
"@tanstack/router-core": "^1.120.4",
|
|
104
|
+
"@tanstack/router-generator": "^1.120.4",
|
|
105
|
+
"@tanstack/virtual-file-routes": "^1.115.0",
|
|
106
|
+
"@tanstack/router-utils": "^1.115.0"
|
|
107
107
|
},
|
|
108
108
|
"peerDependencies": {
|
|
109
109
|
"@rsbuild/core": ">=1.0.2",
|
|
110
110
|
"vite": ">=5.0.0 || >=6.0.0",
|
|
111
111
|
"vite-plugin-solid": "^2.11.2",
|
|
112
112
|
"webpack": ">=5.92.0",
|
|
113
|
-
"@tanstack/react-router": "^1.120.4
|
|
113
|
+
"@tanstack/react-router": "^1.120.4"
|
|
114
114
|
},
|
|
115
115
|
"peerDependenciesMeta": {
|
|
116
116
|
"@rsbuild/core": {
|
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
} from 'babel-dead-code-elimination'
|
|
8
8
|
import { generateFromAst, parseAst } from '@tanstack/router-utils'
|
|
9
9
|
import { tsrSplit } from '../constants'
|
|
10
|
-
import { routeHmrStatement } from '../route-hmr-statement'
|
|
11
10
|
import { createIdentifier } from './path-ids'
|
|
12
11
|
import { getFrameworkOptions } from './framework-options'
|
|
13
12
|
import type { GeneratorResult, ParseAstOptions } from '@tanstack/router-utils'
|
|
@@ -118,8 +117,6 @@ export function compileCodeSplitReferenceRoute(
|
|
|
118
117
|
runtimeEnv: 'dev' | 'prod'
|
|
119
118
|
codeSplitGroupings: CodeSplitGroupings
|
|
120
119
|
targetFramework: Config['target']
|
|
121
|
-
filename: string
|
|
122
|
-
id: string
|
|
123
120
|
},
|
|
124
121
|
): GeneratorResult {
|
|
125
122
|
const ast = parseAst(opts)
|
|
@@ -169,13 +166,18 @@ export function compileCodeSplitReferenceRoute(
|
|
|
169
166
|
return
|
|
170
167
|
}
|
|
171
168
|
|
|
172
|
-
|
|
169
|
+
if (t.isCallExpression(path.parentPath.node)) {
|
|
170
|
+
const options = resolveIdentifier(
|
|
171
|
+
path,
|
|
172
|
+
path.parentPath.node.arguments[0],
|
|
173
|
+
)
|
|
174
|
+
|
|
173
175
|
const hasImportedOrDefinedIdentifier = (name: string) => {
|
|
174
176
|
return programPath.scope.hasBinding(name)
|
|
175
177
|
}
|
|
176
178
|
|
|
177
|
-
if (t.isObjectExpression(
|
|
178
|
-
|
|
179
|
+
if (t.isObjectExpression(options)) {
|
|
180
|
+
options.properties.forEach((prop) => {
|
|
179
181
|
if (t.isObjectProperty(prop)) {
|
|
180
182
|
if (t.isIdentifier(prop.key)) {
|
|
181
183
|
// If the user has not specified a split grouping for this key
|
|
@@ -286,9 +288,18 @@ export function compileCodeSplitReferenceRoute(
|
|
|
286
288
|
)()
|
|
287
289
|
}
|
|
288
290
|
|
|
289
|
-
//
|
|
290
|
-
if (
|
|
291
|
-
|
|
291
|
+
// If the TSRDummyComponent is not defined, define it
|
|
292
|
+
if (
|
|
293
|
+
opts.runtimeEnv !== 'prod' && // only in development
|
|
294
|
+
!hasImportedOrDefinedIdentifier(
|
|
295
|
+
frameworkOptions.idents.dummyHMRComponent,
|
|
296
|
+
)
|
|
297
|
+
) {
|
|
298
|
+
programPath.pushContainer('body', [
|
|
299
|
+
template.statement(
|
|
300
|
+
frameworkOptions.dummyHMRComponent,
|
|
301
|
+
)(),
|
|
302
|
+
])
|
|
292
303
|
}
|
|
293
304
|
}
|
|
294
305
|
|
|
@@ -358,27 +369,6 @@ export function compileCodeSplitReferenceRoute(
|
|
|
358
369
|
})
|
|
359
370
|
}
|
|
360
371
|
}
|
|
361
|
-
|
|
362
|
-
if (t.isCallExpression(path.parentPath.node)) {
|
|
363
|
-
// createFileRoute('/')({ ... })
|
|
364
|
-
const options = resolveIdentifier(
|
|
365
|
-
path,
|
|
366
|
-
path.parentPath.node.arguments[0],
|
|
367
|
-
)
|
|
368
|
-
|
|
369
|
-
babelHandleReference(options)
|
|
370
|
-
} else if (t.isVariableDeclarator(path.parentPath.node)) {
|
|
371
|
-
// createFileRoute({ ... })
|
|
372
|
-
const caller = resolveIdentifier(
|
|
373
|
-
path,
|
|
374
|
-
path.parentPath.node.init,
|
|
375
|
-
)
|
|
376
|
-
|
|
377
|
-
if (t.isCallExpression(caller)) {
|
|
378
|
-
const options = resolveIdentifier(path, caller.arguments[0])
|
|
379
|
-
babelHandleReference(options)
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
372
|
},
|
|
383
373
|
},
|
|
384
374
|
state,
|
|
@@ -416,7 +406,6 @@ export function compileCodeSplitReferenceRoute(
|
|
|
416
406
|
export function compileCodeSplitVirtualRoute(
|
|
417
407
|
opts: ParseAstOptions & {
|
|
418
408
|
splitTargets: Array<SplitRouteIdentNodes>
|
|
419
|
-
filename: string
|
|
420
409
|
},
|
|
421
410
|
): GeneratorResult {
|
|
422
411
|
const ast = parseAst(opts)
|
|
@@ -459,7 +448,12 @@ export function compileCodeSplitVirtualRoute(
|
|
|
459
448
|
return
|
|
460
449
|
}
|
|
461
450
|
|
|
462
|
-
|
|
451
|
+
if (t.isCallExpression(path.parentPath.node)) {
|
|
452
|
+
const options = resolveIdentifier(
|
|
453
|
+
path,
|
|
454
|
+
path.parentPath.node.arguments[0],
|
|
455
|
+
)
|
|
456
|
+
|
|
463
457
|
if (t.isObjectExpression(options)) {
|
|
464
458
|
options.properties.forEach((prop) => {
|
|
465
459
|
if (t.isObjectProperty(prop)) {
|
|
@@ -503,27 +497,6 @@ export function compileCodeSplitVirtualRoute(
|
|
|
503
497
|
options.properties = []
|
|
504
498
|
}
|
|
505
499
|
}
|
|
506
|
-
|
|
507
|
-
if (t.isCallExpression(path.parentPath.node)) {
|
|
508
|
-
// createFileRoute('/')({ ... })
|
|
509
|
-
const options = resolveIdentifier(
|
|
510
|
-
path,
|
|
511
|
-
path.parentPath.node.arguments[0],
|
|
512
|
-
)
|
|
513
|
-
|
|
514
|
-
babelHandleVirtual(options)
|
|
515
|
-
} else if (t.isVariableDeclarator(path.parentPath.node)) {
|
|
516
|
-
// createFileRoute({ ... })
|
|
517
|
-
const caller = resolveIdentifier(
|
|
518
|
-
path,
|
|
519
|
-
path.parentPath.node.init,
|
|
520
|
-
)
|
|
521
|
-
|
|
522
|
-
if (t.isCallExpression(caller)) {
|
|
523
|
-
const options = resolveIdentifier(path, caller.arguments[0])
|
|
524
|
-
babelHandleVirtual(options)
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
500
|
},
|
|
528
501
|
},
|
|
529
502
|
state,
|
|
@@ -868,7 +841,7 @@ function getImportSpecifierAndPathFromLocalName(
|
|
|
868
841
|
}
|
|
869
842
|
|
|
870
843
|
// Reusable function to get literal value or resolve variable to literal
|
|
871
|
-
function resolveIdentifier(path: any, node: any)
|
|
844
|
+
function resolveIdentifier(path: any, node: any) {
|
|
872
845
|
if (t.isIdentifier(node)) {
|
|
873
846
|
const binding = path.scope.getBinding(node.name)
|
|
874
847
|
if (
|
|
@@ -4,7 +4,9 @@ type FrameworkOptions = {
|
|
|
4
4
|
createFileRoute: string
|
|
5
5
|
lazyFn: string
|
|
6
6
|
lazyRouteComponent: string
|
|
7
|
+
dummyHMRComponent: string
|
|
7
8
|
}
|
|
9
|
+
dummyHMRComponent: string
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
export function getFrameworkOptions(framework: string): FrameworkOptions {
|
|
@@ -18,7 +20,9 @@ export function getFrameworkOptions(framework: string): FrameworkOptions {
|
|
|
18
20
|
createFileRoute: 'createFileRoute',
|
|
19
21
|
lazyFn: 'lazyFn',
|
|
20
22
|
lazyRouteComponent: 'lazyRouteComponent',
|
|
23
|
+
dummyHMRComponent: 'TSRDummyComponent',
|
|
21
24
|
},
|
|
25
|
+
dummyHMRComponent: `export function TSRDummyComponent() { return null }`,
|
|
22
26
|
}
|
|
23
27
|
break
|
|
24
28
|
case 'solid':
|
|
@@ -28,7 +32,9 @@ export function getFrameworkOptions(framework: string): FrameworkOptions {
|
|
|
28
32
|
createFileRoute: 'createFileRoute',
|
|
29
33
|
lazyFn: 'lazyFn',
|
|
30
34
|
lazyRouteComponent: 'lazyRouteComponent',
|
|
35
|
+
dummyHMRComponent: 'TSRDummyComponent',
|
|
31
36
|
},
|
|
37
|
+
dummyHMRComponent: `export function TSRDummyComponent() { return null }`,
|
|
32
38
|
}
|
|
33
39
|
break
|
|
34
40
|
default:
|