From 4ac67c4c9401c5ce0e947a6409efbc11afe1eb3b Mon Sep 17 00:00:00 2001 From: Yuri Pieters Date: Thu, 17 Jun 2021 05:40:50 +0100 Subject: [PATCH] feat(experimental-utils): expose ReferenceTracker.ESM (#3532) Co-authored-by: Yuri Pieters --- .../src/ast-utils/eslint-utils/ReferenceTracker.ts | 4 ++++ packages/experimental-utils/typings/eslint-utils.d.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/packages/experimental-utils/src/ast-utils/eslint-utils/ReferenceTracker.ts b/packages/experimental-utils/src/ast-utils/eslint-utils/ReferenceTracker.ts index ee2ace3f762..40e5fa7c179 100644 --- a/packages/experimental-utils/src/ast-utils/eslint-utils/ReferenceTracker.ts +++ b/packages/experimental-utils/src/ast-utils/eslint-utils/ReferenceTracker.ts @@ -7,6 +7,7 @@ const ReferenceTrackerREAD: unique symbol = eslintUtils.ReferenceTracker.READ; const ReferenceTrackerCALL: unique symbol = eslintUtils.ReferenceTracker.CALL; const ReferenceTrackerCONSTRUCT: unique symbol = eslintUtils.ReferenceTracker.CONSTRUCT; +const ReferenceTrackerESM: unique symbol = eslintUtils.ReferenceTracker.ESM; interface ReferenceTracker { /** @@ -59,12 +60,14 @@ interface ReferenceTrackerStatic { readonly READ: typeof ReferenceTrackerREAD; readonly CALL: typeof ReferenceTrackerCALL; readonly CONSTRUCT: typeof ReferenceTrackerCONSTRUCT; + readonly ESM: typeof ReferenceTrackerESM; } namespace ReferenceTracker { export type READ = ReferenceTrackerStatic['READ']; export type CALL = ReferenceTrackerStatic['CALL']; export type CONSTRUCT = ReferenceTrackerStatic['CONSTRUCT']; + export type ESM = ReferenceTrackerStatic['ESM']; export type ReferenceType = READ | CALL | CONSTRUCT; // eslint-disable-next-line @typescript-eslint/no-explicit-any export type TraceMap = Record>; @@ -72,6 +75,7 @@ namespace ReferenceTracker { [ReferenceTrackerREAD]?: T; [ReferenceTrackerCALL]?: T; [ReferenceTrackerCONSTRUCT]?: T; + [ReferenceTrackerESM]?: true; [key: string]: TraceMapElement; } // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/experimental-utils/typings/eslint-utils.d.ts b/packages/experimental-utils/typings/eslint-utils.d.ts index f99a3e840db..5843e99466f 100644 --- a/packages/experimental-utils/typings/eslint-utils.d.ts +++ b/packages/experimental-utils/typings/eslint-utils.d.ts @@ -35,6 +35,7 @@ declare module 'eslint-utils' { readonly READ: never; readonly CALL: never; readonly CONSTRUCT: never; + readonly ESM: never; new (): never; }; }