Skip to content
Permalink
Browse files
Build: Create a grunt custom:slim alias for the Slim build
Closes gh-4578

(cherry-picked from 9b9ed46)
  • Loading branch information
mgol committed Jan 7, 2020
1 parent f36f6ab commit 4cbdc745cc32f0fb8865139df7caad075b05d2b8
Showing 3 changed files with 25 additions and 2 deletions.
@@ -157,6 +157,11 @@ Exclude a bunch of modules:
grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-event/alias,-offset,-wrap
```

There is also a special alias to generate a build with the same configuration as the official jQuery Slim build is generated:
```bash
grunt custom:slim
```

For questions or requests regarding custom builds, please start a thread on the [Developing jQuery Core](https://forum.jquery.com/developing-jquery-core) section of the forum. Due to the combinatorics and custom nature of these builds, they are not regularly tested in jQuery's unit test process. The non-Sizzle selector engine currently does not pass unit tests because it is missing too much essential functionality.

Running the Unit Tests
@@ -54,7 +54,7 @@ module.exports = function( Release ) {
generateArtifacts: function( callback ) {
Release.exec( "grunt", "Grunt command failed" );
Release.exec(
"grunt custom:-ajax,-effects --filename=jquery.slim.js && " +
"grunt custom:slim --filename=jquery.slim.js && " +
"grunt remove_map_comment --filename=jquery.slim.js",
"Grunt custom failed"
);
@@ -333,9 +333,27 @@ module.exports = function( grunt ) {
// Becomes:
//
// grunt build:*:*:+ajax:-dimensions:-effects:-offset
//
// There's also a special "slim" alias that resolves to the jQuery Slim build
// configuration:
//
// grunt custom:slim
grunt.registerTask( "custom", function() {
var args = this.args,
modules = args.length ? args[ 0 ].replace( /,/g, ":" ) : "",
modules = args.length ?
args[ 0 ]
.split( "," )

// Replace "slim" with respective exclusions meant for
// the official slim build
.reduce( ( acc, elem ) => acc.concat(
elem === "slim" ?
[ "-ajax", "-effects" ] :
[ elem ]
), [] )

.join( ":" ) :
"",
done = this.async(),
insight = new Insight( {
trackingCode: "UA-1076265-4",

0 comments on commit 4cbdc74

Please sign in to comment.