refactor: 统一错误处理机制

- 引入 ConfigError/TemplateError/BuildError/FileError 与 wrapAsyncError,统一错误输出
- generator 入口接入 wrapAsyncError,确保命令行执行路径一致
- 兜底逻辑使用 instanceof,保留 BuildError/TemplateError 上下文信息
- 合并格式化提交(仅缩进/换行调整)
This commit is contained in:
rbetree
2026-01-16 02:25:03 +08:00
parent 1a90f8fbe3
commit 89c1c0330b
31 changed files with 313 additions and 89 deletions

View File

@@ -44,7 +44,8 @@ async function main() {
logLevel: 'info',
});
const outputs = result && result.metafile && result.metafile.outputs ? result.metafile.outputs : null;
const outputs =
result && result.metafile && result.metafile.outputs ? result.metafile.outputs : null;
const outKey = outputs ? Object.keys(outputs).find((k) => k.endsWith('dist/script.js')) : '';
const bytes = outKey && outputs && outputs[outKey] ? outputs[outKey].bytes : 0;
if (bytes) {
@@ -53,10 +54,12 @@ async function main() {
console.log('✅ runtime bundle 完成dist/script.js');
}
} catch (error) {
console.error('❌ runtime bundle 失败(禁止回退旧产物):', error && error.message ? error.message : error);
console.error(
'❌ runtime bundle 失败(禁止回退旧产物):',
error && error.message ? error.message : error
);
process.exitCode = 1;
}
}
main();