@lark-apaas/fullstack-vite-preset 1.0.9-alpha.5 → 1.0.9-alpha.51

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/index.d.ts CHANGED
@@ -36,4 +36,6 @@ export type { CreateRecommendViteConfigOptions } from './preset';
36
36
  export { createRecommendViteConfig } from './preset';
37
37
  export { runtimeInjectionPlugin } from './vite-plugins/runtime-injection-plugin';
38
38
  export type { RuntimeInjectionPluginOptions } from './vite-plugins/runtime-injection-plugin';
39
+ export { preconnectPlugin } from './vite-plugins/preconnect-plugin';
40
+ export type { PreconnectPluginOptions } from './vite-plugins/preconnect-plugin';
39
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAMpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,GAAE,UAAe,GACzB,UAAU,CAiCZ;AAGD,OAAO,EAAE,yBAAyB,IAAI,YAAY,EAAE,CAAC;AAGrD,YAAY,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAMpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,GAAE,UAAe,GACzB,UAAU,CAiCZ;AAGD,OAAO,EAAE,yBAAyB,IAAI,YAAY,EAAE,CAAC;AAGrD,YAAY,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runtimeInjectionPlugin = exports.createRecommendViteConfig = void 0;
3
+ exports.preconnectPlugin = exports.runtimeInjectionPlugin = exports.createRecommendViteConfig = void 0;
4
4
  exports.createFullstackViteConfig = createFullstackViteConfig;
5
5
  exports.defineConfig = createFullstackViteConfig;
6
6
  const vite_1 = require("vite");
@@ -72,4 +72,6 @@ Object.defineProperty(exports, "createRecommendViteConfig", { enumerable: true,
72
72
  // Re-export plugins for independent use
73
73
  var runtime_injection_plugin_1 = require("./vite-plugins/runtime-injection-plugin");
74
74
  Object.defineProperty(exports, "runtimeInjectionPlugin", { enumerable: true, get: function () { return runtime_injection_plugin_1.runtimeInjectionPlugin; } });
75
+ var preconnect_plugin_1 = require("./vite-plugins/preconnect-plugin");
76
+ Object.defineProperty(exports, "preconnectPlugin", { enumerable: true, get: function () { return preconnect_plugin_1.preconnectPlugin; } });
75
77
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAqCA,8DAmCC;AAGqC,iDAAY;AA3ElD,+BAAoD;AACpD,2DAA6D;AAE7D,qCAAqD;AACrD,qEAAoF;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAgB,yBAAyB,CACvC,YAAwB,EAAE;IAE1B,yFAAyF;IACzF,IAAI,CAAC;QACH,8DAA8D;QAC9D,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2EAA2E;IAC7E,CAAC;IAED,mDAAmD;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;IACpD,MAAM,kBAAkB,GAAG,KAAK,CAAC;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,eAAe;IAEvE,+BAA+B;IAC/B,MAAM,cAAc,GAAG,IAAA,gCAAiB,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAA,2DAAqC,EACtD,KAAK;QACH,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG;QACrC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,CACvC,CAAC;IAEF,yDAAyD;IACzD,MAAM,UAAU,GAAG,IAAA,kCAAyB,EAAC;QAC3C,KAAK;QACL,kBAAkB;QAClB,UAAU;QACV,cAAc;QACd,UAAU;KACX,CAAC,CAAC;IAEH,mCAAmC;IACnC,OAAO,IAAA,kBAAW,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAOD,mCAAqD;AAA5C,mHAAA,yBAAyB,OAAA;AAElC,wCAAwC;AACxC,oFAAiF;AAAxE,kIAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAqCA,8DAmCC;AAGqC,iDAAY;AA3ElD,+BAAoD;AACpD,2DAA6D;AAE7D,qCAAqD;AACrD,qEAAoF;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAgB,yBAAyB,CACvC,YAAwB,EAAE;IAE1B,yFAAyF;IACzF,IAAI,CAAC;QACH,8DAA8D;QAC9D,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2EAA2E;IAC7E,CAAC;IAED,mDAAmD;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;IACpD,MAAM,kBAAkB,GAAG,KAAK,CAAC;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,eAAe;IAEvE,+BAA+B;IAC/B,MAAM,cAAc,GAAG,IAAA,gCAAiB,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAA,2DAAqC,EACtD,KAAK;QACH,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG;QACrC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,CACvC,CAAC;IAEF,yDAAyD;IACzD,MAAM,UAAU,GAAG,IAAA,kCAAyB,EAAC;QAC3C,KAAK;QACL,kBAAkB;QAClB,UAAU;QACV,cAAc;QACd,UAAU;KACX,CAAC,CAAC;IAEH,mCAAmC;IACnC,OAAO,IAAA,kBAAW,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAOD,mCAAqD;AAA5C,mHAAA,yBAAyB,OAAA;AAElC,wCAAwC;AACxC,oFAAiF;AAAxE,kIAAA,sBAAsB,OAAA;AAE/B,sEAAoE;AAA3D,qHAAA,gBAAgB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AA+C9D,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;IACpB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAaD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,UAAU,CA+XZ"}
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AAgD9D,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;IACpB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAaD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,UAAU,CAqcZ"}
package/lib/preset.js CHANGED
@@ -12,6 +12,7 @@ const vite_inspector_plugin_1 = require("@lark-apaas/vite-inspector-plugin");
12
12
  const devtool_kits_1 = require("@lark-apaas/devtool-kits");
13
13
  const vite_client_patch_plugin_1 = require("./vite-plugins/vite-client-patch-plugin");
14
14
  const route_parser_plugin_1 = require("./vite-plugins/route-parser-plugin");
15
+ const preconnect_plugin_1 = require("./vite-plugins/preconnect-plugin");
15
16
  const slardar_plugin_1 = require("./vite-plugins/slardar-plugin");
16
17
  const view_context_plugin_1 = require("./vite-plugins/view-context-plugin");
17
18
  const og_meta_plugin_1 = require("./vite-plugins/og-meta-plugin");
@@ -57,6 +58,38 @@ function createRecommendViteConfig(options) {
57
58
  const appFlags = readAppFlags(rootDir);
58
59
  // 优先从环境变量获取 RELEASE_ID,否则使用时间戳作为兜底
59
60
  const releaseId = process.env.RELEASE_ID || new Date().toISOString();
61
+ // 从 clientBasePath(如 /app/app123)中提取 appId,用于构造旧路径代理规则
62
+ // 仅在新路径格式(/app/:appId)下启用旧路径兼容
63
+ const isNewPathFormat = /^\/app\/[^/]/.test(clientBasePath);
64
+ const appId = isNewPathFormat
65
+ ? clientBasePath.replace(/\/+$/, '').split('/').pop()
66
+ : '';
67
+ // 当 publicPath 是绝对 URL(即静态资源走跨域 CDN,典型的 miaoda 线上部署场景)时,
68
+ // 从中派生出 CDN origin 用于 preconnect,让浏览器提前建连,减少关键资源等待时间。
69
+ // Dev 模式下 publicPath 是同域路径(如 /app/xxx),不需要 preconnect。
70
+ const assetOriginsForPreconnect = [];
71
+ if (!isDev && typeof publicPath === 'string' && /^https?:\/\//.test(publicPath)) {
72
+ assetOriginsForPreconnect.push(publicPath);
73
+ }
74
+ // 读取构建前生成的路由定义 JSON,供 define 注入到 bundle
75
+ // build.sh 在 client 构建之前已将 page-routes.json / api-routes.json 写入 dist/
76
+ // 独立于 needRoutes(needRoutes 仅控制 RouteParserPlugin),只要文件存在就注入
77
+ let pageRouteDefinitions = [];
78
+ let apiRouteDefinitions = [];
79
+ try {
80
+ const pageRoutesPath = path_1.default.resolve(rootDir, 'dist/page-routes.json');
81
+ if (fs_1.default.existsSync(pageRoutesPath)) {
82
+ pageRouteDefinitions = JSON.parse(fs_1.default.readFileSync(pageRoutesPath, 'utf-8'));
83
+ }
84
+ }
85
+ catch { /* ignore */ }
86
+ try {
87
+ const apiRoutesPath = path_1.default.resolve(rootDir, 'dist/api-routes.json');
88
+ if (fs_1.default.existsSync(apiRoutesPath)) {
89
+ apiRouteDefinitions = JSON.parse(fs_1.default.readFileSync(apiRoutesPath, 'utf-8'));
90
+ }
91
+ }
92
+ catch { /* ignore */ }
60
93
  // Build the plugins array
61
94
  const plugins = [
62
95
  // Cloud env patch: suppress auto page-reload on HMR WebSocket reconnect (dev only)
@@ -78,6 +111,12 @@ function createRecommendViteConfig(options) {
78
111
  // Runtime injection plugin - injects @lark-apaas/client-toolkit/runtime
79
112
  // Must be early to ensure runtime is loaded before app code
80
113
  (0, runtime_injection_plugin_1.runtimeInjectionPlugin)({ clientBasePath }),
114
+ // Inspector plugin for dev mode (injects data attributes for debugging)
115
+ // Only enabled in development when DISABLE_INSPECTOR is not set
116
+ // Must be BEFORE react() — both use enforce:'pre' and Vite runs them in array order.
117
+ // If react() runs first, its Babel transform converts JSX to _jsxDEV() calls,
118
+ // leaving no JSX elements for the inspector to annotate.
119
+ enableInspector && (0, vite_inspector_plugin_1.inspectorPlugin)(),
81
120
  // React plugin with Babel for styled-jsx support
82
121
  // 宽松模式下使用 @lark-apaas/styled-jsx/babel(对齐 rspack-preset),否则使用社区版
83
122
  (0, plugin_react_1.default)({
@@ -88,9 +127,6 @@ function createRecommendViteConfig(options) {
88
127
  // Only enable fast refresh in dev mode
89
128
  ...(enableReactRefresh ? {} : { fastRefresh: false }),
90
129
  }),
91
- // Inspector plugin for dev mode (injects data attributes for debugging)
92
- // Only enabled in development when DISABLE_INSPECTOR is not set
93
- enableInspector && (0, vite_inspector_plugin_1.inspectorPlugin)(),
94
130
  // Module alias plugin for clsx and echarts
95
131
  (0, module_alias_plugin_1.moduleAliasPlugin)(),
96
132
  // Route parser plugin (when needRoutes is true)
@@ -103,10 +139,14 @@ function createRecommendViteConfig(options) {
103
139
  serveBasePath: clientBasePath,
104
140
  ...(isDev ? { basePath: '' } : {}),
105
141
  }),
142
+ // View context injection plugin (must be before slardar so it appears first in HTML)
143
+ (0, view_context_plugin_1.viewContextPlugin)(),
144
+ // Preconnect to static asset CDN — only when publicPath is an absolute URL
145
+ // (prod deploy with CDN). Dev mode resources are same-origin, no preconnect needed.
146
+ assetOriginsForPreconnect.length > 0 &&
147
+ (0, preconnect_plugin_1.preconnectPlugin)({ origins: assetOriginsForPreconnect }),
106
148
  // Performance monitoring plugin (Slardar + Tea)
107
149
  (0, slardar_plugin_1.slardarPlugin)({ bid: 'apaas_miaoda' }),
108
- // View context injection plugin
109
- (0, view_context_plugin_1.viewContextPlugin)(),
110
150
  // OG Meta tags injection plugin
111
151
  (0, og_meta_plugin_1.ogMetaPlugin)(),
112
152
  // 生产环境:生成 legacy CSS 并注入检测脚本(对齐 rspack-preset)
@@ -171,6 +211,9 @@ function createRecommendViteConfig(options) {
171
211
  'process.env.BUILD_TOOL': JSON.stringify('vite'),
172
212
  // 模板 flags 配置
173
213
  'process.env.APP_FLAGS': JSON.stringify(appFlags),
214
+ // 路由定义,供客户端匹配 referer_path 和 api
215
+ 'process.env.__PAGE_ROUTE_DEFINITIONS__': JSON.stringify(JSON.stringify(pageRouteDefinitions)),
216
+ 'process.env.__API_ROUTE_DEFINITIONS__': JSON.stringify(JSON.stringify(apiRouteDefinitions)),
174
217
  },
175
218
  server: {
176
219
  port: Number(process.env.CLIENT_DEV_PORT) || 8080,
@@ -226,6 +269,29 @@ function createRecommendViteConfig(options) {
226
269
  });
227
270
  },
228
271
  },
272
+ // 旧路径(/af/p/:appId)兼容代理,转发到 Node Server 由 legacy-path-redirect 中间件处理
273
+ ...(appId
274
+ ? {
275
+ [`/af/p/${appId}/api`]: {
276
+ target: `http://localhost:${serverPort}`,
277
+ changeOrigin: true,
278
+ configure: (proxy) => {
279
+ proxy.on('error', (err, req, res) => {
280
+ sendBackendUnavailable502(err, req, res);
281
+ });
282
+ },
283
+ },
284
+ [`/af/p/${appId}/__innerapi__`]: {
285
+ target: `http://localhost:${serverPort}`,
286
+ changeOrigin: true,
287
+ configure: (proxy) => {
288
+ proxy.on('error', (err, req, res) => {
289
+ sendBackendUnavailable502(err, req, res);
290
+ });
291
+ },
292
+ },
293
+ }
294
+ : {}),
229
295
  },
230
296
  },
231
297
  build: {
@@ -233,12 +299,14 @@ function createRecommendViteConfig(options) {
233
299
  emptyOutDir: false,
234
300
  sourcemap: isDev ? true : 'hidden', // Align with rspack-preset's devtool config
235
301
  minify: !isDev ? 'esbuild' : false,
302
+ // 提高默认 warn limit — 拆 vendor 后单 chunk 仍可能略大,但不是问题
303
+ chunkSizeWarningLimit: 800,
236
304
  rollupOptions: {
237
305
  input: path_1.default.resolve(rootDir, 'client/index.html'),
238
306
  output: {
239
307
  // Code splitting: when disabled, all dynamic imports are inlined into single bundle
240
308
  // When enabled (default), Vite will split chunks based on dynamic imports
241
- ...(codeSplitting ? {} : { inlineDynamicImports: true }),
309
+ ...(!codeSplitting ? { inlineDynamicImports: true } : {}),
242
310
  },
243
311
  },
244
312
  // Copy public directory
@@ -329,6 +397,7 @@ function createRecommendViteConfig(options) {
329
397
  const isStaticAsset = /\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot)$/i.test(pathname);
330
398
  if (isHtmlRequest && !isDevServerPath && !isStaticAsset) {
331
399
  // Forward to backend server
400
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
332
401
  const http = require('http');
333
402
  const proxyReq = http.request({
334
403
  hostname: 'localhost',
package/lib/preset.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { Plugin } from 'vite';
2
+ export interface PreconnectPluginOptions {
3
+ /**
4
+ * 需要 preconnect 的 origin 列表。允许传完整 URL,内部会解析为 origin 并去重。
5
+ * 非 http(s) 协议或解析失败的项会被忽略。
6
+ */
7
+ origins: string[];
8
+ /**
9
+ * preconnect link 的 crossorigin 属性。
10
+ * - `true` 或 `'anonymous'`:`crossorigin="anonymous"`(匹配 `<script crossorigin>` / `<link modulepreload>` 等 CORS 请求)
11
+ * - `'use-credentials'`:`crossorigin="use-credentials"`
12
+ * - `false`:不设置 crossorigin 属性(匹配普通 `<script src>` 等非 CORS 请求)
13
+ *
14
+ * 默认 `'anonymous'`,匹配 Vite 打包输出的 ESM chunks(默认带 crossorigin)。
15
+ */
16
+ crossOrigin?: boolean | 'anonymous' | 'use-credentials';
17
+ /**
18
+ * 是否同时添加 `dns-prefetch` 作为兜底(对不支持 preconnect 的旧浏览器有效)。默认 false。
19
+ */
20
+ dnsPrefetchFallback?: boolean;
21
+ }
22
+ /**
23
+ * 注入 `<link rel="preconnect">`(可选附加 `<link rel="dns-prefetch">`)到 HTML head 最前面,
24
+ * 让浏览器提前建立到关键资源域名的 TCP + TLS 连接,减少首屏资源的等待时间。
25
+ *
26
+ * 插件本身不关心域名来源,域名完全由调用方通过 `origins` 传入——上层可以基于 `publicPath`、
27
+ * 环境变量或业务配置动态派生,未来更换 CDN 只需改上层即可。
28
+ */
29
+ export declare function preconnectPlugin(options: PreconnectPluginOptions): Plugin;
30
+ export default preconnectPlugin;
31
+ //# sourceMappingURL=preconnect-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preconnect-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/preconnect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACxD;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAoCzE;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.preconnectPlugin = preconnectPlugin;
4
+ function normalizeOrigins(input) {
5
+ const set = new Set();
6
+ for (const item of input) {
7
+ if (!item)
8
+ continue;
9
+ try {
10
+ const url = new URL(item);
11
+ if (url.protocol !== 'http:' && url.protocol !== 'https:')
12
+ continue;
13
+ set.add(url.origin);
14
+ }
15
+ catch {
16
+ // 忽略非法 URL
17
+ }
18
+ }
19
+ return Array.from(set);
20
+ }
21
+ function resolveCrossOriginAttr(value) {
22
+ if (value === false)
23
+ return undefined;
24
+ if (value === 'use-credentials')
25
+ return 'use-credentials';
26
+ // true / 'anonymous' / undefined
27
+ return 'anonymous';
28
+ }
29
+ /**
30
+ * 注入 `<link rel="preconnect">`(可选附加 `<link rel="dns-prefetch">`)到 HTML head 最前面,
31
+ * 让浏览器提前建立到关键资源域名的 TCP + TLS 连接,减少首屏资源的等待时间。
32
+ *
33
+ * 插件本身不关心域名来源,域名完全由调用方通过 `origins` 传入——上层可以基于 `publicPath`、
34
+ * 环境变量或业务配置动态派生,未来更换 CDN 只需改上层即可。
35
+ */
36
+ function preconnectPlugin(options) {
37
+ const origins = normalizeOrigins(options.origins);
38
+ const crossOriginAttr = resolveCrossOriginAttr(options.crossOrigin);
39
+ const withDnsPrefetch = options.dnsPrefetchFallback === true;
40
+ return {
41
+ name: 'fullstack-preconnect',
42
+ transformIndexHtml: {
43
+ // pre-order 保证 link 尽量靠前
44
+ order: 'pre',
45
+ handler() {
46
+ if (origins.length === 0)
47
+ return [];
48
+ const tags = [];
49
+ for (const href of origins) {
50
+ tags.push({
51
+ tag: 'link',
52
+ attrs: {
53
+ rel: 'preconnect',
54
+ href,
55
+ ...(crossOriginAttr ? { crossorigin: crossOriginAttr } : {}),
56
+ },
57
+ injectTo: 'head-prepend',
58
+ });
59
+ if (withDnsPrefetch) {
60
+ tags.push({
61
+ tag: 'link',
62
+ attrs: { rel: 'dns-prefetch', href },
63
+ injectTo: 'head-prepend',
64
+ });
65
+ }
66
+ }
67
+ return tags;
68
+ },
69
+ },
70
+ };
71
+ }
72
+ exports.default = preconnectPlugin;
73
+ //# sourceMappingURL=preconnect-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preconnect-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/preconnect-plugin.ts"],"names":[],"mappings":";;AAsDA,4CAoCC;AAnED,SAAS,gBAAgB,CAAC,KAAe;IACvC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YACpE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA6C;IAE7C,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,KAAK,KAAK,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAC1D,iCAAiC;IACjC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAE7D,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,kBAAkB,EAAE;YAClB,yBAAyB;YACzB,KAAK,EAAE,KAAK;YACZ,OAAO;gBACL,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,EAAE,CAAC;gBAEpC,MAAM,IAAI,GAAwB,EAAE,CAAC;gBACrC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC;wBACR,GAAG,EAAE,MAAM;wBACX,KAAK,EAAE;4BACL,GAAG,EAAE,YAAY;4BACjB,IAAI;4BACJ,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC7D;wBACD,QAAQ,EAAE,cAAc;qBACzB,CAAC,CAAC;oBACH,IAAI,eAAe,EAAE,CAAC;wBACpB,IAAI,CAAC,IAAI,CAAC;4BACR,GAAG,EAAE,MAAM;4BACX,KAAK,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE;4BACpC,QAAQ,EAAE,cAAc;yBACzB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
@@ -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;
@@ -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;IACpB,yHAAyH;IACzH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA2QD,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,wBAA6B,GACrC,MAAM,CA4ER;AAED,eAAe,iBAAiB,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,261 +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 });
36
+ exports.parseRoutes = exports.normalizeBasePath = void 0;
39
37
  exports.routeParserPlugin = routeParserPlugin;
40
38
  const fs = __importStar(require("fs"));
41
39
  const path = __importStar(require("path"));
42
- const crypto = __importStar(require("crypto"));
43
- const parser_1 = require("@babel/parser");
44
- const traverse_1 = __importDefault(require("@babel/traverse"));
45
- const t = __importStar(require("@babel/types"));
46
- /**
47
- * Normalize basePath: ensure it starts with '/' and does not end with '/'
48
- * (Align with rspack behavior)
49
- */
50
- function normalizeBasePath(basePath) {
51
- if (!basePath || basePath === '/') {
52
- return '';
53
- }
54
- // Ensure starts with /
55
- let normalized = basePath.startsWith('/') ? basePath : `/${basePath}`;
56
- // Ensure does not end with /
57
- if (normalized.endsWith('/')) {
58
- normalized = normalized.slice(0, -1);
59
- }
60
- return normalized;
61
- }
62
- function log(level, message, ...args) {
63
- const prefix = '[route-parser]';
64
- const logMessage = `${prefix} ${message}`;
65
- switch (level) {
66
- case 'log':
67
- console.log(logMessage, ...args);
68
- break;
69
- case 'warn':
70
- console.warn(logMessage, ...args);
71
- break;
72
- case 'error':
73
- console.error(logMessage, ...args);
74
- break;
75
- case 'info':
76
- console.info(logMessage, ...args);
77
- break;
78
- default:
79
- console.log(logMessage, ...args);
80
- }
81
- }
82
- function calculateFileHash(filePath) {
83
- try {
84
- const content = fs.readFileSync(filePath, 'utf-8');
85
- return crypto.createHash('md5').update(content).digest('hex');
86
- }
87
- catch (error) {
88
- log('warn', 'Failed to calculate file hash:', error.message);
89
- return null;
90
- }
91
- }
92
- function isRouteComponent(openingElement) {
93
- return (t.isJSXIdentifier(openingElement.name) &&
94
- openingElement.name.name === 'Route');
95
- }
96
- function evaluateTemplateLiteral(templateLiteral) {
97
- const quasis = templateLiteral.quasis;
98
- const expressions = templateLiteral.expressions;
99
- if (quasis.length === 1 && expressions.length === 0) {
100
- return quasis[0].value.raw;
101
- }
102
- return quasis.map((q) => q.value.raw).join('');
103
- }
104
- function extractRouteInfo(openingElement) {
105
- const routeInfo = {};
106
- openingElement.attributes.forEach((attr) => {
107
- if (t.isJSXAttribute(attr) && t.isJSXIdentifier(attr.name)) {
108
- const name = attr.name.name;
109
- let value;
110
- if (attr.value) {
111
- if (t.isStringLiteral(attr.value)) {
112
- value = attr.value.value;
113
- }
114
- else if (t.isJSXExpressionContainer(attr.value)) {
115
- const expression = attr.value.expression;
116
- if (t.isStringLiteral(expression)) {
117
- value = expression.value;
118
- }
119
- else if (t.isTemplateLiteral(expression)) {
120
- value = evaluateTemplateLiteral(expression);
121
- }
122
- else {
123
- value = true;
124
- }
125
- }
126
- }
127
- else {
128
- value = true;
129
- }
130
- routeInfo[name] = value;
131
- }
132
- });
133
- return routeInfo;
134
- }
135
- function buildFullPath(routeStack, currentRoute) {
136
- let fullPath = '';
137
- for (let i = 0; i < routeStack.length; i++) {
138
- if (routeStack[i].path) {
139
- let parentPath = routeStack[i].path;
140
- if (!parentPath.startsWith('/'))
141
- parentPath = `/${parentPath}`;
142
- if (parentPath.endsWith('/') && parentPath !== '/') {
143
- parentPath = parentPath.slice(0, -1);
144
- }
145
- fullPath += parentPath === '/' ? '' : parentPath;
146
- }
147
- }
148
- if (currentRoute.index) {
149
- return fullPath || '/';
150
- }
151
- else if (currentRoute.path) {
152
- const routePath = currentRoute.path;
153
- if (routePath === '*') {
154
- return null;
155
- }
156
- if (!routePath.startsWith('/')) {
157
- fullPath = `${fullPath}/${routePath}`;
158
- }
159
- else {
160
- fullPath = routePath;
161
- }
162
- if (fullPath === '')
163
- fullPath = '/';
164
- if (!fullPath.startsWith('/'))
165
- fullPath = `/${fullPath}`;
166
- return fullPath;
167
- }
168
- return null;
169
- }
170
- function parseRoutes(appPath, basePath) {
171
- try {
172
- const appFilePath = path.resolve(process.cwd(), appPath);
173
- if (!fs.existsSync(appFilePath)) {
174
- throw new Error(`App.tsx file does not exist: ${appFilePath}`);
175
- }
176
- const sourceCode = fs.readFileSync(appFilePath, 'utf-8');
177
- const ast = (0, parser_1.parse)(sourceCode, {
178
- sourceType: 'module',
179
- plugins: [
180
- 'jsx',
181
- 'typescript',
182
- 'decorators-legacy',
183
- 'classProperties',
184
- 'objectRestSpread',
185
- 'functionBind',
186
- 'exportDefaultFrom',
187
- 'exportNamespaceFrom',
188
- 'dynamicImport',
189
- 'nullishCoalescingOperator',
190
- 'optionalChaining',
191
- ],
192
- });
193
- const routeSet = new Set();
194
- const routeStack = [];
195
- (0, traverse_1.default)(ast, {
196
- JSXElement: {
197
- enter(nodePath) {
198
- const { openingElement } = nodePath.node;
199
- if (isRouteComponent(openingElement)) {
200
- const routeInfo = extractRouteInfo(openingElement);
201
- routeStack.push(routeInfo);
202
- }
203
- },
204
- exit(nodePath) {
205
- const { openingElement } = nodePath.node;
206
- if (isRouteComponent(openingElement)) {
207
- const currentRoute = routeStack.pop();
208
- if (currentRoute && currentRoute.path === '*') {
209
- return;
210
- }
211
- if (currentRoute && (currentRoute.path || currentRoute.index)) {
212
- const fullPath = buildFullPath(routeStack, currentRoute);
213
- if (fullPath) {
214
- routeSet.add(fullPath);
215
- }
216
- }
217
- }
218
- },
219
- },
220
- });
221
- // Apply basePath to all routes (align with rspack behavior)
222
- const routes = Array.from(routeSet).map((routePath) => ({
223
- path: basePath ? `${basePath}${routePath}` : routePath,
224
- }));
225
- // Default route also needs basePath
226
- const defaultPath = basePath ? `${basePath}/` : '/';
227
- return routes.length > 0 ? routes : [{ path: defaultPath }];
228
- }
229
- catch (error) {
230
- log('warn', 'Route parsing failed, using default routes:', error.message);
231
- const defaultPath = basePath ? `${basePath}/` : '/';
232
- return [{ path: defaultPath }];
233
- }
234
- }
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; } });
235
45
  function generateRoutes(appPath, outputPath, basePath, lastHash, cachedRoutes) {
236
46
  const appFilePath = path.resolve(process.cwd(), appPath);
237
47
  const defaultPath = basePath ? `${basePath}/` : '/';
238
48
  if (!fs.existsSync(appFilePath)) {
239
- log('warn', `App.tsx file does not exist: ${appFilePath}`);
49
+ (0, devtool_kits_1.routeParserLog)('warn', `App.tsx file does not exist: ${appFilePath}`);
240
50
  return cachedRoutes.value || [{ path: defaultPath }];
241
51
  }
242
- const currentHash = calculateFileHash(appFilePath);
243
- // Check if we need to regenerate
52
+ const currentHash = (0, devtool_kits_1.calculateFileHash)(appFilePath);
244
53
  if (lastHash.value === currentHash && cachedRoutes.value) {
245
54
  return cachedRoutes.value;
246
55
  }
247
56
  lastHash.value = currentHash;
248
- const routes = parseRoutes(appPath, basePath);
57
+ const routes = (0, devtool_kits_1.parseRoutesFromFile)(appPath, basePath);
249
58
  cachedRoutes.value = routes;
250
- // Ensure output directory exists
251
59
  const outputDir = path.dirname(outputPath);
252
60
  if (!fs.existsSync(outputDir)) {
253
61
  fs.mkdirSync(outputDir, { recursive: true });
254
62
  }
255
- // Write routes.json
256
63
  fs.writeFileSync(outputPath, JSON.stringify(routes, null, 2));
257
- log('info', `Generated routes.json with ${routes.length} routes`);
64
+ (0, devtool_kits_1.routeParserLog)('info', `Generated routes.json (${routes.length} routes)`);
258
65
  return routes;
259
66
  }
260
67
  function routeParserPlugin(options = {}) {
261
68
  const { appPath = './client/src/app.tsx', outputPath = './dist/client/routes.json', } = options;
262
- // Get basePath from options or env variable, normalize it (align with rspack behavior)
263
- // Use ?? so that explicit empty string '' from options is respected (for dev mode)
264
- // Only undefined falls back to env variable (for prod mode)
265
69
  const envBasePath = process.env.CLIENT_BASE_PATH || '';
266
- const configuredBasePath = normalizeBasePath(options.basePath ?? envBasePath);
267
- // serveBasePath is used for the middleware path (where routes.json is served)
268
- // This should always be the clientBasePath, not affected by dev/prod basePath logic
269
- const serveBasePath = normalizeBasePath(options.serveBasePath ?? envBasePath);
270
- // 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);
271
72
  const lastHash = { value: null };
272
73
  const cachedRoutes = { value: null };
273
74
  return {
274
75
  name: 'fullstack-route-parser',
275
76
  configureServer(server) {
276
- // Development mode: use configuredBasePath (should be '' when isDev, set by preset)
277
77
  const appFullPath = path.resolve(process.cwd(), appPath);
278
78
  const fullOutputPath = path.resolve(process.cwd(), outputPath);
279
- // Initial generation
280
79
  generateRoutes(appPath, fullOutputPath, configuredBasePath, lastHash, cachedRoutes);
281
- // Watch for changes
282
80
  server.watcher.add(appFullPath);
283
81
  server.watcher.on('change', (file) => {
284
82
  if (file === appFullPath) {
285
83
  generateRoutes(appPath, fullOutputPath, configuredBasePath, lastHash, cachedRoutes);
286
84
  }
287
85
  });
288
- // Middleware to serve routes.json at ${serveBasePath}/routes.json
289
- // serveBasePath is based on clientBasePath (not affected by dev/prod basePath logic)
290
86
  const routesJsonPath = serveBasePath ? `${serveBasePath}/routes.json` : '/routes.json';
291
87
  server.middlewares.use((req, res, next) => {
292
88
  const urlPath = req.url?.split('?')[0];
@@ -305,12 +101,10 @@ function routeParserPlugin(options = {}) {
305
101
  });
306
102
  },
307
103
  buildStart() {
308
- // Build mode: generate routes with configuredBasePath
309
104
  const fullOutputPath = path.resolve(process.cwd(), outputPath);
310
105
  generateRoutes(appPath, fullOutputPath, configuredBasePath, lastHash, cachedRoutes);
311
106
  },
312
107
  generateBundle() {
313
- // Add routes.json to build output
314
108
  const fullOutputPath = path.resolve(process.cwd(), outputPath);
315
109
  if (fs.existsSync(fullOutputPath)) {
316
110
  this.emitFile({
@@ -1 +1 @@
1
- {"version":3,"file":"route-parser-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/route-parser-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-parser-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/route-parser-plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slardar-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/slardar-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAEtD,UAAU,oBAAoB;IAC5B,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA6DD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAsCxE;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"slardar-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/slardar-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAEtD,UAAU,oBAAoB;IAC5B,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiED,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAsCxE;AAED,eAAe,aAAa,CAAC"}
@@ -11,10 +11,14 @@ function getSlardarScript(bid, globalName) {
11
11
  slardarScript.onload = function() {
12
12
  // Initialize after script loads
13
13
  if (window.${globalName}) {
14
+ window.${globalName}('context.merge', {
15
+ tenantId: window.tenantId ?? '',
16
+ appId: window.appId ?? '',
17
+ });
14
18
  window.${globalName}('init', {
15
19
  bid: '${bid}',
16
- // Four types: dev/boe/pre/online
17
- env: 'online',
20
+ env: window.ENVIRONMENT || 'online',
21
+ userId: window.userId ?? '',
18
22
  });
19
23
  window.${globalName}('start');
20
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"slardar-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/slardar-plugin.ts"],"names":[],"mappings":";;AAoEA,sCAsCC;AAjGD,SAAS,gBAAgB,CAAC,GAAW,EAAE,UAAkB;IACvD,OAAO;;gGAEuF,GAAG,eAAe,UAAU;;;;;;mBAMzG,UAAU;iBACZ,UAAU;kBACT,GAAG;;;;iBAIJ,UAAU;;;;;;;;;;;GAWxB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BN,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,UAAgC,EAAE;IAC9D,MAAM,EAAE,GAAG,GAAG,cAAc,EAAE,UAAU,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;IAErE,OAAO;QACL,IAAI,EAAE,mBAAmB;QAEzB,kBAAkB,CAAC,IAAI;YACrB,MAAM,IAAI,GAAwB;gBAChC,4BAA4B;gBAC5B;oBACE,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC;oBAC3C,QAAQ,EAAE,MAAM;iBACjB;gBACD,kBAAkB;gBAClB;oBACE,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE;wBACL,GAAG,EAAE,gGAAgG;wBACrG,WAAW,EAAE,WAAW;wBACxB,KAAK,EAAE,IAAI;qBACZ;oBACD,QAAQ,EAAE,MAAM;iBACjB;gBACD,wBAAwB;gBACxB;oBACE,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,YAAY,EAAE;oBACxB,QAAQ,EAAE,MAAM;iBACjB;aACF,CAAC;YAEF,OAAO;gBACL,IAAI;gBACJ,IAAI;aACL,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"slardar-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/slardar-plugin.ts"],"names":[],"mappings":";;AAwEA,sCAsCC;AArGD,SAAS,gBAAgB,CAAC,GAAW,EAAE,UAAkB;IACvD,OAAO;;gGAEuF,GAAG,eAAe,UAAU;;;;;;mBAMzG,UAAU;iBACZ,UAAU;;;;iBAIV,UAAU;kBACT,GAAG;;;;iBAIJ,UAAU;;;;;;;;;;;GAWxB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BN,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,UAAgC,EAAE;IAC9D,MAAM,EAAE,GAAG,GAAG,cAAc,EAAE,UAAU,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;IAErE,OAAO;QACL,IAAI,EAAE,mBAAmB;QAEzB,kBAAkB,CAAC,IAAI;YACrB,MAAM,IAAI,GAAwB;gBAChC,4BAA4B;gBAC5B;oBACE,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC;oBAC3C,QAAQ,EAAE,MAAM;iBACjB;gBACD,kBAAkB;gBAClB;oBACE,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE;wBACL,GAAG,EAAE,gGAAgG;wBACrG,WAAW,EAAE,WAAW;wBACxB,KAAK,EAAE,IAAI;qBACZ;oBACD,QAAQ,EAAE,MAAM;iBACjB;gBACD,wBAAwB;gBACxB;oBACE,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,YAAY,EAAE;oBACxB,QAAQ,EAAE,MAAM;iBACjB;aACF,CAAC;YAEF,OAAO;gBACL,IAAI;gBACJ,IAAI;aACL,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/fullstack-vite-preset",
3
- "version": "1.0.9-alpha.5",
3
+ "version": "1.0.9-alpha.51",
4
4
  "files": [
5
5
  "lib",
6
6
  "src/empty.css",
@@ -33,9 +33,9 @@
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.18",
36
+ "@lark-apaas/devtool-kits": "^1.2.20",
37
37
  "@lark-apaas/styled-jsx": "^1.0.1",
38
- "@lark-apaas/vite-inspector-plugin": "^1.0.2",
38
+ "@lark-apaas/vite-inspector-plugin": "^1.0.3",
39
39
  "@vitejs/plugin-react": "^4.5.0",
40
40
  "clsx": "^2.1.1",
41
41
  "colorjs.io": "^0.5.2",
@@ -56,7 +56,7 @@
56
56
  "@types/node": "^22.15.30",
57
57
  "typescript": "^5.9.2",
58
58
  "vite": "^7.0.0",
59
- "vitest": "^2.1.8"
59
+ "vitest": "^3.2.4"
60
60
  },
61
61
  "peerDependencies": {
62
62
  "react": ">=16.14.0",
@@ -145,6 +145,24 @@ function removeAllChildren(element, skip) {
145
145
  }
146
146
  }
147
147
 
148
+ function getParentOriginFromParams() {
149
+ try {
150
+ var params = new URLSearchParams(window.location.search);
151
+ var origin = params.get('__parentOrigin');
152
+ if (origin) {
153
+ sessionStorage.setItem('__parentOrigin', origin);
154
+ return origin;
155
+ }
156
+ } catch (e) {
157
+ // ignore
158
+ }
159
+ try {
160
+ return sessionStorage.getItem('__parentOrigin') || '';
161
+ } catch (e) {
162
+ return '';
163
+ }
164
+ }
165
+
148
166
  function getLegacyParentOrigin() {
149
167
  const currentOrigin = window.location?.origin || '';
150
168
  if (currentOrigin.includes('force.feishuapp.net')) {
@@ -167,7 +185,7 @@ function getLegacyParentOrigin() {
167
185
 
168
186
  function sendPostMessage(message, targetOrigin) {
169
187
  try {
170
- const parentOrigin = process?.env?.FORCE_FRAMEWORK_DOMAIN_MAIN || getLegacyParentOrigin();
188
+ const parentOrigin = getParentOriginFromParams() || process?.env?.FORCE_FRAMEWORK_DOMAIN_MAIN || getLegacyParentOrigin();
171
189
  const origin = targetOrigin || parentOrigin;
172
190
  window.parent.postMessage(message, origin);
173
191
  } catch (error) {
@@ -43,6 +43,7 @@ if (!window.__VITE_ERROR_OVERLAY_INITIALIZED__) {
43
43
 
44
44
  // ===== HMR API State (用于 toolkit 的统一 HMR API) =====
45
45
  let hasErrorInCurrentUpdate = false;
46
+ const hmrBeforeApplyCallbacks = new Set();
46
47
  const hmrSuccessCallbacks = new Set();
47
48
  const hmrErrorCallbacks = new Set();
48
49
 
@@ -120,6 +121,24 @@ if (!window.__VITE_ERROR_OVERLAY_INITIALIZED__) {
120
121
  }
121
122
 
122
123
  // ===== PostMessage 通信 (与 rspack 对齐) =====
124
+ function getParentOriginFromParams() {
125
+ try {
126
+ var params = new URLSearchParams(window.location.search);
127
+ var origin = params.get('__parentOrigin');
128
+ if (origin) {
129
+ sessionStorage.setItem('__parentOrigin', origin);
130
+ return origin;
131
+ }
132
+ } catch (e) {
133
+ // ignore
134
+ }
135
+ try {
136
+ return sessionStorage.getItem('__parentOrigin') || '';
137
+ } catch (e) {
138
+ return '';
139
+ }
140
+ }
141
+
123
142
  function getLegacyParentOrigin() {
124
143
  const currentOrigin = window.location?.origin || '';
125
144
  if (currentOrigin.includes('force.feishuapp.net')) {
@@ -142,7 +161,7 @@ if (!window.__VITE_ERROR_OVERLAY_INITIALIZED__) {
142
161
 
143
162
  function sendPostMessage(message, targetOrigin) {
144
163
  try {
145
- const parentOrigin = process.env.FORCE_FRAMEWORK_DOMAIN_MAIN || getLegacyParentOrigin();
164
+ const parentOrigin = getParentOriginFromParams() || process.env.FORCE_FRAMEWORK_DOMAIN_MAIN || getLegacyParentOrigin();
146
165
  const origin = targetOrigin || parentOrigin;
147
166
  window.parent.postMessage(message, origin);
148
167
  } catch (error) {
@@ -405,8 +424,15 @@ if (!window.__VITE_ERROR_OVERLAY_INITIALIZED__) {
405
424
  const { createHotContext } = await import(CLIENT_BASE_PATH + '/@vite/client');
406
425
  const hot = createHotContext(CLIENT_BASE_PATH + '/@error-overlay.js');
407
426
 
408
- // ===== HMR API: beforeUpdate - 重置错误标志 =====
427
+ // ===== HMR API: beforeUpdate - 通知 onBeforeApply 回调 + 重置错误标志 =====
409
428
  hot.on('vite:beforeUpdate', () => {
429
+ hmrBeforeApplyCallbacks.forEach((cb) => {
430
+ try {
431
+ cb();
432
+ } catch (e) {
433
+ console.warn('[VITE_HMR] onBeforeApply callback error:', e);
434
+ }
435
+ });
410
436
  hasErrorInCurrentUpdate = false;
411
437
  });
412
438
 
@@ -493,6 +519,15 @@ if (!window.__VITE_ERROR_OVERLAY_INITIALIZED__) {
493
519
  // ===== Expose HMR API (用于 toolkit 的统一 HMR API) =====
494
520
  // @see docs/RFC_HMR_API.md
495
521
  window.__VITE_HMR__ = {
522
+ /**
523
+ * 注册 HMR 更新前回调(vite:beforeUpdate 阶段,模块替换之前)
524
+ * @param {Function} callback 回调函数
525
+ * @returns {Function} cleanup 函数
526
+ */
527
+ onBeforeApply(callback) {
528
+ hmrBeforeApplyCallbacks.add(callback);
529
+ return () => hmrBeforeApplyCallbacks.delete(callback);
530
+ },
496
531
  /**
497
532
  * 注册 HMR 成功回调
498
533
  * @param {Function} callback 成功回调函数