There's an eslint plugin for extracting JS from HTML, so you can catch issues even when using inline JS!
miniblog.
Related Posts
I'm still not sure whether a language should include a "kitchen sink linter" like Rust's clippy or have a package oriented "thousand flowers bloom" linter like eslint for JS and TS.
Clippy is delightful out of the box but eslint makes it so easy to have project specific lints.
I'm super impressed by how many lint rules can be implemented with just eslint's no-restricted-syntax and selectors. Example:
{
selector: "ExportNamedDeclaration[declaration=null][source=null]",
message: "Add `export` directly to the function instead of a block export."
}
Much has been said about JS fatigue, but the upside is that there's tons of creative experimentation.
For example, eslint has a whole range of different 3rd-party output formatters. You can try them all out, and you tend to converge on a good solution.