JavaScript / TypeScript are famously free-form, but a number of styles (and style-enforcing tools) have emerged.
“Prettier” is the most recent. It actually parses your code into an AST and then re-prints it according to its style.
“ESLint” is the most widespread; it is more of a framework into which rules can be plugged.
I use “XO”, which is essentially a custom eslint ruleset with a few other nice things tacked on.
The best part of eslint/xo is the “—fix” command, which can auto-fix most mistakes.