> As programmers build up applications up from lots of tiny components, if every component included a vendored jquery version, the total javascript size quickly baloons into multi-megabytes. When the jquery version gets pegged, version incompatibilities arise that likewise create redundancy issues. When the jquery version is left to float or its use is demanded externally in the documentation, this also does not scale well and makes it cumbersome and error-prone to use tiny pieces.<p>jQuery has a stable API, a clear migration path and a working compatibility layer.
jQuery is well documented and well known, if you have an issue you can get help easily.<p>I don't think the above are true for most small NPM modules.<p>The author blames jQuery for a deficiency of the NPM: If you have module A and B, which include the same version of module C, then C gets loaded twice.
Not all useful modules can fit into a few kilobytes.<p>People are pretty quick to jump on the jQuery-hate bandwagon, the reality is: it's still a great tool for building amazing applications.