mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
2bdecf8b7b
Updated tasks include: - lint - npmcopy - build, minify, and process for distribution. - new custom build command using yargs - compare size of minified/gzip built files - pretest scripts, including qunit-fixture, babel transpilation, and npmcopy - node smoke tests - promises aplus tests - new watch task using `rollup.watch` directly Also: - upgraded husky and added the new lint command - updated lint config to use new "flat" config format. See https://eslint.org/docs/latest/use/configure/configuration-files-new - Temporarily disabled one lint rule until flat config is supported by eslint-plugin-import. See https://github.com/import-js/eslint-plugin-import/issues/2556 - committed package-lock.json - updated all test scripts to use the new build - added an express test server that uses middleware-mockserver (this can be used to run tests without karma) - build-all-variants is now build:all Close gh-5318
51 lines
1.7 KiB
JavaScript
51 lines
1.7 KiB
JavaScript
"use strict";
|
|
|
|
const fs = require( "fs" );
|
|
const util = require( "util" );
|
|
const exec = util.promisify( require( "child_process" ).exec );
|
|
const verifyNodeVersion = require( "./lib/verifyNodeVersion" );
|
|
|
|
const allowedModules = [ "commonjs", "module" ];
|
|
|
|
if ( !verifyNodeVersion() ) {
|
|
return;
|
|
}
|
|
|
|
// 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.
|
|
|
|
async function runTests( sourceType, module ) {
|
|
if ( !allowedModules.includes( sourceType ) ) {
|
|
throw new Error(
|
|
`Usage: \`node_smoke_tests [${allowedModules.join( "|" )}]:JQUERY\``
|
|
);
|
|
}
|
|
const dir = `./test/node_smoke_tests/${sourceType}`;
|
|
const files = await fs.promises.readdir( dir, { withFileTypes: true } );
|
|
const testFiles = files.filter( ( testFilePath ) => testFilePath.isFile() );
|
|
await Promise.all(
|
|
testFiles.map( ( testFile ) =>
|
|
exec( `node "${dir}/${testFile.name}" "${module}"` )
|
|
)
|
|
);
|
|
console.log( `Node smoke tests passed for ${sourceType} "${module}".` );
|
|
}
|
|
|
|
async function runDefaultTests() {
|
|
await Promise.all( [
|
|
runTests( "commonjs", "jquery" ),
|
|
runTests( "commonjs", "jquery/slim" ),
|
|
runTests( "commonjs", "./dist/jquery.js" ),
|
|
runTests( "commonjs", "./dist/jquery.slim.js" ),
|
|
runTests( "module", "jquery" ),
|
|
runTests( "module", "jquery/slim" ),
|
|
runTests( "module", "./dist-module/jquery.module.js" ),
|
|
runTests( "module", "./dist-module/jquery.slim.module.js" )
|
|
] );
|
|
}
|
|
|
|
runDefaultTests();
|