Commit Graph

114 Commits

Author SHA1 Message Date
Michał Gołębiowski
d10ac0e532 Build: Drop support for building on Node.js 0.12
Node.js 0.12 is no longer supported by upstream. So far we had to keep
a workaround that would skip running ESLint there (or even load its task)
as it no longer supports Node.js <4; the same applied to Node smoke tests
as jsdom has also dropped support for those old Node versions. Those
workarounds have been removed now.

Ref 030191ae32
Closes gh-3478
2016-12-30 13:54:59 +01:00
Michał Gołębiowski
cbc8638c38 Build: ESLint setup improvements
1. Use the short name of the preset in the config.
2. Run ESLint first on non-minified files.
3. Explicitly specify environments in every config file (those settings cascade
which means we've been assuming a Node.js environment where we shouldn't have).
2016-12-19 02:07:03 +01:00
Timmy Willison
7fbab88110
Build: jQuery Foundation -> JS Foundation
Close gh-3414
2016-12-05 11:54:38 -05:00
Michał Gołębiowski
5b4cb0d337 Build: Stop testing on Node.js 0.10
Node.js 0.10 loses upstream support today (see https://github.com/nodejs/LTS/)
so let's stop testing against it as well.
2016-10-31 18:38:35 +01:00
Oleg Gaidarenko
308e4b534b Build: Simplify Gruntfile constructions
Fixes gh-3246
2016-08-02 20:58:01 +03:00
Michał Gołębiowski
edf7a43681 Build: Don't lint every file in dist/ (#3245)
Currently the "all" target for the eslint task includes way more than
the "dev" & "dist" targets combined and those 2 tasks are the one run in
`npm test`.
2016-07-26 03:22:53 +04:00
Michał Gołębiowski
030191ae32 Build: Skip running ESLint on Node.js 0.x
ESLint 3.0 drops support for Node.js older than 4.x. To be able to update
to this version and yet not block our contributors from building jQuery
on older Node.js (at least until it's supported by upstream) this commit
makes ESLint skipped on older Node; a proper message is displayed then.

Fixes gh-3222
2016-07-13 10:54:34 +02: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
Michał Gołębiowski
d3a781d762 Build: Don't lint the built file in the husky precommit hook
The husky Git precommit hook was linting not only the source but also the
built file. Normally it's expected, we want to run basic checks on what's
built but in the precommit hook we're not building the file so we might
be linting some previous, broken version.

Fixes gh-3091
2016-04-29 10:36:57 +02:00
Richard Gibson
cf1497a58c Build: A more modest block-level function proposal
This reverts commit fa610da684.
2016-04-23 22:14:25 -04:00
Michał Gołębiowski
fa610da684 Build: Workaround strict mode violations caused by UglifyJS
This commit increases the gzipped size by 90 bytes so a better solution
is needed but, at the same time, it disables the very optimizations
that are causing strict mode violations in Firefox 45, Safari 9 & IE 10.

Refs 76084372c2
Refs mishoo/UglifyJS2#1052
2016-04-23 20:30:00 +02:00
Timmy Willison
5cbb234dd3 Core: implement ready without Deferred
- Make jQuery.ready promise-compatible
- Gives up sync guarantee for post-ready callbacks

Fixes gh-1778
Fixes gh-1823
Close gh-2891
2016-04-04 11:26:22 -04:00
Michał Gołębiowski
c7431c7793 Build: Drop testing on jsdom with Node 0.10 & 0.12
Fixes gh-2841
2016-02-10 12:57:49 +01:00
Michał Gołębiowski
991e3f3e2a Build: Move the stripJSONComments variable to the function that uses it 2016-02-10 12:54:25 +01:00
Michał Gołębiowski
3f46cec169 Build: Stop removing the JSHint onevar option, it's no longer there 2016-02-09 10:18:19 +01: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
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
Michał Gołębiowski
dda87f6b16 Build: enable JSCS for test/unit/support.js, fix styling issues 2016-01-27 12:14:17 +01:00
Timmy Willison
f5fb8d71cb Build: Encode non-ASCII as \uXXXX 2016-01-11 11:42:33 -05:00
Timmy Willison
cf7102c3f1 Release: push a custom slim build to the CDN
Fixes gh-2653
Close gh-2711
2015-11-16 11:22:20 -05:00
Dave Methvin
1144e754a6 Build: Add "deprecated" to the Testswarm module list
Ref #1740

Yeah.
2015-10-20 12:30:01 -04:00
Dave Methvin
67d7a2eefe CSS: Make show/hide/toggle methods a module
Unit test changes some uses of .show() and .hide() to .css( "display", ... ),
there was already an implicit assumption in several of the existing tests.

Fixes gh-2193
Close gh-2648
2015-10-18 12:30:00 -04:00
Michał Gołębiowski
2c7e9c9349 Tests: Add simple tests for Android 2.3
Fixes gh-2505
Closes gh-2509
Refs gh-2483
2015-09-08 18:03:49 +02: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
Oleg Gaidarenko
5adf04a73c Build: put back "lint" command to the "dev" list
Also fix lint error in `data` module.

It seems this command was removed from the list during merge
2015-09-08 02:33:43 +03:00
Oleg Gaidarenko
99975c44ab Build: correct jscs paths 2015-09-07 20:03:50 +03: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
Corey Frang
b3b2d6c3dd Effects: Adding unit tests for jQuery.Animation
Closes gh-2326
2015-06-26 20:06:03 -04:00
Corey Frang
cdaed15c7e Effects: Add tests for jQuery.Tween 2015-06-26 20:05:25 -04: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
Oleg Gaidarenko
285cfbfccc Build: remove bower.json lint target
Ref 26eca143c2
2015-06-11 16:25:36 +03: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
Richard Gibson
555a50d340 Deferred: Backwards-compatible standards interoperability
Fixes gh-1722
Closes gh-1996
2015-03-20 02:00:17 -04: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
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
Anne-Gaelle Colom
66e1b6b8d4 Build: Remove dates from copyright notice
Closes gh-1983
2015-01-03 16:01:57 -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
7602dc708d Sizzle: update to 2.1.1 2014-12-15 12:30:43 -05: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
e1949f4371 Build: drop bower; use npm for front-end deps
Fixes #15186
Closes gh-1620
2014-07-17 09:02:59 -07:00
Timmy Willison
bcca4f041b Build: update Sizzle to 2.0.0 2014-07-01 16:50:27 -04:00
Timmy Willison
c0b23e2b71 Build: update Sizzle to 1.11.1 and include license 2014-06-25 13:43:09 -04:00
Scott González
c5d9d88dce Build: Move all external libraries to external directory
Closes gh-1593
2014-06-24 10:17:50 -04:00
Scott González
8d113104e9 Build: Remove unused Sizzle test files 2014-06-24 10:16:55 -04:00
Timmy Willison
97c803acfb Ajax: move ajax event aliases to their own file
Fixes #15126
2014-06-02 12:39:11 -04:00