The largest problems that arise from vanilla JS is that you’ll find yourself either creating solutions that don’t expand gracefully with scope creep, or creating generic enough solutions that you’re just reinventing react or other frameworks. Aside from the DOM parts, another important aspect of them is that they offer solutions to managing state in a consistent manner. I wouldn’t recommend a vanilla solution for anything you expect to work on for a long time or with a team.
ESlint, prettier, and typescript are similarly helpful for longevity. The set up cost is far smaller than a codebase that has preventable mistakes slipping through.
The largest problems that arise from vanilla JS is that you’ll find yourself either creating solutions that don’t expand gracefully with scope creep, or creating generic enough solutions that you’re just reinventing react or other frameworks. Aside from the DOM parts, another important aspect of them is that they offer solutions to managing state in a consistent manner. I wouldn’t recommend a vanilla solution for anything you expect to work on for a long time or with a team.
ESlint, prettier, and typescript are similarly helpful for longevity. The set up cost is far smaller than a codebase that has preventable mistakes slipping through.