Build: Create a grunt custom:slim alias for the Slim build (#4578)

Closes gh-4578
This commit is contained in:
Michał Gołębiowski-Owczarek 2020-01-07 16:42:49 +01:00 committed by GitHub
parent c1ee33aded
commit 9b9ed469b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 2 deletions

View File

@ -146,6 +146,11 @@ Exclude a bunch of modules:
grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-event/alias,-offset,-wrap 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. 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.
Running the Unit Tests Running the Unit Tests

View File

@ -50,7 +50,7 @@ module.exports = function( Release ) {
generateArtifacts: function( callback ) { generateArtifacts: function( callback ) {
Release.exec( "grunt", "Grunt command failed" ); Release.exec( "grunt", "Grunt command failed" );
Release.exec( 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 remove_map_comment --filename=jquery.slim.js",
"Grunt custom failed" "Grunt custom failed"
); );

View File

@ -291,9 +291,27 @@ module.exports = function( grunt ) {
// Becomes: // Becomes:
// //
// grunt build:*:*:+ajax:-dimensions:-effects:-offset // 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() { grunt.registerTask( "custom", function() {
const args = this.args; const args = this.args;
const modules = args.length ? args[ 0 ].replace( /,/g, ":" ) : ""; const 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( ":" ) :
"";
const done = this.async(); const done = this.async();
const insight = new Insight( { const insight = new Insight( {
trackingCode: "UA-1076265-4", trackingCode: "UA-1076265-4",