Commit Graph

66 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
781647b182 Build: Drop cross-spawn, use child_process.spawn shell option 2017-09-25 19:27:50 +02:00
Michał Gołębiowski
4e50967725 Build: Make the @CODE-replacing regex more robust
The code replacing @CODE in wrapper.js was written so that it expected
both the code and the next line to start in the first column. This commit
adjusts the regex so to get rid of that assumption and to work properly
regardless of number of lines with comments after this block.

While this is technically not necessary for our code, contributors sometimes
re-format the wrapper file in their pull requests and the error
messages they get don't tell them what's the real problem with their code.

Closes gh-3429
2016-12-05 18:43:10 +01:00
Timmy Willison
52e24471c8
Core: expose noConflict in AMD mode
- For compability reasons, we had already added the global
  in AMD mode, but without noConflict. This adds back noConflict
  to AMD (which fixes noConflict mode in the tests).

Fixes gh-2930
2016-08-15 11:54:55 -04:00
Michał Gołębiowski
6e605afb1f Build: Fix the regex removing the ESLint comment from wrapper.js
The new regex from after the switch from JSHint to ESLint wasn't catching
the ESLint pragma correctly.

Also, the spacing of the pragma comment was updated to match other comments.
2016-07-13 10:49:13 +02: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
a4474c9a00 Tests: Move promise/A+ adapters for tests to dedicated folder 2016-06-11 10:39:51 +03:00
Richard Gibson
356a3bccb0 Deferred: Separate the two paths in jQuery.when
Single- and no-argument calls act like Promise.resolve.
Multi-argument calls act like Promise.all.

Fixes gh-3029
Closes gh-3059
2016-05-02 12:30:31 -04:00
Michał Gołębiowski
3b356cfde4 Build: Strip the strict-mode related comment in exports/global.js
The comment (& the JSHint pragma) doesn't make sense in the context of the
full built file.

Closes gh-3078
2016-04-26 22:50:22 +02:00
Michał Gołębiowski
0652c4d6a2 Build: Strip excessive "use strict" pragmas when building
Fixes gh-3077
2016-04-26 22:50:18 +02:00
Richard Gibson
76084372c2 Deferred: Remove default callback context
Employs strict mode to simplify Deferred callback context handling.

Fixes gh-3060
Closes gh-3061
2016-04-23 00:30:48 -04: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
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
Timmy Willison
4a098f4883 Build: combine intro and outro
Fixes gh-2975
Close gh-2976
2016-03-09 11:42:42 -05:00
Timmy Willison
5943f1d7ff Build: use hard-coded path to sizzle in selector-sizzle
Fixes gh-2898
2016-02-10 13:47:25 -08: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
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
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
Martin Naumann
0c34e68843 Build: Fixed issue with base path that contain 'var'
Remove the cwd from the paths, so the regex doesn't kick in on "var"

Fixes gh-2450
Closes gh-2641
2015-10-12 18:17:12 +03: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
Oleg Gaidarenko
10fdad742a Build: Update jscs and lint files
Fixes gh-2056
2015-09-07 20:03:50 +03:00
Timmy Willison
63a577aa0b Build: space between curly and paren is optional
Fixes gh-2399
Close gh-2400
2015-06-19 13:40:11 -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
Michał Gołębiowski
9c8a3ecdc4 Build: Refactor Node smoke tests
Utilize the assert module, avoid inline JSHint comments.
2015-06-13 23:08:19 +02: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
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
Timmy Willison
6051609df3 Build: fix tests in AMD mode 2014-12-09 15:39:24 -05:00
David Corbacho
2c1b556d98 Build: Remove empty define({}) from build output
Fixes gh-1768
Closes gh-1569
2014-12-04 16:38:00 -05:00
Oleg Gaidarenko
dc4b914a05 Build: Fix various typos
Thanks @jamesgpearce, @vlajos, @imyousuf
Closes gh-1828
Closes gh-1830
Closes gh-1844
2014-11-08 17:24:33 +03:00
Timmy Willison
c869a1ef8a Build: update grunt-jscs-checker and pass with the new rules 2014-07-17 10:25:59 -07:00
Scott González
c5d9d88dce Build: Move all external libraries to external directory
Closes gh-1593
2014-06-24 10:17:50 -04:00
Michał Gołębiowski
a0568b07d8 Build: set default testswarm timeout to 15 minutes
We're not testing on IE6-7 anymore.
2014-04-15 11:47:52 +02:00
Michał Gołębiowski
7869891a97 Build: use browserSets from config file; allow to override 2014-04-15 11:34:02 +02:00
Michał Gołębiowski
c1e9bb9e61 Build: Change the timeout for the weekly job from 4h to 1h 2014-03-18 11:55:06 +01:00
Michał Gołębiowski
aa951a3184 Build: Refactor testswarm Grunt task options
Add a possibility to specify the project name. Infer browserSets & timeout
out of it instead of defining it in the Jenkins configuration.
2014-03-16 04:14:03 +01:00
Jörn Zaefferer
22c515c671 Build: Fix testswarm task, use API correctly 2014-03-12 11:08:16 +01:00
Michał Gołębiowski
a81dbc4ed8 Build: Allow to specify timeout in the testswarm task 2014-03-11 21:12:39 +01:00
Michał Gołębiowski
14872941f9 Build: Make it possible to change browserSets in the testswarm task 2014-03-10 20:37:11 +01:00
Timmy Willison
984f77a930 Build: Fix AMD option for custom builds
Fixes #14859
2014-03-07 09:55:26 -05:00
Michał Gołębiowski
53e31f478e Build: Specify browserSets for TestSwarm directly 2014-01-27 22:01:15 +01:00
Michał Gołębiowski
d41fc68d9b Build: Remove obsolete UglifyJS workaround 2014-01-26 04:02:20 +01:00
Timmy Willison
7e8a91c205 Build: add build option for setting the AMD name.
Fixes #14016.
2013-12-19 15:31:36 -05:00
Timmy Willison
a6f474e699 Build: Add the ability to remove global exposure.
Ref #14016
2013-12-19 15:00:06 -05:00
Timmy Willison
f9ad13c9ec Manage bower dependencies with grunt-bowercopy
Tracked bower dependencies are located at "src/sizzle" and "test/libs".
The source-destination mapping is in the Gruntfile.

When updating a bower dependency, update the version in bower.json, run
`grunt bower`, and then commit the result. When adding a dependency,
update the bowercopy task accordingly.

Fixes #14615.
Closes gh-1452.
2013-12-06 16:04:35 -05:00
Timmy Willison
ac7ff97f8b Use grunt and bower packages as local dependencies. Close gh-1433. 2013-11-14 10:17:18 -05:00
Michał Gołębiowski
7d5a12376d No ticket. Remove the pre-uglify task form build/tasks/build.js. Fix custom builds. 2013-11-10 23:47:04 +01:00
Michał Gołębiowski
d0fadbba9f Remove workarounds for the uglify task mishandling banners when used with source maps.
The issue was fixed in grunt-contrib-uglify:
https://github.com/gruntjs/grunt-contrib-uglify/issues/22
2013-11-09 23:12:06 +01:00