Nicholas C. Zakas started looking for a way to automatically detect incorrect patterns. He couldn’t get the idea of a linter with pluggable runtime rules out of his head. He had just spent a bunch of time learning about Esprima and abstract syntax trees (ASTs), and he thought to himself, “It can’t be all that hard to create a pluggable JavaScript linter using an AST.” It was from those initial tho