Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import * as glob from "glob"; import * as path from "path"; import * as fs from "fs-extra"; export const globTestIds = ({ idsLocation, output }: { idsLocation: string; output: string; }): void => { try { const allIds = glob .sync(path.join(process.cwd(), idsLocation)) .map(filename => ({ filename, file: fs.readFileSync(filename, "utf8") })) .map(({ filename, file }) => ({ filename, file: JSON.parse(file) as string[] })) .reduce((ids, { filename, file }) => { file.forEach(testId => { if (testId in ids) { throw new Error( `Duplicate test id ${testId} in ${filename}` ); } ids[testId] = testId; }); return ids; }, {} as Record<string, string>); fs.mkdirpSync(path.dirname(output)); const outFile = path.join(process.cwd(), output); fs.writeFileSync(outFile, JSON.stringify(allIds, null, 2)); console.log( `${Object.keys(allIds).length} test ids written to ${outFile}` ); process.exit(0); } catch (e) { console.error(e); process.exit(1); } }; |