From 0fe0683effe4c7390806a72c6aa7795445a67929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Barr=C3=A9?= Date: Fri, 18 Mar 2022 19:09:03 +0100 Subject: [PATCH] fix(utils): RuleTester: Only call afterAll if defined (#4656) * fix(utils): RuleTester: Only call afterAll if defined * Prettier --- packages/utils/src/eslint-utils/RuleTester.ts | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/utils/src/eslint-utils/RuleTester.ts b/packages/utils/src/eslint-utils/RuleTester.ts index f2af7a290fd..d0c0ada27bc 100644 --- a/packages/utils/src/eslint-utils/RuleTester.ts +++ b/packages/utils/src/eslint-utils/RuleTester.ts @@ -28,16 +28,18 @@ class RuleTester extends TSESLint.RuleTester { // make sure that the parser doesn't hold onto file handles between tests // on linux (i.e. our CI env), there can be very a limited number of watch handles available - afterAll(() => { - try { - // instead of creating a hard dependency, just use a soft require - // a bit weird, but if they're using this tooling, it'll be installed - // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access - require(parser).clearCaches(); - } catch { - // ignored - } - }); + if (typeof afterAll !== 'undefined') { + afterAll(() => { + try { + // instead of creating a hard dependency, just use a soft require + // a bit weird, but if they're using this tooling, it'll be installed + // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access + require(parser).clearCaches(); + } catch { + // ignored + } + }); + } } private getFilename(options?: TSESLint.ParserOptions): string { if (options) {