Skip to content
NewBun 1.4.5 is out. Release notes
AphrodyBun

Linter · Rules

max-classes-per-file

Enforce a maximum number of classes per file

When a file holds several classes, its name can only describe one of them, and the others are hard to find.

Class declarations and class expressions both count. The default maximum is 1.

Configure

Off by default. To turn it on:

bunfig.toml
[lint.rules]
"max-classes-per-file" = "error" # or "warn"

Every option, set to its default:

bunfig.toml
[lint.rules]
"max-classes-per-file" = ["error", {
  max = 1,
  ignoreExpressions = false,
}]

Examples

Reported:

class User {}

class Session {}

Not reported:

class User {}

Options

bunfig.toml
[lint.rules]
max-classes-per-file = ["error", { max = 2, ignoreExpressions = true }]

The option is either a number (the maximum) or an object:

OptionDefaultWhat it does
max1The number of classes a file can have.
ignoreExpressionsfalseDon't count class expressions.
class User {}

class Session {}
class User {}

class Session {}

class Token {}

ignoreExpressions

class User {}

const Guest = class extends User {};
class User {}

const Guest = class extends User {};