-
Notifications
You must be signed in to change notification settings - Fork 43
Remove the jQuery dependency #100
Comments
Moving to a more agnostic library was always the plan, and I think we have made the first big step in decoupling the core and component code from the plugin wrapper. Another request was to make quail play well with cheerio, where again the differences are minor but a few things need to be tweaked to make it work. |
I just did an audit of all the jQuery-specific code, and beside simple selector/transversal and |
So, what happened with this? It doesn't appear to have been excised from the project dependencies. |
@srounce In fact it wasn't removed, I'll reopen this issue to continue discussion. @fredck As for selector engine, don't really even need to use Sizzle here. Ideally we would like to use Element.querySelectorAll. To sum current arguments and add few more:
|
From our call on July 23rd, 2015: We'll take a phased approach to removing jQuery.
|
Ok, I think we can finally achieve this in the master branch. |
jQuery is out. I've put a build process in place that runs the code through Babel for transpiling. |
Steps to complete this issue
Replace jQuery whole-cloth with smaller, focused
Description
Being QUAIL a generic js library, wouldn’t it be better to remove the jQuery dependency out of it?
jQuery is a 93KB file and in fact QUAIL is using just a small part of it. Actually, the most use for it is the CSS selector stuff and a few tools, like each().
There are several CSS selectors libs out. Sizzle is the most obvious option, but there are even more compact solutions. In fact, QUAIL is not using ultra-complex selectors and eventually a simpler lib would do the job as well. Still Sizzle would be better with 1/5 of jQuery's size.
As for the tools, that’s just js programming style. Still, if some tools are needed, it is enough to decouple the small bits of source code from jQuery or any other js lib out there, having only the stuff that is really needed.
As for jQuery, it would still be possible to the make QUAIL a plugin for it. This would add just a few bits of code to QUAIL.
Anyway, I’m actually just opening a discussion here, to check if it makes any sense investigating it further. Thanks!
The text was updated successfully, but these errors were encountered: