process-args.js 965 B

12345678910111213141516171819202122232425262728293031323334353637
  1. const parser = require('yargs-parser')
  2. const commands = [
  3. 'report',
  4. 'check-coverage',
  5. 'instrument',
  6. 'merge'
  7. ]
  8. module.exports = {
  9. // don't pass arguments that are meant
  10. // for nyc to the bin being instrumented.
  11. hideInstrumenterArgs: function (yargv) {
  12. var argv = process.argv.slice(1)
  13. argv = argv.slice(argv.indexOf(yargv._[0]))
  14. if (argv[0][0] === '-') {
  15. argv.unshift(process.execPath)
  16. }
  17. return argv
  18. },
  19. // don't pass arguments for the bin being
  20. // instrumented to nyc.
  21. hideInstrumenteeArgs: function () {
  22. var argv = process.argv.slice(2)
  23. var yargv = parser(argv)
  24. if (!yargv._.length) return argv
  25. for (var i = 0, command; (command = yargv._[i]) !== undefined; i++) {
  26. if (~commands.indexOf(command)) return argv
  27. }
  28. // drop all the arguments after the bin being
  29. // instrumented by nyc.
  30. argv = argv.slice(0, argv.indexOf(yargv._[0]))
  31. argv.push(yargv._[0])
  32. return argv
  33. }
  34. }