oxc-project/oxc · error · OxcDiagnostic
Unexpected default export of anonymous class
Error message
Unexpected default export of anonymous class
What it means
Fires from import/no-anonymous-default-export when the default export is a class declaration with no name and allowAnonymousClass is false. Emitted from the ClassDeclaration match arm in run, labeling the export span.
Source
Thrown at crates/oxc_linter/src/rules/import/no_anonymous_default_export.rs:149
fn run<'a>(&self, node: &AstNode<'a>, ctx: &LintContext<'a>) {
let AstKind::ExportDefaultDeclaration(export_decl) = node.kind() else {
return;
};
match &export_decl.declaration {
ExportDefaultDeclarationKind::FunctionDeclaration(func_decl)
if !self.allow_anonymous_function && func_decl.id.is_none() =>
{
ctx.diagnostic(no_anonymous_default_export_diagnostic(
export_decl.span,
"Unexpected default export of anonymous function",
));
}
ExportDefaultDeclarationKind::ClassDeclaration(class_decl)
if !self.allow_anonymous_class && class_decl.id.is_none() =>
{
ctx.diagnostic(no_anonymous_default_export_diagnostic(
export_decl.span,
"Unexpected default export of anonymous class",
));
}
ExportDefaultDeclarationKind::ArrowFunctionExpression(_)
if !self.allow_arrow_function =>
{
ctx.diagnostic(no_anonymous_default_export_diagnostic(
export_decl.span,
"Assign arrow function to a variable before exporting as module default",
));
}
ExportDefaultDeclarationKind::ObjectExpression(_) if !self.allow_object => {
ctx.diagnostic(no_anonymous_default_export_diagnostic(
export_decl.span,
"Assign object to a variable before exporting as module default",
));
}
ExportDefaultDeclarationKind::CallExpression(_) if !self.allow_call_expression => {
ctx.diagnostic(no_anonymous_default_export_diagnostic(View on GitHub (pinned to e1e7af627c)
Solutions
- Name the class before default-exporting it: `export default class MyComponent {}`
- Enable `allowAnonymousClass` if anonymous classes are acceptable
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/oxc_linter/src/rules/import/no_anonymous_default_export.rs:149 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of oxc-project/oxc@e1e7af627c (2026-08-20).
Data as JSON: /api/errors/000015630f7d1e99.
Report an issue: GitHub.