code: function mixConfig(target, source) {
          var prop, value;
  
          for (prop in source) {
              if (source.hasOwnProperty(prop)) {
                  //If the value of the property is a plain object, then
                  //allow a one-level-deep mixing of it.
                  value = source[prop];
                  if (typeof value === 'object' && value &&
                      !lang.isArray(value) && !lang.isFunction(value) &&
                      !lang.isRegExp(value)) {
                      if (!target[prop]) {
                          target[prop] = {};
                      }
                      lang.mixin(target[prop], source[prop], true);
                  } else {
                      target[prop] = source[prop];
                  }
              }
          }
      }
docs: Mixes additional source config into target config, and merges some
  nested config, like paths, correctly.