检查进程参数是否包含标志

检查当前进程的参数是否包含指定的标志。

  • 使用Array.prototype.every()Array.prototype.includes()来检查process.argv是否包含所有指定的标志。
  • 使用正则表达式来测试指定的标志是否以---为前缀,并相应地添加前缀。
const hasFlags = (...flags) =>
  flags.every(flag =>
    process.argv.includes(/^-{1,2}/.test(flag) ? flag : '--' + flag)
  );

// node myScript.js -s --test --cool=true
hasFlags('-s'); // true
hasFlags('--test', 'cool=true', '-s'); // true
hasFlags('special'); // false