No it doesn't, same as "automobile" doesn't seem pretty Saturn-5, despite the fact that both are moving under their own power.
Terms have meaning, including meaning derived from communities by and large accepting that a certain term has a certain semantic meaning. And the accepted semantic meaning of "Vanilla Javascript" is "runs without a framework besides the browsers own API".
If my code works out of the box in an unmodified browser, then it is Vanilla JS. If I have to load a framework for it to work, then it isn't, period. And it matters exactly nothing whether the framework in question has 900,000 or 9 lines of code.
Trying to make Vanilla JS a strict definition seems pointless to me in the first place.
I think we don't have to argue about the distinction between the library code and the application code. It doesn't matter how the library is loaded. You can get it from a CDN at runtime, load it from a scriptbundle, copypaste it into a <script> tag, it doesn't matter.
It's still library code that the rest of the application depends on. As soon as that is the case, it's no longer what the JS community by and large calls "Vanilla JS".
This is Vanilla JS:
fetch('/readme.txt')
.then(response => response.text())
.then(data => console.log(data))
.catch(error => console.log(error))
This isn't: awesomeLib().goesBrrrrr()
> Trying to make Vanilla JS a strict definition seems pointless to me in the first place.Being able to name things, and having clarity in a community about what names denote, is anything but pointless.
Minor nitpick, third party library and framework does not modify your browser. They all still run on unmodified browsers.
It's still not part of the common browser API, so yes it's easy to add, but no, it's not vanilla.
> it's not vanilla.
Hate to interrupt, but vanilla is a flavor. And it's a pretty good one, dammit!
"Vanilla JavaScript" implies "without anything added".
It's 3KB of barely documented code.
Does it seem vanilla compared to vanilla? Haha..