@lark-apaas/coding-vite-preset 1.0.7-alpha.3 → 1.0.7-alpha.31
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 +4 -92
- package/lib/preset.js.map +1 -1
- package/lib/vite-plugins/runtime-injection-plugin.d.ts.map +1 -1
- package/lib/vite-plugins/runtime-injection-plugin.js +2 -5
- package/lib/vite-plugins/runtime-injection-plugin.js.map +1 -1
- package/lib/vite-plugins/slardar-plugin.d.ts.map +1 -1
- package/lib/vite-plugins/slardar-plugin.js +58 -0
- package/lib/vite-plugins/slardar-plugin.js.map +1 -1
- package/package.json +3 -4
- package/lib/vite-plugins/miaoda-fonts-mirror-plugin.d.ts +0 -14
- package/lib/vite-plugins/miaoda-fonts-mirror-plugin.d.ts.map +0 -1
- package/lib/vite-plugins/miaoda-fonts-mirror-plugin.js +0 -99
- package/lib/vite-plugins/miaoda-fonts-mirror-plugin.js.map +0 -1
- package/lib/vite-plugins/ws-watchdog-plugin.d.ts +0 -19
- package/lib/vite-plugins/ws-watchdog-plugin.d.ts.map +0 -1
- package/lib/vite-plugins/ws-watchdog-plugin.js +0 -86
- package/lib/vite-plugins/ws-watchdog-plugin.js.map +0 -1
- package/src/runtime/ws-watchdog-client.mjs +0 -148
package/lib/preset.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AAsC9D,MAAM,WAAW,gCAAgC;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,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;AAUD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,UAAU,CAibZ"}
|
package/lib/preset.js
CHANGED
|
@@ -57,21 +57,6 @@ const static_assets_plugin_1 = require("./vite-plugins/static-assets-plugin");
|
|
|
57
57
|
const polyfill_plugin_1 = require("./vite-plugins/polyfill-plugin");
|
|
58
58
|
const snapdom_proxy_1 = require("./utils/snapdom-proxy");
|
|
59
59
|
const hmr_timing_1 = require("./utils/hmr-timing");
|
|
60
|
-
const ws_watchdog_plugin_1 = require("./vite-plugins/ws-watchdog-plugin");
|
|
61
|
-
const miaoda_fonts_mirror_plugin_1 = require("./vite-plugins/miaoda-fonts-mirror-plugin");
|
|
62
|
-
/**
|
|
63
|
-
* 兼容两种模板 layout 的路径解析:
|
|
64
|
-
* - 老全栈模板:`client/X` 存在(前后端共存时代)
|
|
65
|
-
* - 新 jsPage 模板:`X` 在项目根(无 client/ 包装)
|
|
66
|
-
*
|
|
67
|
-
* 优先用 `client/<rel>`(如果存在),否则降级到 `<rel>`。
|
|
68
|
-
*/
|
|
69
|
-
function resolveClientPath(rootDir, rel) {
|
|
70
|
-
const legacy = path_1.default.resolve(rootDir, 'client', rel);
|
|
71
|
-
if (fs_1.default.existsSync(legacy))
|
|
72
|
-
return legacy;
|
|
73
|
-
return path_1.default.resolve(rootDir, rel);
|
|
74
|
-
}
|
|
75
60
|
function sendBackendUnavailable502(_err, _req, res) {
|
|
76
61
|
if (res.headersSent)
|
|
77
62
|
return;
|
|
@@ -97,8 +82,6 @@ function createRecommendViteConfig(options) {
|
|
|
97
82
|
const rootDir = process.cwd();
|
|
98
83
|
const serverPort = process.env.SERVER_PORT || '3000';
|
|
99
84
|
const appFlags = readAppFlags(rootDir);
|
|
100
|
-
// Inspector can be disabled via environment variable
|
|
101
|
-
const enableInspector = isDev && process.env.DISABLE_INSPECTOR !== 'true';
|
|
102
85
|
// 从 clientBasePath(如 /app/app123)中提取 appId,用于构造旧路径代理规则
|
|
103
86
|
// 仅在新路径格式(/app/:appId)下启用旧路径兼容
|
|
104
87
|
const isNewPathFormat = /^\/app\/[^/]/.test(clientBasePath);
|
|
@@ -138,21 +121,6 @@ function createRecommendViteConfig(options) {
|
|
|
138
121
|
// resolves first, the module ID ends with .json and vite:json's transform
|
|
139
122
|
// will corrupt the virtual module content.
|
|
140
123
|
(0, static_assets_plugin_1.staticAssetsPlugin)({ clientBasePath, rootDir }),
|
|
141
|
-
// Inspector plugin (dev only) — injects data-* attributes onto JSX elements
|
|
142
|
-
// for the runtime MiaodaInspector panel to consume.
|
|
143
|
-
// MUST be BEFORE react() — both use enforce:'pre' and Vite runs them in array order.
|
|
144
|
-
// If react() runs first, its transform converts JSX to _jsxDEV() calls,
|
|
145
|
-
// leaving no JSX elements for the inspector to annotate.
|
|
146
|
-
// Dynamically loaded so cli imports of this preset don't pull dev deps.
|
|
147
|
-
...(enableInspector ? (() => {
|
|
148
|
-
try {
|
|
149
|
-
const { inspectorPlugin } = require('@lark-apaas/vite-inspector-plugin');
|
|
150
|
-
return [inspectorPlugin()];
|
|
151
|
-
}
|
|
152
|
-
catch {
|
|
153
|
-
return [];
|
|
154
|
-
}
|
|
155
|
-
})() : []),
|
|
156
124
|
// React plugin (Vite 8 + @vitejs/plugin-react v6, Oxc-based)
|
|
157
125
|
(0, plugin_react_1.default)(),
|
|
158
126
|
// Tailwind CSS 4 via Vite plugin (faster than PostCSS integration)
|
|
@@ -165,9 +133,7 @@ function createRecommendViteConfig(options) {
|
|
|
165
133
|
try {
|
|
166
134
|
const { routeParserPlugin } = require('./vite-plugins/route-parser-plugin');
|
|
167
135
|
return [routeParserPlugin({
|
|
168
|
-
appPath:
|
|
169
|
-
? './client/src/app.tsx'
|
|
170
|
-
: './src/app.tsx',
|
|
136
|
+
appPath: './client/src/app.tsx',
|
|
171
137
|
outputPath: path_1.default.resolve(rootDir, 'dist/client/routes.json'),
|
|
172
138
|
serveBasePath: clientBasePath,
|
|
173
139
|
...(isDev ? { basePath: '' } : {}),
|
|
@@ -204,14 +170,6 @@ function createRecommendViteConfig(options) {
|
|
|
204
170
|
}),
|
|
205
171
|
// HMR timing plugin (dev only)
|
|
206
172
|
isDev && (0, hmr_timing_1.createHmrTimingPlugin)(),
|
|
207
|
-
// WS Watchdog plugin (dev only) — 检测沙箱代理链路下的 WebSocket 僵尸连接,
|
|
208
|
-
// 客户端 5s ping 一次,连续 2 次拿不到 pong 即向 parent 发 disconnected。
|
|
209
|
-
// 沙箱 iframe 自启动;普通本地开发也启用、不会有副作用。
|
|
210
|
-
isDev && (0, ws_watchdog_plugin_1.createWsWatchdogPlugin)({ clientBasePath }),
|
|
211
|
-
// Google Fonts → 妙搭字体代理(编译时字符串替换)
|
|
212
|
-
// 屏蔽 Google Fonts 在内网/部分客户端不可达导致的白屏。
|
|
213
|
-
// 关闭:env MIAODA_FONTS_MIRROR_OFF=1
|
|
214
|
-
(0, miaoda_fonts_mirror_plugin_1.miaodaFontsMirrorPlugin)(),
|
|
215
173
|
];
|
|
216
174
|
const config = {
|
|
217
175
|
root: rootDir,
|
|
@@ -229,15 +187,6 @@ function createRecommendViteConfig(options) {
|
|
|
229
187
|
// 都解析到 preset 自带的 echarts,避免第三方扩展(如 echarts-wordcloud)
|
|
230
188
|
// 安装了独立的 echarts 副本导致注册不到同一个实例上
|
|
231
189
|
echarts: path_1.default.dirname(require.resolve('echarts/package.json')),
|
|
232
|
-
// Inspector dev-only CSS: 拦截 client-toolkit-lite 里对 inspector dev 样式的引用,
|
|
233
|
-
// dev 模式下样式由 inspector 运行时注入,构建时给个空 stub 避免文件不存在报错。
|
|
234
|
-
'@/inspector.dev.css': path_1.default.resolve(__dirname, '../src/empty.css'),
|
|
235
|
-
// 生产模式:把 inspector 包整体替换成空 stub,避免被 bundle 进生产产物。
|
|
236
|
-
...(!isDev
|
|
237
|
-
? {
|
|
238
|
-
'@lark-apaas/miaoda-inspector': path_1.default.resolve(__dirname, '../src/inspector-stub.js'),
|
|
239
|
-
}
|
|
240
|
-
: {}),
|
|
241
190
|
},
|
|
242
191
|
},
|
|
243
192
|
define: {
|
|
@@ -351,7 +300,7 @@ function createRecommendViteConfig(options) {
|
|
|
351
300
|
// CSS 降级:使用 Vite 内置的 Lightning CSS 转换现代 CSS 特性
|
|
352
301
|
cssTarget: ['ios12', 'safari12', 'chrome80'],
|
|
353
302
|
rollupOptions: {
|
|
354
|
-
input:
|
|
303
|
+
input: path_1.default.resolve(rootDir, 'client/index.html'),
|
|
355
304
|
output: {
|
|
356
305
|
// Code splitting: when disabled, all dynamic imports are inlined into single bundle
|
|
357
306
|
// When enabled (default), Vite will split chunks based on dynamic imports
|
|
@@ -375,7 +324,7 @@ function createRecommendViteConfig(options) {
|
|
|
375
324
|
// Copy public directory
|
|
376
325
|
copyPublicDir: true,
|
|
377
326
|
},
|
|
378
|
-
publicDir:
|
|
327
|
+
publicDir: path_1.default.resolve(rootDir, 'client/public'),
|
|
379
328
|
// Don't specify css.postcss here - let Vite pick up the project's postcss.config.js
|
|
380
329
|
// This allows projects to configure their own PostCSS plugins (e.g., Tailwind v4)
|
|
381
330
|
// Optimize deps for faster dev startup
|
|
@@ -388,8 +337,6 @@ function createRecommendViteConfig(options) {
|
|
|
388
337
|
'clsx',
|
|
389
338
|
'echarts',
|
|
390
339
|
'echarts-for-react',
|
|
391
|
-
// 让 Vite 预打包 inspector + 它的依赖(dev only)
|
|
392
|
-
...(enableInspector ? ['@lark-apaas/miaoda-inspector'] : []),
|
|
393
340
|
],
|
|
394
341
|
exclude: [],
|
|
395
342
|
// Pass define replacements to Rolldown for pre-bundling (Vite 8)
|
|
@@ -421,41 +368,6 @@ function createRecommendViteConfig(options) {
|
|
|
421
368
|
config.plugins.push({
|
|
422
369
|
name: 'fullstack-dev-middlewares',
|
|
423
370
|
async configureServer(server) {
|
|
424
|
-
// ── base-path normalize ──────────────────────────────────────────
|
|
425
|
-
// Vite 8 的 baseMiddleware:当请求 pathname 不以 base(含末尾 /)开头时
|
|
426
|
-
// 显示 "did you mean to visit ..." 警告页,不再自动 301 redirect。
|
|
427
|
-
// 沙箱预览过来的 URL 通常是 `/app/app_xxx?sso_token=...`(pathname 没末尾 /),
|
|
428
|
-
// 会被这个警告页拦下导致预览打不开。
|
|
429
|
-
//
|
|
430
|
-
// 注意:不能用 301——浏览器跳 → 沙箱网关在转发"带尾 /"的请求时会把
|
|
431
|
-
// 尾 / 又 strip 回去 → vite 又看到缺尾 / → 又 301 → ERR_TOO_MANY_REDIRECTS。
|
|
432
|
-
// 改用 internal rewrite:直接改 req.url,浏览器全程不感知 redirect,
|
|
433
|
-
// 下游 vite baseMiddleware 继续 strip base → SPA fallback。
|
|
434
|
-
//
|
|
435
|
-
// 必须 unshift 到 stack 开头才能早于内置 baseMiddleware 执行。
|
|
436
|
-
const baseWithSlash = clientBasePath.endsWith('/')
|
|
437
|
-
? clientBasePath
|
|
438
|
-
: clientBasePath + '/';
|
|
439
|
-
const baseWithoutSlash = baseWithSlash.slice(0, -1);
|
|
440
|
-
if (baseWithoutSlash && baseWithoutSlash !== '') {
|
|
441
|
-
const stack = server.middlewares.stack;
|
|
442
|
-
if (Array.isArray(stack)) {
|
|
443
|
-
stack.unshift({
|
|
444
|
-
route: '',
|
|
445
|
-
handle: (req, _res, next) => {
|
|
446
|
-
const url = req.url || '';
|
|
447
|
-
const qIdx = url.indexOf('?');
|
|
448
|
-
const pathname = qIdx >= 0 ? url.slice(0, qIdx) : url;
|
|
449
|
-
const search = qIdx >= 0 ? url.slice(qIdx) : '';
|
|
450
|
-
if (pathname === baseWithoutSlash) {
|
|
451
|
-
// internal rewrite — 不发 301,避免与网关 round-trip 死循环
|
|
452
|
-
req.url = baseWithoutSlash + '/' + search;
|
|
453
|
-
}
|
|
454
|
-
next();
|
|
455
|
-
},
|
|
456
|
-
});
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
371
|
// Register SnapDom proxy middleware
|
|
460
372
|
(0, snapdom_proxy_1.registerSnapDomProxyMiddleware)(server.middlewares, {
|
|
461
373
|
baseUrl: clientBasePath,
|
|
@@ -468,7 +380,7 @@ function createRecommendViteConfig(options) {
|
|
|
468
380
|
logDir: process.env.LOG_DIR || './logs',
|
|
469
381
|
}),
|
|
470
382
|
createOpenapiMiddleware({
|
|
471
|
-
openapiFilePath:
|
|
383
|
+
openapiFilePath: path_1.default.resolve(rootDir, './client/src/api/gen/openapi.json'),
|
|
472
384
|
serverDir: path_1.default.resolve(rootDir, './server'),
|
|
473
385
|
enableEnhancement: true,
|
|
474
386
|
}),
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-injection-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/runtime-injection-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAoC,MAAM,MAAM,CAAC;AAMrE,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,6BAAkC,GAC1C,MAAM,
|
|
1
|
+
{"version":3,"file":"runtime-injection-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/runtime-injection-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAoC,MAAM,MAAM,CAAC;AAMrE,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,6BAAkC,GAC1C,MAAM,CA+ER;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -60,11 +60,8 @@ function runtimeInjectionPlugin(options = {}) {
|
|
|
60
60
|
transform(code, id) {
|
|
61
61
|
if (!enabled || isDev)
|
|
62
62
|
return null;
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
// - 新 jsPage 模板:src/index.tsx(无 client/ 包装)
|
|
66
|
-
// server 端文件不经过 vite transform,正则匹配到 src/index.tsx 是安全的
|
|
67
|
-
if (!/(?:[/\\]client)?[/\\]src[/\\]index\.(tsx?|jsx?)$/.test(id)) {
|
|
63
|
+
// 只处理入口文件 (client/src/index.tsx 或类似)
|
|
64
|
+
if (!/[/\\]client[/\\]src[/\\]index\.(tsx?|jsx?)$/.test(id)) {
|
|
68
65
|
return null;
|
|
69
66
|
}
|
|
70
67
|
// 检查是否已经包含 runtime import
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-injection-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/runtime-injection-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAiBH,
|
|
1
|
+
{"version":3,"file":"runtime-injection-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/runtime-injection-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;
|
|
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;AAqHD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CA6CxE;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,6 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.slardarPlugin = slardarPlugin;
|
|
4
|
+
/**
|
|
5
|
+
* 在 HTML 解析时同步执行的内联脚本(早于任何外部资源加载):
|
|
6
|
+
* 1. 建立 KSlardarWeb 命令队列 stub,保证 SDK 加载前的调用不丢失
|
|
7
|
+
* 2. 立即注册 capture 阶段的资源加载错误监听(直接入队)
|
|
8
|
+
* 3. 运行时错误 / unhandledrejection:
|
|
9
|
+
* - SDK 未就绪时写入 __slardarErrBuf,SDK onload 后统一 flush
|
|
10
|
+
* - SDK 已就绪(window[g].q 消失)时直接调 captureException,
|
|
11
|
+
* 填补 SDK start() 到 common-monitors 插件加载完成之间的时序空窗
|
|
12
|
+
*/
|
|
13
|
+
function getEarlyResourceErrorScript(globalName) {
|
|
14
|
+
return `(function(g){
|
|
15
|
+
if(!window[g]){var q=[];window[g]=function(){q.push([].slice.call(arguments));};window[g].q=q;}
|
|
16
|
+
window.__slardarErrBuf=window.__slardarErrBuf||[];
|
|
17
|
+
var ref=document.referrer||'';
|
|
18
|
+
function _cap(err){
|
|
19
|
+
if(window[g]&&!window[g].q){
|
|
20
|
+
window[g]('captureException',err instanceof Error?err:new Error(String(err)),{source:'runtime-error',referrer:ref});
|
|
21
|
+
}else{
|
|
22
|
+
(window.__slardarErrBuf=window.__slardarErrBuf||[]).push(err);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
window.addEventListener('error',function(e){
|
|
26
|
+
if(e.error==null&&e.target instanceof Element){
|
|
27
|
+
var t=e.target,url=t.src||t.href||'';
|
|
28
|
+
if(url)window[g]('captureException',new Error('Resource load failed: '+url),{team:'miaoda-sdk',source:'resource-error',resourceType:t.tagName.toLowerCase(),resourceUrl:url,referrer:ref});
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if(e.error!=null){
|
|
32
|
+
var err=e.error;
|
|
33
|
+
if(e.filename&&typeof err.stack==='string'&&err.stack.indexOf(e.filename)<0){
|
|
34
|
+
try{err.stack+='\\n at '+e.filename+':'+(e.lineno||0)+':'+(e.colno||0);}catch(ex){}
|
|
35
|
+
}
|
|
36
|
+
_cap(err);
|
|
37
|
+
}else{
|
|
38
|
+
var msg=e.message||'Script error';
|
|
39
|
+
var err=new Error(msg);
|
|
40
|
+
if(e.filename)err.stack=msg+'\\n at '+e.filename+':'+(e.lineno||0)+':'+(e.colno||0);
|
|
41
|
+
_cap(err);
|
|
42
|
+
}
|
|
43
|
+
},true);
|
|
44
|
+
window.addEventListener('unhandledrejection',function(e){
|
|
45
|
+
if(e.reason!=null)_cap(e.reason instanceof Error?e.reason:new Error(String(e.reason)));
|
|
46
|
+
});
|
|
47
|
+
})('${globalName}');`;
|
|
48
|
+
}
|
|
4
49
|
function getSlardarScript(bid, globalName) {
|
|
5
50
|
return `
|
|
6
51
|
const slardarScript = document.createElement('script');
|
|
@@ -21,6 +66,12 @@ function getSlardarScript(bid, globalName) {
|
|
|
21
66
|
userId: window.userId ?? '',
|
|
22
67
|
});
|
|
23
68
|
window.${globalName}('start');
|
|
69
|
+
// Flush errors captured before the SDK finished loading
|
|
70
|
+
var buf = window.__slardarErrBuf || [];
|
|
71
|
+
window.__slardarErrBuf = [];
|
|
72
|
+
buf.forEach(function(err) {
|
|
73
|
+
window.${globalName}('captureException', err instanceof Error ? err : new Error(String(err)), { source: 'pre-sdk-error', referrer: document.referrer || '' });
|
|
74
|
+
});
|
|
24
75
|
}
|
|
25
76
|
};
|
|
26
77
|
|
|
@@ -68,6 +119,13 @@ function slardarPlugin(options = {}) {
|
|
|
68
119
|
name: 'fullstack-slardar',
|
|
69
120
|
transformIndexHtml(html) {
|
|
70
121
|
const tags = [
|
|
122
|
+
// Must be first: inline resource-error capture + KSlardarWeb command queue stub.
|
|
123
|
+
// head-prepend reverses insertion order, so this tag ends up at the very top of <head>.
|
|
124
|
+
{
|
|
125
|
+
tag: 'script',
|
|
126
|
+
children: getEarlyResourceErrorScript(globalName),
|
|
127
|
+
injectTo: 'head-prepend',
|
|
128
|
+
},
|
|
71
129
|
// Slardar SDK loader script
|
|
72
130
|
{
|
|
73
131
|
tag: 'script',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slardar-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/slardar-plugin.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"slardar-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/slardar-plugin.ts"],"names":[],"mappings":";;AA4HA,sCA6CC;AAhKD;;;;;;;;GAQG;AACH,SAAS,2BAA2B,CAAC,UAAkB;IACrD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCH,UAAU,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW,EAAE,UAAkB;IACvD,OAAO;;gGAEuF,GAAG,eAAe,UAAU;;;;;;mBAMzG,UAAU;iBACZ,UAAU;;;;iBAIV,UAAU;kBACT,GAAG;;;;iBAIJ,UAAU;;;;;mBAKR,UAAU;;;;;;;;;;;;GAY1B,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,iFAAiF;gBACjF,wFAAwF;gBACxF;oBACE,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC;oBACjD,QAAQ,EAAE,cAAc;iBACzB;gBACD,4BAA4B;gBAC5B;oBACE,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC;oBAC3C,QAAQ,EAAE,cAAc;iBACzB;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,cAAc;iBACzB;gBACD,wBAAwB;gBACxB;oBACE,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,YAAY,EAAE;oBACxB,QAAQ,EAAE,cAAc;iBACzB;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/coding-vite-preset",
|
|
3
|
-
"version": "1.0.7-alpha.
|
|
3
|
+
"version": "1.0.7-alpha.31",
|
|
4
4
|
"description": "Vite 8 preset for OpenClaw projects",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
"src/module-alias/echarts.mjs",
|
|
13
13
|
"src/module-alias/echarts-for-react.mjs",
|
|
14
14
|
"src/module-alias/registry_echarts_theme.mjs",
|
|
15
|
-
"src/overlay"
|
|
16
|
-
"src/runtime/ws-watchdog-client.mjs"
|
|
15
|
+
"src/overlay"
|
|
17
16
|
],
|
|
18
17
|
"license": "MIT",
|
|
19
18
|
"keywords": [
|
|
@@ -33,7 +32,6 @@
|
|
|
33
32
|
},
|
|
34
33
|
"dependencies": {
|
|
35
34
|
"@lark-apaas/devtool-kits": "^1.2.23",
|
|
36
|
-
"@lark-apaas/vite-inspector-plugin": "^1.0.3",
|
|
37
35
|
"@tailwindcss/vite": "^4.0.0",
|
|
38
36
|
"@vitejs/plugin-react": "^6.0.0",
|
|
39
37
|
"clsx": "^2.1.1",
|
|
@@ -49,6 +47,7 @@
|
|
|
49
47
|
"tailwind-merge": "^2.5.5"
|
|
50
48
|
},
|
|
51
49
|
"devDependencies": {
|
|
50
|
+
"@lark-apaas/vite-inspector-plugin": "^1.0.3",
|
|
52
51
|
"@types/node": "^22.15.30",
|
|
53
52
|
"typescript": "^5.9.2",
|
|
54
53
|
"vite": "^8.0.0",
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Plugin } from 'vite';
|
|
2
|
-
export interface MiaodaFontsMirrorOptions {
|
|
3
|
-
/** Mirror 完整基址,默认 `https://miaoda.feishu.cn/fonts` */
|
|
4
|
-
mirror?: string;
|
|
5
|
-
/** 关闭(调试时兜底) */
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
/** 命中时打 warning(便于找出源码里的旧引用) */
|
|
8
|
-
warnOnMatch?: boolean;
|
|
9
|
-
/** 排除 id 子串或正则 */
|
|
10
|
-
exclude?: (string | RegExp)[];
|
|
11
|
-
}
|
|
12
|
-
export declare function miaodaFontsMirrorPlugin(options?: MiaodaFontsMirrorOptions): Plugin | false;
|
|
13
|
-
export default miaodaFontsMirrorPlugin;
|
|
14
|
-
//# sourceMappingURL=miaoda-fonts-mirror-plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"miaoda-fonts-mirror-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/miaoda-fonts-mirror-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAiCnC,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC/B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,wBAA6B,GACrC,MAAM,GAAG,KAAK,CAuEhB;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.miaodaFontsMirrorPlugin = miaodaFontsMirrorPlugin;
|
|
4
|
-
/**
|
|
5
|
-
* miaoda-fonts-mirror-plugin
|
|
6
|
-
*
|
|
7
|
-
* 编译时把 Google Fonts 公共源替换为妙搭字体代理,屏蔽网络不可达问题。
|
|
8
|
-
*
|
|
9
|
-
* 背景(章小川 @ 2026-04-17 妙搭 CR 群):
|
|
10
|
-
* - 原方案(miaoda-skills MR 311)在 skill PE 里教模型使用 miaoda.feishu.cn/fonts
|
|
11
|
-
* - 问题:占 token + 增加模型学习成本;存量应用无法追溯修复
|
|
12
|
-
* - 方案:在 fullstack-vite-preset 层做编译时字符串替换
|
|
13
|
-
* · pathname 与 Google Fonts 完全一致(`/css` / `/css2?family=...&wght=...&display=swap`)
|
|
14
|
-
* · 只换域名,任何模型输出都能被正确代理
|
|
15
|
-
* · 存量应用只需重新编译发布即可修复
|
|
16
|
-
* · 单点收敛,所有用 preset 的应用(包括 template、其他应用)一致受益
|
|
17
|
-
*
|
|
18
|
-
* 覆盖范围:
|
|
19
|
-
* - index.html(含 <link> / <style>)
|
|
20
|
-
* - 所有 CSS / SCSS / LESS(@import url / url(...))
|
|
21
|
-
* - JS / TS / TSX / Vue / Svelte(字符串字面量,保险兜底)
|
|
22
|
-
* - fonts.googleapis.com(CSS 加载 API)和 fonts.gstatic.com(字体文件存储)
|
|
23
|
-
*
|
|
24
|
-
* 关闭方式:传 `{ disabled: true }` 或设置环境变量 MIAODA_FONTS_MIRROR_OFF=1
|
|
25
|
-
*/
|
|
26
|
-
const DEFAULT_MIRROR = 'https://miaoda.feishu.cn/fonts';
|
|
27
|
-
// 同时覆盖 googleapis.com(CSS 加载 API)和 gstatic.com(字体文件 CDN)
|
|
28
|
-
const GOOGLE_FONTS_RE = /https?:\/\/fonts\.(googleapis|gstatic)\.com/g;
|
|
29
|
-
// 不带 g 标志,用于快速检测(避免 lastIndex 副作用)
|
|
30
|
-
const HAS_GOOGLE_FONTS = /fonts\.(googleapis|gstatic)\.com/;
|
|
31
|
-
const TRANSFORM_EXT = /\.(html|css|scss|sass|less|styl|js|jsx|ts|tsx|mjs|cjs|vue|svelte)(\?|$)/;
|
|
32
|
-
function miaodaFontsMirrorPlugin(options = {}) {
|
|
33
|
-
const envDisabled = process.env.MIAODA_FONTS_MIRROR_OFF === '1';
|
|
34
|
-
if (options.disabled || envDisabled)
|
|
35
|
-
return false;
|
|
36
|
-
const mirror = options.mirror ?? DEFAULT_MIRROR;
|
|
37
|
-
const warn = options.warnOnMatch ?? false;
|
|
38
|
-
const exclude = options.exclude ?? [];
|
|
39
|
-
const shouldExclude = (id) => {
|
|
40
|
-
for (const pat of exclude) {
|
|
41
|
-
if (typeof pat === 'string' && id.includes(pat))
|
|
42
|
-
return true;
|
|
43
|
-
if (pat instanceof RegExp && pat.test(id))
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
return false;
|
|
47
|
-
};
|
|
48
|
-
const stats = { files: 0, occurrences: 0 };
|
|
49
|
-
return {
|
|
50
|
-
name: 'miaoda-fonts-mirror',
|
|
51
|
-
enforce: 'pre',
|
|
52
|
-
buildStart() {
|
|
53
|
-
stats.files = 0;
|
|
54
|
-
stats.occurrences = 0;
|
|
55
|
-
},
|
|
56
|
-
transformIndexHtml(html) {
|
|
57
|
-
if (!HAS_GOOGLE_FONTS.test(html))
|
|
58
|
-
return html;
|
|
59
|
-
const matches = html.match(GOOGLE_FONTS_RE);
|
|
60
|
-
const replaced = html.replace(GOOGLE_FONTS_RE, mirror);
|
|
61
|
-
stats.files += 1;
|
|
62
|
-
stats.occurrences += matches?.length ?? 0;
|
|
63
|
-
if (warn) {
|
|
64
|
-
// eslint-disable-next-line no-console
|
|
65
|
-
console.warn(`[miaoda-fonts-mirror] rewrote ${matches?.length ?? 0} occurrence(s) in index.html`);
|
|
66
|
-
}
|
|
67
|
-
return replaced;
|
|
68
|
-
},
|
|
69
|
-
transform(code, id) {
|
|
70
|
-
if (!TRANSFORM_EXT.test(id))
|
|
71
|
-
return null;
|
|
72
|
-
if (shouldExclude(id))
|
|
73
|
-
return null;
|
|
74
|
-
if (!HAS_GOOGLE_FONTS.test(code))
|
|
75
|
-
return null;
|
|
76
|
-
const matches = code.match(GOOGLE_FONTS_RE);
|
|
77
|
-
if (!matches)
|
|
78
|
-
return null;
|
|
79
|
-
stats.files += 1;
|
|
80
|
-
stats.occurrences += matches.length;
|
|
81
|
-
if (warn) {
|
|
82
|
-
// eslint-disable-next-line no-console
|
|
83
|
-
console.warn(`[miaoda-fonts-mirror] rewrote ${matches.length} occurrence(s) in ${id}`);
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
code: code.replace(GOOGLE_FONTS_RE, mirror),
|
|
87
|
-
map: null,
|
|
88
|
-
};
|
|
89
|
-
},
|
|
90
|
-
closeBundle() {
|
|
91
|
-
if (stats.files > 0) {
|
|
92
|
-
// eslint-disable-next-line no-console
|
|
93
|
-
console.log(`[miaoda-fonts-mirror] ✓ rewrote ${stats.occurrences} occurrence(s) across ${stats.files} file(s) → ${mirror}`);
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
exports.default = miaodaFontsMirrorPlugin;
|
|
99
|
-
//# sourceMappingURL=miaoda-fonts-mirror-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"miaoda-fonts-mirror-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/miaoda-fonts-mirror-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 检测沙箱代理链路下的 WebSocket 僵尸连接:客户端每 5s 发 ping,
|
|
3
|
-
* 连续 2 次拿不到 pong 即判死,向 parent 发 disconnected 通知。
|
|
4
|
-
*
|
|
5
|
-
* 设计 spec: docs/superpowers/specs/2026-04-27-sandbox-ws-watchdog-design.md
|
|
6
|
-
*/
|
|
7
|
-
import type { Plugin } from 'vite';
|
|
8
|
-
export interface WsWatchdogPluginOptions {
|
|
9
|
-
pingEvent?: string;
|
|
10
|
-
pongEvent?: string;
|
|
11
|
-
/**
|
|
12
|
-
* 客户端 base 路径(如 `/app/app_xxx`)。aiforce 等网关把完整路径透传给 Vite,
|
|
13
|
-
* middleware 匹配和注入的 <script src> 都必须带 base;空串退化为本地裸路径。
|
|
14
|
-
*/
|
|
15
|
-
clientBasePath?: string;
|
|
16
|
-
}
|
|
17
|
-
export declare function createWsWatchdogPlugin(options?: WsWatchdogPluginOptions): Plugin;
|
|
18
|
-
export default createWsWatchdogPlugin;
|
|
19
|
-
//# sourceMappingURL=ws-watchdog-plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ws-watchdog-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/ws-watchdog-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAqBtD,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAwER;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 检测沙箱代理链路下的 WebSocket 僵尸连接:客户端每 5s 发 ping,
|
|
4
|
-
* 连续 2 次拿不到 pong 即判死,向 parent 发 disconnected 通知。
|
|
5
|
-
*
|
|
6
|
-
* 设计 spec: docs/superpowers/specs/2026-04-27-sandbox-ws-watchdog-design.md
|
|
7
|
-
*/
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.createWsWatchdogPlugin = createWsWatchdogPlugin;
|
|
13
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
14
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
-
const CLIENT_RUNTIME_PATH = '/@ws-watchdog.js';
|
|
16
|
-
// 本包是 CommonJS,所以走 __dirname;编译后/源码两种布局各一套候选。
|
|
17
|
-
const CLIENT_RUNTIME_CANDIDATES = [
|
|
18
|
-
node_path_1.default.resolve(__dirname, '../../src/runtime/ws-watchdog-client.mjs'),
|
|
19
|
-
node_path_1.default.resolve(__dirname, '../runtime/ws-watchdog-client.mjs'),
|
|
20
|
-
];
|
|
21
|
-
function getClientRuntimePath() {
|
|
22
|
-
for (const p of CLIENT_RUNTIME_CANDIDATES) {
|
|
23
|
-
if (node_fs_1.default.existsSync(p))
|
|
24
|
-
return p;
|
|
25
|
-
}
|
|
26
|
-
console.error('[fullstack-ws-watchdog] runtime client not found:', CLIENT_RUNTIME_CANDIDATES);
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
function createWsWatchdogPlugin(options = {}) {
|
|
30
|
-
const { pingEvent = 'ws-watchdog:ping', pongEvent = 'ws-watchdog:pong', clientBasePath = '', } = options;
|
|
31
|
-
const watchdogPath = clientBasePath + CLIENT_RUNTIME_PATH;
|
|
32
|
-
return {
|
|
33
|
-
name: 'fullstack-ws-watchdog',
|
|
34
|
-
apply: 'serve',
|
|
35
|
-
configureServer(server) {
|
|
36
|
-
console.info('[fullstack-ws-watchdog] active');
|
|
37
|
-
server.ws.on(pingEvent, (data, client) => {
|
|
38
|
-
if (typeof data?.t !== 'number')
|
|
39
|
-
return;
|
|
40
|
-
client.send(pongEvent, { echo: data.t });
|
|
41
|
-
});
|
|
42
|
-
// 直出 plain .mjs,跳过 server.transformRequest;no-cache 让 npm 版本升降级
|
|
43
|
-
// 时浏览器立刻拉新脚本,避免"旧 client + 新 server"的 stale 窗口。
|
|
44
|
-
server.middlewares.use((req, res, next) => {
|
|
45
|
-
if (req.url !== watchdogPath)
|
|
46
|
-
return next();
|
|
47
|
-
const clientPath = getClientRuntimePath();
|
|
48
|
-
if (!clientPath) {
|
|
49
|
-
res.statusCode = 500;
|
|
50
|
-
res.end('// watchdog client not found');
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
try {
|
|
54
|
-
let code = node_fs_1.default.readFileSync(clientPath, 'utf-8');
|
|
55
|
-
const replacements = {
|
|
56
|
-
'process.env.FORCE_FRAMEWORK_DOMAIN_MAIN': JSON.stringify(process.env.FORCE_FRAMEWORK_DOMAIN_MAIN ?? ''),
|
|
57
|
-
'process.env.CLIENT_BASE_PATH': JSON.stringify(clientBasePath),
|
|
58
|
-
};
|
|
59
|
-
for (const [key, value] of Object.entries(replacements)) {
|
|
60
|
-
code = code.replace(new RegExp(key.replace(/\./g, '\\.'), 'g'), value);
|
|
61
|
-
}
|
|
62
|
-
res.setHeader('Content-Type', 'application/javascript');
|
|
63
|
-
res.setHeader('Cache-Control', 'no-cache');
|
|
64
|
-
res.end(code);
|
|
65
|
-
}
|
|
66
|
-
catch (e) {
|
|
67
|
-
console.error('[fullstack-ws-watchdog] failed to serve client:', e);
|
|
68
|
-
res.statusCode = 500;
|
|
69
|
-
res.end(`// Error: ${e}`);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
},
|
|
73
|
-
transformIndexHtml() {
|
|
74
|
-
const tags = [
|
|
75
|
-
{
|
|
76
|
-
tag: 'script',
|
|
77
|
-
attrs: { type: 'module', src: watchdogPath },
|
|
78
|
-
injectTo: 'head-prepend',
|
|
79
|
-
},
|
|
80
|
-
];
|
|
81
|
-
return tags;
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
exports.default = createWsWatchdogPlugin;
|
|
86
|
-
//# sourceMappingURL=ws-watchdog-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ws-watchdog-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/ws-watchdog-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/* eslint-env browser */
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* WebSocket Watchdog Client。在 Vite 沙箱 iframe 内自启动;
|
|
5
|
-
* 通过 createHotContext 走 HMR 通道发 ping/收 pong;判死后 postMessage 给 parent。
|
|
6
|
-
*
|
|
7
|
-
* 设计 spec: docs/superpowers/specs/2026-04-27-sandbox-ws-watchdog-design.md
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @typedef {Object} WatchdogDeps
|
|
12
|
-
* @property {(event: string, data: unknown) => void} sendCustom
|
|
13
|
-
* @property {(event: string, cb: (data: unknown) => void) => void} onCustom
|
|
14
|
-
* @property {(status: 'connected' | 'disconnected') => void} postStatus
|
|
15
|
-
* @property {(handler: () => void, ms: number) => number} setInterval
|
|
16
|
-
* @property {(handle: number) => void} clearInterval
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @typedef {Object} WatchdogOptions
|
|
21
|
-
* @property {number} [intervalMs] 默认 5000
|
|
22
|
-
* @property {number} [missThreshold] 默认 2
|
|
23
|
-
* @property {number} [echoFreshnessMs] 默认 15000
|
|
24
|
-
* @property {string} [pingEvent] 默认 'ws-watchdog:ping'
|
|
25
|
-
* @property {string} [pongEvent] 默认 'ws-watchdog:pong'
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* 不返回 dispose——watchdog 跟 iframe 同生命周期,无独立销毁路径。
|
|
30
|
-
* @param {WatchdogDeps} deps
|
|
31
|
-
* @param {WatchdogOptions} [options]
|
|
32
|
-
*/
|
|
33
|
-
export function createWatchdog(deps, options = {}) {
|
|
34
|
-
const intervalMs = options.intervalMs ?? 5000;
|
|
35
|
-
const missThreshold = options.missThreshold ?? 2;
|
|
36
|
-
const echoFreshnessMs = options.echoFreshnessMs ?? 15000;
|
|
37
|
-
const pingEvent = options.pingEvent ?? 'ws-watchdog:ping';
|
|
38
|
-
const pongEvent = options.pongEvent ?? 'ws-watchdog:pong';
|
|
39
|
-
|
|
40
|
-
let missed = 0;
|
|
41
|
-
/** @type {'connected' | 'disconnected'} */
|
|
42
|
-
let reportedStatus = 'connected';
|
|
43
|
-
let pingSeq = 0;
|
|
44
|
-
/** @type {Map<number, number>} seq → wall-clock 时间戳 */
|
|
45
|
-
const recentPings = new Map();
|
|
46
|
-
|
|
47
|
-
function onTick() {
|
|
48
|
-
// missed++ 必须先于 sendCustom:发送侧抛错时 missed 已累加,下一 tick 仍能判死。
|
|
49
|
-
missed += 1;
|
|
50
|
-
const seq = ++pingSeq;
|
|
51
|
-
const now = Date.now();
|
|
52
|
-
recentPings.set(seq, now);
|
|
53
|
-
for (const [s, ts] of recentPings) {
|
|
54
|
-
if (now - ts > echoFreshnessMs) recentPings.delete(s);
|
|
55
|
-
}
|
|
56
|
-
deps.sendCustom(pingEvent, { t: seq });
|
|
57
|
-
if (missed >= missThreshold && reportedStatus !== 'disconnected') {
|
|
58
|
-
deps.postStatus('disconnected');
|
|
59
|
-
reportedStatus = 'disconnected';
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
deps.onCustom(pongEvent, (raw) => {
|
|
64
|
-
const data = /** @type {{ echo?: number } | undefined} */ (raw);
|
|
65
|
-
if (typeof data?.echo !== 'number' || !recentPings.has(data.echo)) return;
|
|
66
|
-
recentPings.delete(data.echo);
|
|
67
|
-
missed = 0;
|
|
68
|
-
if (reportedStatus !== 'connected') {
|
|
69
|
-
deps.postStatus('connected');
|
|
70
|
-
reportedStatus = 'connected';
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
deps.setInterval(onTick, intervalMs);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// postMessage 的 targetOrigin 必须显式指定,禁止用 '*'。
|
|
78
|
-
|
|
79
|
-
const PARENT_ORIGIN_KEY = '__parentOrigin';
|
|
80
|
-
|
|
81
|
-
function getParentOriginFromParams() {
|
|
82
|
-
try {
|
|
83
|
-
const origin = new URLSearchParams(window.location.search).get(PARENT_ORIGIN_KEY);
|
|
84
|
-
if (origin) {
|
|
85
|
-
try { sessionStorage.setItem(PARENT_ORIGIN_KEY, origin); } catch { /* 忽略 */ }
|
|
86
|
-
return origin;
|
|
87
|
-
}
|
|
88
|
-
} catch { /* 忽略 URL 解析失败 */ }
|
|
89
|
-
try { return sessionStorage.getItem(PARENT_ORIGIN_KEY) || undefined; }
|
|
90
|
-
catch { return undefined; }
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
function getLegacyParentOrigin() {
|
|
94
|
-
const { origin } = window.location;
|
|
95
|
-
if (origin.includes('force.feishuapp.net')) return 'https://force.feishu.cn';
|
|
96
|
-
if (origin.includes('force-pre.feishuapp.net')) return 'https://force.feishu-pre.cn';
|
|
97
|
-
if (origin.includes('force.byted.org')) return 'https://force.feishu-boe.cn';
|
|
98
|
-
if (origin.includes('feishuapp.cn') || origin.includes('miaoda.feishuapp.net')) return 'https://miaoda.feishu.cn';
|
|
99
|
-
if (origin.includes('fsapp.kundou.cn') || origin.includes('miaoda-pre.feishuapp.net')) return 'https://miaoda.feishu-pre.cn';
|
|
100
|
-
return 'https://miaoda.feishu-boe.cn';
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function resolveParentOrigin() {
|
|
104
|
-
const paramOrigin = getParentOriginFromParams();
|
|
105
|
-
if (paramOrigin) return paramOrigin;
|
|
106
|
-
// plugin middleware 在送出脚本时把这个 token 编译期替换成字符串字面量。
|
|
107
|
-
return process.env.FORCE_FRAMEWORK_DOMAIN_MAIN || getLegacyParentOrigin();
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function postStatus(status) {
|
|
111
|
-
try {
|
|
112
|
-
const origin = resolveParentOrigin();
|
|
113
|
-
if (!origin) return;
|
|
114
|
-
window.parent.postMessage(
|
|
115
|
-
{ type: 'DevServerMessage', data: { type: 'devServer-status', status } },
|
|
116
|
-
origin,
|
|
117
|
-
);
|
|
118
|
-
} catch (e) {
|
|
119
|
-
console.error('[fullstack-ws-watchdog] postMessage error:', e);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
// 仅在 iframe 内自启动;jsdom(vitest)下 window.parent === window 自然跳过。
|
|
124
|
-
// 直出的 raw module 拿不到 import.meta.hot,所以借 createHotContext 走 HMR 通道。
|
|
125
|
-
// CLIENT_BASE_PATH 由 plugin 编译期替换;缺前缀会被网关 404。
|
|
126
|
-
const CLIENT_BASE_PATH = process.env.CLIENT_BASE_PATH || '';
|
|
127
|
-
|
|
128
|
-
if (typeof window !== 'undefined' && window.parent !== window) {
|
|
129
|
-
(async () => {
|
|
130
|
-
try {
|
|
131
|
-
const { createHotContext } = await import(CLIENT_BASE_PATH + '/@vite/client');
|
|
132
|
-
const hot = createHotContext(CLIENT_BASE_PATH + '/@ws-watchdog.js');
|
|
133
|
-
createWatchdog({
|
|
134
|
-
sendCustom: (event, data) => {
|
|
135
|
-
// 断连时 hot.send 可能抛;吞掉即可——missed 已在 onTick 顶部累加。
|
|
136
|
-
try { hot.send(event, data); }
|
|
137
|
-
catch (e) { console.warn('[fullstack-ws-watchdog] send failed:', e); }
|
|
138
|
-
},
|
|
139
|
-
onCustom: (event, cb) => hot.on(event, cb),
|
|
140
|
-
postStatus,
|
|
141
|
-
setInterval: (handler, ms) => window.setInterval(handler, ms),
|
|
142
|
-
clearInterval: (handle) => window.clearInterval(handle),
|
|
143
|
-
});
|
|
144
|
-
} catch (e) {
|
|
145
|
-
console.warn('[fullstack-ws-watchdog] bootstrap failed:', e);
|
|
146
|
-
}
|
|
147
|
-
})();
|
|
148
|
-
}
|