@dave1904 I typically use VSCode these days. Does what I want in the sense that it has decent syntax checking, plus a wealth of plugins etc. Its also cross platform so I can switch between windows and Linux easily.
If you are seeing [object Promise] in your output it could be due to a missing await or returning a promise instead of the html string. You didn't post the surrounding function this code is in or which plugin hook it is using so can't really tell what is causing it.