@lark-apaas/coding-preset-vite-react 1.0.20-alpha.20260831042637 → 1.0.20-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -5
- package/lib/index.js.map +1 -1
- package/lib/plugins/health-core.d.ts +1 -14
- package/lib/plugins/health-core.d.ts.map +1 -1
- package/lib/plugins/health-core.js +226 -38
- package/lib/plugins/health-core.js.map +1 -1
- package/lib/plugins/slardar.d.ts +6 -0
- package/lib/plugins/slardar.d.ts.map +1 -1
- package/lib/plugins/slardar.js +7 -3
- package/lib/plugins/slardar.js.map +1 -1
- package/lib/plugins/vite-client-patch.d.ts.map +1 -1
- package/lib/plugins/vite-client-patch.js +23 -1
- package/lib/plugins/vite-client-patch.js.map +1 -1
- package/package.json +1 -1
- package/src/overlay/vite-client.js +45 -4
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,MAAM,CAAC;AAyEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAC1B,SAAS,GAAE,UAAe,EAC1B,OAAO,GAAE,aAAkB,GAC1B,UAAU,CAqdZ;AAGD,eAAe,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,qCAAqC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -81,10 +81,9 @@ function resolveClientPath(rootDir, rel) {
|
|
|
81
81
|
return legacy;
|
|
82
82
|
return path.resolve(rootDir, rel);
|
|
83
83
|
}
|
|
84
|
-
function
|
|
84
|
+
function readUserPackageJson(rootDir) {
|
|
85
85
|
try {
|
|
86
|
-
|
|
87
|
-
return pkg.flags || {};
|
|
86
|
+
return JSON.parse(fs.readFileSync(path.resolve(rootDir, 'package.json'), 'utf-8'));
|
|
88
87
|
}
|
|
89
88
|
catch {
|
|
90
89
|
return {};
|
|
@@ -130,7 +129,11 @@ function defineConfig(overrides = {}, options = {}) {
|
|
|
130
129
|
const appId = isNewPathFormat
|
|
131
130
|
? clientBasePath.replace(/\/+$/, '').split('/').pop()
|
|
132
131
|
: undefined;
|
|
133
|
-
const
|
|
132
|
+
const userPkg = readUserPackageJson(rootDir);
|
|
133
|
+
const appFlags = userPkg.flags ?? {};
|
|
134
|
+
// package.json.version 反映妙搭应用生成时的模板/栈版本(从
|
|
135
|
+
// nestjs-react-fullstack-template 等模板拷过来,用户不维护)。读不到时兜底空串。
|
|
136
|
+
const stackVersion = typeof userPkg.version === 'string' ? userPkg.version : '';
|
|
134
137
|
const enableInspector = isDev && process.env.DISABLE_INSPECTOR !== 'true';
|
|
135
138
|
// 兼容两种 layout:老 fullstack 模板 `client/src`,新 jsPage 模板 `src`
|
|
136
139
|
const clientSrcRel = fs.existsSync(path.resolve(rootDir, 'client/src'))
|
|
@@ -308,7 +311,7 @@ function defineConfig(overrides = {}, options = {}) {
|
|
|
308
311
|
// standalone 下两者都摘:slardar 注入 4 个外链脚本(Slardar / Tea / performance),
|
|
309
312
|
// viewContext prod 注入 {{userId}} / {{tenantId}} HBS 占位符 —— 脱离 vefaas 没人替换,
|
|
310
313
|
// window.tenantId 会是字符串 "{{tenantId}}",业务代码 if (tenantId) 会判成真值。
|
|
311
|
-
!isStandalone && (0, slardar_1.slardarPlugin)({ bid: 'apaas_miaoda' }),
|
|
314
|
+
!isStandalone && (0, slardar_1.slardarPlugin)({ bid: 'apaas_miaoda', stackVersion }),
|
|
312
315
|
!isStandalone &&
|
|
313
316
|
(0, view_context_1.viewContextPlugin)({ appId: isDev ? appId : undefined, clientBasePath }),
|
|
314
317
|
// basename 运行时注入:改写入口文件的 process.env.CLIENT_BASE_PATH 为运行时读 window.__BASENAME__
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,18 +48,6 @@ export declare function isFullstackApp(): boolean;
|
|
|
48
48
|
* 实测:`lsof` 显示 `TCP [::1]:3000 (LISTEN)`,`127.0.0.1` 连接被拒。
|
|
49
49
|
*/
|
|
50
50
|
export declare function probePort(port: number, hosts?: string[], timeoutMs?: number): Promise<boolean>;
|
|
51
|
-
/**
|
|
52
|
-
* 构造「后端编译当前是不是挂着的」判定器。
|
|
53
|
-
*
|
|
54
|
-
* 这是对超时的**加速**,不是替代:命中就立刻判失败不用干等,没命中什么都不做、
|
|
55
|
-
* 继续走超时兜底。所以 nest / tsc 换了输出格式导致匹配不到时,最坏只是「退回等
|
|
56
|
-
* 超时」,既不会误报也不会卡住用户——方向天然安全。
|
|
57
|
-
*
|
|
58
|
-
* **必须记基线偏移**:`dev.js` 以 append 模式写 `server.std.log`,日志跨 dev
|
|
59
|
-
* 会话累积。不设基线的话,上一次会话遗留的 `Found 1 error` 会让新会话刚启动
|
|
60
|
-
* 就误报。构造时记下当前文件大小,之后只看这之后写入的内容;文件被截断或轮转
|
|
61
|
-
* (size < 基线)时基线归零。
|
|
62
|
-
*/
|
|
63
51
|
export declare function createCompileErrorScanner(logDir: string): () => boolean;
|
|
64
52
|
export interface HealthProbeOptions {
|
|
65
53
|
/** dev server 自身是否已 listen */
|
|
@@ -81,8 +69,7 @@ export interface HealthProbeOptions {
|
|
|
81
69
|
* `status` 判定顺序:
|
|
82
70
|
* 0. 前端 dev server 都还没起来 → `pending`;
|
|
83
71
|
* 1. 本应用没有后端(纯前端) → `ready`,永不 `backend_failed`;
|
|
84
|
-
* 2.
|
|
85
|
-
* 因为端口还通也可能是 nest watch 留着旧进程在服务旧代码);
|
|
72
|
+
* 2. 新编译结果显示失败 → `backend_failed`(旧进程仍监听也不能冒充新代码);
|
|
86
73
|
* 3. 后端端口连得上 → `ready`;
|
|
87
74
|
* 4. 都不是 → 超时前 `pending`,超时后 `backend_failed`。
|
|
88
75
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-core.d.ts","sourceRoot":"","sources":["../../src/plugins/health-core.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"health-core.d.ts","sourceRoot":"","sources":["../../src/plugins/health-core.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgCD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAsCD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAM,EAAO,EACpB,SAAS,SAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAOlB;AA2OD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,OAAO,CAGvE;AAED,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,MAAM,OAAO,CAAC,aAAa,CAAC,CA+F9B"}
|
|
@@ -39,10 +39,16 @@ const PROBE_CACHE_MS = 1000;
|
|
|
39
39
|
/** 只读日志尾部这么多字节,避免日志膨胀后拖慢探测 */
|
|
40
40
|
const TAIL_BYTES = 32 * 1024;
|
|
41
41
|
/**
|
|
42
|
-
* `nest start --watch`
|
|
43
|
-
*
|
|
42
|
+
* `nest start --watch` 每轮检查结束都会打这一行,N>0 即本轮没过。
|
|
43
|
+
* 默认 tsc 输出 `error(s)`;SWC 的异步 type-check 仍用 `error(s)` 报失败,
|
|
44
|
+
* 但成功输出 `Found 0 issues.`。Nest CLI 首次初始化时会无条件输出一次同样的零值,
|
|
45
|
+
* 所以还要识别 SWC / type-checker 会话起点并忽略每个会话的首个零值。
|
|
46
|
+
* SWC 专属事件必须携带 Nest CLI 的 `SWC` / `TSC` 前缀;server.std.log 同时包含
|
|
47
|
+
* 业务 stdout,不能让业务文案改变编译状态。否则业务打印一句 `Found 0 issues`
|
|
48
|
+
* 就能把真实编译错误清掉。`Found N errors` 刻意保留无前缀,因为真正使用 tsc builder
|
|
49
|
+
* 的存量应用就是无前缀输出;强行要求 `TSC` 前缀会导致这类应用永远无法进入或退出失败态。
|
|
44
50
|
*/
|
|
45
|
-
const
|
|
51
|
+
const COMPILE_EVENT = /(>\s+SWC\s+Running\.\.\.)|(\bTSC\s+Initializing type checker\.\.\.)|Found (\d+) errors?\b|(>\s+TSC\s+Found 0 issues\.)/g;
|
|
46
52
|
// eslint-disable-next-line no-control-regex
|
|
47
53
|
const ANSI = /\u001b\[[0-9;]*[a-zA-Z]/g;
|
|
48
54
|
/**
|
|
@@ -75,7 +81,7 @@ function toPort(value) {
|
|
|
75
81
|
return Number.isInteger(n) && n >= 1 && n <= 65535 ? n : undefined;
|
|
76
82
|
}
|
|
77
83
|
function connectOnce(port, host, timeoutMs) {
|
|
78
|
-
return new Promise(
|
|
84
|
+
return new Promise(resolve => {
|
|
79
85
|
const socket = new node_net_1.default.Socket();
|
|
80
86
|
let settled = false;
|
|
81
87
|
const done = (alive) => {
|
|
@@ -110,16 +116,72 @@ async function probePort(port, hosts = [], timeoutMs = 1000) {
|
|
|
110
116
|
if (!Number.isInteger(port) || port <= 0 || port > 65535)
|
|
111
117
|
return false;
|
|
112
118
|
const targets = [...new Set([...hosts.filter(Boolean), '127.0.0.1', '::1'])];
|
|
113
|
-
const results = await Promise.all(targets.map(
|
|
119
|
+
const results = await Promise.all(targets.map(h => connectOnce(port, h, timeoutMs)));
|
|
114
120
|
return results.some(Boolean);
|
|
115
121
|
}
|
|
116
|
-
function
|
|
122
|
+
function readLogBaseline(file) {
|
|
123
|
+
let fd;
|
|
117
124
|
try {
|
|
118
|
-
|
|
125
|
+
fd = node_fs_1.default.openSync(file, 'r');
|
|
126
|
+
const stat = node_fs_1.default.fstatSync(fd);
|
|
127
|
+
const length = Math.min(stat.size, TAIL_BYTES);
|
|
128
|
+
const tail = Buffer.alloc(length);
|
|
129
|
+
const bytesRead = node_fs_1.default.readSync(fd, tail, 0, length, stat.size - length);
|
|
130
|
+
return {
|
|
131
|
+
size: stat.size,
|
|
132
|
+
dev: stat.dev,
|
|
133
|
+
ino: stat.ino,
|
|
134
|
+
tail: tail.subarray(0, bytesRead),
|
|
135
|
+
};
|
|
119
136
|
}
|
|
120
137
|
catch {
|
|
121
|
-
return 0;
|
|
138
|
+
return { size: 0, dev: null, ino: null, tail: Buffer.alloc(0) };
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
if (fd !== undefined) {
|
|
142
|
+
try {
|
|
143
|
+
node_fs_1.default.closeSync(fd);
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
// baseline 读取失败只会退化为从 0 扫描。
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function scanCompileEvents(text, initialIssueSeen, initialLast = null) {
|
|
152
|
+
let issueSeen = initialIssueSeen;
|
|
153
|
+
let last = initialLast;
|
|
154
|
+
let resultCount = 0;
|
|
155
|
+
for (const m of text.matchAll(COMPILE_EVENT)) {
|
|
156
|
+
if (m[1]) {
|
|
157
|
+
// `SWC Running` 是新一轮 emitter 会话的边界,旧结果不再描述正在生成的新代码。
|
|
158
|
+
// 不清空 last 的 bad case:上一轮 `Found 1 error` 会粘到下一轮,让刚开始重编译的
|
|
159
|
+
// 应用在真实检查结果出来前仍被判失败;同时把首个 issues 标记为“尚未消费”。
|
|
160
|
+
issueSeen = false;
|
|
161
|
+
last = null;
|
|
162
|
+
}
|
|
163
|
+
else if (m[2]) {
|
|
164
|
+
// SWC 的异步 TSC checker 可以晚于 emitter 初始化;它只重开“首个零值”门禁,
|
|
165
|
+
// 不能伪造一次成功结果。否则 checker 刚初始化、尚未检查用户代码时就会错误恢复。
|
|
166
|
+
issueSeen = false;
|
|
167
|
+
}
|
|
168
|
+
else if (m[3] !== undefined) {
|
|
169
|
+
// 该分支同时覆盖有前缀的 SWC checker 和无前缀的纯 tsc builder 输出。
|
|
170
|
+
last = Number(m[3]);
|
|
171
|
+
resultCount += 1;
|
|
172
|
+
}
|
|
173
|
+
else if (!issueSeen) {
|
|
174
|
+
// Nest CLI 的 onProgramInit 与真实 type-check 成功复用同一条输出。每个新会话的
|
|
175
|
+
// 首个 `> TSC Found 0 issues` 只是初始化快照,不代表刚修改的代码已检查通过。
|
|
176
|
+
// 若把它当成功,`AAA = 123` 这类错误会短暂从 backend_failed 错回 pending/ready。
|
|
177
|
+
issueSeen = true;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
last = 0;
|
|
181
|
+
resultCount += 1;
|
|
182
|
+
}
|
|
122
183
|
}
|
|
184
|
+
return { issueSeen, last, resultCount };
|
|
123
185
|
}
|
|
124
186
|
/**
|
|
125
187
|
* 构造「后端编译当前是不是挂着的」判定器。
|
|
@@ -130,36 +192,121 @@ function safeSize(file) {
|
|
|
130
192
|
*
|
|
131
193
|
* **必须记基线偏移**:`dev.js` 以 append 模式写 `server.std.log`,日志跨 dev
|
|
132
194
|
* 会话累积。不设基线的话,上一次会话遗留的 `Found 1 error` 会让新会话刚启动
|
|
133
|
-
*
|
|
134
|
-
*
|
|
195
|
+
* 就误报。构造时记下当前文件大小,之后只看这之后写入的内容。文件 rename 轮转、
|
|
196
|
+
* 显式变小,或同 inode 被 truncate 后快速重写时都必须开启新日志代;只检查
|
|
197
|
+
* `size < cursor` 会漏掉“截断后立即写到比旧文件更大”的常见场景,scanner 会从旧
|
|
198
|
+
* cursor 跳读新文件尾部,错过新代开头的 `Found 0/1`。
|
|
135
199
|
*/
|
|
136
|
-
function
|
|
200
|
+
function createCompileStatusScanner(logDir) {
|
|
137
201
|
const file = node_path_1.default.join(logDir, 'server.std.log');
|
|
138
|
-
|
|
139
|
-
|
|
202
|
+
const baseline = readLogBaseline(file);
|
|
203
|
+
// cursor 同时是本次 dev 会话的日志基线:构造前的旧结果不进入当前状态。
|
|
204
|
+
// checkpoint 保存旧 cursor 前的原始字节,用于识别 inode 未变但内容已被覆盖的轮转。
|
|
205
|
+
// 这里必须使用原始 Buffer 而不是去 ANSI 后的字符串 offset;UTF-8 中文是多字节、
|
|
206
|
+
// JS 字符索引是 UTF-16,二者相加会让同一条旧事件在窗口滑动后获得不同“位置”。
|
|
207
|
+
let cursor = baseline.size;
|
|
208
|
+
let fileDev = baseline.dev;
|
|
209
|
+
let fileIno = baseline.ino;
|
|
210
|
+
let checkpoint = baseline.tail;
|
|
211
|
+
let needsContext = cursor > 0;
|
|
212
|
+
let issueSeen = true;
|
|
213
|
+
let last = null;
|
|
214
|
+
let revision = 0;
|
|
215
|
+
let carry = '';
|
|
216
|
+
const current = () => ({
|
|
217
|
+
hasError: last !== null && last > 0,
|
|
218
|
+
lastResult: last,
|
|
219
|
+
lastResultRevision: revision,
|
|
220
|
+
});
|
|
221
|
+
const resetFileState = () => {
|
|
222
|
+
cursor = 0;
|
|
223
|
+
needsContext = false;
|
|
224
|
+
issueSeen = true;
|
|
225
|
+
last = null;
|
|
226
|
+
carry = '';
|
|
227
|
+
checkpoint = Buffer.alloc(0);
|
|
228
|
+
};
|
|
229
|
+
return function scanCompileStatus() {
|
|
140
230
|
let fd;
|
|
141
231
|
try {
|
|
142
|
-
const size = safeSize(file);
|
|
143
|
-
if (size < baseline)
|
|
144
|
-
baseline = 0; // 日志被截断/轮转
|
|
145
|
-
const available = size - baseline;
|
|
146
|
-
if (available <= 0)
|
|
147
|
-
return false;
|
|
148
|
-
const length = Math.min(available, TAIL_BYTES);
|
|
149
|
-
const buf = Buffer.alloc(length);
|
|
150
232
|
fd = node_fs_1.default.openSync(file, 'r');
|
|
151
|
-
node_fs_1.default.
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
let
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
233
|
+
const stat = node_fs_1.default.fstatSync(fd);
|
|
234
|
+
const identityChanged = fileDev !== null &&
|
|
235
|
+
fileIno !== null &&
|
|
236
|
+
(stat.dev !== fileDev || stat.ino !== fileIno);
|
|
237
|
+
let checkpointChanged = false;
|
|
238
|
+
if (!identityChanged && stat.size >= cursor && checkpoint.length > 0) {
|
|
239
|
+
// 单看 inode 和 size 不足以发现 `truncate(); write()`:重写可能复用 inode,且在
|
|
240
|
+
// 两次轮询之间已经长到 size >= cursor。回读旧 cursor 前的 checkpoint 才能证明
|
|
241
|
+
// scanner 仍面对同一代内容;不比对会直接跳过新文件开头的恢复/失败结果。
|
|
242
|
+
const actual = Buffer.alloc(checkpoint.length);
|
|
243
|
+
const bytesRead = node_fs_1.default.readSync(fd, actual, 0, actual.length, cursor - checkpoint.length);
|
|
244
|
+
checkpointChanged =
|
|
245
|
+
bytesRead !== checkpoint.length || !actual.equals(checkpoint);
|
|
246
|
+
}
|
|
247
|
+
if (identityChanged || stat.size < cursor || checkpointChanged) {
|
|
248
|
+
// rename 轮转、显式变小,以及同 inode 的 truncate + 快速重写都开启新代。
|
|
249
|
+
// revision 刻意保持单调,新文件里的结果仍会得到新序号;若 revision 也归零,
|
|
250
|
+
// probe 可能把新代事件与旧代相同序号混为一谈,漏掉一次状态切换。
|
|
251
|
+
resetFileState();
|
|
252
|
+
}
|
|
253
|
+
fileDev = stat.dev;
|
|
254
|
+
fileIno = stat.ino;
|
|
255
|
+
const size = stat.size;
|
|
256
|
+
if (size <= cursor)
|
|
257
|
+
return current();
|
|
258
|
+
// server 先于 client/Vite 启动,SWC 会话边界或初始化零值可能刚好落在 baseline
|
|
259
|
+
// 之前。回看一段只重建“首个 issues 是否已经出现”的解析上下文:不回看时,
|
|
260
|
+
// baseline 后的真实成功可能被误当初始化零值而忽略;若连旧 last 一起继承,上一
|
|
261
|
+
// dev 会话的编译错误又会污染新会话。因此这里只继承 issueSeen,不继承结果。
|
|
262
|
+
if (needsContext) {
|
|
263
|
+
const contextLength = Math.min(cursor, TAIL_BYTES);
|
|
264
|
+
const context = Buffer.alloc(contextLength);
|
|
265
|
+
if (contextLength > 0) {
|
|
266
|
+
node_fs_1.default.readSync(fd, context, 0, contextLength, cursor - contextLength);
|
|
267
|
+
issueSeen = scanCompileEvents(context.toString('utf8').replace(ANSI, ''), true).issueSeen;
|
|
268
|
+
}
|
|
269
|
+
needsContext = false;
|
|
270
|
+
}
|
|
271
|
+
// 顺序消费 fstat 快照内的全部新增字节,单块内存仍限制在 TAIL_BYTES。不能直接
|
|
272
|
+
// 跳到尾部:两次 health 轮询间可能追加 >32KiB 业务日志,决定状态的 Found 0/1
|
|
273
|
+
// 恰好在中段;跳尾会漏事件,而“窗口过大就清 last”会让已确认失败凭空恢复。
|
|
274
|
+
// cursor 只按原始字节单调前进,当前快照之后的并发 append 留给下次,因此每条
|
|
275
|
+
// 结果只消费一次,也不会再混用 UTF-8 字节位置与 JS 字符索引。
|
|
276
|
+
while (cursor < size) {
|
|
277
|
+
const length = Math.min(size - cursor, TAIL_BYTES);
|
|
278
|
+
const buf = Buffer.alloc(length);
|
|
279
|
+
const bytesRead = node_fs_1.default.readSync(fd, buf, 0, buf.length, cursor);
|
|
280
|
+
if (bytesRead <= 0)
|
|
281
|
+
break;
|
|
282
|
+
const raw = buf.subarray(0, bytesRead);
|
|
283
|
+
cursor += bytesRead;
|
|
284
|
+
// checkpoint 跟随已确认消费的原始尾字节,供下一次轮询验证文件没有被原地重写。
|
|
285
|
+
checkpoint = Buffer.concat([checkpoint, raw]).subarray(-TAIL_BYTES);
|
|
286
|
+
const text = (carry + raw.toString('utf8')).replace(ANSI, '');
|
|
287
|
+
const lastNewline = text.lastIndexOf('\n');
|
|
288
|
+
if (lastNewline < 0) {
|
|
289
|
+
// 编译事件按完整行解析;保留有限尾巴可覆盖“事件跨 chunk/跨轮询写了一半”。
|
|
290
|
+
// 不保留会漏事件,无上限保留又会被一条超长业务日志拖成持续增长的内存占用。
|
|
291
|
+
carry = text.slice(-512);
|
|
292
|
+
continue;
|
|
293
|
+
}
|
|
294
|
+
const scanned = scanCompileEvents(text.slice(0, lastNewline + 1), issueSeen, last);
|
|
295
|
+
issueSeen = scanned.issueSeen;
|
|
296
|
+
last = scanned.last;
|
|
297
|
+
revision += scanned.resultCount;
|
|
298
|
+
carry = text.slice(lastNewline + 1).slice(-512);
|
|
299
|
+
}
|
|
300
|
+
return current();
|
|
159
301
|
}
|
|
160
302
|
catch {
|
|
161
303
|
// 日志缺失 / 不可读 → 不下结论,交给超时兜底
|
|
162
|
-
|
|
304
|
+
if (!node_fs_1.default.existsSync(file)) {
|
|
305
|
+
resetFileState();
|
|
306
|
+
fileDev = null;
|
|
307
|
+
fileIno = null;
|
|
308
|
+
}
|
|
309
|
+
return current();
|
|
163
310
|
}
|
|
164
311
|
finally {
|
|
165
312
|
if (fd !== undefined) {
|
|
@@ -174,6 +321,10 @@ function createCompileErrorScanner(logDir) {
|
|
|
174
321
|
}
|
|
175
322
|
};
|
|
176
323
|
}
|
|
324
|
+
function createCompileErrorScanner(logDir) {
|
|
325
|
+
const scan = createCompileStatusScanner(logDir);
|
|
326
|
+
return () => scan().hasError;
|
|
327
|
+
}
|
|
177
328
|
function resolveTimeoutMs(explicit) {
|
|
178
329
|
if (typeof explicit === 'number')
|
|
179
330
|
return explicit;
|
|
@@ -191,8 +342,7 @@ function settle(status, message) {
|
|
|
191
342
|
* `status` 判定顺序:
|
|
192
343
|
* 0. 前端 dev server 都还没起来 → `pending`;
|
|
193
344
|
* 1. 本应用没有后端(纯前端) → `ready`,永不 `backend_failed`;
|
|
194
|
-
* 2.
|
|
195
|
-
* 因为端口还通也可能是 nest watch 留着旧进程在服务旧代码);
|
|
345
|
+
* 2. 新编译结果显示失败 → `backend_failed`(旧进程仍监听也不能冒充新代码);
|
|
196
346
|
* 3. 后端端口连得上 → `ready`;
|
|
197
347
|
* 4. 都不是 → 超时前 `pending`,超时后 `backend_failed`。
|
|
198
348
|
*
|
|
@@ -205,26 +355,64 @@ function createHealthProbe(options) {
|
|
|
205
355
|
const logDir = node_path_1.default.resolve(options.logDir ?? process.env.LOG_DIR ?? './logs');
|
|
206
356
|
const timeoutMs = resolveTimeoutMs(options.timeoutMs);
|
|
207
357
|
const hasServer = options.hasServer ?? isFullstackApp();
|
|
208
|
-
const
|
|
358
|
+
const scanCompileStatus = createCompileStatusScanner(logDir);
|
|
209
359
|
let cachedAlive = false;
|
|
210
360
|
let cachedAt = 0;
|
|
361
|
+
let compileWasFailing = false;
|
|
362
|
+
let lastCompileResultRevision = 0;
|
|
363
|
+
let serverWasAlive = false;
|
|
364
|
+
let unavailableSince = startedAt;
|
|
211
365
|
return async function probe() {
|
|
212
366
|
try {
|
|
213
367
|
if (!options.isClientReady())
|
|
214
368
|
return settle('pending');
|
|
215
369
|
if (!hasServer)
|
|
216
370
|
return settle('ready');
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
371
|
+
// 每次只消费新增日志,以单调 revision 识别“事件”而不是比较结果数值:连续两轮
|
|
372
|
+
// 都是 Found 0/1 时数值相同,但第二轮仍是新编译事实。端口存活时也推进 cursor,
|
|
373
|
+
// 否则端口很久以后下线,会把期间积累的历史成功错当作本次恢复并重置超时窗口。
|
|
374
|
+
const compile = scanCompileStatus();
|
|
375
|
+
const hasNewCompileResult = compile.lastResultRevision !== lastCompileResultRevision;
|
|
376
|
+
if (hasNewCompileResult)
|
|
377
|
+
lastCompileResultRevision = compile.lastResultRevision;
|
|
220
378
|
const nowMs = Date.now();
|
|
221
379
|
if (nowMs - cachedAt >= PROBE_CACHE_MS) {
|
|
222
380
|
cachedAlive = await probePort(serverPort, serverHost ? [serverHost] : []);
|
|
223
381
|
cachedAt = nowMs;
|
|
224
382
|
}
|
|
225
|
-
|
|
383
|
+
// Nest watch 在本轮编译失败时可能继续保留旧进程监听端口。端口只能证明旧代码
|
|
384
|
+
// 还活着,不能证明新代码已生效;新增的失败结果必须优先。scanner 会在后续
|
|
385
|
+
// Found 0 结果到来时清除 hasError,因此修复后仍能恢复,而不会被旧错误粘住。
|
|
386
|
+
if (compile.hasError) {
|
|
387
|
+
compileWasFailing = true;
|
|
388
|
+
return settle('backend_failed', `后端服务编译未通过,请查看 ${node_path_1.default.join(logDir, 'server.std.log')}`);
|
|
389
|
+
}
|
|
390
|
+
if (cachedAlive) {
|
|
391
|
+
compileWasFailing = compile.hasError;
|
|
392
|
+
serverWasAlive = true;
|
|
393
|
+
unavailableSince = nowMs;
|
|
226
394
|
return settle('ready');
|
|
227
|
-
|
|
395
|
+
}
|
|
396
|
+
if (serverWasAlive) {
|
|
397
|
+
// 从 ready 进入端口不可用是一次新的故障窗口,计时应锚定“本次确认掉线”的时刻,
|
|
398
|
+
// 而不是上一次 ready 探测。否则 health 轮询若曾暂停超过 timeout,恢复轮询时恰逢
|
|
399
|
+
// 服务重启,就会把停轮询的时间也算成宕机时间并立即误报 backend_failed。
|
|
400
|
+
serverWasAlive = false;
|
|
401
|
+
unavailableSince = nowMs;
|
|
402
|
+
}
|
|
403
|
+
if (compileWasFailing ||
|
|
404
|
+
(hasNewCompileResult && compile.lastResult === 0)) {
|
|
405
|
+
// Nest watch 会在类型检查恢复后重启业务进程。这个短暂窗口必须作为新的启动
|
|
406
|
+
// 周期:重置 unavailableSince、打破端口负缓存,并在本次 probe 原子地返回 pending。
|
|
407
|
+
// 少任一步的 bad case:修复 `AAA = 123` 后虽然出现 Found 0,仍沿用旧超时锚点
|
|
408
|
+
// 立即 backend_failed,或在 1s 负缓存内看不到刚拉起的端口,表现为“服务不恢复”。
|
|
409
|
+
compileWasFailing = false;
|
|
410
|
+
serverWasAlive = false;
|
|
411
|
+
unavailableSince = nowMs;
|
|
412
|
+
cachedAt = 0;
|
|
413
|
+
return settle('pending');
|
|
414
|
+
}
|
|
415
|
+
const elapsed = Date.now() - unavailableSince;
|
|
228
416
|
if (elapsed <= timeoutMs)
|
|
229
417
|
return settle('pending');
|
|
230
418
|
return settle('backend_failed', `后端服务未启动:端口 ${serverPort} 在 ${Math.round(elapsed / 1000)}s 内始终未监听,` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-core.js","sourceRoot":"","sources":["../../src/plugins/health-core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"health-core.js","sourceRoot":"","sources":["../../src/plugins/health-core.ts"],"names":[],"mappings":"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"}
|
package/lib/plugins/slardar.d.ts
CHANGED
|
@@ -19,6 +19,12 @@ export interface SlardarPluginOptions {
|
|
|
19
19
|
bid?: string;
|
|
20
20
|
/** SDK 暴露在 window 上的全局名。默认 `KSlardarWeb` */
|
|
21
21
|
globalName?: string;
|
|
22
|
+
/**
|
|
23
|
+
* 模板/栈版本(来自用户 package.json.version),编译期写入 `context.merge`
|
|
24
|
+
* 的 `stack_version`,让 Slardar 大盘可按模板/栈版本过滤事件。为空(默认)
|
|
25
|
+
* 时走 `''`,字段仍上报以保持 shape 稳定。
|
|
26
|
+
*/
|
|
27
|
+
stackVersion?: string;
|
|
22
28
|
}
|
|
23
29
|
export declare function slardarPlugin(options?: SlardarPluginOptions): Plugin;
|
|
24
30
|
export default slardarPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slardar.d.ts","sourceRoot":"","sources":["../../src/plugins/slardar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"slardar.d.ts","sourceRoot":"","sources":["../../src/plugins/slardar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA+GD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CA6BxE;AAED,eAAe,aAAa,CAAC"}
|
package/lib/plugins/slardar.js
CHANGED
|
@@ -46,7 +46,10 @@ function buildEarlyResourceErrorScript(globalName) {
|
|
|
46
46
|
});
|
|
47
47
|
})('${globalName}');`;
|
|
48
48
|
}
|
|
49
|
-
function buildSlardarScript(bid, globalName) {
|
|
49
|
+
function buildSlardarScript(bid, globalName, stackVersion) {
|
|
50
|
+
// JSON.stringify 把编译期字符串转成安全 JS 字面量(semver `+build.1`、
|
|
51
|
+
// 单引号等特殊字符都要经它才不会破字符串)。
|
|
52
|
+
const stackVersionLiteral = JSON.stringify(stackVersion);
|
|
50
53
|
return `
|
|
51
54
|
const slardarScript = document.createElement('script');
|
|
52
55
|
slardarScript.src = 'https://lf3-short.ibytedapm.com/slardar/fe/sdk-web/browser.cn.js?bid=${bid}&globalName=${globalName}';
|
|
@@ -56,6 +59,7 @@ function buildSlardarScript(bid, globalName) {
|
|
|
56
59
|
window.${globalName}('context.merge', {
|
|
57
60
|
tenantId: window.tenantId ?? '',
|
|
58
61
|
appId: window.appId ?? '',
|
|
62
|
+
stack_version: ${stackVersionLiteral},
|
|
59
63
|
});
|
|
60
64
|
window.${globalName}('init', {
|
|
61
65
|
bid: '${bid}',
|
|
@@ -100,14 +104,14 @@ function buildTeaScript() {
|
|
|
100
104
|
`;
|
|
101
105
|
}
|
|
102
106
|
function slardarPlugin(options = {}) {
|
|
103
|
-
const { bid = 'apaas_miaoda', globalName = 'KSlardarWeb' } = options;
|
|
107
|
+
const { bid = 'apaas_miaoda', globalName = 'KSlardarWeb', stackVersion = '', } = options;
|
|
104
108
|
return {
|
|
105
109
|
name: 'miaoda-slardar',
|
|
106
110
|
transformIndexHtml(html) {
|
|
107
111
|
const tags = [
|
|
108
112
|
// Must be first: inline resource-error capture + KSlardarWeb command queue stub.
|
|
109
113
|
{ tag: 'script', children: buildEarlyResourceErrorScript(globalName), injectTo: 'head-prepend' },
|
|
110
|
-
{ tag: 'script', children: buildSlardarScript(bid, globalName), injectTo: 'head-prepend' },
|
|
114
|
+
{ tag: 'script', children: buildSlardarScript(bid, globalName, stackVersion), injectTo: 'head-prepend' },
|
|
111
115
|
{
|
|
112
116
|
tag: 'script',
|
|
113
117
|
attrs: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slardar.js","sourceRoot":"","sources":["../../src/plugins/slardar.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"slardar.js","sourceRoot":"","sources":["../../src/plugins/slardar.ts"],"names":[],"mappings":";;AA2IA,sCA6BC;AA1ID;;;;;;;;GAQG;AACH,SAAS,6BAA6B,CAAC,UAAkB;IACvD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCH,UAAU,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAW,EACX,UAAkB,EAClB,YAAoB;IAEpB,uDAAuD;IACvD,wBAAwB;IACxB,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACzD,OAAO;;gGAEuF,GAAG,eAAe,UAAU;;;mBAGzG,UAAU;iBACZ,UAAU;;;2BAGA,mBAAmB;;iBAE7B,UAAU;kBACT,GAAG;;;;iBAIJ,UAAU;;;;;mBAKR,UAAU;;;;;;;;GAQ1B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;;;;;;;;;;;;;;;;;;GAmBN,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,UAAgC,EAAE;IAC9D,MAAM,EACJ,GAAG,GAAG,cAAc,EACpB,UAAU,GAAG,aAAa,EAC1B,YAAY,GAAG,EAAE,GAClB,GAAG,OAAO,CAAC;IAEZ,OAAO;QACL,IAAI,EAAE,gBAAgB;QAEtB,kBAAkB,CAAC,IAAI;YACrB,MAAM,IAAI,GAAwB;gBAChC,iFAAiF;gBACjF,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,6BAA6B,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;gBAChG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;gBACxG;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,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE;aACxE,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-client-patch.d.ts","sourceRoot":"","sources":["../../src/plugins/vite-client-patch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-client-patch.d.ts","sourceRoot":"","sources":["../../src/plugins/vite-client-patch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAyDnC,wBAAgB,qBAAqB,IAAI,MAAM,CAkH9C;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -32,6 +32,14 @@ const PING_INTERVAL_LEAK_PATTERN = /pingIntervalId = setInterval\(\(\) => \{\s*i
|
|
|
32
32
|
* 已实测 Vite 7.3.x / 8.0.x 文本一致;负向先行避免重复 patch(幂等)。
|
|
33
33
|
*/
|
|
34
34
|
const CONNECT_PATTERN = /transport\.connect\(createHMRHandler\(handleMessage\)\)(?!\s*\.catch)(\s*;)?/;
|
|
35
|
+
/**
|
|
36
|
+
* Vite 会在 HMR 动态 import 抛错后调用 `warnFailedUpdate`,但 catch 住异常并继续发送
|
|
37
|
+
* `vite:afterUpdate`。例如模块顶层加入 `AAA = 123` 会抛 ReferenceError;若不补一条有序的
|
|
38
|
+
* 失败事件,overlay 和 `__VITE_HMR__.onSuccess` 都会把这轮热更当成功,错误页状态与实际
|
|
39
|
+
* 模块图相反。这里匹配 catch 内的稳定锚点,把“失败”补回 Vite 原事件序列。
|
|
40
|
+
*/
|
|
41
|
+
const FAILED_UPDATE_PATTERN = /this\.warnFailedUpdate\(e, acceptedPath\);/;
|
|
42
|
+
const HMR_RUNTIME_ERROR_EVENT = 'miaoda:hmr-runtime-error';
|
|
35
43
|
/**
|
|
36
44
|
* 匹配 @vite/client 里的连接成功日志:
|
|
37
45
|
* console.debug(`[vite] connected.`);
|
|
@@ -99,7 +107,21 @@ function viteClientPatchPlugin() {
|
|
|
99
107
|
console.warn('[miaoda-vite-client-patch] ping-interval pattern not found in @vite/client; ' +
|
|
100
108
|
'stale heartbeat timers will leak on reconnect — Vite client.mjs may have changed.');
|
|
101
109
|
}
|
|
102
|
-
// patch 5:
|
|
110
|
+
// patch 5: 把 Vite 吞掉的热更模块运行时异常补回原事件序列。
|
|
111
|
+
// 在 Vite 原 catch 内先通知 overlay,再进入 vite:afterUpdate。注入语句必须
|
|
112
|
+
// `await notifyListeners`:否则 afterUpdate 可能先清错误并触发 success callback,
|
|
113
|
+
// 随后才收到失败,形成一次肉眼可见且状态错误的“先成功后失败”。
|
|
114
|
+
if (patched.includes(`notifyListeners("${HMR_RUNTIME_ERROR_EVENT}"`)) {
|
|
115
|
+
// 已 patch,保持幂等。
|
|
116
|
+
}
|
|
117
|
+
else if (FAILED_UPDATE_PATTERN.test(patched)) {
|
|
118
|
+
patched = patched.replace(FAILED_UPDATE_PATTERN, `this.warnFailedUpdate(e, acceptedPath);\n\t\t\t\tawait this.notifyListeners("${HMR_RUNTIME_ERROR_EVENT}", { err: e, path: acceptedPath });`);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
console.warn('[miaoda-vite-client-patch] failed-update pattern not found in @vite/client; ' +
|
|
122
|
+
'runtime HMR import failures may be reported as success — Vite client.mjs may have changed.');
|
|
123
|
+
}
|
|
124
|
+
// patch 6: 连接成功日志 debug → log,让 client-toolkit 的 console 劫持能收到
|
|
103
125
|
if (CONNECTED_LOG_PATTERN.test(patched)) {
|
|
104
126
|
patched = patched.replace(CONNECTED_LOG_PATTERN, 'console.log($1)');
|
|
105
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-client-patch.js","sourceRoot":"","sources":["../../src/plugins/vite-client-patch.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"vite-client-patch.js","sourceRoot":"","sources":["../../src/plugins/vite-client-patch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lark-apaas/coding-preset-vite-react",
|
|
3
|
-
"version": "1.0.20-
|
|
3
|
+
"version": "1.0.20-beta.0",
|
|
4
4
|
"description": "Vite 8 preset for miaoda-coding vite-react (jsPage) templates — pure frontend, no fullstack baggage",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -43,7 +43,12 @@ if (!window.__VITE_ERROR_OVERLAY_INITIALIZED__) {
|
|
|
43
43
|
let currentMode = null;
|
|
44
44
|
|
|
45
45
|
// ===== HMR API State (用于 toolkit 的统一 HMR API) =====
|
|
46
|
+
// 两个标志描述不同时间维度,不能合并:hasErrorInCurrentUpdate 是“本轮是否失败”,
|
|
47
|
+
// hadRuntimeErrorBeforeUpdate 是“热更前页面是否已因上一轮运行时错误失效”。前者阻止
|
|
48
|
+
// 失败热更触发 onSuccess,后者决定修复后是否必须 reload 重建模块图。只保留一个标志
|
|
49
|
+
// 会导致 `AAA = 123` 报错后被误报成功,或注释掉错误后仍停在旧错误页/空白页。
|
|
46
50
|
let hasErrorInCurrentUpdate = false;
|
|
51
|
+
let hadRuntimeErrorBeforeUpdate = false;
|
|
47
52
|
const hmrBeforeApplyCallbacks = new Set();
|
|
48
53
|
const hmrSuccessCallbacks = new Set();
|
|
49
54
|
const hmrErrorCallbacks = new Set();
|
|
@@ -446,6 +451,9 @@ if (!window.__VITE_ERROR_OVERLAY_INITIALIZED__) {
|
|
|
446
451
|
console.warn('[VITE_HMR] onBeforeApply callback error:', e);
|
|
447
452
|
}
|
|
448
453
|
});
|
|
454
|
+
// 必须先快照旧错误,再清本轮标志。运行时 overlay 的展示有 debounce,不能等到
|
|
455
|
+
// afterUpdate 再猜“错误是上一轮还是这一轮”,否则修复更新会丢失 reload 依据。
|
|
456
|
+
hadRuntimeErrorBeforeUpdate = currentRuntimeErrors.length > 0;
|
|
449
457
|
hasErrorInCurrentUpdate = false;
|
|
450
458
|
});
|
|
451
459
|
|
|
@@ -469,11 +477,44 @@ if (!window.__VITE_ERROR_OVERLAY_INITIALIZED__) {
|
|
|
469
477
|
}
|
|
470
478
|
});
|
|
471
479
|
|
|
472
|
-
//
|
|
480
|
+
// Vite 的 fetchUpdate() 会吞掉模块 import 的执行期异常并继续发 afterUpdate。
|
|
481
|
+
// @vite/client 原生会吞掉模块动态 import 的运行时异常,随后照常发 afterUpdate。
|
|
482
|
+
// patch 插入的事件把该异常重新接回统一错误状态;没有它,`AAA = 123` 这类语法可
|
|
483
|
+
// 编译但执行即失败的修改不会进入失败态,反而会触发下方 success callback。
|
|
484
|
+
hot.on('miaoda:hmr-runtime-error', (payload) => {
|
|
485
|
+
hasErrorInCurrentUpdate = true;
|
|
486
|
+
const error = payload && payload.err instanceof Error
|
|
487
|
+
? payload.err
|
|
488
|
+
: new Error(String((payload && payload.err) || 'HMR module update failed'));
|
|
489
|
+
|
|
490
|
+
hmrErrorCallbacks.forEach((cb) => {
|
|
491
|
+
try {
|
|
492
|
+
cb(error);
|
|
493
|
+
} catch (e) {
|
|
494
|
+
// ignore callback errors
|
|
495
|
+
}
|
|
496
|
+
});
|
|
497
|
+
handleRuntimeError(error);
|
|
498
|
+
});
|
|
499
|
+
|
|
500
|
+
// ===== HMR API: afterUpdate =====
|
|
473
501
|
hot.on('vite:afterUpdate', () => {
|
|
474
|
-
//
|
|
475
|
-
//
|
|
476
|
-
//
|
|
502
|
+
// 模块顶层运行时错误会在 import.meta.hot.accept 注册前中断执行,后续更新虽然
|
|
503
|
+
// 能收到 vite:afterUpdate,却没有可应用的 HMR boundary。必须整页重载,才能
|
|
504
|
+
// 从修复后的入口重新建立模块图;否则用户注释掉 `AAA = 123` 后,文件已经编译
|
|
505
|
+
// 成功,预览却仍停在空白页/旧错误状态,看起来像“没有热更新恢复”。
|
|
506
|
+
// 这个短路必须放在 queueMicrotask 之前:location.reload() 只是安排导航,当前
|
|
507
|
+
// task 结束时仍会先清空 microtask。若先调度 success callback,就会在真正 reload
|
|
508
|
+
// 前把“必须靠整页重建模块图”的恢复错报成普通 HMR 成功。
|
|
509
|
+
if (hadRuntimeErrorBeforeUpdate && !hasErrorInCurrentUpdate) {
|
|
510
|
+
window.location.reload();
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
// failed-update patch 会 await 上面的 runtime-error handler 后再进入 afterUpdate;
|
|
515
|
+
// microtask 继续用于合并当前同步任务内的其他错误状态更新。这里仍必须检查本轮
|
|
516
|
+
// 标志,不能因为收到 afterUpdate 就认定成功——Vite 的 afterUpdate 表示流程结束,
|
|
517
|
+
// 不保证每个模块都应用成功。
|
|
477
518
|
queueMicrotask(() => {
|
|
478
519
|
if (!hasErrorInCurrentUpdate) {
|
|
479
520
|
// 没有错误,通知成功回调
|