From ac91fa3c2aaa64149be339ac4c1cd205514ecb4a Mon Sep 17 00:00:00 2001 From: Pekka Sinkkonen Date: Sat, 28 Jan 2023 21:07:16 +0200 Subject: [PATCH 1/2] Refactor sarifReportFinder.ts to use promises when reading a directory --- src/sarif/SarifReportFinder.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/sarif/SarifReportFinder.ts b/src/sarif/SarifReportFinder.ts index 7763a9f..d9647d2 100644 --- a/src/sarif/SarifReportFinder.ts +++ b/src/sarif/SarifReportFinder.ts @@ -28,16 +28,14 @@ export default class SarifReportFinder { if (fs.lstatSync(dir).isDirectory()) { console.log(` is a directory, looking for files`); - const files = fs.readdirSync(dir) // TODO use promises here - .filter(f => f.endsWith('.sarif')) - .map(f => path.resolve(dir, f)); - - console.log(` SARIF files detected: ${JSON.stringify(files)}`); - if (files) { - files.forEach(f => { - promises.push(loadFileContents(f)); - }); - } + fs.promises.readdir(dir) + .then(files => { + files + .filter(f => f.endsWith('.sarif')) + .map(f => path.resolve(dir, f)); + console.log(` SARIF files detected: ${JSON.stringify(files)}`) + files.forEach(f => promises.push(loadFileContents(f))); + }) } if (promises.length > 0) { From 1aeb5ae11bfc73db76e9f02659c4089963e2ae91 Mon Sep 17 00:00:00 2001 From: Pekka Sinkkonen Date: Sat, 28 Jan 2023 21:20:39 +0200 Subject: [PATCH 2/2] Fix bug where sarif file paths aren't resolved at the time of logging --- src/sarif/SarifReportFinder.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sarif/SarifReportFinder.ts b/src/sarif/SarifReportFinder.ts index d9647d2..b3908b7 100644 --- a/src/sarif/SarifReportFinder.ts +++ b/src/sarif/SarifReportFinder.ts @@ -30,11 +30,11 @@ export default class SarifReportFinder { fs.promises.readdir(dir) .then(files => { - files + const sarifFiles = files .filter(f => f.endsWith('.sarif')) .map(f => path.resolve(dir, f)); - console.log(` SARIF files detected: ${JSON.stringify(files)}`) - files.forEach(f => promises.push(loadFileContents(f))); + console.log(` SARIF files detected: ${JSON.stringify(sarifFiles)}`) + sarifFiles.forEach(f => promises.push(loadFileContents(f))); }) }