@zphhpzzph/vue-route-gen 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +709 -36
- package/dist/extract-meta.d.ts +33 -0
- package/dist/extract-meta.d.ts.map +1 -0
- package/dist/extract-meta.js +137 -0
- package/dist/extract-meta.js.map +1 -0
- package/dist/hooks.d.ts +45 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +30 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +327 -24
- package/dist/index.js.map +1 -1
- package/dist/vite.d.ts +51 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +242 -0
- package/dist/vite.js.map +1 -0
- package/package.json +27 -7
package/dist/index.js
CHANGED
|
@@ -1,7 +1,54 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
|
|
3
|
+
import { extractRouteMeta, extractRouteConfig } from './extract-meta.js';
|
|
4
|
+
const EXCLUDED_DIRS = new Set(['components', 'hooks', 'services', 'types', 'constants', 'utils']);
|
|
4
5
|
const CACHE_FILE = path.resolve(process.cwd(), 'node_modules/.cache/route-gen.json');
|
|
6
|
+
/**
|
|
7
|
+
* Convert a value to its TypeScript literal type representation
|
|
8
|
+
* Generates precise literal types instead of wide types like string/boolean
|
|
9
|
+
*/
|
|
10
|
+
function valueToLiteralType(value) {
|
|
11
|
+
if (value === null) {
|
|
12
|
+
return 'null';
|
|
13
|
+
}
|
|
14
|
+
if (value === undefined) {
|
|
15
|
+
return 'undefined';
|
|
16
|
+
}
|
|
17
|
+
const valueType = typeof value;
|
|
18
|
+
// Handle primitive types with literal values
|
|
19
|
+
if (valueType === 'string') {
|
|
20
|
+
return JSON.stringify(value); // Returns "value" with quotes
|
|
21
|
+
}
|
|
22
|
+
if (valueType === 'boolean') {
|
|
23
|
+
return value ? 'true' : 'false';
|
|
24
|
+
}
|
|
25
|
+
if (valueType === 'number') {
|
|
26
|
+
return value.toString();
|
|
27
|
+
}
|
|
28
|
+
// Handle arrays
|
|
29
|
+
if (Array.isArray(value)) {
|
|
30
|
+
if (value.length === 0) {
|
|
31
|
+
return '[]';
|
|
32
|
+
}
|
|
33
|
+
const elementType = value.map(v => valueToLiteralType(v)).join(' | ');
|
|
34
|
+
return `[${elementType}]`;
|
|
35
|
+
}
|
|
36
|
+
// Handle objects
|
|
37
|
+
if (valueType === 'object') {
|
|
38
|
+
const entries = Object.entries(value);
|
|
39
|
+
if (entries.length === 0) {
|
|
40
|
+
return '{}';
|
|
41
|
+
}
|
|
42
|
+
const fields = entries
|
|
43
|
+
.map(([key, val]) => {
|
|
44
|
+
const literalType = valueToLiteralType(val);
|
|
45
|
+
return ` ${key}: ${literalType}`;
|
|
46
|
+
})
|
|
47
|
+
.join(';\n');
|
|
48
|
+
return `{\n${fields}\n }`;
|
|
49
|
+
}
|
|
50
|
+
return 'any';
|
|
51
|
+
}
|
|
5
52
|
function normalizePath(p) {
|
|
6
53
|
return p.split(path.sep).join('/');
|
|
7
54
|
}
|
|
@@ -63,6 +110,15 @@ function isLayout(segments) {
|
|
|
63
110
|
const secondLast = segments[segments.length - 2];
|
|
64
111
|
return last === 'layout' || (last === 'index' && secondLast === 'layout');
|
|
65
112
|
}
|
|
113
|
+
function extractParamName(segment) {
|
|
114
|
+
if (segment.startsWith('$')) {
|
|
115
|
+
return segment.slice(1);
|
|
116
|
+
}
|
|
117
|
+
if (segment.startsWith('[') && segment.endsWith(']')) {
|
|
118
|
+
return segment.slice(1, -1);
|
|
119
|
+
}
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
66
122
|
function segmentToPath(segment) {
|
|
67
123
|
if (segment.includes('.')) {
|
|
68
124
|
return segment.split('.').join('/');
|
|
@@ -70,11 +126,9 @@ function segmentToPath(segment) {
|
|
|
70
126
|
if (segment === 'index') {
|
|
71
127
|
return '';
|
|
72
128
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (segment.startsWith('[') && segment.endsWith(']')) {
|
|
77
|
-
return `:${segment.slice(1, -1)}`;
|
|
129
|
+
const paramName = extractParamName(segment);
|
|
130
|
+
if (paramName) {
|
|
131
|
+
return `:${paramName}`;
|
|
78
132
|
}
|
|
79
133
|
return segment;
|
|
80
134
|
}
|
|
@@ -89,6 +143,32 @@ function segmentsToPath(segments, leadingSlash) {
|
|
|
89
143
|
}
|
|
90
144
|
return cleaned;
|
|
91
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Apply route configuration override to default route entry
|
|
148
|
+
* Merges user-provided config with auto-generated defaults
|
|
149
|
+
*/
|
|
150
|
+
function applyConfigOverride(route) {
|
|
151
|
+
if (!route.configOverride) {
|
|
152
|
+
return route;
|
|
153
|
+
}
|
|
154
|
+
const override = route.configOverride;
|
|
155
|
+
const merged = {
|
|
156
|
+
...route,
|
|
157
|
+
// User config takes precedence
|
|
158
|
+
path: override.path ?? route.path,
|
|
159
|
+
name: override.name ?? route.name,
|
|
160
|
+
// component is always auto-generated from the file
|
|
161
|
+
importPath: route.importPath,
|
|
162
|
+
};
|
|
163
|
+
// Merge meta: user config overrides defaults
|
|
164
|
+
if (override.meta || route.meta) {
|
|
165
|
+
merged.meta = {
|
|
166
|
+
...route.meta,
|
|
167
|
+
...override.meta,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
return merged;
|
|
171
|
+
}
|
|
92
172
|
function joinPaths(parent, child) {
|
|
93
173
|
if (!child) {
|
|
94
174
|
return parent || '/';
|
|
@@ -98,19 +178,82 @@ function joinPaths(parent, child) {
|
|
|
98
178
|
}
|
|
99
179
|
return `${parent.replace(/\/$/, '')}/${child}`.replace(/\/+/g, '/');
|
|
100
180
|
}
|
|
181
|
+
function renderMetaAsConst(meta, indent) {
|
|
182
|
+
const lines = [];
|
|
183
|
+
const nextIndent = `${indent} `;
|
|
184
|
+
lines.push(`${indent}{`);
|
|
185
|
+
for (const [key, value] of Object.entries(meta)) {
|
|
186
|
+
if (typeof value === 'string') {
|
|
187
|
+
lines.push(`${nextIndent}${JSON.stringify(key)}: ${JSON.stringify(value)},`);
|
|
188
|
+
}
|
|
189
|
+
else if (typeof value === 'boolean') {
|
|
190
|
+
lines.push(`${nextIndent}${JSON.stringify(key)}: ${value},`);
|
|
191
|
+
}
|
|
192
|
+
else if (typeof value === 'number') {
|
|
193
|
+
lines.push(`${nextIndent}${JSON.stringify(key)}: ${value},`);
|
|
194
|
+
}
|
|
195
|
+
else if (Array.isArray(value)) {
|
|
196
|
+
const arrayStr = value.map(v => JSON.stringify(v)).join(', ');
|
|
197
|
+
lines.push(`${nextIndent}${JSON.stringify(key)}: [${arrayStr}],`);
|
|
198
|
+
}
|
|
199
|
+
else if (typeof value === 'object' && value !== null) {
|
|
200
|
+
lines.push(`${nextIndent}${JSON.stringify(key)}: ${JSON.stringify(value)},`);
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
lines.push(`${nextIndent}${JSON.stringify(key)}: ${JSON.stringify(value)},`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
lines.push(`${indent}} as const`);
|
|
207
|
+
return lines.join('\n');
|
|
208
|
+
}
|
|
101
209
|
function renderRoute(route, indent = ' ') {
|
|
102
210
|
const nextIndent = `${indent} `;
|
|
103
211
|
const lines = [];
|
|
212
|
+
// Apply configuration override
|
|
213
|
+
const finalRoute = applyConfigOverride(route);
|
|
214
|
+
const override = route.configOverride;
|
|
104
215
|
lines.push(`${indent}{`);
|
|
105
|
-
lines.push(`${nextIndent}path: ${JSON.stringify(
|
|
106
|
-
lines.push(`${nextIndent}name: ${JSON.stringify(
|
|
107
|
-
lines.push(`${nextIndent}component: () => import(${JSON.stringify(
|
|
108
|
-
|
|
216
|
+
lines.push(`${nextIndent}path: ${JSON.stringify(finalRoute.path)},`);
|
|
217
|
+
lines.push(`${nextIndent}name: ${JSON.stringify(finalRoute.name)},`);
|
|
218
|
+
lines.push(`${nextIndent}component: () => import(${JSON.stringify(finalRoute.importPath)}),`);
|
|
219
|
+
// Render additional RouteRecordRaw fields from override
|
|
220
|
+
if (override) {
|
|
221
|
+
if (override.alias !== undefined) {
|
|
222
|
+
if (Array.isArray(override.alias)) {
|
|
223
|
+
lines.push(`${nextIndent}alias: [${override.alias.map(a => JSON.stringify(a)).join(', ')}],`);
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
lines.push(`${nextIndent}alias: ${JSON.stringify(override.alias)},`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (override.redirect !== undefined) {
|
|
230
|
+
lines.push(`${nextIndent}redirect: ${JSON.stringify(override.redirect)},`);
|
|
231
|
+
}
|
|
232
|
+
if (override.props !== undefined) {
|
|
233
|
+
if (typeof override.props === 'boolean') {
|
|
234
|
+
lines.push(`${nextIndent}props: ${override.props},`);
|
|
235
|
+
}
|
|
236
|
+
else if (typeof override.props === 'object') {
|
|
237
|
+
lines.push(`${nextIndent}props: ${JSON.stringify(override.props)},`);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
lines.push(`${nextIndent}props: ${override.props},`);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
if (override.beforeEnter !== undefined) {
|
|
244
|
+
lines.push(`${nextIndent}beforeEnter: ${override.beforeEnter},`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// Add meta if present (rendered as const for type inference)
|
|
248
|
+
if (finalRoute.meta && Object.keys(finalRoute.meta).length > 0) {
|
|
249
|
+
lines.push(`${nextIndent}meta: ${renderMetaAsConst(finalRoute.meta, nextIndent)},`);
|
|
250
|
+
}
|
|
251
|
+
if (finalRoute.children.length === 0) {
|
|
109
252
|
lines.push(`${nextIndent}children: [],`);
|
|
110
253
|
}
|
|
111
254
|
else {
|
|
112
255
|
lines.push(`${nextIndent}children: [`);
|
|
113
|
-
lines.push(
|
|
256
|
+
lines.push(finalRoute.children
|
|
114
257
|
.map((child) => renderRoute(child, `${nextIndent} `))
|
|
115
258
|
.join(',\n'));
|
|
116
259
|
lines.push(`${nextIndent}],`);
|
|
@@ -193,14 +336,27 @@ function buildRoutes({ pagesDir, outFile }) {
|
|
|
193
336
|
}
|
|
194
337
|
const routeEntries = [];
|
|
195
338
|
const standaloneRoutes = standalonePages.map((page) => {
|
|
196
|
-
const
|
|
339
|
+
const defaultName = page.segments.join('-');
|
|
197
340
|
const routePath = segmentsToPath(page.segments, true);
|
|
198
|
-
|
|
341
|
+
const params = page.segments
|
|
342
|
+
.map((s) => extractParamName(s))
|
|
343
|
+
.filter((p) => p !== null);
|
|
344
|
+
// Extract config and meta from page component
|
|
345
|
+
const fullPath = path.resolve(pagesDir, page.importPath.replace(/^\.\//, ''));
|
|
346
|
+
const configOverride = extractRouteConfig(fullPath);
|
|
347
|
+
const meta = extractRouteMeta(fullPath);
|
|
348
|
+
// Apply config override to get the final name and path
|
|
349
|
+
const finalName = configOverride?.name ?? defaultName;
|
|
350
|
+
const finalPath = configOverride?.path ?? routePath;
|
|
351
|
+
routeEntries.push({ name: finalName, path: finalPath, params, defaultName });
|
|
199
352
|
return {
|
|
200
353
|
path: routePath,
|
|
201
|
-
name,
|
|
354
|
+
name: finalName, // Use overridden name
|
|
202
355
|
importPath: page.importPath,
|
|
203
356
|
children: [],
|
|
357
|
+
params,
|
|
358
|
+
meta,
|
|
359
|
+
configOverride,
|
|
204
360
|
};
|
|
205
361
|
});
|
|
206
362
|
const layoutRoutes = Array.from(layoutGroups.entries())
|
|
@@ -211,18 +367,34 @@ function buildRoutes({ pagesDir, outFile }) {
|
|
|
211
367
|
const layoutNameBase = layout.segments.join('-');
|
|
212
368
|
const layoutName = layoutNameBase ? `${layoutNameBase}-layout` : 'layout';
|
|
213
369
|
const layoutPath = segmentsToPath(layout.segments, true);
|
|
214
|
-
|
|
370
|
+
const layoutParams = layout.segments
|
|
371
|
+
.map((s) => extractParamName(s))
|
|
372
|
+
.filter((p) => p !== null);
|
|
373
|
+
routeEntries.push({ name: layoutName, path: layoutPath, params: layoutParams, defaultName: layoutName });
|
|
215
374
|
const children = sortedPages.map((page) => {
|
|
216
|
-
const
|
|
375
|
+
const defaultName = page.segments.join('-');
|
|
217
376
|
const relativeSegments = page.segments.slice(layout.segments.length);
|
|
218
377
|
const childPath = segmentsToPath(relativeSegments, false);
|
|
219
378
|
const fullPath = joinPaths(layoutPath, childPath);
|
|
220
|
-
|
|
379
|
+
const params = relativeSegments
|
|
380
|
+
.map((s) => extractParamName(s))
|
|
381
|
+
.filter((p) => p !== null);
|
|
382
|
+
// Extract config and meta from page component
|
|
383
|
+
const pageFilePath = path.resolve(pagesDir, page.importPath.replace(/^\.\//, ''));
|
|
384
|
+
const configOverride = extractRouteConfig(pageFilePath);
|
|
385
|
+
const meta = extractRouteMeta(pageFilePath);
|
|
386
|
+
// Apply config override to get the final name and path
|
|
387
|
+
const finalName = configOverride?.name ?? defaultName;
|
|
388
|
+
const finalPath = configOverride?.path ?? fullPath;
|
|
389
|
+
routeEntries.push({ name: finalName, path: finalPath, params, defaultName });
|
|
221
390
|
return {
|
|
222
391
|
path: childPath,
|
|
223
|
-
name,
|
|
392
|
+
name: finalName, // Use overridden name
|
|
224
393
|
importPath: page.importPath,
|
|
225
394
|
children: [],
|
|
395
|
+
params,
|
|
396
|
+
meta,
|
|
397
|
+
configOverride,
|
|
226
398
|
};
|
|
227
399
|
});
|
|
228
400
|
return {
|
|
@@ -236,10 +408,14 @@ function buildRoutes({ pagesDir, outFile }) {
|
|
|
236
408
|
const uniqueNames = unique(routeEntries.map((entry) => entry.name));
|
|
237
409
|
const uniquePaths = unique(routeEntries.map((entry) => entry.path));
|
|
238
410
|
const pathByName = new Map();
|
|
411
|
+
const paramsByName = new Map();
|
|
239
412
|
for (const entry of routeEntries) {
|
|
240
413
|
if (!pathByName.has(entry.name)) {
|
|
241
414
|
pathByName.set(entry.name, entry.path);
|
|
242
415
|
}
|
|
416
|
+
if (!paramsByName.has(entry.name)) {
|
|
417
|
+
paramsByName.set(entry.name, entry.params);
|
|
418
|
+
}
|
|
243
419
|
}
|
|
244
420
|
const routePathByName = uniqueNames.map((name) => [name, pathByName.get(name)]);
|
|
245
421
|
return {
|
|
@@ -247,15 +423,26 @@ function buildRoutes({ pagesDir, outFile }) {
|
|
|
247
423
|
routeNameList: uniqueNames,
|
|
248
424
|
routePathList: uniquePaths,
|
|
249
425
|
routePathByName,
|
|
426
|
+
routeParamsByName: Array.from(paramsByName.entries()),
|
|
427
|
+
routeKeyData: routeEntries,
|
|
250
428
|
};
|
|
251
429
|
}
|
|
252
|
-
function renderRoutesFile({ routes, routeNameList, routePathList, routePathByName }) {
|
|
430
|
+
function renderRoutesFile({ routes, routeNameList, routePathList, routePathByName, routeParamsByName, routeKeyData }) {
|
|
253
431
|
const lines = [];
|
|
254
432
|
const pathByName = new Map(routePathByName);
|
|
433
|
+
const paramsByName = new Map(routeParamsByName);
|
|
255
434
|
const routeKeyEntries = [];
|
|
256
435
|
const usedKeys = new Set();
|
|
436
|
+
// Build map of route entries by name for quick lookup
|
|
437
|
+
const entryMap = new Map();
|
|
438
|
+
for (const entry of routeKeyData) {
|
|
439
|
+
entryMap.set(entry.name, { name: entry.name, path: entry.path, defaultName: entry.defaultName });
|
|
440
|
+
}
|
|
257
441
|
for (const name of routeNameList) {
|
|
258
|
-
const
|
|
442
|
+
const entry = entryMap.get(name);
|
|
443
|
+
if (!entry)
|
|
444
|
+
continue;
|
|
445
|
+
const baseKey = toConstKey(entry.defaultName) || 'ROUTE';
|
|
259
446
|
let key = baseKey;
|
|
260
447
|
let suffix = 1;
|
|
261
448
|
while (usedKeys.has(key)) {
|
|
@@ -265,13 +452,14 @@ function renderRoutesFile({ routes, routeNameList, routePathList, routePathByNam
|
|
|
265
452
|
usedKeys.add(key);
|
|
266
453
|
routeKeyEntries.push({
|
|
267
454
|
key,
|
|
268
|
-
name,
|
|
269
|
-
path:
|
|
455
|
+
name: entry.name,
|
|
456
|
+
path: entry.path,
|
|
457
|
+
defaultName: entry.defaultName,
|
|
270
458
|
});
|
|
271
459
|
}
|
|
272
|
-
lines.push('// This file is auto-generated by @
|
|
460
|
+
lines.push('// This file is auto-generated by @zphhpzzph/vue-route-gen.');
|
|
273
461
|
lines.push('// Do not edit this file directly.');
|
|
274
|
-
lines.push("import type { RouteRecordRaw } from 'vue-router';");
|
|
462
|
+
lines.push("import type { RouteRecordRaw, RouteLocationNormalizedLoaded, Router, LocationQuery } from 'vue-router';");
|
|
275
463
|
lines.push('');
|
|
276
464
|
lines.push('export const ROUTE_NAME = {');
|
|
277
465
|
lines.push(routeKeyEntries
|
|
@@ -311,12 +499,127 @@ function renderRoutesFile({ routes, routeNameList, routePathList, routePathByNam
|
|
|
311
499
|
.join('\n'));
|
|
312
500
|
lines.push('} as const;');
|
|
313
501
|
lines.push('');
|
|
502
|
+
// Generate route parameter types
|
|
503
|
+
lines.push('// Route parameter types');
|
|
504
|
+
lines.push('export interface RouteParams {');
|
|
505
|
+
for (const [name, params] of routeParamsByName) {
|
|
506
|
+
if (params.length > 0) {
|
|
507
|
+
const paramsStr = params.map(p => ` ${p}: string;`).join('\n');
|
|
508
|
+
lines.push(` '${name}': {`);
|
|
509
|
+
lines.push(paramsStr);
|
|
510
|
+
lines.push(` };`);
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
lines.push(` '${name}': Record<string, never>;`);
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
lines.push('}');
|
|
517
|
+
lines.push('');
|
|
518
|
+
lines.push('export type RouteParamsByName<T extends RouteName> = RouteParams[T];');
|
|
519
|
+
lines.push('');
|
|
520
|
+
// Collect all unique meta keys across all routes
|
|
521
|
+
const allMetaKeys = new Set();
|
|
522
|
+
for (const route of routes) {
|
|
523
|
+
if (route.meta) {
|
|
524
|
+
Object.keys(route.meta).forEach(key => allMetaKeys.add(key));
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
const sortedMetaKeys = Array.from(allMetaKeys).sort();
|
|
528
|
+
// Generate route meta types with literal types
|
|
529
|
+
lines.push('// Route metadata types (extracted from <route> blocks)');
|
|
530
|
+
lines.push('// Uses literal types for precise type inference');
|
|
531
|
+
lines.push('// Missing fields are typed as undefined to ensure consistent shape');
|
|
532
|
+
lines.push('export interface RouteMetaMap {');
|
|
533
|
+
for (const route of routes) {
|
|
534
|
+
const routeName = route.name;
|
|
535
|
+
const meta = route.meta || {};
|
|
536
|
+
// Generate type definition with all possible fields
|
|
537
|
+
// Missing fields are typed as undefined
|
|
538
|
+
const metaFields = sortedMetaKeys
|
|
539
|
+
.map((key) => {
|
|
540
|
+
if (key in meta) {
|
|
541
|
+
const literalType = valueToLiteralType(meta[key]);
|
|
542
|
+
return ` ${key}: ${literalType};`;
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
return ` ${key}: undefined;`;
|
|
546
|
+
}
|
|
547
|
+
})
|
|
548
|
+
.join('\n');
|
|
549
|
+
lines.push(` '${routeName}': {`);
|
|
550
|
+
lines.push(metaFields);
|
|
551
|
+
lines.push(` };`);
|
|
552
|
+
}
|
|
553
|
+
lines.push('}');
|
|
554
|
+
lines.push('');
|
|
555
|
+
lines.push('export type RouteMetaByName<T extends RouteName> = RouteMetaMap[T];');
|
|
556
|
+
lines.push('');
|
|
314
557
|
lines.push('export const routes = [');
|
|
315
558
|
lines.push(routes.map((route) => renderRoute(route)).join(',\n'));
|
|
316
559
|
lines.push('] satisfies RouteRecordRaw[];');
|
|
317
560
|
lines.push('');
|
|
318
561
|
lines.push('export default routes;');
|
|
319
562
|
lines.push('');
|
|
563
|
+
// Add type-enhanced hooks
|
|
564
|
+
lines.push('// Type-enhanced hooks');
|
|
565
|
+
lines.push("import { useRoute as vueUseRoute, useRouter as vueUseRouter } from 'vue-router';");
|
|
566
|
+
lines.push('');
|
|
567
|
+
// Generate useRoute with proper types
|
|
568
|
+
lines.push('/**');
|
|
569
|
+
lines.push(' * Type-safe useRoute hook');
|
|
570
|
+
lines.push(' * Route params and meta are typed based on the current route name');
|
|
571
|
+
lines.push(' *');
|
|
572
|
+
lines.push(' * @example');
|
|
573
|
+
lines.push(' * ```ts');
|
|
574
|
+
lines.push(' * const route = useRoute();');
|
|
575
|
+
lines.push(' * // route.params.id is typed as string if route has :id param');
|
|
576
|
+
lines.push(' * // route.meta.title is typed based on the route\'s <route> block');
|
|
577
|
+
lines.push(' * ```');
|
|
578
|
+
lines.push(' */');
|
|
579
|
+
lines.push('export function useRoute<TName extends RouteName = RouteName>(');
|
|
580
|
+
lines.push(' name?: TName');
|
|
581
|
+
lines.push('): Omit<RouteLocationNormalizedLoaded, \'params\' | \'name\' | \'meta\'> & {');
|
|
582
|
+
lines.push(' name: TName;');
|
|
583
|
+
lines.push(' params: TName extends keyof RouteParams ? RouteParams[TName] : RouteParams[RouteName];');
|
|
584
|
+
lines.push(' meta: TName extends keyof RouteMetaMap ? RouteMetaMap[TName] : RouteMetaMap[RouteName];');
|
|
585
|
+
lines.push('} {');
|
|
586
|
+
lines.push(' return vueUseRoute() as any;');
|
|
587
|
+
lines.push('}');
|
|
588
|
+
lines.push('');
|
|
589
|
+
// Generate useRouter with proper types
|
|
590
|
+
lines.push('/**');
|
|
591
|
+
lines.push(' * Type-safe useRouter hook');
|
|
592
|
+
lines.push(' * Navigation methods are type-safe based on route names and params');
|
|
593
|
+
lines.push(' *');
|
|
594
|
+
lines.push(' * @example');
|
|
595
|
+
lines.push(' * ```ts');
|
|
596
|
+
lines.push(' * const router = useRouter();');
|
|
597
|
+
lines.push(' * router.push({');
|
|
598
|
+
lines.push(' * name: ROUTE_NAME.USER_DETAIL,');
|
|
599
|
+
lines.push(' * params: { id: \'123\' }');
|
|
600
|
+
lines.push(' * });');
|
|
601
|
+
lines.push(' * ```');
|
|
602
|
+
lines.push(' */');
|
|
603
|
+
lines.push('export function useRouter(): Omit<Router, \'push\' | \'replace\'> & {');
|
|
604
|
+
lines.push(' push: <TName extends RouteName>(location: {');
|
|
605
|
+
lines.push(' name?: TName;');
|
|
606
|
+
lines.push(' path?: string;');
|
|
607
|
+
lines.push(' params?: TName extends keyof RouteParams ? Partial<RouteParams[TName]> : Record<string, any>;');
|
|
608
|
+
lines.push(' query?: LocationQuery;');
|
|
609
|
+
lines.push(' hash?: string;');
|
|
610
|
+
lines.push(' }) => ReturnType<Router[\'push\']>;');
|
|
611
|
+
lines.push(' replace: <TName extends RouteName>(location: {');
|
|
612
|
+
lines.push(' name?: TName;');
|
|
613
|
+
lines.push(' path?: string;');
|
|
614
|
+
lines.push(' params?: TName extends keyof RouteParams ? Partial<RouteParams[TName]> : Record<string, any>;');
|
|
615
|
+
lines.push(' query?: LocationQuery;');
|
|
616
|
+
lines.push(' hash?: string;');
|
|
617
|
+
lines.push(' }) => ReturnType<Router[\'replace\']>;');
|
|
618
|
+
lines.push('} {');
|
|
619
|
+
lines.push(' const router = vueUseRouter();');
|
|
620
|
+
lines.push(' return router as any;');
|
|
621
|
+
lines.push('}');
|
|
622
|
+
lines.push('');
|
|
320
623
|
return `${lines.join('\n')}\n`;
|
|
321
624
|
}
|
|
322
625
|
export function generateRoutes({ pagesDir = path.resolve(process.cwd(), 'src/pages'), outFile = path.resolve(process.cwd(), 'src/router/route.gen.ts'), } = {}) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/vite.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
import { type GenerateRoutesOptions } from './index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Vite plugin to handle <route> custom blocks and defineRoute() macro in Vue SFC files
|
|
5
|
+
*
|
|
6
|
+
* This plugin removes:
|
|
7
|
+
* 1. <route> custom blocks from Vue files during development/build
|
|
8
|
+
* 2. defineRoute() macro calls from <script setup>
|
|
9
|
+
*
|
|
10
|
+
* These are extracted at build time by vue-route-gen and merged into route config,
|
|
11
|
+
* so they should be ignored at runtime to avoid parse errors.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* // vite.config.ts
|
|
16
|
+
* import { defineConfig } from 'vite';
|
|
17
|
+
* import vue from '@vitejs/plugin-vue';
|
|
18
|
+
* import { routeBlockPlugin } from '@zphhpzzph/vue-route-gen/vite';
|
|
19
|
+
*
|
|
20
|
+
* export default defineConfig({
|
|
21
|
+
* plugins: [
|
|
22
|
+
* routeBlockPlugin(),
|
|
23
|
+
* vue(),
|
|
24
|
+
* ],
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function routeBlockPlugin(): Plugin;
|
|
29
|
+
/**
|
|
30
|
+
* Vite plugin for auto-generating routes with intelligent incremental updates
|
|
31
|
+
*
|
|
32
|
+
* This plugin:
|
|
33
|
+
* 1. Generates routes on server start
|
|
34
|
+
* 2. Watches for file changes in pages directory
|
|
35
|
+
* 3. Performs incremental updates when only route config changes
|
|
36
|
+
* 4. Only regenerates when route structure changes (add/remove files)
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* // vite.config.ts
|
|
41
|
+
* import { defineConfig } from 'vite';
|
|
42
|
+
* import { routeGenPlugin } from '@zphhpzzph/vue-route-gen/vite';
|
|
43
|
+
*
|
|
44
|
+
* export default defineConfig({
|
|
45
|
+
* plugins: [routeGenPlugin()],
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function routeGenPlugin(options?: Partial<GenerateRoutesOptions>): Plugin;
|
|
50
|
+
export default routeBlockPlugin;
|
|
51
|
+
//# sourceMappingURL=vite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAElD,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAIxE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAuCzC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,MAAM,CA8J/E;AAsBD,eAAe,gBAAgB,CAAC"}
|