no-default-export.md 1.2 KB

import/no-default-export

Prohibit default exports. Mostly an inverse of prefer-default-export.

Rule Details

The following patterns are considered warnings:

// bad1.js

// There is a default export.
export const foo = 'foo';
const bar = 'bar';
export default 'bar';
// bad2.js

// There is a default export.
const foo = 'foo';
export { foo as default }

The following patterns are not warnings:

// good1.js

// There is only a single module export and it's a named export.
export const foo = 'foo';
// good2.js

// There is more than one named export in the module.
export const foo = 'foo';
export const bar = 'bar';
// good3.js

// There is more than one named export in the module
const foo = 'foo';
const bar = 'bar';
export { foo, bar }
// export-star.js

// Any batch export will disable this rule. The remote module is not inspected.
export * from './other-module'

When Not To Use It

If you don't care if default imports are used, or if you prefer default imports over named imports.