umi-utils
Version:
25 lines (22 loc) • 662 B
text/typescript
import { join } from 'path';
import { existsSync } from 'fs';
const JS_EXTNAMES = ['.js', '.jsx', '.ts', '.tsx'];
/**
* Find the real JS file. Automatic completion of suffixes
* @param baseDir base path
* @param fileNameWithoutExtname file name
*/
export default function(baseDir: string, fileNameWithoutExtname?: string): string {
let i = 0;
while (i < JS_EXTNAMES.length) {
const extname = JS_EXTNAMES[i];
const absFilePath = fileNameWithoutExtname
? join(baseDir, `${fileNameWithoutExtname}${extname}`)
: `${baseDir}${extname}`;
if (existsSync(absFilePath)) {
return absFilePath;
}
i += 1;
}
return null;
}