import-js/eslint-plugin-import

[BUG] `no-unused-modules` doesn't support the export-default-from syntax

Open

#1938 aperta il 8 nov 2020

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)JavaScript (1540 fork)batch import
bughelp wanted

Metriche repository

Star
 (4946 star)
Metriche merge PR
 (Merge medio 138g 22h) (3 PR mergiate in 30 g)

Descrizione

When using the version 2.22.1, the syntax described in the ECMAScript Proposal export default from doesn't seem to be supported by the rule no-unused-modules:

// index.js
export Component from './Component';
$ eslint .
Oops! Something went wrong! :(

ESLint: 7.12.1

TypeError: Cannot read property 'name' of undefined
Occurred while linting /Users/me/project/src/components/index.js:2
    at /Users/me/project/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js:675:46
    at Array.forEach (<anonymous>)
    at /Users/me/project/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js:671:32
    at Array.forEach (<anonymous>)
    at updateImportUsage (/Users/me/project/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js:664:17)
    at Program:exit (/Users/me/project/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js:895:9)
    at /Users/me/project/node_modules/babel-eslint/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/Users/me/project/node_modules/babel-eslint/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/Users/me/project/node_modules/babel-eslint/node_modules/eslint/lib/linter/node-event-generator.js:254:26)

As a workaround, we could use this syntax to achieve the same goal:

// index.js
export { default as Component } from './Component';

Guida contributor