Checking for JSON or YAML file with promises
Interesting question,

since you need to evaluate both Promises, I would use Collections.
Something like this:

Promise.all([yml(),json()]).then(function( results ) {
  // Return the results of yml() if truthy, or json() if truthy, or false
  return results[0] || results[1] || false;   
});


Other than that, for the love of readable code:


Use newlines in your if statements
Use curly braces in your if statements
Dont stretch your code too much horizontally


I like your 2nd approach far more than the 1st approach, the 1st approach is simply head ache inducing.