src/nodeCf.js
async function getTemplateFile(templateDir, stackName) {
  const f = await Promise.any(
    _.map(['.yml', '.yaml', '.json', ''], async(ext) =>
      await utils.fileExists(`${path.join(templateDir, stackName)}${ext}`)));
  if (f) {
    return f;
  }
  throw new Error(`Stack template "${stackName}" not found!`);
}
async function getTemplateFile(templateDir, stackName) {
  const f = await Promise.any(
    _.map(['.yml', '.yaml', '.json', ''], async(ext) =>
      await utils.fileExists(`${path.join(templateDir, stackName)}${ext}`)));
  if (f) {
    return f;
  }
  throw new Error(`Stack template "${stackName}" not found!`);
}
async function getTemplateFile ( templateDir , stackName ) { const f = await Promise . any ( _ . map ( [ '.yml' , '.yaml' , '.json' , '' ] , async ( ext ) => await utils . fileExists ( ` ${ path . join ( templateDir , stackName ) } ${ ext } ` ) ) ) ; if ( f ) { return f ; } throw new Error ( ` ${ stackName } ` ) ; }
look for template having multiple possible file extensions
look for template having multiple possible file extensions