mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
763ade6dda
Summary of the changes:
* expand `node_smoke_tests` to test the full & slim builds
* run `compare_size` on all built minified files; don't run it anymore on
unminified files where they don't provide lots of value
The main goal of this change is to make it easier to compare sizes of both the
full & slim builds between the `3.x-stable` & `main` branches.
Closes gh-5291
Ref gh-5255
(partially cherry-picked from commit 8be4c0e4f8
)
43 lines
1.5 KiB
JavaScript
43 lines
1.5 KiB
JavaScript
"use strict";
|
|
|
|
module.exports = ( grunt ) => {
|
|
const fs = require( "fs" );
|
|
const spawnTest = require( "./lib/spawn_test.js" );
|
|
const nodeV16OrNewer = !/^v1[0-5]\./.test( process.version );
|
|
|
|
grunt.registerTask( "node_smoke_tests", function( jQueryModuleSpecifier = "./dist/jquery.js" ) {
|
|
if ( !nodeV16OrNewer ) {
|
|
grunt.log.writeln( "Old Node.js detected, running the task " +
|
|
`"node_smoke_tests:${ jQueryModuleSpecifier }" skipped...` );
|
|
return;
|
|
}
|
|
|
|
const testsDir = "./test/node_smoke_tests";
|
|
const nodeSmokeTests = [];
|
|
|
|
// Fire up all tests defined in test/node_smoke_tests/*.js in spawned sub-processes.
|
|
// All the files under test/node_smoke_tests/*.js are supposed to exit with 0 code
|
|
// on success or another one on failure. Spawning in sub-processes is
|
|
// important so that the tests & the main process don't interfere with
|
|
// each other, e.g. so that they don't share the `require` cache.
|
|
|
|
fs.readdirSync( testsDir )
|
|
.filter( ( testFilePath ) =>
|
|
fs.statSync( `${ testsDir }/${ testFilePath }` ).isFile() &&
|
|
/\.[cm]?js$/.test( testFilePath )
|
|
)
|
|
.forEach( ( testFilePath ) => {
|
|
const taskName = `node_${ testFilePath.replace( /\.[cm]?js$/, "" ) }:${ jQueryModuleSpecifier }`;
|
|
|
|
grunt.registerTask( taskName, function() {
|
|
spawnTest( this.async(), `node "${ testsDir }/${
|
|
testFilePath }" ${ jQueryModuleSpecifier }` );
|
|
} );
|
|
|
|
nodeSmokeTests.push( taskName );
|
|
} );
|
|
|
|
grunt.task.run( nodeSmokeTests );
|
|
} );
|
|
};
|