On 24.06.2015 02:01, Jan Kurik wrote:
= Proposed System Wide Change: jQuery =
https://fedoraproject.org/wiki/Changes/jQuery
Change owner(s): T.C. Hollingsworth <tchollingsworth at gmail dot
com>
jQuery is a fast, small, and feature-rich JavaScript library. It
makes things like HTML document traversal and manipulation, event
handling, animation, and Ajax much simpler with an easy-to-use API
that works across a multitude of browsers. With a combination of
versatility and extensibility, jQuery has changed the way that
millions of people write JavaScript.
Traditionally, a copy of jQuery has been included with every web
application that requires it. This change will migrate many of those
applications to a shared system copy of jQuery. Both the 1.x branch
of jQuery that supports Internet Explorer 6 and the 2.x branch of
jQuery that only works with modern web browsers will be provided.
I think that as described, this change will cause more harm than good.
As both an upstream and a packager of Cockpit I am against it in its
current form.
With significant extra work (such as CI) perhaps the change could be
less harmful, see below.
1. How will compatibility issues be handled? In the case of Cockpit,
jQuery forms part of our future plugin API guarantees.
The web application loses control of its dependencies, which normally
form a intimate part of the app. How much bandwidth do you have to
handle such bug reports?
2. Will Fedora have continuous integration running for all applications
it modifies in this way so it can detect breakage? Or should upstream
ignore bug reports from Fedora versions where their code has been
patched, with regards to jQuery?
3. Most modern web applications compress and bundle their resources. For
example in Cockpit, we:
* Gzip jQuery and all other javascript resources.
* Bundle them together with other resources and load them together
with other scripts in one HTTP response.
You'll find this going on throughout most applications that care about
load time or module loading.
4. Many web applications load jQuery from CDN (although not Cockpit,
since it can be used with a non-internet connected server). Do you plan
to patch these as well? If not, then why are these left out of the scope
of the change?
Stef