From 8c39df411496a879bd2c73638a7df168b65f83c1 Mon Sep 17 00:00:00 2001 From: Duncan Beevers Date: Sun, 28 Nov 2021 12:51:22 -0800 Subject: [PATCH] fixup! [New] Components.detect tracks React imports --- lib/util/Components.js | 6 +++--- tests/util/Component.js | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/util/Components.js b/lib/util/Components.js index 420cecc7b5..c0621b645c 100644 --- a/lib/util/Components.js +++ b/lib/util/Components.js @@ -189,8 +189,8 @@ class Components { * * @returns {ASTNode} React default import node */ - getDefaultReactImport() { - return ReactImports.get(this).defaultReactImport; + getDefaultReactImports() { + return ReactImports.get(this).defaultReactImports; } /** @@ -211,7 +211,7 @@ class Components { addDefaultReactImport(specifier) { const info = ReactImports.get(this); ReactImports.set(this, Object.assign({}, info, { - defaultReactImport: specifier, + defaultReactImports: (info.defaultReactImports || []).concat(specifier), })); } diff --git a/tests/util/Component.js b/tests/util/Component.js index 986dc321c8..430e5f0365 100644 --- a/tests/util/Component.js +++ b/tests/util/Component.js @@ -77,12 +77,14 @@ describe('Components', () => { testComponentsDetect({ code: 'import React, { useCallback, useState } from \'react\'', }, (_context, components) => { - const defaultReactImport = components.getDefaultReactImport(); - assert(defaultReactImport.local.name === 'React', 'default React import identifier should be "React"'); + assert.deepEqual( + components.getDefaultReactImports().map((specifier) => specifier.local.name), + ['React'], + 'default React import identifier should be "React"' + ); - const namedReactImports = components.getNamedReactImports(); assert.deepEqual( - namedReactImports.map((specifier) => specifier.local.name), + components.getNamedReactImports().map((specifier) => specifier.local.name), ['useCallback', 'useState'], 'named React import identifiers should be "useCallback" and "useState"' );