Commit Graph

42 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
bbad821c39
Build: Require strict mode in Node.js scripts via ESLint
So far, only browser-based JS files were required to be in strict mode (in the
function form). This commit adds such a requirement to Node.js scripts where
the global form is preferred. All Node.js scripts in sloppy mode were
converted to strict mode.

Closes gh-4499
2019-10-09 00:17:55 +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
9ec09c3b4a
Build: Fix the regex parsing AMD var-modules (#4389)
The previous regex caused the final jQuery binary to have syntax errors for
var-modules with names starting with "return". For example, the following module
wouldn't work when the file is named `returnTrue.js`:

```js
define( function() {
	"use strict";
	return function returnTrue() {
		return true;
	};
} );
```

Closes gh-4389
2019-05-13 21:55:45 +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
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
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
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
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
Timmy Willison
984f77a930 Build: Fix AMD option for custom builds
Fixes #14859
2014-03-07 09:55:26 -05: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
Timmy Willison
b24a3d5368 Unify build script capabilities between branches. Specifically, added a special comment pragma for removing certain lines. 2013-10-15 12:03:55 -04:00
Timmy Willison
96286498d6 Remove comment 2013-10-15 10:44:50 -04:00
Timmy Willison
310b8f5b6e Update requirejs to compatible version, remove r.js 2013-10-15 09:51:09 -04:00
Timmy Willison
aab9d63279 Map Sizzle to a path with config to allow users to put Sizzle wherever they want 2013-09-10 18:47:36 -05:00
Timmy Willison
d788010aa7 Don't keep semicolons if the require call is not a var declaration 2013-09-09 13:55:07 -05:00
Timmy Willison
3b53b75160 Break jQuery.access out into its own module to separate it from core; Adjust CommonJS+AMD build support to include non-var dependencies. Convert modules with more than a few dependencies to use CJS+AMD syntax. 2013-09-09 11:34:23 -04:00
Timmy Willison
1b3c0c00fa Add AMD+CommonJS capabilities to the build script (for modules with long unreadable dependency lists) 2013-09-09 09:50:12 -04:00
Timmy Willison
8791920183 Restore optIn behavior for builds 2013-09-08 22:26:05 -04:00
Timmy Willison
32e803c5bc Minor build change: remove trailing tabs 2013-08-16 14:41:13 -04:00
Timmy Willison
b693b370a4 When converting the source to AMD, don't forget to AMD 2013-08-16 12:54:43 -04:00
Timmy Willison
338e48aea5 Custom builds: Fix source folder location now that build.js is in the tasks folder 2013-08-16 10:13:09 -04:00
Oleg Gaidarenko
df67c1ab09 Move jQuery specific tasks to independent files. Close gh-1334.
Also:
	* Confirm build task to the style guide
	* Use grunt API to load jQuery specific tasks
	* Add "use strict"; statements
2013-08-16 09:48:00 -04:00