securityos/node_modules/eslint-plugin-import/docs/rules/export.md

38 lines
998 B
Markdown
Raw Normal View History

2024-09-06 15:32:35 +00:00
# import/export
💼 This rule is enabled in the following configs: ❗ `errors`, ☑️ `recommended`.
<!-- end auto-generated rule header -->
Reports funny business with exports, like repeated exports of names or defaults.
## Rule Details
```js
export default class MyClass { /*...*/ } // Multiple default exports.
function makeClass() { return new MyClass(...arguments) }
export default makeClass // Multiple default exports.
```
or
```js
export const foo = function () { /*...*/ } // Multiple exports of name 'foo'.
function bar() { /*...*/ }
export { bar as foo } // Multiple exports of name 'foo'.
```
In the case of named/default re-export, all `n` re-exports will be reported,
as at least `n-1` of them are clearly mistakes, but it is not clear which one
(if any) is intended. Could be the result of copy/paste, code duplication with
intent to rename, etc.
## Further Reading
- Lee Byron's [ES7] export proposal
[ES7]: https://github.com/leebyron/ecmascript-more-export-from