diff --git a/rules/prefer-export-from.js b/rules/prefer-export-from.js index cbe47ae16d..028ff61281 100644 --- a/rules/prefer-export-from.js +++ b/rules/prefer-export-from.js @@ -230,7 +230,7 @@ function * getProblems({ ``` */ if (imported.name === '*' && exported.name === 'default') { - return; + continue; } yield { diff --git a/test/prefer-export-from.mjs b/test/prefer-export-from.mjs index 79adad3bb9..f9a552f3f1 100644 --- a/test/prefer-export-from.mjs +++ b/test/prefer-export-from.mjs @@ -264,20 +264,11 @@ test.snapshot({ export {named} from './foo.js?query'; export default defaultExport; `, - ], -}); - -// Strange case -// TODO: confirm how should this work -test.snapshot({ - valid: [ outdent` import * as namespace from 'foo'; export default namespace; export {namespace}; `, - ], - invalid: [ outdent` import * as namespace from 'foo'; export {namespace}; diff --git a/test/snapshots/prefer-export-from.mjs.md b/test/snapshots/prefer-export-from.mjs.md index 19a478d4f4..af4c102aae 100644 --- a/test/snapshots/prefer-export-from.mjs.md +++ b/test/snapshots/prefer-export-from.mjs.md @@ -440,11 +440,12 @@ Generated by [AVA](https://avajs.dev). 2 | namespace.bar = 1;␊ 3 |␊ 4 | export {namespace as default};␊ - 5 | export const variable = namespace;␊ + 5 |␊ 6 | export * as named from 'foo';␊ + 7 | export * as variable from 'foo';␊ ` -> Error 1/1 +> Error 1/2 `␊ 1 | import * as namespace from 'foo';␊ @@ -455,6 +456,17 @@ Generated by [AVA](https://avajs.dev). 5 | export const variable = namespace;␊ ` +> Error 2/2 + + `␊ + 1 | import * as namespace from 'foo';␊ + 2 | namespace.bar = 1;␊ + 3 | export {namespace as named};␊ + 4 | export {namespace as default};␊ + > 5 | export const variable = namespace;␊ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use \`export…from\` to re-export \`variable\`.␊ + ` + ## Invalid #20 1 | import {named1, named2} from 'foo'; 2 | export {named1}; @@ -1024,7 +1036,30 @@ Generated by [AVA](https://avajs.dev). | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use \`export…from\` to re-export \`default\`.␊ ` -## Invalid #1 +## Invalid #43 + 1 | import * as namespace from 'foo'; + 2 | export default namespace; + 3 | export {namespace}; + +> Output + + `␊ + 1 | import * as namespace from 'foo';␊ + 2 | export default namespace;␊ + 3 |␊ + 4 | export * as namespace from 'foo';␊ + ` + +> Error 1/1 + + `␊ + 1 | import * as namespace from 'foo';␊ + 2 | export default namespace;␊ + > 3 | export {namespace};␊ + | ^^^^^^^^^ Use \`export…from\` to re-export \`namespace\`.␊ + ` + +## Invalid #44 1 | import * as namespace from 'foo'; 2 | export {namespace}; 3 | export default namespace; diff --git a/test/snapshots/prefer-export-from.mjs.snap b/test/snapshots/prefer-export-from.mjs.snap index 2b105207bb..61201efcd9 100644 Binary files a/test/snapshots/prefer-export-from.mjs.snap and b/test/snapshots/prefer-export-from.mjs.snap differ