diff options
author | Timmy Willison <timmywil@users.noreply.github.com> | 2023-09-18 12:39:00 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-18 12:39:00 -0400 |
commit | 2bdecf8b7bd10864e5337a4e24e39476c78cf23a (patch) | |
tree | 4685fc5ca912e368c294a3949c7ef5b663fec980 /build/command.js | |
parent | f75daab09102a4dd5107deadb55d4a169f86254a (diff) | |
download | jquery-2bdecf8b7bd10864e5337a4e24e39476c78cf23a.tar.gz jquery-2bdecf8b7bd10864e5337a4e24e39476c78cf23a.zip |
Build: migrate most grunt tasks off of grunt
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
Diffstat (limited to 'build/command.js')
-rwxr-xr-x | build/command.js | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/build/command.js b/build/command.js new file mode 100755 index 000000000..ee1a153bc --- /dev/null +++ b/build/command.js @@ -0,0 +1,75 @@ +"use strict"; + +const { build } = require( "./tasks/build" ); +const yargs = require( "yargs/yargs" ); +const slimExclude = require( "./tasks/lib/slim-exclude" ); + +const argv = yargs( process.argv.slice( 2 ) ) + .version( false ) + .command( { + command: "[options]", + describe: "Build a jQuery bundle" + } ) + .option( "filename", { + alias: "f", + type: "string", + description: + "Set the filename of the built file. Defaults to jquery.js." + } ) + .option( "dir", { + alias: "d", + type: "string", + description: + "Set the dir to which to output the built file. Defaults to /dist." + } ) + .option( "version", { + alias: "v", + type: "string", + description: + "Set the version to include in the built file. " + + "Defaults to the version in package.json plus the " + + "short commit SHA and any excluded modules." + } ) + .option( "watch", { + alias: "w", + type: "boolean", + description: + "Watch the source files and rebuild when they change." + } ) + .option( "exclude", { + alias: "e", + type: "array", + description: + "Modules to exclude from the build. " + + "Specifying this option will cause the " + + "specified modules to be excluded from the build." + } ) + .option( "include", { + alias: "i", + type: "array", + description: + "Modules to include in the build. " + + "Specifying this option will override the " + + "default included modules and only include these modules." + } ) + .option( "esm", { + type: "boolean", + description: + "Build an ES module (ESM) bundle. " + + "By default, a UMD bundle is built." + } ) + .option( "slim", { + alias: "s", + type: "boolean", + description: "Build a slim bundle, which excludes " + + slimExclude.join( ", " ) + } ) + .option( "amd", { + type: "string", + description: + "Set the name of the AMD module. Leave blank to make an anonymous module." + } ) + .help() + .argv; + +build( argv ); |