Avoid relying on jQuery patches. Instead:
* use `CSS.escape` instead of `jQuery.escapeSelector`
* use `.filter()` with a proper handler instead of `.even()`
Keep `jquery-patch.js` for backwards compatibility, though.
Also, add tests for jquery-patch.
Ref gh-2249
Past npm versions required the `--save` flag to save anything in `package.json`
when installing packages but newer ones do this by default. Pass `--no-save` to
restore the original behavior in the `release-test.js` script.
Ref gh-1966
jQuery UI 1.12.1 was released using an outdated (at the time of its release)
version of the download.jqueryui.com package; the latest ones wouldn't generate
relevant JS files.
This commit accounts for the changes so that the latest version can be used.
Closes gh-1965
Summary of the changes:
* Build: Add jQuery 3.2.0-3.4.1 to versions UI can be tested against
* Build: Load jQuery & Migrate via HTTPS
* Build: Add package-lock.json to .gitignore
* Build: Update jQuery Migrate from 3.0.0 to 3.1.0
* Build: Allow to run tests against jQuery 3.x-git
* Build: Fix formatting according to JSCS rules
* Build: Disable JSCS for the inlined jQuery Color
* All: Switch from $.isArray to Array.isArray (jQuery.isArray will be
removed in jQuery 4.0)
* All: Switch from `$.isFunction( x )` to `typeof x === "function"`
(jQuery.isFunction will be removed in jQuery 4.0)
* All: Inline jQuery.isWindow as it'll be removed in jQuery 4.0
* Effects: Fix a timing issue in a variable declaration. Previously,
a jQuery object was created, chained & assigned to a variable that
was then accessed in a callback used inside of this chained
definition. Due to a timing difference in when the callback fired for
the first time in latest jQuery master, it was being called before
the variable was defined.
* Tests: Make dialog & draggable unit tests less strict (newest jQuery
returns fractional results in some cases, making comparisons fail when
there's a tiny difference)
* All: Migrate from $.trim to bare String.prototype.trim (jQuery.trim
will be deprecated in jQuery 3.5)
Closes gh-1901
jQuery 2.0.3 fixed very few things from 2.0.2, the list is here:
http://blog.jquery.com/2013/07/03/jquery-1-10-2-and-2-0-3-released/
One of the fixes was http://bugs.jquery.com/ticket/13980, though which was
about cross-domain iframe issues. The problem is TestSwarm loads a cross-domain
iframe: the main page is swarm.jquery.org, the frame is on
builds.jenkins.jquery.com so it might be causing issues. You can see jQuery UI
tests are timing out in all IE versions in jQuery 2.0.2:
http://swarm.jquery.org/job/2918
The problem is that it doesn't just fail, it starves the available IE pool,
making it sometimes harder for other projects to get their tests run on IE.
That's why tests with jQuery 2.0.2 on TestSwarm need to be removed as it's been
done with 1.10.1.
Refs #12745
Refs c2224bf5dc
Refs gh-1706
Closes gh-1707
It's already in jQuery's Jenkins node-testswarm config
(and set to the same value) but not used yet.
Reference it to make sure it keeps working in the future.
Closes gh-1452