src/init.js
function init(options = {}, handlebars) {
  const opts = deepExtend({}, defaults, options);
  normalizePaths(opts);
  opts.handlebars = handlebars || Handlebars.create();
  return Promise.resolve(opts);
}
function init(options = {}, handlebars) {
  const opts = deepExtend({}, defaults, options);
  normalizePaths(opts);
  opts.handlebars = handlebars || Handlebars.create();
  return Promise.resolve(opts);
}
function init ( options = { } , handlebars ) { const opts = deepExtend ( { } , defaults , options ) ; normalizePaths ( opts ) ; opts . handlebars = handlebars || Handlebars . create ( ) ; return Promise . resolve ( opts ) ; }
Merge defaults into passed options.
@param {Object} options
@param {Object} handlebars   Handlebars instance—it can be passed explicitly,
primarily for testing purposes.
@return {Promise} resolving to merged options
Merge defaults into passed options .