docs: function normalizeOpts (opts) {
    if (!opts) { opts = {} }
  
    // hmr plugin expects us to be using watchify
    if (opts.hot) {
      opts.watch = true
    }
  
    // root directory for all source files
    // (assume that this is the same directory as package.json)
    if (!opts.rootDir) { opts.rootDir = process.cwd() }
  
    // use browserify-incremental?
    if (typeof opts.inc === 'undefined') { opts.inc = true }
    if (!opts.cacheFile) { opts.cacheFile = '.bcache.json' }
  
    const outputDefaults = {
      dir: 'dist',
      bundle: path.basename(opts.entry)
    }
  
    opts.output = Object.assign({}, outputDefaults, opts.output || {})
    opts.outFile = path.join(opts.rootDir, opts.output.dir, opts.output.bundle)
  
    if (!opts.vendor) { opts.vendor = [] }
  
    return opts
  }