xref: /expo/tools/src/client-build/types.ts (revision a272999e)
1import aws from 'aws-sdk';
2
3import { Platform } from '../ProjectVersions';
4
5export { Platform };
6
7export type S3Client = aws.S3;
8
9export interface ClientBuilder {
10  platform: Platform;
11  getAppPath: () => string;
12  getClientUrl: (appVersion: string) => string;
13  getAppVersionAsync: () => Promise<string>;
14  buildAsync: (flavor?: ClientBuildFlavor) => Promise<void>;
15  uploadBuildAsync: (s3Client: S3Client, appVersion: string) => Promise<void>;
16}
17
18export enum ClientBuildFlavor {
19  VERSIONED = 'versioned',
20  UNVERSIONED = 'unversioned',
21}
22