fix(biome-lint): resolve critical and medium priority lint issues
CRITICAL FIXES: - Fix noAsyncPromiseExecutor in xcoba.ts and xcoba2.ts * Removed async promise executor pattern * Refactored to proper promise chain with .then()/.catch() * Added proper error handling for unhandled rejections - Fix useIterableCallbackReturn in seed_berita.ts * Replaced forEach with for...of loop to avoid returning values in callbacks MEDIUM FIXES: - Fix useNodejsImportProtocol (728 files auto-fixed) * Updated Node.js builtin imports to use node: protocol * Files: eslint.config.mjs, vitest.config.ts, zgen/image.ts, and 725+ more - Fix useOptionalChain in xcoba.ts (auto-fixed) * Changed 'resOut && resOut.body' to 'resOut?.body' - Fix noImportantStyles in dark-mode-table.css * Added biome-ignore suppression comments with justification * Required to override Mantine UI library styles - Fix noUselessContinue in find-port.ts (auto-fixed) * Removed unnecessary continue statement - Fix useLiteralKeys (700+ files auto-fixed) * Simplified computed expressions to use literal keys * Example: obj['create'] -> obj.create RESULTS: - Errors reduced: 4,516 → 3,521 (-22%) - Warnings reduced: 3,861 → 2,083 (-46%) - Total issues reduced: 8,991 → 6,115 (-32%) - 735 files auto-fixed by biome lint --fix Remaining issues (~6,115): - Mostly noExplicitAny warnings requiring manual refactoring - Will be addressed in gradual code quality improvements Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
55
xcoba2.ts
55
xcoba2.ts
@@ -11,7 +11,7 @@ async function proc(params?: {
|
||||
onStdio?: (chunk: string) => void;
|
||||
}) {
|
||||
const { env = {}, cmd, cwd = "./", timeout = 600000 } = params || {};
|
||||
return new Promise(async (resolve, reject) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!cmd || typeof cmd !== "string") {
|
||||
return reject(new Error("Invalid or missing command"));
|
||||
}
|
||||
@@ -43,33 +43,38 @@ async function proc(params?: {
|
||||
}, timeout);
|
||||
|
||||
// Read stdout and stderr as text
|
||||
const [stdout, stderr] = await Promise.all([
|
||||
Promise.all([
|
||||
readStream(child.stdout),
|
||||
child.stderr ? readStream(child.stderr) : undefined,
|
||||
]);
|
||||
child.stderr ? readStream(child.stderr) : Promise.resolve(""),
|
||||
])
|
||||
.then(([stdout, stderr]) => {
|
||||
// Handle stdout
|
||||
std.stdout = stdout;
|
||||
std.stdio += stdout;
|
||||
if (params?.onStdOut) {
|
||||
params.onStdOut(stdout.trim());
|
||||
}
|
||||
if (params?.onStdio) {
|
||||
params.onStdio(stdout.trim());
|
||||
}
|
||||
|
||||
// Handle stdout
|
||||
std.stdout = stdout;
|
||||
std.stdio += stdout;
|
||||
if (params?.onStdOut) {
|
||||
params.onStdOut(stdout.trim());
|
||||
}
|
||||
if (params?.onStdio) {
|
||||
params.onStdio(stdout.trim());
|
||||
}
|
||||
// Handle stderr
|
||||
std.stderr = stderr ?? "";
|
||||
std.stdio += stderr;
|
||||
if (params?.onStdErr) {
|
||||
params.onStdErr((stderr ?? "").trim());
|
||||
}
|
||||
if (params?.onStdio) {
|
||||
params.onStdio((stderr ?? "").trim());
|
||||
}
|
||||
|
||||
// Handle stderr
|
||||
std.stderr = stderr ?? "";
|
||||
std.stdio += stderr;
|
||||
if (params?.onStdErr) {
|
||||
params.onStdErr((stderr ?? "").trim());
|
||||
}
|
||||
if (params?.onStdio) {
|
||||
params.onStdio((stderr ?? "").trim());
|
||||
}
|
||||
|
||||
clearTimeout(timeOut);
|
||||
resolve(std);
|
||||
clearTimeout(timeOut);
|
||||
resolve(std);
|
||||
})
|
||||
.catch((err) => {
|
||||
clearTimeout(timeOut);
|
||||
reject(err);
|
||||
});
|
||||
} catch (err) {
|
||||
reject(err);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user