import fs from 'fs'; /** * A non-failing version of async FS stat. * * @param file */ async function statAsync(file: string): Promise { try { return await fs.promises.stat(file); } catch { return null; } } export async function fileExistsAsync(file: string): Promise { return (await statAsync(file))?.isFile() ?? false; } export async function directoryExistsAsync(file: string): Promise { return (await statAsync(file))?.isDirectory() ?? false; } export function fileExists(file: string): boolean { try { return fs.statSync(file).isFile(); } catch { return false; } }