@lark-apaas/fullstack-vite-preset 1.0.1-alpha.0 → 1.0.1-alpha.3
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/lib/preset.d.ts.map +1 -1
- package/lib/preset.js +22 -1
- package/lib/preset.js.map +1 -1
- package/lib/vite-plugins/route-parser-plugin.d.ts +2 -0
- package/lib/vite-plugins/route-parser-plugin.d.ts.map +1 -1
- package/lib/vite-plugins/route-parser-plugin.js +18 -1
- package/lib/vite-plugins/route-parser-plugin.js.map +1 -1
- package/lib/vite-plugins/runtime-injection-plugin.d.ts +11 -5
- package/lib/vite-plugins/runtime-injection-plugin.d.ts.map +1 -1
- package/lib/vite-plugins/runtime-injection-plugin.js +39 -23
- package/lib/vite-plugins/runtime-injection-plugin.js.map +1 -1
- package/package.json +4 -4
package/lib/preset.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AAwC9D,MAAM,WAAW,gCAAgC;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,UAAU,
|
|
1
|
+
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AAwC9D,MAAM,WAAW,gCAAgC;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,UAAU,CA4UZ"}
|
package/lib/preset.js
CHANGED
|
@@ -66,6 +66,7 @@ function createRecommendViteConfig(options) {
|
|
|
66
66
|
needRoutes &&
|
|
67
67
|
(0, route_parser_plugin_1.routeParserPlugin)({
|
|
68
68
|
appPath: './client/src/app.tsx',
|
|
69
|
+
basePath: clientBasePath,
|
|
69
70
|
}),
|
|
70
71
|
// Performance monitoring plugin (Slardar + Tea)
|
|
71
72
|
(0, slardar_plugin_1.slardarPlugin)({ bid: 'apaas_miaoda' }),
|
|
@@ -86,6 +87,8 @@ function createRecommendViteConfig(options) {
|
|
|
86
87
|
base: publicPath ? publicPath + '/' : '/',
|
|
87
88
|
plugins: plugins.filter(Boolean),
|
|
88
89
|
resolve: {
|
|
90
|
+
// Align with rspack-preset's mainFields order
|
|
91
|
+
mainFields: ['module', 'browser', 'main'],
|
|
89
92
|
extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
|
|
90
93
|
alias: {
|
|
91
94
|
// In production, replace inspector package with empty stub
|
|
@@ -100,6 +103,9 @@ function createRecommendViteConfig(options) {
|
|
|
100
103
|
define: {
|
|
101
104
|
// Polyfill for Node.js global object (used by sockjs-client, etc.)
|
|
102
105
|
global: 'globalThis',
|
|
106
|
+
// Note: Don't define 'window: globalThis' - it causes "Cannot set property window"
|
|
107
|
+
// error in browser because window is read-only. In browser, window is already available.
|
|
108
|
+
'typeof window': JSON.stringify('object'),
|
|
103
109
|
'process.env.NODE_ENV': JSON.stringify(isDev ? 'development' : 'production'),
|
|
104
110
|
'process.env.runtimeMode': JSON.stringify('fullstack'),
|
|
105
111
|
'process.env.CLIENT_BASE_PATH': JSON.stringify(clientBasePath),
|
|
@@ -109,12 +115,16 @@ function createRecommendViteConfig(options) {
|
|
|
109
115
|
? JSON.stringify(process.env.FORCE_FRAMEWORK_DOMAIN_MAIN)
|
|
110
116
|
: 'undefined',
|
|
111
117
|
'process.env.CWD': JSON.stringify(''),
|
|
118
|
+
// Runtime injection flag for client-toolkit compatibility
|
|
119
|
+
'process.env.__RUNTIME_INJECTED__': JSON.stringify('true'),
|
|
112
120
|
},
|
|
113
121
|
server: {
|
|
114
122
|
port: Number(process.env.CLIENT_DEV_PORT) || 8080,
|
|
115
123
|
host: process.env.CLIENT_DEV_HOST || 'localhost',
|
|
116
|
-
strictPort:
|
|
124
|
+
strictPort: true,
|
|
117
125
|
cors: true,
|
|
126
|
+
// Allow all hosts (align with rspack-preset's allowedHosts: 'all')
|
|
127
|
+
allowedHosts: true,
|
|
118
128
|
headers: {
|
|
119
129
|
...(process.env.FORCE_FRAMEWORK_DOMAIN_MAIN
|
|
120
130
|
? {
|
|
@@ -126,6 +136,15 @@ function createRecommendViteConfig(options) {
|
|
|
126
136
|
usePolling: true,
|
|
127
137
|
interval: 500,
|
|
128
138
|
},
|
|
139
|
+
// HMR WebSocket configuration for reverse proxy scenarios
|
|
140
|
+
// Reference: https://vite.dev/config/server-options.html#server-hmr
|
|
141
|
+
// - protocol: 'wss' for HTTPS proxy
|
|
142
|
+
// - clientPort: 443 tells client to connect via proxy (not localhost:8001)
|
|
143
|
+
// - path: custom WebSocket path aligned with rspack-preset
|
|
144
|
+
hmr: {
|
|
145
|
+
protocol: 'wss',
|
|
146
|
+
path: `/ws`,
|
|
147
|
+
},
|
|
129
148
|
proxy: {
|
|
130
149
|
// API proxy
|
|
131
150
|
[`${clientBasePath}/api`]: {
|
|
@@ -194,6 +213,8 @@ function createRecommendViteConfig(options) {
|
|
|
194
213
|
? JSON.stringify(process.env.FORCE_FRAMEWORK_DOMAIN_MAIN)
|
|
195
214
|
: 'undefined',
|
|
196
215
|
global: 'globalThis',
|
|
216
|
+
// Align with rspack-preset
|
|
217
|
+
'process.env.__RUNTIME_INJECTED__': JSON.stringify('true'),
|
|
197
218
|
},
|
|
198
219
|
},
|
|
199
220
|
},
|
package/lib/preset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":";;;;;AAsDA,
|
|
1
|
+
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import type { Plugin } from 'vite';
|
|
|
2
2
|
interface RouteParserPluginOptions {
|
|
3
3
|
appPath?: string;
|
|
4
4
|
outputPath?: string;
|
|
5
|
+
/** Base path for the routes.json endpoint (e.g., '/miaoda_custom_plugin') */
|
|
6
|
+
basePath?: string;
|
|
5
7
|
}
|
|
6
8
|
export declare function routeParserPlugin(options?: RouteParserPluginOptions): Plugin;
|
|
7
9
|
export default routeParserPlugin;
|
|
@@ -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;AAQlD,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,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;AAQlD,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAoPD,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,wBAA6B,GACrC,MAAM,CAmER;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -237,7 +237,7 @@ function generateRoutes(appPath, outputPath, lastHash, cachedRoutes) {
|
|
|
237
237
|
return routes;
|
|
238
238
|
}
|
|
239
239
|
function routeParserPlugin(options = {}) {
|
|
240
|
-
const { appPath = './client/src/app.tsx', outputPath = './dist/client/routes.json', } = options;
|
|
240
|
+
const { appPath = './client/src/app.tsx', outputPath = './dist/client/routes.json', basePath = '', } = options;
|
|
241
241
|
const lastHash = { value: null };
|
|
242
242
|
const cachedRoutes = {
|
|
243
243
|
value: null,
|
|
@@ -257,6 +257,23 @@ function routeParserPlugin(options = {}) {
|
|
|
257
257
|
generateRoutes(appPath, fullOutputPath, lastHash, cachedRoutes);
|
|
258
258
|
}
|
|
259
259
|
});
|
|
260
|
+
// Middleware to serve routes.json at ${basePath}/routes.json
|
|
261
|
+
const routesJsonPath = `${basePath}/routes.json`;
|
|
262
|
+
server.middlewares.use((req, res, next) => {
|
|
263
|
+
const urlPath = req.url?.split('?')[0];
|
|
264
|
+
if (urlPath === routesJsonPath) {
|
|
265
|
+
if (fs.existsSync(fullOutputPath)) {
|
|
266
|
+
res.setHeader('Content-Type', 'application/json');
|
|
267
|
+
res.end(fs.readFileSync(fullOutputPath, 'utf-8'));
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
res.statusCode = 404;
|
|
271
|
+
res.end(JSON.stringify({ error: 'routes.json not found' }));
|
|
272
|
+
}
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
next();
|
|
276
|
+
});
|
|
260
277
|
},
|
|
261
278
|
buildStart() {
|
|
262
279
|
// Build mode: generate routes
|
|
@@ -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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"}
|
|
@@ -4,18 +4,24 @@
|
|
|
4
4
|
* 在编译时自动将 @lark-apaas/client-toolkit/runtime 注入到入口文件之前
|
|
5
5
|
* 与 rspack-preset 中的 RuntimeInjectionPlugin 功能对齐
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* 原理:通过 virtual module 在 HTML 中注入 runtime script
|
|
8
|
+
* 使用 virtual module 而不是 inline script,因为浏览器无法解析 bare module specifier
|
|
8
9
|
*/
|
|
9
10
|
import type { Plugin } from 'vite';
|
|
10
11
|
export interface RuntimeInjectionPluginOptions {
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
-
* @default
|
|
13
|
+
* Whether to enable runtime injection
|
|
14
|
+
* @default true
|
|
14
15
|
*/
|
|
15
|
-
|
|
16
|
+
enabled?: boolean;
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
|
-
* Vite plugin to inject @lark-apaas/client-toolkit/runtime
|
|
19
|
+
* Vite plugin to inject @lark-apaas/client-toolkit/runtime
|
|
20
|
+
*
|
|
21
|
+
* 使用 virtual module 方式注入 runtime:
|
|
22
|
+
* 1. 创建一个 virtual module 包含 runtime import
|
|
23
|
+
* 2. 在 HTML 中注入指向 virtual module 的 script 标签
|
|
24
|
+
* 3. Vite 会正确解析 bare module specifier
|
|
19
25
|
*/
|
|
20
26
|
export declare function runtimeInjectionPlugin(options?: RuntimeInjectionPluginOptions): Plugin;
|
|
21
27
|
export default runtimeInjectionPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-injection-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/runtime-injection-plugin.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runtime-injection-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/runtime-injection-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAMtD,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,6BAAkC,GAC1C,MAAM,CAgDR;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -5,43 +5,59 @@
|
|
|
5
5
|
* 在编译时自动将 @lark-apaas/client-toolkit/runtime 注入到入口文件之前
|
|
6
6
|
* 与 rspack-preset 中的 RuntimeInjectionPlugin 功能对齐
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* 原理:通过 virtual module 在 HTML 中注入 runtime script
|
|
9
|
+
* 使用 virtual module 而不是 inline script,因为浏览器无法解析 bare module specifier
|
|
9
10
|
*/
|
|
10
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
12
|
exports.runtimeInjectionPlugin = runtimeInjectionPlugin;
|
|
12
13
|
const RUNTIME_MODULE = '@lark-apaas/client-toolkit/runtime';
|
|
13
|
-
const
|
|
14
|
+
const VIRTUAL_MODULE_ID = 'virtual:fullstack-runtime';
|
|
15
|
+
const RESOLVED_VIRTUAL_MODULE_ID = '\0' + VIRTUAL_MODULE_ID;
|
|
14
16
|
/**
|
|
15
|
-
* Vite plugin to inject @lark-apaas/client-toolkit/runtime
|
|
17
|
+
* Vite plugin to inject @lark-apaas/client-toolkit/runtime
|
|
18
|
+
*
|
|
19
|
+
* 使用 virtual module 方式注入 runtime:
|
|
20
|
+
* 1. 创建一个 virtual module 包含 runtime import
|
|
21
|
+
* 2. 在 HTML 中注入指向 virtual module 的 script 标签
|
|
22
|
+
* 3. Vite 会正确解析 bare module specifier
|
|
16
23
|
*/
|
|
17
24
|
function runtimeInjectionPlugin(options = {}) {
|
|
18
|
-
const {
|
|
19
|
-
// Create regex patterns for matching entry files
|
|
20
|
-
const entryRegexes = entryPatterns.map((pattern) => new RegExp(`[/\\\\]client[/\\\\]src[/\\\\]${pattern.replace('.', '\\.')}$`));
|
|
25
|
+
const { enabled = true } = options;
|
|
21
26
|
return {
|
|
22
27
|
name: 'fullstack-runtime-injection',
|
|
23
|
-
// Use enforce: 'pre' to run before other
|
|
28
|
+
// Use enforce: 'pre' to run before other plugins
|
|
24
29
|
enforce: 'pre',
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return null;
|
|
30
|
+
resolveId(id) {
|
|
31
|
+
if (id === VIRTUAL_MODULE_ID) {
|
|
32
|
+
return RESOLVED_VIRTUAL_MODULE_ID;
|
|
29
33
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
+
},
|
|
35
|
+
load(id) {
|
|
36
|
+
if (id === RESOLVED_VIRTUAL_MODULE_ID) {
|
|
37
|
+
// Return code that imports the runtime module
|
|
38
|
+
return `import '${RUNTIME_MODULE}';\n`;
|
|
34
39
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
},
|
|
41
|
+
transformIndexHtml(html) {
|
|
42
|
+
if (!enabled) {
|
|
43
|
+
return html;
|
|
38
44
|
}
|
|
39
|
-
// Inject
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
// Inject a script tag that loads the virtual module
|
|
46
|
+
// Vite will resolve the bare import inside the virtual module
|
|
47
|
+
const tags = [
|
|
48
|
+
{
|
|
49
|
+
tag: 'script',
|
|
50
|
+
attrs: {
|
|
51
|
+
type: 'module',
|
|
52
|
+
src: '/' + VIRTUAL_MODULE_ID,
|
|
53
|
+
},
|
|
54
|
+
injectTo: 'head-prepend', // Inject at the very beginning of <head>
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
console.log(`[runtime-injection] Injected runtime module via virtual module`);
|
|
42
58
|
return {
|
|
43
|
-
|
|
44
|
-
|
|
59
|
+
html,
|
|
60
|
+
tags,
|
|
45
61
|
};
|
|
46
62
|
},
|
|
47
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-injection-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/runtime-injection-plugin.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"runtime-injection-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/runtime-injection-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAwBH,wDAkDC;AAtED,MAAM,cAAc,GAAG,oCAAoC,CAAC;AAC5D,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AACtD,MAAM,0BAA0B,GAAG,IAAI,GAAG,iBAAiB,CAAC;AAU5D;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,UAAyC,EAAE;IAE3C,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEnC,OAAO;QACL,IAAI,EAAE,6BAA6B;QAEnC,iDAAiD;QACjD,OAAO,EAAE,KAAK;QAEd,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;gBAC7B,OAAO,0BAA0B,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,KAAK,0BAA0B,EAAE,CAAC;gBACtC,8CAA8C;gBAC9C,OAAO,WAAW,cAAc,MAAM,CAAC;YACzC,CAAC;QACH,CAAC;QAED,kBAAkB,CAAC,IAAI;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;YAED,oDAAoD;YACpD,8DAA8D;YAC9D,MAAM,IAAI,GAAwB;gBAChC;oBACE,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,GAAG,EAAE,GAAG,GAAG,iBAAiB;qBAC7B;oBACD,QAAQ,EAAE,cAAc,EAAE,yCAAyC;iBACpE;aACF,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;YAE9E,OAAO;gBACL,IAAI;gBACJ,IAAI;aACL,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,sBAAsB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lark-apaas/fullstack-vite-preset",
|
|
3
|
-
"version": "1.0.1-alpha.
|
|
3
|
+
"version": "1.0.1-alpha.3",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src/empty.css",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"@babel/parser": "^7.28.0",
|
|
32
32
|
"@babel/traverse": "^7.28.0",
|
|
33
33
|
"@babel/types": "^7.28.2",
|
|
34
|
-
"@lark-apaas/devtool-kits": "^1.2.17-alpha.
|
|
35
|
-
"@lark-apaas/miaoda-inspector-jsx-runtime": "^1.0.1-alpha.
|
|
36
|
-
"@lark-apaas/vite-inspector-plugin": "^1.0.1-alpha.
|
|
34
|
+
"@lark-apaas/devtool-kits": "^1.2.17-alpha.3",
|
|
35
|
+
"@lark-apaas/miaoda-inspector-jsx-runtime": "^1.0.1-alpha.3",
|
|
36
|
+
"@lark-apaas/vite-inspector-plugin": "^1.0.1-alpha.3",
|
|
37
37
|
"@vitejs/plugin-react": "^4.5.0",
|
|
38
38
|
"clsx": "^2.1.1",
|
|
39
39
|
"colorjs.io": "^0.5.2",
|