import jestEnvironmentNode from 'jest-environment-node'; export default class FailFastEnvironment extends jestEnvironmentNode.default { constructor(...rest) { super(...rest); this.failed = false; } async handleTestEvent(event, state) { switch (event.name) { case 'hook_failure': case 'test_fn_failure': this.failed = true; break; case 'test_start': if (this.failed) { event.test.mode = 'skip'; } break; default: } if (super.handleTestEvent !== undefined) { await super.handleTestEvent(event, state); } } }