diff --git a/src/rules/no-unused-modules.js b/src/rules/no-unused-modules.js index 60416d21cd..74611e6cc5 100644 --- a/src/rules/no-unused-modules.js +++ b/src/rules/no-unused-modules.js @@ -657,7 +657,7 @@ module.exports = { resolvedPath = resolve(astNode.source.raw.replace(/('|")/g, ''), context) astNode.specifiers.forEach(specifier => { let name - if (specifier.exported.name === DEFAULT) { + if (specifier.local.name === DEFAULT) { name = IMPORT_DEFAULT_SPECIFIER } else { name = specifier.local.name diff --git a/tests/files/no-unused-modules/renameDefault/Component.js b/tests/files/no-unused-modules/renameDefault/Component.js new file mode 100644 index 0000000000..c6be8faf00 --- /dev/null +++ b/tests/files/no-unused-modules/renameDefault/Component.js @@ -0,0 +1 @@ +export default function Component() {} diff --git a/tests/files/no-unused-modules/renameDefault/components.js b/tests/files/no-unused-modules/renameDefault/components.js new file mode 100644 index 0000000000..4a877cb1f8 --- /dev/null +++ b/tests/files/no-unused-modules/renameDefault/components.js @@ -0,0 +1 @@ +export { default as Component } from './Component' diff --git a/tests/files/no-unused-modules/renameDefault/usage.js b/tests/files/no-unused-modules/renameDefault/usage.js new file mode 100644 index 0000000000..6ee988988b --- /dev/null +++ b/tests/files/no-unused-modules/renameDefault/usage.js @@ -0,0 +1 @@ +import { Component } from './components' diff --git a/tests/src/rules/no-unused-modules.js b/tests/src/rules/no-unused-modules.js index d409e41ed7..10bdeae245 100644 --- a/tests/src/rules/no-unused-modules.js +++ b/tests/src/rules/no-unused-modules.js @@ -217,6 +217,19 @@ ruleTester.run('no-unused-modules', rule, { invalid: [], }) +// test for running in specific order with renaming default +ruleTester.run('no-unused-modules', rule, { + valid: [ + test({ options: unusedExportsOptions, + code: 'export { default as Component } from "./Component"', + filename: testFilePath('./no-unused-modules/renameDefault/components.js')}), + test({ options: unusedExportsOptions, + code: 'export default function Component() {}', + filename: testFilePath('./no-unused-modules/renameDefault/Component.js')}), + ], + invalid: [], +}) + // add named import for file with default export ruleTester.run('no-unused-modules', rule, { valid: [