From f8cb3c2923c2d4244c9e10b31ec708f98460f3aa Mon Sep 17 00:00:00 2001 From: luojiyin Date: Tue, 11 Aug 2026 23:53:05 +0800 Subject: [PATCH] fix: await validator file operations Fixes uBlockOrigin/uAssets#34061. --- tools/validate/validate.js | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/tools/validate/validate.js b/tools/validate/validate.js index ce448f859d4..966ced6b3ce 100644 --- a/tools/validate/validate.js +++ b/tools/validate/validate.js @@ -80,11 +80,8 @@ const jsonSetMapReplacer = (k, v) => { const writeFile = async (fname, data) => { const dir = path.dirname(fname); await fs.mkdir(dir, { recursive: true }); - const promise = fs.writeFile(fname, data); - writeOps.push(promise); - return promise; + await fs.writeFile(fname, data); }; -const writeOps = []; /******************************************************************************/ @@ -281,7 +278,7 @@ async function processList(parser, text, lineto, fpath) { badHostnames.forEach(v => { log(`${lineno} ${v}`); }); - writeFile(fpath, stdOutput.join('\n')); + await writeFile(fpath, stdOutput.join('\n')); } } toProgressString(0); @@ -308,12 +305,12 @@ async function main() { const text = await fs.readFile(infile, { encoding: 'utf8' }); await processList(parser, text, lineto, partialResultPath); - writeFile(`${outdir}/${infileParts.name}.results.txt`, stdOutput.join('\n')); - writeFile(`${outdir}/${infileParts.name}.dns.results.txt`, JSON.stringify(validatedHostnames, jsonSetMapReplacer, 1)); + await Promise.all([ + writeFile(`${outdir}/${infileParts.name}.results.txt`, stdOutput.join('\n')), + writeFile(`${outdir}/${infileParts.name}.dns.results.txt`, JSON.stringify(validatedHostnames, jsonSetMapReplacer, 1)), + ]); - fs.rm(partialResultPath); - - await Promise.all(writeOps); + await fs.rm(partialResultPath, { force: true }); } main();