diff options
author | Michał Gołębiowski-Owczarek <m.goleb@gmail.com> | 2020-01-07 16:42:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-07 16:42:49 +0100 |
commit | 9b9ed469b43e9fa6e2c752444470ae4c87d03d57 (patch) | |
tree | a37dc4f1aa8f8cb05ac5103cf0ab9afd3a423bec | |
parent | c1ee33aded44051b8f1288b59d2efdc68d0413cc (diff) | |
download | jquery-9b9ed469b43e9fa6e2c752444470ae4c87d03d57.tar.gz jquery-9b9ed469b43e9fa6e2c752444470ae4c87d03d57.zip |
Build: Create a `grunt custom:slim` alias for the Slim build (#4578)
Closes gh-4578
-rw-r--r-- | README.md | 5 | ||||
-rw-r--r-- | build/release.js | 2 | ||||
-rw-r--r-- | build/tasks/build.js | 20 |
3 files changed, 25 insertions, 2 deletions
@@ -146,6 +146,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. Running the Unit Tests diff --git a/build/release.js b/build/release.js index f463d8e40..e0116d160 100644 --- a/build/release.js +++ b/build/release.js @@ -50,7 +50,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" ); diff --git a/build/tasks/build.js b/build/tasks/build.js index 4abc70868..18d101f0b 100644 --- a/build/tasks/build.js +++ b/build/tasks/build.js @@ -291,9 +291,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() { 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 insight = new Insight( { trackingCode: "UA-1076265-4", |