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