@chuckcchen/vite-plugin 1.0.19 → 1.0.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/bundler.d.ts +5 -18
- package/dist/bundler.d.ts.map +1 -1
- package/dist/bundler.js +43 -30
- package/dist/bundler.js.map +1 -1
- package/dist/core.d.ts +2 -18
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +125 -248
- package/dist/core.js.map +1 -1
- package/dist/factory/detectors.d.ts +5 -15
- package/dist/factory/detectors.d.ts.map +1 -1
- package/dist/factory/detectors.js +8 -22
- package/dist/factory/detectors.js.map +1 -1
- package/dist/factory/hooks.d.ts +4 -59
- package/dist/factory/hooks.d.ts.map +1 -1
- package/dist/factory/hooks.js +18 -117
- package/dist/factory/hooks.js.map +1 -1
- package/dist/factory/index.d.ts +7 -51
- package/dist/factory/index.d.ts.map +1 -1
- package/dist/factory/index.js +10 -55
- package/dist/factory/index.js.map +1 -1
- package/dist/factory/presets.d.ts +16 -121
- package/dist/factory/presets.d.ts.map +1 -1
- package/dist/factory/presets.js +143 -174
- package/dist/factory/presets.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -35
- package/dist/index.js.map +1 -1
- package/dist/route/index.d.ts +1 -1
- package/dist/route/index.d.ts.map +1 -1
- package/dist/route/index.js +1 -3
- package/dist/route/index.js.map +1 -1
- package/dist/route/parser.d.ts +0 -37
- package/dist/route/parser.d.ts.map +1 -1
- package/dist/route/parser.js +11 -124
- package/dist/route/parser.js.map +1 -1
- package/dist/route/regex.d.ts +15 -80
- package/dist/route/regex.d.ts.map +1 -1
- package/dist/route/regex.js +65 -169
- package/dist/route/regex.js.map +1 -1
- package/dist/route/regex.test.d.ts +7 -0
- package/dist/route/regex.test.d.ts.map +1 -0
- package/dist/route/regex.test.js +662 -0
- package/dist/route/regex.test.js.map +1 -0
- package/dist/route/types.d.ts +0 -58
- package/dist/route/types.d.ts.map +1 -1
- package/dist/types.d.ts +36 -147
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +1 -78
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +11 -144
- package/dist/utils.js.map +1 -1
- package/dist/vite-config-parser.d.ts +4 -141
- package/dist/vite-config-parser.d.ts.map +1 -1
- package/dist/vite-config-parser.js +25 -235
- package/dist/vite-config-parser.js.map +1 -1
- package/package.json +1 -1
package/dist/route/regex.js
CHANGED
|
@@ -1,94 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Route Regex - Convert dynamic routes to regular expressions
|
|
3
|
-
*
|
|
4
|
-
* This module provides utilities to convert dynamic route paths from various
|
|
5
|
-
* framework syntaxes into regular expression patterns for route matching.
|
|
6
|
-
*/
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Dynamic Route Detection
|
|
9
|
-
// ============================================================================
|
|
10
|
-
/**
|
|
11
|
-
* Check if a route path contains dynamic segments
|
|
12
|
-
*
|
|
13
|
-
* Detects patterns from multiple syntaxes:
|
|
14
|
-
* - Colon syntax: :param, :param?, * (React Router, Remix, Express)
|
|
15
|
-
* - Dollar syntax: $param, $ (TanStack Start)
|
|
16
|
-
* - Bracket syntax: [param], [[param]], [...param] (Next.js, Nuxt, SvelteKit)
|
|
17
3
|
*/
|
|
4
|
+
/** Check if a route path contains dynamic segments */
|
|
18
5
|
export function isDynamicRoute(routePath) {
|
|
19
|
-
// Colon syntax: :param or :param?
|
|
20
6
|
if (/:[\w]+\??/.test(routePath))
|
|
21
7
|
return true;
|
|
22
|
-
// Dollar syntax: $param or lone $
|
|
23
8
|
if (/\$[\w]*/.test(routePath))
|
|
24
9
|
return true;
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
if (/\[{1,2}(\.{3})?[\w]+\]{1,2}/.test(routePath))
|
|
11
|
+
return true;
|
|
12
|
+
if (/@[\w]+/.test(routePath))
|
|
27
13
|
return true;
|
|
28
|
-
// Wildcard: *
|
|
29
14
|
if (/\*/.test(routePath))
|
|
30
15
|
return true;
|
|
31
16
|
return false;
|
|
32
17
|
}
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
/** Check if a route is a catch-all route */
|
|
19
|
+
export function isCatchAllRoute(routePath) {
|
|
20
|
+
if (/\*/.test(routePath))
|
|
21
|
+
return true;
|
|
22
|
+
if (/\/\$$/.test(routePath) || routePath === "$")
|
|
23
|
+
return true;
|
|
24
|
+
if (/\[{1,2}\.{3}[\w]+\]{1,2}/.test(routePath))
|
|
25
|
+
return true;
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
36
28
|
function detectRouteSyntax(routePath) {
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
if (/@[\w]+/.test(routePath))
|
|
30
|
+
return "at";
|
|
31
|
+
if (/\$[\w]+/.test(routePath) || /\/\$$/.test(routePath))
|
|
39
32
|
return "dollar";
|
|
40
|
-
}
|
|
41
|
-
// Bracket syntax: [param] style
|
|
42
|
-
if (/\[{1,2}\.{0,3}[\w]+\]{1,2}/.test(routePath)) {
|
|
33
|
+
if (/\[{1,2}(\.{3})?[\w]+\]{1,2}/.test(routePath))
|
|
43
34
|
return "bracket";
|
|
44
|
-
}
|
|
45
|
-
// Colon syntax: :param style (default)
|
|
46
35
|
return "colon";
|
|
47
36
|
}
|
|
48
|
-
|
|
49
|
-
// Route to Regex Conversion
|
|
50
|
-
// ============================================================================
|
|
51
|
-
/**
|
|
52
|
-
* Convert a route path to a regular expression pattern
|
|
53
|
-
*
|
|
54
|
-
* Supports multiple route parameter syntaxes:
|
|
55
|
-
*
|
|
56
|
-
* **Colon syntax** (React Router, Remix, Express, Vue Router):
|
|
57
|
-
* - `:slug` → `([^/]+)` - Required dynamic parameter
|
|
58
|
-
* - `:slug?` → `([^/]+)?` - Optional dynamic parameter
|
|
59
|
-
* - `*` → `(.*)` - Wildcard/splat (catches everything)
|
|
60
|
-
*
|
|
61
|
-
* **Dollar syntax** (TanStack Start):
|
|
62
|
-
* - `$slug` → `([^/]+)` - Required dynamic parameter
|
|
63
|
-
* - `$` (at end) → `(.*)` - Wildcard/splat
|
|
64
|
-
*
|
|
65
|
-
* **Bracket syntax** (Next.js, Nuxt, SvelteKit):
|
|
66
|
-
* - `[slug]` → `([^/]+)` - Required dynamic parameter
|
|
67
|
-
* - `[[slug]]` → `([^/]+)?` - Optional dynamic parameter
|
|
68
|
-
* - `[...slug]` → `(.*)` - Catch-all
|
|
69
|
-
* - `[[...slug]]` → `(.*)?` - Optional catch-all
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* // Colon syntax
|
|
73
|
-
* routeToRegex("/blog/:slug") // "^/blog/([^/]+)/?$"
|
|
74
|
-
* routeToRegex("/files/*") // "^/files(?:/(.*))?$"
|
|
75
|
-
*
|
|
76
|
-
* // Dollar syntax
|
|
77
|
-
* routeToRegex("/blog/$slug") // "^/blog/([^/]+)/?$"
|
|
78
|
-
* routeToRegex("/files/$") // "^/files(?:/(.*))?$"
|
|
79
|
-
*
|
|
80
|
-
* // Bracket syntax
|
|
81
|
-
* routeToRegex("/blog/[slug]") // "^/blog/([^/]+)/?$"
|
|
82
|
-
* routeToRegex("/files/[...path]") // "^/files(?:/(.*))?$"
|
|
83
|
-
*/
|
|
37
|
+
/** Convert a route path to a regular expression pattern */
|
|
84
38
|
export function routeToRegex(routePath, options = {}) {
|
|
85
|
-
const { syntax = "auto", trailingSlashOptional = true, anchored = true
|
|
86
|
-
// Determine which syntax to use
|
|
39
|
+
const { syntax = "auto", trailingSlashOptional = true, anchored = true } = options;
|
|
87
40
|
const effectiveSyntax = syntax === "auto" ? detectRouteSyntax(routePath) : syntax;
|
|
88
|
-
// Escape special regex characters (except those we'll handle)
|
|
89
41
|
let pattern = routePath.replace(/[.+^${}()|[\]\\]/g, "\\$&");
|
|
90
|
-
// Handle syntax-specific patterns
|
|
91
42
|
switch (effectiveSyntax) {
|
|
43
|
+
case "at":
|
|
44
|
+
pattern = convertAtSyntax(pattern);
|
|
45
|
+
break;
|
|
92
46
|
case "dollar":
|
|
93
47
|
pattern = convertDollarSyntax(pattern);
|
|
94
48
|
break;
|
|
@@ -100,145 +54,87 @@ export function routeToRegex(routePath, options = {}) {
|
|
|
100
54
|
pattern = convertColonSyntax(pattern);
|
|
101
55
|
break;
|
|
102
56
|
}
|
|
103
|
-
// Add trailing slash handling
|
|
104
57
|
if (trailingSlashOptional && !pattern.endsWith(")?$") && !pattern.endsWith(")?")) {
|
|
105
58
|
pattern = pattern + "/?";
|
|
106
59
|
}
|
|
107
|
-
// Add anchors
|
|
108
60
|
if (anchored) {
|
|
109
|
-
if (!pattern.startsWith("^"))
|
|
61
|
+
if (!pattern.startsWith("^"))
|
|
110
62
|
pattern = "^" + pattern;
|
|
111
|
-
|
|
112
|
-
if (!pattern.endsWith("$")) {
|
|
63
|
+
if (!pattern.endsWith("$"))
|
|
113
64
|
pattern = pattern + "$";
|
|
114
|
-
}
|
|
115
65
|
}
|
|
116
66
|
return pattern;
|
|
117
67
|
}
|
|
118
|
-
// ============================================================================
|
|
119
|
-
// Syntax Converters
|
|
120
|
-
// ============================================================================
|
|
121
|
-
/**
|
|
122
|
-
* Convert colon syntax patterns (:param)
|
|
123
|
-
* Used by: React Router, Remix, Express, Vue Router
|
|
124
|
-
* - :param → ([^/]+)
|
|
125
|
-
* - :param? → ([^/]+)?
|
|
126
|
-
* - * → (.*)
|
|
127
|
-
*/
|
|
128
68
|
function convertColonSyntax(pattern) {
|
|
129
|
-
// Handle wildcard * at the end (splat route)
|
|
130
|
-
// /files/* → /files(?:/(.*))?
|
|
131
|
-
// Note: * is NOT escaped by the caller, so we match literal *
|
|
132
69
|
if (/\/\*$/.test(pattern) || pattern === "*") {
|
|
133
70
|
pattern = pattern.replace(/\/?\*$/, "(?:/(.*))?");
|
|
134
71
|
}
|
|
135
72
|
else if (/\*/.test(pattern)) {
|
|
136
|
-
// Handle inline * (rare but possible)
|
|
137
73
|
pattern = pattern.replace(/\*/g, "(.*)");
|
|
138
74
|
}
|
|
139
|
-
|
|
140
|
-
pattern = pattern.replace(/:(\w+)\?/g, "([^/]+)?");
|
|
141
|
-
// Handle required parameters :param
|
|
75
|
+
pattern = pattern.replace(/\/:(\w+)\?/g, "(?:/([^/]+))?");
|
|
142
76
|
pattern = pattern.replace(/:(\w+)/g, "([^/]+)");
|
|
143
77
|
return pattern;
|
|
144
78
|
}
|
|
145
|
-
/**
|
|
146
|
-
* Convert dollar syntax patterns ($param)
|
|
147
|
-
* Used by: TanStack Start
|
|
148
|
-
* - $param → ([^/]+)
|
|
149
|
-
* - $ (at end, lone) → (.*)
|
|
150
|
-
*/
|
|
151
79
|
function convertDollarSyntax(pattern) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
if (pattern.endsWith("/\\$") || pattern === "\\$") {
|
|
155
|
-
pattern = pattern.replace(/\/?\\\$$/, "(?:/(.*))?");
|
|
156
|
-
}
|
|
157
|
-
else if (pattern.endsWith("\\$")) {
|
|
158
|
-
// Handle $ at end without leading slash
|
|
159
|
-
pattern = pattern.replace(/\\\$$/, "(?:/(.*))?");
|
|
80
|
+
if (/\\\$(?!\w)/.test(pattern) || pattern === "\\$") {
|
|
81
|
+
pattern = pattern.replace(/\/?\\\$(?!\w)/, "(?:/(.*))?");
|
|
160
82
|
}
|
|
161
|
-
// Handle named parameters $param (not lone $)
|
|
162
|
-
// Must be careful not to match already-converted patterns
|
|
163
83
|
pattern = pattern.replace(/\\\$(\w+)/g, "([^/]+)");
|
|
164
84
|
return pattern;
|
|
165
85
|
}
|
|
166
|
-
/**
|
|
167
|
-
* Convert bracket syntax patterns ([param])
|
|
168
|
-
* Used by: Next.js, Nuxt, SvelteKit
|
|
169
|
-
* - [param] → ([^/]+)
|
|
170
|
-
* - [[param]] → ([^/]+)?
|
|
171
|
-
* - [...param] → (.*)
|
|
172
|
-
* - [[...param]] → (.*)?
|
|
173
|
-
*/
|
|
174
86
|
function convertBracketSyntax(pattern) {
|
|
175
|
-
|
|
176
|
-
pattern = pattern.replace(
|
|
177
|
-
|
|
178
|
-
pattern = pattern.replace(/\\\[\\\.\\\.\\\.(\w+)\\\]/g, "(?:/(.*))?");
|
|
179
|
-
// Handle optional dynamic [[param]]
|
|
180
|
-
pattern = pattern.replace(/\\\[\\\[(\w+)\\\]\\\]/g, "([^/]+)?");
|
|
181
|
-
// Handle required dynamic [param]
|
|
87
|
+
pattern = pattern.replace(/\/\\\[\\\[\\\.\\\.\\\.(\w+)\\\]\\\]/g, "(?:/(.*))?");
|
|
88
|
+
pattern = pattern.replace(/\/\\\[\\\.\\\.\\\.(\w+)\\\]/g, "(?:/(.*))?");
|
|
89
|
+
pattern = pattern.replace(/\/\\\[\\\[(\w+)\\\]\\\]/g, "(?:/([^/]+))?");
|
|
182
90
|
pattern = pattern.replace(/\\\[(\w+)\\\]/g, "([^/]+)");
|
|
183
91
|
return pattern;
|
|
184
92
|
}
|
|
185
|
-
|
|
186
|
-
//
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
93
|
+
function convertAtSyntax(pattern) {
|
|
94
|
+
// @param → ([^/]+)
|
|
95
|
+
pattern = pattern.replace(/@(\w+)/g, "([^/]+)");
|
|
96
|
+
return pattern;
|
|
97
|
+
}
|
|
98
|
+
function getRoutePriority(routePath) {
|
|
99
|
+
let score = 0;
|
|
100
|
+
if (isCatchAllRoute(routePath)) {
|
|
101
|
+
score += 1000;
|
|
102
|
+
}
|
|
103
|
+
else if (isDynamicRoute(routePath)) {
|
|
104
|
+
score += 100;
|
|
105
|
+
}
|
|
106
|
+
const segments = routePath.split('/').filter(Boolean);
|
|
107
|
+
score -= segments.length * 10;
|
|
108
|
+
const staticSegments = segments.filter(seg => {
|
|
109
|
+
return !/:[\w]+/.test(seg) && !/\$[\w]*/.test(seg) && !/\[/.test(seg) && !/@[\w]+/.test(seg) && seg !== '*';
|
|
110
|
+
});
|
|
111
|
+
score -= staticSegments.length * 5;
|
|
112
|
+
return score;
|
|
113
|
+
}
|
|
114
|
+
/** Sort routes by priority for correct matching order */
|
|
115
|
+
export function sortRoutesByPriority(routes) {
|
|
116
|
+
return [...routes].sort((a, b) => {
|
|
117
|
+
const aPath = a.srcRoute || a.path;
|
|
118
|
+
const bPath = b.srcRoute || b.path;
|
|
119
|
+
return getRoutePriority(aPath) - getRoutePriority(bPath);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/** Add regex patterns to routes with dynamic segments */
|
|
198
123
|
export function addRegexToRoutes(routes, options = {}) {
|
|
199
124
|
return routes.map(route => {
|
|
200
|
-
// Use srcRoute if available, otherwise use path
|
|
201
125
|
const routePath = route.srcRoute || route.path;
|
|
202
|
-
// Only add regex for dynamic routes
|
|
203
126
|
if (isDynamicRoute(routePath)) {
|
|
204
|
-
return {
|
|
205
|
-
...route,
|
|
206
|
-
regex: routeToRegex(routePath, options),
|
|
207
|
-
};
|
|
127
|
+
return { ...route, regex: routeToRegex(routePath, options) };
|
|
208
128
|
}
|
|
209
129
|
return route;
|
|
210
130
|
});
|
|
211
131
|
}
|
|
212
|
-
/**
|
|
213
|
-
* Convert routes to simplified meta.json format
|
|
214
|
-
*
|
|
215
|
-
* This function converts RouteInfo array to MetaRouteInfo array,
|
|
216
|
-
* keeping only `regexPath` and `isStatic` fields for EdgeOne runtime.
|
|
217
|
-
*
|
|
218
|
-
* - Dynamic routes (with parameters like :id, $id, [id]) are converted to regex patterns
|
|
219
|
-
* - Static routes keep their original path without conversion
|
|
220
|
-
*
|
|
221
|
-
* @param routes - Array of route info objects
|
|
222
|
-
* @param options - Options for regex conversion
|
|
223
|
-
* @returns Simplified routes for meta.json
|
|
224
|
-
*/
|
|
132
|
+
/** Convert routes to simplified meta.json format */
|
|
225
133
|
export function convertRoutesToMetaFormat(routes, options = {}) {
|
|
226
134
|
return routes.map(route => {
|
|
227
|
-
// Use srcRoute if available, otherwise use path
|
|
228
135
|
const routePath = route.srcRoute || route.path;
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
// Dynamic route: convert to regex pattern
|
|
232
|
-
regexPath = routeToRegex(routePath, options);
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
// Static route: keep original path, no conversion needed
|
|
236
|
-
regexPath = routePath;
|
|
237
|
-
}
|
|
238
|
-
return {
|
|
239
|
-
regexPath,
|
|
240
|
-
isStatic: route.isStatic,
|
|
241
|
-
};
|
|
136
|
+
const regexPath = isDynamicRoute(routePath) ? routeToRegex(routePath, options) : routePath;
|
|
137
|
+
return { regexPath, isStatic: route.isStatic };
|
|
242
138
|
});
|
|
243
139
|
}
|
|
244
140
|
//# sourceMappingURL=regex.js.map
|
package/dist/route/regex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../../src/route/regex.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../../src/route/regex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regex.test.d.ts","sourceRoot":"","sources":["../../src/route/regex.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwvBH,wBAAgB,WAAW,SA6B1B"}
|