xref: /expo/packages/@expo/cli/src/utils/dir.ts (revision 0502d1f9)
1import fs from 'fs-extra';
2
3export async function directoryExistsAsync(file: string): Promise<boolean> {
4  return (await fs.promises.stat(file).catch(() => null))?.isDirectory() ?? false;
5}
6
7export async function fileExistsAsync(file: string): Promise<boolean> {
8  return (await fs.promises.stat(file).catch(() => null))?.isFile() ?? false;
9}
10
11export const ensureDirectoryAsync = (path: string) => fs.promises.mkdir(path, { recursive: true });
12
13export const ensureDirectory = (path: string) => fs.mkdirSync(path, { recursive: true });
14
15export const copySync = fs.copySync;
16
17export const copyAsync = fs.copy;
18
19export const removeAsync = fs.remove;
20