Serious question, at what point do you call something no longer “vanilla”? The point when any lib is included?
Helper libraries are great. I use them all the time! Small helper functions and plugins are even better.
For example, Bliss.js, while lightweight, extends vanilla JS with the $ object and chained functions. If you build a site with it, removing it means removing the entire codebase.
Contrast that with helper functions like ready.js or extend.js. Yes, you have to modify any scripts that use those. But you don’t have to rewrite every selector and function.
To me, the danger zone is when you start trying to make vanilla JS more like jQuery. It starts with $. Then chaining. Suddenly, you’re basically recreating jQuery (which is itself written in vanilla JS).