Skip to content

Commit 8c39df4

Browse files
committed
fixup! [New] Components.detect tracks React imports
1 parent ab7dafa commit 8c39df4

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

lib/util/Components.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,8 @@ class Components {
189189
*
190190
* @returns {ASTNode} React default import node
191191
*/
192-
getDefaultReactImport() {
193-
return ReactImports.get(this).defaultReactImport;
192+
getDefaultReactImports() {
193+
return ReactImports.get(this).defaultReactImports;
194194
}
195195

196196
/**
@@ -211,7 +211,7 @@ class Components {
211211
addDefaultReactImport(specifier) {
212212
const info = ReactImports.get(this);
213213
ReactImports.set(this, Object.assign({}, info, {
214-
defaultReactImport: specifier,
214+
defaultReactImports: (info.defaultReactImports || []).concat(specifier),
215215
}));
216216
}
217217

tests/util/Component.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,14 @@ describe('Components', () => {
7777
testComponentsDetect({
7878
code: 'import React, { useCallback, useState } from \'react\'',
7979
}, (_context, components) => {
80-
const defaultReactImport = components.getDefaultReactImport();
81-
assert(defaultReactImport.local.name === 'React', 'default React import identifier should be "React"');
80+
assert.deepEqual(
81+
components.getDefaultReactImports().map((specifier) => specifier.local.name),
82+
['React'],
83+
'default React import identifier should be "React"'
84+
);
8285

83-
const namedReactImports = components.getNamedReactImports();
8486
assert.deepEqual(
85-
namedReactImports.map((specifier) => specifier.local.name),
87+
components.getNamedReactImports().map((specifier) => specifier.local.name),
8688
['useCallback', 'useState'],
8789
'named React import identifiers should be "useCallback" and "useState"'
8890
);

0 commit comments

Comments
 (0)