@yathomasi/cypress-parallel
Version:
[](https://github.com/yathomasi/cypress-parallel/actions/workflows/build.yml) [ || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
const fs_1 = __importDefault(require("fs"));
const mocha_1 = __importDefault(require("mocha"));
const assertions_1 = require("./lib/assertions");
const { EVENT_RUN_END, EVENT_SUITE_BEGIN } = mocha_1.default.Runner.constants;
module.exports = class KnapsackReporter {
constructor(runner, options) {
const stats = runner.stats;
const { reporterOptions } = options;
const { output } = reporterOptions ? reporterOptions : { output: null };
if (!output) {
throw (0, assertions_1.createError)("'output' must be configured for KnapsackReporter to work");
}
let spec;
runner
.on(EVENT_SUITE_BEGIN, (suite) => {
if (suite.root) {
spec = suite.file;
}
})
.once(EVENT_RUN_END, () => {
if (!spec) {
throw (0, assertions_1.createError)("'spec' hasn't been determined");
}
const { duration } = stats;
const content = fs_1.default.existsSync(output)
? JSON.parse(fs_1.default.readFileSync(output).toString())
: {};
fs_1.default.writeFileSync(output, JSON.stringify(Object.assign(Object.assign({}, content), { [spec]: duration }), null, 2));
});
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25hcHNhY2stcmVwb3J0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJrbmFwc2Fjay1yZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNENBQW9CO0FBRXBCLGtEQUEwQjtBQUUxQixpREFBK0M7QUFFL0MsTUFBTSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLGVBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0FBRXBFLGlCQUFTLE1BQU0sZ0JBQWdCO0lBQzdCLFlBQVksTUFBVyxFQUFFLE9BQVk7UUFDbkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzQixNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFeEUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBQSx3QkFBVyxFQUNmLDBEQUEwRCxDQUMzRCxDQUFDO1NBQ0g7UUFFRCxJQUFJLElBQVMsQ0FBQztRQUVkLE1BQU07YUFDSCxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNwQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ2QsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDbkI7UUFDSCxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE1BQU0sSUFBQSx3QkFBVyxFQUFDLCtCQUErQixDQUFDLENBQUM7YUFDcEQ7WUFFRCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO1lBRTNCLE1BQU0sT0FBTyxHQUFHLFlBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoRCxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRVAsWUFBRSxDQUFDLGFBQWEsQ0FDZCxNQUFNLEVBQ04sSUFBSSxDQUFDLFNBQVMsaUNBRVAsT0FBTyxLQUNWLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxLQUVsQixJQUFJLEVBQ0osQ0FBQyxDQUNGLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNGLENBQUMifQ==