Commit Graph

248 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
d7e64190ef
Build: Remove the external directory, read from node_modules directly
Now that Sizzle is gone & we use npm, we can read from node_modules directly
and skip the setup that copies some files to the external directory.

Closes gh-4466
2019-08-26 18:53:54 +02:00
Michał Gołębiowski-Owczarek
47835965bd Selector: Inline Sizzle into the selector module
This commit removes Sizzle from jQuery, inlining its code & removing obsolete
workarounds where applicable.

The selector-native module has been removed. Further work on the selector
module may decrease the size enough that it will no longer be necessary. If
it turns out it's still useful, we'll reinstate it but the code will look
different anyway as we'll want to share as much code as possible with
the existing selector module.

The Sizzle AUTHORS.txt file has been merged with the jQuery one - people are
sorted by their first contributions to either of the two repositories.

The commit reduces the gzipped jQuery size by 1460 bytes compared to master.

Closes gh-4395
2019-07-29 21:19:21 +02:00
Michał Gołębiowski-Owczarek
438b1a3e8a
Build: ESLint: forbid unused function parameters
This commit requires all function parameters to be used, not just the last one.
In cases where that's not possible as we need to match an external API, there's
an escape hatch of prefixing an unused argument with `_`.

This change makes it easier to catch unused AMD dependencies and unused
parameters in internal functions the API of which we may change at will, among
other things.

Unused AMD dependencies have been removed as part of this commit.

Closes gh-4381
2019-05-13 22:25:11 +02:00
Michał Gołębiowski-Owczarek
0b2c36adb4
Build: Update Sizzle from 2.3.3 to 2.3.4
Fixes gh-1756
Fixes gh-4170
Fixes gh-4249
Closes gh-4345
2019-04-09 09:50:45 +02:00
Michał Gołębiowski-Owczarek
c4f2fa2fb3 Build: Update the master version to 4.0.0-pre 2019-04-08 18:21:36 +02:00
Michał Gołębiowski-Owczarek
2e4b79ab8f
Tests: Fix the core-js polyfill inclusion method
core-js 3 no longer includes a built file in the bundle but core-js-bundle
does.

Closes gh-4342
Ref gh-4341
2019-04-04 23:45:57 +02:00
Michał Gołębiowski-Owczarek
fea7a2a328
Build: Update Sinon from 2.3.7 to 7.3.1, other updates
Closes gh-4341
2019-04-04 16:53:38 +02:00
Michał Gołębiowski-Owczarek
0ec25abba2
Build: Run the basic test suite in jsdom
The basic test suite is now run in jsdom on all supported Node.js versions
(8, 10 & 11 as of now).

Closes gh-4310
2019-03-11 20:03:54 +01:00
Michał Gołębiowski-Owczarek
6ced2639b5
Build: Update QUnit from 1.23.1 to 2.9.2
Closes gh-4307
2019-03-04 20:10:21 +01:00
Michał Gołębiowski-Owczarek
9cb124ed00
Build: Update jsdom; migrate a test with Symbol polyfill to an iframe test
So far, we've been testing that jQuery element iteration works with polyfilled
Symbol & transpiled for-of via a Node test with jsdom with the Symbol global
removed. Unfortunately, jsdom now requires Symbol to be present for its internal
functionality so such a test is no longer possible. Instead, it's been migrated
to an iframe test with transpiled JavaScript.

This PR also enables us to use ECMAScript 2017 or newer in Node.js code.

Closes gh-4305
2019-03-04 18:30:51 +01:00
abnud1
8751e9ef86 Build: Update most dependencies
The only packages not fully updated are:
- qunitjs & karma-qunit as that's a QUnit 2.x update that will require some
changes and we'll do that later
- jsdom as we need to first rewrite the test with the Symbol polyfill - newer
jsdom versions don't work with such a hacked Symbol instance
- sinon as the v2 -> v7 upgrade requires to update our unit tests
- uglify-js & grunt-contrib-uglify as latest uglify-js versions slightly worsen
the minified gzipped size

Closes gh-4227
Closes gh-4228
Closes gh-4230
Closes gh-4232
2019-02-19 13:05:09 +01:00
Timmy Willison
13d0be101f
Tests: add IE launcher for debugging IE11 on Windows 2018-11-27 14:28:57 -05:00
Timmy Willison
4f3b8f0d0b
Update node dependencies (sans jsdom, qunit, and sinon)
Close gh-4098
2018-06-20 12:06:45 -04:00
Oleg Gaydarenko
09684ba3f2 Build: Seasonal update of uglify and its options
raw     gz Compared to last run
 =      = dist/jquery.js
-294    -88 dist/jquery.min.js

Closes gh-3994
2018-03-05 20:53:57 +03:00
Timmy Willison
294a369881
Build: Updating the master version to 3.3.2-pre. 2018-01-20 12:27:15 -05:00
Timmy Willison
f2349aee9b
Build: Updating the master version to 3.3.1-pre. 2018-01-19 14:03:56 -05:00
Timmy Willison
9a7cc801f5
Release: update version to 3.3.0-pre 2018-01-19 11:34:51 -05:00
Timmy Willison
c9efd11f47
Build: Fix UglifyJS output in Android 4.0; update uglify
- Thanks to @mgol for first pass

Fixes gh-3743
Close gh-3920
2018-01-08 11:48:24 -05:00
Michał Gołębiowski-Owczarek
3c0f2cfb05
Build: Only run browser tests in one Node version on Travis
Ref gh-3744
Closes gh-3894
2018-01-03 09:41:46 +01:00
Timo Tijhof
ecd8ddea33
Tests: Add support for running unit tests via grunt with karma
- Update QUnit to 1.23.1
- Remove unused dl#dl from test/index.html
- Remove unused map#imgmap from test/index.html
- Ensure all urls to data use baseURI
- Add the 'grunt karma:main' task
  - customContextFile & customDebugFile
- Add 'npm run jenkins' script

Close gh-3744
Fixes gh-1999
2017-12-18 12:27:38 -05:00
Michał Gołębiowski-Owczarek
781647b182 Build: Drop cross-spawn, use child_process.spawn shell option 2017-09-25 19:27:50 +02:00
Henry Zhu
90bac40a51 Build: Update to Babel 7, use for-of plugin instead of preset-es2015
Closes gh-3786
2017-09-25 19:02:19 +02:00
Timmy Willison
0bf499ca24
Build: fix uglify options for uglify update
- Uses new typeofs option for compression
- See https://github.com/mishoo/UglifyJS2/issues/2198

Close gh-3710
2017-07-10 11:52:44 -04:00
Timmy Willison
ef40dbbc4d
Build: Update sinon, husky, and qunitjs 2017-07-10 11:50:21 -04:00
CDAGaming
31783e60f5
Build: update node dependencies; commit package-lock.json
- Also ignore yarn.lock
Close gh-3669
2017-06-26 11:04:51 -04:00
Timmy Willison
febb441eb9
Build: Updating the master version to 3.2.2-pre. 2017-03-20 15:02:16 -04:00
Timmy Willison
f3bad5ba7d
Revert "Build: Updating the master version to 3.2.2-pre."
This reverts commit 066bd8681c.
2017-03-20 13:43:25 -04:00
Timmy Willison
066bd8681c
Build: Updating the master version to 3.2.2-pre. 2017-03-20 13:18:35 -04:00
Timmy Willison
a31111bdb4
Build: Updating the master version to 3.2.1-pre. 2017-03-16 17:30:59 -04:00
Timmy Willison
a7cf2f6944
Release: update version to 3.2.0-pre 2017-03-15 15:48:18 -04:00
Alexander Lisianoi
25c6a0a238 Build: fix markerPattern and ticketPattern regexes in package.json
Commit messages used to fail the style check if they contained a word
starting with "ref", like reformat or reference, in their message body.

Close gh-3437
Ref jzaefferer/commitplease#91
2017-01-09 11:45:30 -05:00
Timmy Willison
7fbab88110
Build: jQuery Foundation -> JS Foundation
Close gh-3414
2016-12-05 11:54:38 -05:00
Timmy Willison
f18ca7bfe0
Build: Updating the master version to 3.1.2-pre. 2016-09-22 18:32:55 -04:00
Michał Gołębiowski
2d4f53416e Build: Update promises-aplus-tests for compat with Node 7
The older promises-aplus-tests was relying on old Mocha that, in turn,
used an obsolete graceful-fs version that is not guaranteed to work fine
with the upcoming Node 7 and later.
2016-09-12 19:27:56 +02:00
Richard Gibson
cca2aa2254 Build: Update Sizzle to 2.3.3
Fixes gh-3263
2016-08-08 14:05:49 -04:00
Richard Gibson
6160523d30 Build: Update Sizzle to 2.3.2 2016-08-08 12:35:44 -04:00
Richard Gibson
9526557e67 Build: Update Sizzle to 2.3.1
Fixes gh-3224
2016-08-08 11:59:14 -04:00
Oleg Gaidarenko
308e4b534b Build: Simplify Gruntfile constructions
Fixes gh-3246
2016-08-02 20:58:01 +03:00
Alexander Lisianoi
04a2e036d0 Build: use commitplease via husky, prohibit #NNNN github-style tickets
Closes gh-3176
2016-07-25 18:27:36 +02:00
Oleg Gaidarenko
e4fd41f8fa Build: Update eslint config and fix associated errors 2016-07-15 21:42:25 +04:00
Michał Gołębiowski
96966c0220 Build: Upgrade ESLint to 3.x again
ESLint is now skipped in Node older than 4.x so we're safe.

Refs gh-3222
2016-07-13 10:54:34 +02:00
Oleg Gaidarenko
02c5e2908c Build: Don't use ESLint 3.x
Since it is not supported by older node versions :/
2016-07-09 02:05:15 +03:00
Oleg Gaidarenko
522f546d96 Build: More ESLint related changes 2016-07-09 00:49:43 +03:00
Timmy Willison
93f706200c
Build: Updating the master version to 3.1.1-pre. 2016-07-07 17:46:08 -04:00
Timmy Willison
97d502f5b4
Build: Updating the master version to 3.1.0-pre. 2016-07-07 15:46:40 -04:00
Oleg Gaidarenko
25d8ccd111 Build: Improve ESLint configuration (#3188)
* Bump eslint-config-jquery package to 0.1.4 version

* Add subtask "dist" to "eslint" task and add it to the build task list

* Make gitignore globs more flexible for the "dist" folder

Fixes gh-3169
2016-06-22 19:41:57 +04:00
Oleg Gaidarenko
58c6ca9822 Build: ESLint details
Use eslint pragmas, fix new errors, etc

Closes gh-3148
2016-06-11 10:41:33 +03:00
Oleg Gaidarenko
f80ae67c53 Build: Switch from jscs+jshint to eslint 2016-06-11 10:39:51 +03:00
Timmy Willison
019c8f1f41 Build: Updating the master version to 3.0.1-pre. 2016-06-09 14:33:16 -04:00
Richard Gibson
e2d1142c2e Build: Fix grunt-compare-size branch-tip storage 2016-04-23 23:18:18 -04:00
Richard Gibson
a51cb25965 Build: Update dependencies
Ref bc39338d35
2016-04-23 21:52:00 -04:00
Michał Gołębiowski
bc39338d35 Build: Revert grunt from 1.0.1 to 0.4.5
grunt-compare-size specifies grunt ">= 0.4.0 < 0.5" in its peerDependencies
which makes `npm install` break with npm <3.

Refs rwaldron/grunt-compare-size#25
2016-04-23 20:53:09 +02:00
Michał Gołębiowski
aa0ebad86b Build: Update dependencies (except jsdom) 2016-04-23 19:25:47 +02:00
Oleg Gaidarenko
e8ff8176fc Build: add "Support" module to commitplease list 2016-03-28 16:16:08 +03:00
Oleg Gaidarenko
055cb7534e Build: try insight package to get info about custom builds
Fixes gh-2890
Closes gh-2988
2016-03-14 21:13:05 +03:00
Oleg Gaidarenko
bb235ed3b4 Build: update husky dependency
Fixes gh-2915
2016-03-04 21:41:05 +03:00
Oleg Gaidarenko
3e73881154 Build: update grunt-contrib-jshint and grunt-jscs while we at it 2016-03-04 00:52:02 +03:00
Oleg Gaidarenko
b97c8d30c5 Tests:Build: update qunit and fix incorrect test
* Update QUnit to the latest version (1.20.0)

* Corrected test was dependent on QUnit UI, which is always a bad idea
2016-01-29 21:22:52 +03:00
Oleg Gaidarenko
f0f4ef7475 Build: add scripts.precommit script
It was losted while merging gh-2881
2016-01-29 02:41:04 +03:00
Jha Naman
d94c453979 Build: run linters on git-commit
Fixes gh-2577
Closes gh-2881
2016-01-29 02:34:55 +03:00
Michał Gołębiowski
abb5715807 Build: switch from win-spawn to cross-spawn
The win-spawn package is deprecated.

Refs gh-2877
Refs 67c96a59f5
2016-01-27 13:02:58 +01:00
Michał Gołębiowski
67c96a59f5 Build: Update npm deps, fix Sinon npmcopy config
All deps were updated except:
 * jsdom - tests using a Symbol polyfill are hacky and break with newer jsdom;
   we need to re-do them properly first
 * qunitjs - versions 1.19.0 & 1.20.0 introduce race conditions to the tests,
   making the fail randomly

Those two packages will be updated once issues related to them get resolved.

Fixes gh-2877
2016-01-27 12:54:39 +01:00
Jon Dufresne
b0b280cd61 Docs: Updated links to https where they are supported.
Close gh-2746
2016-01-13 13:26:10 -05:00
Timmy Willison
5c4be05d3b Selector: update Sizzle to 2.3.0 2016-01-11 11:25:36 -05:00
Timmy Willison
e271f665dd Deprecated: fix amd mode for the deprecated module 2015-10-18 11:02:16 -04:00
Oleg Gaidarenko
44f8239d3f Build: update Sizzle to 2.2.1
Ref #2644 - `selector` module in Edge - Waiting for Sizzle update
Fixes #2390
2015-10-17 14:18:52 -04:00
Michał Gołębiowski
dbb2daa8c3 Build: Don't install jsdom 3 on Node.js 0.10 & 0.12 by default
jsdom 3 requires Python & Visual Studio on Windows which is a significant
barrier to contributors. Newer jsdom versions don't require pre-compiling
but work only on io.js. This commit installs the new jsdom everywhere (it
does install in old Node.js, it just won't work) and executes Node-related
tests only on newer Nodes or if a working jsdom version is installed. The
latter can be achieved by running the `old_jsdom` task.

Node.js is merging with io.js soon so this will become a smaller problem over
time.

One drawback is our Jenkins setup runs on Node 0.10 so it won't be running
Node tests anymore. We have Travis set up on io.js, though so all PRs
have those tests run. When the new LTS Node.js arrives (as it soon merges
with io.js) we should update our Jenkins infrastructure so that it runs on this
new version.

Fixes gh-2519
Closes gh-2526
2015-09-08 17:42:38 +02:00
Thomas Tortorini
3dd3d1357d Effects: Finish should call progress
Fixes gh-2283
Closes gh-2292
2015-09-08 02:40:54 +02:00
Reed Loden
835e9218be Build: Update grunt-contrib-uglify because of a security issue in uglify
Update grunt-contrib-uglify dependency to v0.9.2 in order to
avoid a security issue fixed in uglify-js v2.4.24.

https://github.com/mishoo/UglifyJS2/issues/751
https://zyan.scripts.mit.edu/blog/backdooring-js/

Closes gh-2556
2015-09-07 22:19:47 +02:00
Oleg Gaidarenko
10fdad742a Build: Update jscs and lint files
Fixes gh-2056
2015-09-07 20:03:50 +03:00
Michał Gołębiowski
669cb16d76 Build: Add a comment explaining why the es3 option is needed
It might not be obvious to everyone that IE 9 & Android 4.0 are not
ES5-compliant browsers (by a large margin) so it's better to add a support
comment. This requires slight changes in parsing the config file
as it's not a pure JSON anymore. JSHint understands such files without
problems.

Closes gh-2520
2015-08-03 18:51:18 +02:00
Michał Gołębiowski
bb026fc12c Core: Make jQuery objects iterable
Make iterating over jQuery objects possible using ES 2015 for-of:

    for ( node of $( "<div id=narwhal>" ) ) {
        console.log( node.id ); // "narwhal"
    }

Fixes gh-1693
2015-06-13 23:14:36 +02:00
Michał Gołębiowski
1556c4661a Build: Update grunt-contrib-jshint 2015-06-13 22:45:52 +02:00
Gilad Peleg
8e92e1ea3c Build: Update the license attribute
Specifying the type and URL is deprecated:

https://docs.npmjs.com/files/package.json#license
http://npm1k.org/

Fixes gh-2331
Closes gh-2330
2015-06-01 19:32:51 +02:00
Oleg Gaidarenko
a644101ed0 Build: update requirejs dependency to 2.1.17
Fixes gh-2290
2015-05-19 18:45:14 +03:00
Timmy Willison
5c3101fee6 Build: use different versions of jsdom for Node and iojs testing
Fixes gh-2266
2015-05-07 09:57:59 -07:00
Calvin Metcalf
b92acf7237 Build: Remove npm from dependencies
Close gh-2254
2015-05-05 10:19:42 -07:00
Michał Gołębiowski
ab40725879 Core: Test all factory use cases from intro.js
There is a lot of logic in intro.js; now we test four cases:
1. (implicitly, via QUnit tests) A real browser with window being the global
2. Browserify where there are both global & window variables.
3. Node with jsdom where window is passed manually to the jQuery factory.
4. Pure Node with incorrect window passed; jQuery should throw then.

Previously the second & fourth case was not tested and the third was tested
in a way that interfered with the main test environment.

We now also test if in the Browserify case we're not creating a jQuery global
by default.

Fixes gh-2181
Closes gh-2234
2015-04-27 22:44:47 +02:00
Timmy Willison
3a0dd5a3d3 Build: update Sizzle
Fixes gh-2042
Fixes gh-1969
Closes gh-1709
2015-04-13 11:30:18 -04:00
Michał Gołębiowski
06f6cd1ffd Core: Update tested jsdom, drop obsolete workarounds
The latest version supporting Node.js is 3.1.2; some workarounds are not needed
for this version. For example, in jsdom 3.1.2 a document created via
document.implementation.createHTMLDocument( "" ) has a body.

Fixes gh-2153
Closes gh-2154
2015-03-30 18:58:09 +02:00
Michał Gołębiowski
f5aa89af70 Build: Update native-promise-only (again)
This should fix Android 4.0 jQuery.when tests issues, for reals this time.
2015-03-28 16:43:06 +01:00
Michał Gołębiowski
0065e1f3e3 Build: Update native-promise-only
This should fix Android 4.0 jQuery.when tests issues.

Closes gh-2159
2015-03-25 18:59:05 +01:00
Timmy Willison
98c25b7c80 Build: save sinon update for later
Fixes gh-2160
2015-03-24 11:44:55 -04:00
Richard Gibson
555a50d340 Deferred: Backwards-compatible standards interoperability
Fixes gh-1722
Closes gh-1996
2015-03-20 02:00:17 -04:00
Jörn Zaefferer
2d5c5d213f Build: Update QUnit to latest (1.17.1)
Closes gh-2038
2015-02-15 01:14:41 +03:00
Timmy Willison
a76c781236 Release: remove sourcemap comment from all copies of minified file
Fixes gh-1707
2015-01-30 12:22:31 -08:00
Timmy Willison
26eca143c2 Release: Distribute files to distribution repo
Fixes gh-1869
Fixes gh-1673
Fixes gh-2045
2015-01-29 12:03:40 -08:00
Dave Methvin
a4133ffafa Build: Sanctify the component name status of Wrap 2015-01-11 22:24:02 -05:00
Richard Gibson
bb928bde7e Build: Rearrange grunt/npm tasks into a build/dist/test pattern
Ref 76df9e4e38
Closes gh-1980
2015-01-11 10:28:18 -05:00
Richard Gibson
0c9d018889 Build: Specify valid components for commit messages
Closes gh-1909
2015-01-10 21:11:50 -05:00
Michał Gołębiowski
76df9e4e38 Build: Don't assume the browser environment; smoke test on Node w/ jsdom
Fixes gh-1950
Closes gh-1949
2014-12-26 13:26:46 +01:00
Timmy Willison
91017047fc Build: update node dependencies 2014-12-17 10:42:29 -05:00
Timmy Willison
7602dc708d Sizzle: update to 2.1.1 2014-12-15 12:30:43 -05:00
Richard Gibson
6748ba3496 Tests: Update QUnit 2014-12-05 09:55:12 -05:00
Timmy Willison
7a607c5673 Build: update version to 3.0.0-pre 2014-11-03 12:29:16 -05:00
Jörn Zaefferer
5bc1ddc5cc Build: Upgrade to commitplease 2.0.0
commitplease now accepts "[tmp]:" and similar to temporary commits,
useful while updating pull requests that are squashed later.
2014-10-22 17:57:23 +02:00
Arthur Verschaeve
3e89a53265 Misc: Update all references to bugs.jquery.com
Fixes gh-1681
Closes gh-1716
2014-10-19 23:51:04 +01:00
Timmy Willison
269a27c702 Build: update source map options for the new grunt jshint 2014-07-17 11:15:19 -07:00
Timmy Willison
c869a1ef8a Build: update grunt-jscs-checker and pass with the new rules 2014-07-17 10:25:59 -07:00
Timmy Willison
8e3a0ceafa Build: update node dependencies barring jscs 2014-07-17 10:24:37 -07:00