code: function ex2engine (fullpath) {
  	let extension = extname(fullpath).slice(1);
  	let file = fullpath.replace(extname(fullpath), '');
  	let engine;
  	if (!extension && !cacher[fullpath] && !exists(fullpath)) {
  		for (const engineExt of testedEngines) {
  			/* istanbul ignore else */
  			if (exists(`${file}.${engineExt}`)) {
  				extension = engineExt;
  				break;
  			}
  		}
  	}
  	if (!cacher[fullpath]) {
  		engine = extMapper[extension] || extension;
  		let path = `${file}.${extension}`;
  		if (testedEngines.indexOf(engine) === -1 && avaliableEngines.indexOf(engine) > -1 && engine !== 'html') {
  			console.warn(`${engine} engine is avaliable but not tested`);
  		} else if (avaliableEngines.indexOf(engine) === -1 && engine !== 'html') {
  			throw Error(`${engine} engine is not supported`);
  		}
  		cacher[fullpath] = [engine, path];
  	}
  	return cacher[fullpath];
  }
docs: This function return the correct enginge for the path provided
  path  engine is stored in a cache
  @param {String} fullpath - filename to render
  @return {engine}