I would use EditorConfig (file ~/.editorconfig) and ESLint, but avoid Prettier.
TLDR
Stay away from prettier for HTML or other markup languages. It's a nightmare to read and maintain, and you loose so much readability of the overall structure just for the sake of increased readability of attributes that are irrelevant 99% of the time (imo). Also Prettier forces you to comply to their opinion instead of being able to use the format your team agrees on.
FULL EXPLANATION
Prettier is an opinionated code formatter and ensures consistency (which is a good thing), but it might go a bit too far.
Code-Style is opinionated and I strongly believe the best code-style is the style your team or organization agrees on. Just discuss it and give everyone a chance to be heard and you will have more happy developers. The problem with Prettier is that they bluntly force their opinion on you and give you no options to turn off the things that bother you. They are lacking configuration-options and they will probably never add them, since it's against their options philosophy of wanting to "stop all the ongoing debates over styles", which can only happen if every single developer accepts the same styling.
I personally don't think that this is even desirable. First, people are different and want to use different styling. Second, people use different languages and Prettier's opinion clearly works better on some (like Java/JavaScript) than others (like HTML).
Prettier could have solved all that with configurations and really be the one formatter everyone uses, but sadly (imo) instead of wanting to be the one formatter they want to be the one code style. I am not saying it's all bad, but their vision might not be for you. If you want the freedom to decide yourself how your code looks better use another formatter.
PROBLEMS WITH PRETTIER
Problem: removing mindfully set linebreaks
For me, the most annoying thing Prettier does is combining your lines, removing linebreaks you intentionally added for increased readability - let's say you always want Accessibility tags in a second line -> impossible to do with Prettier! If both lines combined fit within the "print-width" it will collapse them into a single line, no matter what you want!
Problem: format jumping
It's easy to lose track where you have been in the code. You are writing three lines of code, hit your auto-format hotkey and suddenly are completely lost, because the file got completely reformatted. This is somewhat true for all formatters, but no other is that intrusive and adds like 15 newlines for three lines of code (see next point)!
Problem: print-width
Prettier uses a "print-width" setting (see Prettier options) to make sure lines end somewhere around the same character. This will for example break up lines that are too long, which is something all code-formatters do. Prettier does it his own opinionated way. A short HTML div with two Angular directives, a few classes and some accessibility attributes:
<div *ngIf="ability?.length > 0 && ! loading" tabindex="0" myCustomDirective class="col-lg responsive-input-wrapper d-flex align-items-center" role="navigation" aria-label="Primary">
Now Prettier would format it to this:
<div
ngIf="ability?.length > 0 && ! loading"
tabindex="0"
myCustomDirective
class="col-lg responsive-input-wrapper d-flex align-items-center"
role="navigation"
aria-label="Primary"
>
That certainly for its own is more readable. Some points though: When editing HTML, you are rarely interested in all attributes. You usually will have a specific goal. Let's say you are styling something, and then you will scan the code for "class" attributes and are more interested in the overall structure.
The thing with Prettier is: With all those line breaks you can fit maybe like four elements on your screen! While for those four elements, every attribute for itself is highly readable, this comes at a great cost to the readability of the overall structure!
You will have to scroll a lot if you are interested in more than your four elements and that can be incredibly frustrating. For me, HTML (especially with their ridiculous recommended line length of just 80) formatted with prettier is insanely hard to read and comprehend.
Most other formatters would do it differently (or let you choose) and split the line only when necessary, so you have just two lines instead of eight. Everything would still be visible without horizontal scrolling (which I think we all agree is terrible and has to avoided). Even better: a sensible developer could think about what's important to read in what context and could come up with a solution where relating stuff is kept on a consistent line (e.g., Angular attributes and directives always on the first line, etc.)
This could look like so:
<div *ngIf="ability?.length > 0 && ! loading" myCustomDirective
class="col-lg responsive-input-wrapper d-flex align-items-center"
tabindex="0" role="navigation" aria-label="Primary">
This seems a good middle ground. You have only three lines and can still see much of the overall structure, but you have great readability of the attributes as well (especially with the split between Angular / Style / ARIA).
That's impossible with Prettier though, since it will collapse your intentional linebreaks (see problem 1) or write every single attribute on a new line, even when all three lines would fit within the print-width (Problem 3)
WHEN DOES IT MAKE SENSE TO USE PRETTIER
Only use Prettier if you have no better option. Let's say it is a very heterogeneous environment, like an open source project - People all over the world with different environments and IDEs working on the same thing. It's hard to explain and enforce more sensible code-styling in such environments. Prettier is a good solution for those cases, because you can't rely on IDE settings in this case and .editorconfig is a bit limited.
But for your typical work project with like five developers using similar IDEs and tooling, there are simply much better and more flexible choices, especially for formatting HTML. Editorconfig is a good starting point. Even better: if you all use the same tooling, you can just check in your project formatter and everyone's IDE will just use that. Some IDEs (e.g., IntelliJ IDEA and WebStorm) can import/export your formatter settings to other IDE formats as well.