@lark-apaas/fullstack-vite-preset 1.0.9-alpha.36 → 1.0.9-alpha.38
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.
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Plugin } from 'vite';
|
|
2
|
+
export { normalizeBasePath, parseRoutesFromFile as parseRoutes } from '@lark-apaas/devtool-kits';
|
|
2
3
|
interface RouteParserPluginOptions {
|
|
3
4
|
appPath?: string;
|
|
4
5
|
outputPath?: string;
|
|
@@ -7,14 +8,6 @@ interface RouteParserPluginOptions {
|
|
|
7
8
|
/** Base path for serving routes.json in dev mode (e.g., '/miaoda_custom_plugin'). Defaults to CLIENT_BASE_PATH env */
|
|
8
9
|
serveBasePath?: string;
|
|
9
10
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Normalize basePath: ensure it starts with '/' and does not end with '/'
|
|
12
|
-
* (Align with rspack behavior)
|
|
13
|
-
*/
|
|
14
|
-
export declare function normalizeBasePath(basePath: string): string;
|
|
15
|
-
export declare function parseRoutes(appPath: string, basePath: string): Array<{
|
|
16
|
-
path: string;
|
|
17
|
-
}>;
|
|
18
11
|
export declare function routeParserPlugin(options?: RouteParserPluginOptions): Plugin;
|
|
19
12
|
export default routeParserPlugin;
|
|
20
13
|
//# sourceMappingURL=route-parser-plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-parser-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/route-parser-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"route-parser-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/route-parser-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAWlD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEjG,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yHAAyH;IACzH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAsCD,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,wBAA6B,GACrC,MAAM,CA8DR;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -32,263 +32,57 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.normalizeBasePath =
|
|
40
|
-
exports.parseRoutes = parseRoutes;
|
|
36
|
+
exports.parseRoutes = exports.normalizeBasePath = void 0;
|
|
41
37
|
exports.routeParserPlugin = routeParserPlugin;
|
|
42
38
|
const fs = __importStar(require("fs"));
|
|
43
39
|
const path = __importStar(require("path"));
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
* Normalize basePath: ensure it starts with '/' and does not end with '/'
|
|
50
|
-
* (Align with rspack behavior)
|
|
51
|
-
*/
|
|
52
|
-
function normalizeBasePath(basePath) {
|
|
53
|
-
if (!basePath || basePath === '/') {
|
|
54
|
-
return '';
|
|
55
|
-
}
|
|
56
|
-
// Ensure starts with /
|
|
57
|
-
let normalized = basePath.startsWith('/') ? basePath : `/${basePath}`;
|
|
58
|
-
// Ensure does not end with /
|
|
59
|
-
if (normalized.endsWith('/')) {
|
|
60
|
-
normalized = normalized.slice(0, -1);
|
|
61
|
-
}
|
|
62
|
-
return normalized;
|
|
63
|
-
}
|
|
64
|
-
function log(level, message, ...args) {
|
|
65
|
-
const prefix = '[route-parser]';
|
|
66
|
-
const logMessage = `${prefix} ${message}`;
|
|
67
|
-
switch (level) {
|
|
68
|
-
case 'log':
|
|
69
|
-
console.log(logMessage, ...args);
|
|
70
|
-
break;
|
|
71
|
-
case 'warn':
|
|
72
|
-
console.warn(logMessage, ...args);
|
|
73
|
-
break;
|
|
74
|
-
case 'error':
|
|
75
|
-
console.error(logMessage, ...args);
|
|
76
|
-
break;
|
|
77
|
-
case 'info':
|
|
78
|
-
console.info(logMessage, ...args);
|
|
79
|
-
break;
|
|
80
|
-
default:
|
|
81
|
-
console.log(logMessage, ...args);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
function calculateFileHash(filePath) {
|
|
85
|
-
try {
|
|
86
|
-
const content = fs.readFileSync(filePath, 'utf-8');
|
|
87
|
-
return crypto.createHash('md5').update(content).digest('hex');
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
log('warn', 'Failed to calculate file hash:', error.message);
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
function isRouteComponent(openingElement) {
|
|
95
|
-
return (t.isJSXIdentifier(openingElement.name) &&
|
|
96
|
-
openingElement.name.name === 'Route');
|
|
97
|
-
}
|
|
98
|
-
function evaluateTemplateLiteral(templateLiteral) {
|
|
99
|
-
const quasis = templateLiteral.quasis;
|
|
100
|
-
const expressions = templateLiteral.expressions;
|
|
101
|
-
if (quasis.length === 1 && expressions.length === 0) {
|
|
102
|
-
return quasis[0].value.raw;
|
|
103
|
-
}
|
|
104
|
-
return quasis.map((q) => q.value.raw).join('');
|
|
105
|
-
}
|
|
106
|
-
function extractRouteInfo(openingElement) {
|
|
107
|
-
const routeInfo = {};
|
|
108
|
-
openingElement.attributes.forEach((attr) => {
|
|
109
|
-
if (t.isJSXAttribute(attr) && t.isJSXIdentifier(attr.name)) {
|
|
110
|
-
const name = attr.name.name;
|
|
111
|
-
let value;
|
|
112
|
-
if (attr.value) {
|
|
113
|
-
if (t.isStringLiteral(attr.value)) {
|
|
114
|
-
value = attr.value.value;
|
|
115
|
-
}
|
|
116
|
-
else if (t.isJSXExpressionContainer(attr.value)) {
|
|
117
|
-
const expression = attr.value.expression;
|
|
118
|
-
if (t.isStringLiteral(expression)) {
|
|
119
|
-
value = expression.value;
|
|
120
|
-
}
|
|
121
|
-
else if (t.isTemplateLiteral(expression)) {
|
|
122
|
-
value = evaluateTemplateLiteral(expression);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
value = true;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
value = true;
|
|
131
|
-
}
|
|
132
|
-
routeInfo[name] = value;
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
return routeInfo;
|
|
136
|
-
}
|
|
137
|
-
function buildFullPath(routeStack, currentRoute) {
|
|
138
|
-
let fullPath = '';
|
|
139
|
-
for (let i = 0; i < routeStack.length; i++) {
|
|
140
|
-
if (routeStack[i].path) {
|
|
141
|
-
let parentPath = routeStack[i].path;
|
|
142
|
-
if (!parentPath.startsWith('/'))
|
|
143
|
-
parentPath = `/${parentPath}`;
|
|
144
|
-
if (parentPath.endsWith('/') && parentPath !== '/') {
|
|
145
|
-
parentPath = parentPath.slice(0, -1);
|
|
146
|
-
}
|
|
147
|
-
fullPath += parentPath === '/' ? '' : parentPath;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (currentRoute.index) {
|
|
151
|
-
return fullPath || '/';
|
|
152
|
-
}
|
|
153
|
-
else if (currentRoute.path) {
|
|
154
|
-
const routePath = currentRoute.path;
|
|
155
|
-
if (routePath === '*') {
|
|
156
|
-
return null;
|
|
157
|
-
}
|
|
158
|
-
if (!routePath.startsWith('/')) {
|
|
159
|
-
fullPath = `${fullPath}/${routePath}`;
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
fullPath = routePath;
|
|
163
|
-
}
|
|
164
|
-
if (fullPath === '')
|
|
165
|
-
fullPath = '/';
|
|
166
|
-
if (!fullPath.startsWith('/'))
|
|
167
|
-
fullPath = `/${fullPath}`;
|
|
168
|
-
return fullPath;
|
|
169
|
-
}
|
|
170
|
-
return null;
|
|
171
|
-
}
|
|
172
|
-
function parseRoutes(appPath, basePath) {
|
|
173
|
-
try {
|
|
174
|
-
const appFilePath = path.resolve(process.cwd(), appPath);
|
|
175
|
-
if (!fs.existsSync(appFilePath)) {
|
|
176
|
-
throw new Error(`App.tsx file does not exist: ${appFilePath}`);
|
|
177
|
-
}
|
|
178
|
-
const sourceCode = fs.readFileSync(appFilePath, 'utf-8');
|
|
179
|
-
const ast = (0, parser_1.parse)(sourceCode, {
|
|
180
|
-
sourceType: 'module',
|
|
181
|
-
plugins: [
|
|
182
|
-
'jsx',
|
|
183
|
-
'typescript',
|
|
184
|
-
'decorators-legacy',
|
|
185
|
-
'classProperties',
|
|
186
|
-
'objectRestSpread',
|
|
187
|
-
'functionBind',
|
|
188
|
-
'exportDefaultFrom',
|
|
189
|
-
'exportNamespaceFrom',
|
|
190
|
-
'dynamicImport',
|
|
191
|
-
'nullishCoalescingOperator',
|
|
192
|
-
'optionalChaining',
|
|
193
|
-
],
|
|
194
|
-
});
|
|
195
|
-
const routeSet = new Set();
|
|
196
|
-
const routeStack = [];
|
|
197
|
-
(0, traverse_1.default)(ast, {
|
|
198
|
-
JSXElement: {
|
|
199
|
-
enter(nodePath) {
|
|
200
|
-
const { openingElement } = nodePath.node;
|
|
201
|
-
if (isRouteComponent(openingElement)) {
|
|
202
|
-
const routeInfo = extractRouteInfo(openingElement);
|
|
203
|
-
routeStack.push(routeInfo);
|
|
204
|
-
}
|
|
205
|
-
},
|
|
206
|
-
exit(nodePath) {
|
|
207
|
-
const { openingElement } = nodePath.node;
|
|
208
|
-
if (isRouteComponent(openingElement)) {
|
|
209
|
-
const currentRoute = routeStack.pop();
|
|
210
|
-
if (currentRoute && currentRoute.path === '*') {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
if (currentRoute && (currentRoute.path || currentRoute.index)) {
|
|
214
|
-
const fullPath = buildFullPath(routeStack, currentRoute);
|
|
215
|
-
if (fullPath) {
|
|
216
|
-
routeSet.add(fullPath);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
},
|
|
221
|
-
},
|
|
222
|
-
});
|
|
223
|
-
// Apply basePath to all routes (align with rspack behavior)
|
|
224
|
-
const routes = Array.from(routeSet).map((routePath) => ({
|
|
225
|
-
path: basePath ? `${basePath}${routePath}` : routePath,
|
|
226
|
-
}));
|
|
227
|
-
// Default route also needs basePath
|
|
228
|
-
const defaultPath = basePath ? `${basePath}/` : '/';
|
|
229
|
-
return routes.length > 0 ? routes : [{ path: defaultPath }];
|
|
230
|
-
}
|
|
231
|
-
catch (error) {
|
|
232
|
-
log('warn', 'Route parsing failed, using default routes:', error.message);
|
|
233
|
-
const defaultPath = basePath ? `${basePath}/` : '/';
|
|
234
|
-
return [{ path: defaultPath }];
|
|
235
|
-
}
|
|
236
|
-
}
|
|
40
|
+
const devtool_kits_1 = require("@lark-apaas/devtool-kits");
|
|
41
|
+
// Re-export for backward compatibility
|
|
42
|
+
var devtool_kits_2 = require("@lark-apaas/devtool-kits");
|
|
43
|
+
Object.defineProperty(exports, "normalizeBasePath", { enumerable: true, get: function () { return devtool_kits_2.normalizeBasePath; } });
|
|
44
|
+
Object.defineProperty(exports, "parseRoutes", { enumerable: true, get: function () { return devtool_kits_2.parseRoutesFromFile; } });
|
|
237
45
|
function generateRoutes(appPath, outputPath, basePath, lastHash, cachedRoutes) {
|
|
238
46
|
const appFilePath = path.resolve(process.cwd(), appPath);
|
|
239
47
|
const defaultPath = basePath ? `${basePath}/` : '/';
|
|
240
48
|
if (!fs.existsSync(appFilePath)) {
|
|
241
|
-
|
|
49
|
+
(0, devtool_kits_1.routeParserLog)('warn', `App.tsx file does not exist: ${appFilePath}`);
|
|
242
50
|
return cachedRoutes.value || [{ path: defaultPath }];
|
|
243
51
|
}
|
|
244
|
-
const currentHash = calculateFileHash(appFilePath);
|
|
245
|
-
// Check if we need to regenerate
|
|
52
|
+
const currentHash = (0, devtool_kits_1.calculateFileHash)(appFilePath);
|
|
246
53
|
if (lastHash.value === currentHash && cachedRoutes.value) {
|
|
247
54
|
return cachedRoutes.value;
|
|
248
55
|
}
|
|
249
56
|
lastHash.value = currentHash;
|
|
250
|
-
const routes =
|
|
57
|
+
const routes = (0, devtool_kits_1.parseRoutesFromFile)(appPath, basePath);
|
|
251
58
|
cachedRoutes.value = routes;
|
|
252
|
-
// Ensure output directory exists
|
|
253
59
|
const outputDir = path.dirname(outputPath);
|
|
254
60
|
if (!fs.existsSync(outputDir)) {
|
|
255
61
|
fs.mkdirSync(outputDir, { recursive: true });
|
|
256
62
|
}
|
|
257
|
-
// Write routes.json
|
|
258
63
|
fs.writeFileSync(outputPath, JSON.stringify(routes, null, 2));
|
|
259
|
-
|
|
64
|
+
(0, devtool_kits_1.routeParserLog)('info', `Generated routes.json (${routes.length} routes)`);
|
|
260
65
|
return routes;
|
|
261
66
|
}
|
|
262
67
|
function routeParserPlugin(options = {}) {
|
|
263
68
|
const { appPath = './client/src/app.tsx', outputPath = './dist/client/routes.json', } = options;
|
|
264
|
-
// Get basePath from options or env variable, normalize it (align with rspack behavior)
|
|
265
|
-
// Use ?? so that explicit empty string '' from options is respected (for dev mode)
|
|
266
|
-
// Only undefined falls back to env variable (for prod mode)
|
|
267
69
|
const envBasePath = process.env.CLIENT_BASE_PATH || '';
|
|
268
|
-
const configuredBasePath = normalizeBasePath(options.basePath ?? envBasePath);
|
|
269
|
-
|
|
270
|
-
// This should always be the clientBasePath, not affected by dev/prod basePath logic
|
|
271
|
-
const serveBasePath = normalizeBasePath(options.serveBasePath ?? envBasePath);
|
|
272
|
-
// Single cache (basePath is controlled by caller, like rspack)
|
|
70
|
+
const configuredBasePath = (0, devtool_kits_1.normalizeBasePath)(options.basePath ?? envBasePath);
|
|
71
|
+
const serveBasePath = (0, devtool_kits_1.normalizeBasePath)(options.serveBasePath ?? envBasePath);
|
|
273
72
|
const lastHash = { value: null };
|
|
274
73
|
const cachedRoutes = { value: null };
|
|
275
74
|
return {
|
|
276
75
|
name: 'fullstack-route-parser',
|
|
277
76
|
configureServer(server) {
|
|
278
|
-
// Development mode: use configuredBasePath (should be '' when isDev, set by preset)
|
|
279
77
|
const appFullPath = path.resolve(process.cwd(), appPath);
|
|
280
78
|
const fullOutputPath = path.resolve(process.cwd(), outputPath);
|
|
281
|
-
// Initial generation
|
|
282
79
|
generateRoutes(appPath, fullOutputPath, configuredBasePath, lastHash, cachedRoutes);
|
|
283
|
-
// Watch for changes
|
|
284
80
|
server.watcher.add(appFullPath);
|
|
285
81
|
server.watcher.on('change', (file) => {
|
|
286
82
|
if (file === appFullPath) {
|
|
287
83
|
generateRoutes(appPath, fullOutputPath, configuredBasePath, lastHash, cachedRoutes);
|
|
288
84
|
}
|
|
289
85
|
});
|
|
290
|
-
// Middleware to serve routes.json at ${serveBasePath}/routes.json
|
|
291
|
-
// serveBasePath is based on clientBasePath (not affected by dev/prod basePath logic)
|
|
292
86
|
const routesJsonPath = serveBasePath ? `${serveBasePath}/routes.json` : '/routes.json';
|
|
293
87
|
server.middlewares.use((req, res, next) => {
|
|
294
88
|
const urlPath = req.url?.split('?')[0];
|
|
@@ -307,12 +101,10 @@ function routeParserPlugin(options = {}) {
|
|
|
307
101
|
});
|
|
308
102
|
},
|
|
309
103
|
buildStart() {
|
|
310
|
-
// Build mode: generate routes with configuredBasePath
|
|
311
104
|
const fullOutputPath = path.resolve(process.cwd(), outputPath);
|
|
312
105
|
generateRoutes(appPath, fullOutputPath, configuredBasePath, lastHash, cachedRoutes);
|
|
313
106
|
},
|
|
314
107
|
generateBundle() {
|
|
315
|
-
// Add routes.json to build output
|
|
316
108
|
const fullOutputPath = path.resolve(process.cwd(), outputPath);
|
|
317
109
|
if (fs.existsSync(fullOutputPath)) {
|
|
318
110
|
this.emitFile({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-parser-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/route-parser-plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route-parser-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/route-parser-plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lark-apaas/fullstack-vite-preset",
|
|
3
|
-
"version": "1.0.9-alpha.
|
|
3
|
+
"version": "1.0.9-alpha.38",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src/empty.css",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@babel/parser": "^7.28.0",
|
|
34
34
|
"@babel/traverse": "^7.28.0",
|
|
35
35
|
"@babel/types": "^7.28.2",
|
|
36
|
-
"@lark-apaas/devtool-kits": "1.2.17-alpha.
|
|
36
|
+
"@lark-apaas/devtool-kits": "1.2.17-alpha.52",
|
|
37
37
|
"@lark-apaas/styled-jsx": "^1.0.1",
|
|
38
38
|
"@lark-apaas/vite-inspector-plugin": "^1.0.3",
|
|
39
39
|
"@vitejs/plugin-react": "^4.5.0",
|