export-default-identifier
An eslint plugin that only allows export default
to export specific types of expressions.
By default, only allows Identifier
expressions, i.e. named variables. Excludes all anonymous classes, functions, and objects. This was originally created for use with TypeDoc, which does not generate proper JSDOC documentation for anonymous export defaults.
NOTE: Equivalent to import/no-anonymous-default-export
:
"import/no-anonymous-default-export": ["error", {
"allowArray": false,
"allowArrowFunction": false,
"allowAnonymousClass": false,
"allowAnonymousFunction": false,
"allowCallExpression": false,
"allowLiteral": false,
"allowObject": false
}]
Install
npm install --save-dev export-default-identifier
Usage
Add to your .eslintrc.json
:
{
"plugins": [
"export-default-identifier",
],
...
"rules": {
"export-default-identifier/export-default-identifier": "error"
}
}
Specify exactly which types can be exported as default:
"export-default-identifier/export-default-identifier": ["error", {
"types": ["Identifier"]
}]
Rule details
export default {}
export default function test() {}
const myExport = {}
export default myExport
[{"types":["Identifier","FunctionDeclaration"]}]
options:
export default {}
[{"types":["Identifier","FunctionDeclaration"]}]
options:
const myExport = {}
export default myExport
export default function test() {}