Skip to content
NewBun 1.4.5 is out. Release notes
AphrodyBun

Linter · Rules

no-sparse-arrays

Disallow array literals with holes

Two commas in a row leave a hole in the array. ["red",, "blue"] has a length of 3 and nothing at index 1. forEach, map and filter skip the hole, so the array behaves differently from one that holds undefined there. Most of the time the extra comma is a typo.

A trailing comma doesn't make a hole, so it isn't reported. Skipping an element in destructuring isn't reported either.

This rule is on by default.

Configure

On by default as an error. To turn it off:

bunfig.toml
[lint.rules]
"no-sparse-arrays" = "off" # or "warn"

Examples

Reported:

const colors = ["red",, "blue"];

Not reported:

const colors = ["red", "blue"];
const sizes = ["small", undefined, "large"];
const shapes = [
  "circle",
  "square",
];
const [, second] = colors;