packages/@vue/cli/bin/vue.js
function cleanArgs (cmd) {
  const args = {}
  cmd.options.forEach(o => {
    const key = camelize(o.long.replace(/^--/, ''))
    // if an option is not present and Command has a method with the same name
    // it should not be copied
    if (typeof cmd[key] !== 'function' && typeof cmd[key] !== 'undefined') {
      args[key] = cmd[key]
    }
  })
  return args
}
function cleanArgs (cmd) {
  const args = {}
  cmd.options.forEach(o => {
    const key = camelize(o.long.replace(/^--/, ''))
    // if an option is not present and Command has a method with the same name
    // it should not be copied
    if (typeof cmd[key] !== 'function' && typeof cmd[key] !== 'undefined') {
      args[key] = cmd[key]
    }
  })
  return args
}
function cleanArgs ( cmd ) { const args = { } cmd . options . forEach ( o => { const key = camelize ( o . long . replace ( / ^-- / , '' ) ) // if an option is not present and Command has a method with the same name // it should not be copied if ( typeof cmd [ key ] !== 'function' && typeof cmd [ key ] !== 'undefined' ) { args [ key ] = cmd [ key ] } } ) return args }
commander passes the Command object itself as options, extract only actual options into a fresh object.
commander passes the Command object itself as options extract only actual options into a fresh object .