




















@@ -414,6 +414,14 @@ export function parseArgs(argv) {
414414githubOutput: process.env.GITHUB_OUTPUT,
415415githubStepSummary: process.env.GITHUB_STEP_SUMMARY,
416416};
417+const seen = new Set();
418+const setOnce = (flag, key, value) => {
419+if (seen.has(flag)) {
420+throw new Error(`${flag} was provided more than once.`);
421+}
422+seen.add(flag);
423+options[key] = value;
424+};
417425for (let index = 0; index < argv.length; index += 1) {
418426const arg = argv[index];
419427if (arg === "--") {
@@ -423,37 +431,37 @@ export function parseArgs(argv) {
423431return { ...options, help: true };
424432}
425433if (arg === "--root") {
426-options.rootDir = readOptionValue(argv, index, arg);
434+setOnce(arg, "rootDir", readOptionValue(argv, index, arg));
427435index += 1;
428436continue;
429437}
430438if (arg === "--output-dir") {
431-options.outputDir = readOptionValue(argv, index, arg);
439+setOnce(arg, "outputDir", readOptionValue(argv, index, arg));
432440index += 1;
433441continue;
434442}
435443if (arg === "--release-ref") {
436-options.releaseRef = readOptionValue(argv, index, arg);
444+setOnce(arg, "releaseRef", readOptionValue(argv, index, arg));
437445index += 1;
438446continue;
439447}
440448if (arg === "--npm-dist-tag") {
441-options.npmDistTag = readOptionValue(argv, index, arg);
449+setOnce(arg, "npmDistTag", readOptionValue(argv, index, arg));
442450index += 1;
443451continue;
444452}
445453if (arg === "--base-ref") {
446-options.baseRef = readOptionValue(argv, index, arg);
454+setOnce(arg, "baseRef", readOptionValue(argv, index, arg));
447455index += 1;
448456continue;
449457}
450458if (arg === "--github-output") {
451-options.githubOutput = readOptionValue(argv, index, arg, { allowEmpty: true });
459+setOnce(arg, "githubOutput", readOptionValue(argv, index, arg, { allowEmpty: true }));
452460index += 1;
453461continue;
454462}
455463if (arg === "--github-step-summary") {
456-options.githubStepSummary = readOptionValue(argv, index, arg, { allowEmpty: true });
464+setOnce(arg, "githubStepSummary", readOptionValue(argv, index, arg, { allowEmpty: true }));
457465index += 1;
458466continue;
459467}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。