may I ask what's the point of `const tagNames =`? removing it would make no difference, as far as I can tell - just make sure the previous line ends with a semicolon (or add it at the same line as the opening square bracket)
That's a reason to never use this imo.
There are plenty of other jquery-lite helper libraries out there. 95 percent the utility with hardly any cost in terms of script size.
Converting querySelectorAll to an array is honestly most of the benefit of these libraries.
Now that NodeList is iterable, I don't even know that converting to an array is that useful anymore.
[...document.querySelector('div')] is pretty easy.
Iterator.from(document.querySelector('div')) too (doesn't work yet in Safari).