






























@@ -434,6 +434,7 @@ function parseArgs(argv) {
434434staged: false,
435435dryRun: false,
436436timed: false,
437+help: false,
437438paths: [],
438439};
439440return parseFlagArgs(
@@ -445,6 +446,8 @@ function parseArgs(argv) {
445446booleanFlag("--staged", "staged"),
446447booleanFlag("--dry-run", "dryRun"),
447448booleanFlag("--timed", "timed"),
449+booleanFlag("--help", "help"),
450+booleanFlag("-h", "help"),
448451],
449452{
450453onUnhandledArg(arg, target) {
@@ -458,16 +461,36 @@ function parseArgs(argv) {
458461);
459462}
460463464+function printUsage() {
465+process.stdout.write(
466+[
467+"Usage: node scripts/check-changed.mjs [options] [-- <paths...>]",
468+"",
469+"Options:",
470+" --base <ref> Base ref for changed paths (default: origin/main)",
471+" --head <ref> Head ref for changed paths (default: HEAD)",
472+" --staged Check staged paths instead of git diff paths",
473+" --dry-run Print the planned checks without running them",
474+" --timed Print timing summary",
475+" -h, --help Show this help",
476+"",
477+].join("\n"),
478+);
479+}
480+461481function isDirectRun() {
462482return isDirectRunUrl(process.argv[1], import.meta.url);
463483}
464484465485if (isDirectRun()) {
466486const argv = process.argv.slice(2);
467-if (shouldDelegateChangedCheckToCrabbox(argv, process.env)) {
487+const args = parseArgs(argv);
488+if (args.help) {
489+printUsage();
490+process.exitCode = 0;
491+} else if (shouldDelegateChangedCheckToCrabbox(argv, process.env)) {
468492process.exitCode = await runChangedCheckViaCrabbox(argv, process.env);
469493} else {
470-const args = parseArgs(argv);
471494const paths =
472495args.paths.length > 0
473496 ? args.paths
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。