export declare type ProjectConfig = {
exp: ExpoConfig;
pkg: PackageJSONConfig;
rootConfig: AppJSONConfig;
};
export declare type AppJSONConfig = {
expo: ExpoConfig;
[key: string]: any;
};
export declare type BareAppConfig = {
name: string;
displayName: string;
[key: string]: any;
};
export declare type ExpoConfig = {
name?: string;
slug?: string;
sdkVersion?: string;
platforms?: Array<Platform>;
nodeModulesPath?: string;
[key: string]: any;
};
export declare type ExpRc = {
[key: string]: any;
};
export declare type Platform = 'android' | 'ios' | 'web';
export declare type PackageJSONConfig = {
[key: string]: any;
};
export declare function isUsingYarn(projectRoot: string): boolean;
export declare function fileExistsAsync(file: string): Promise<boolean>;
export declare function fileExists(file: string): boolean;
export declare function resolveModule(request: string, projectRoot: string, exp: ExpoConfig): string;
export declare function findConfigFileAsync(projectRoot: string): Promise<{
configPath: string;
configName: string;
configNamespace: 'expo';
}>;
export declare function findConfigFile(projectRoot: string): {
configPath: string;
configName: string;
configNamespace: 'expo';
};
export declare function configFilenameAsync(projectRoot: string): Promise<string>;
export declare function configFilename(projectRoot: string): string;
export declare function readExpRcAsync(projectRoot: string): Promise<ExpRc>;
export declare function setCustomConfigPath(projectRoot: string, configPath: string): void;
export declare function createEnvironmentConstants(appManifest: ExpoConfig, pwaManifestLocation: string): {
name: any;
/**
* Omit app.json properties that get removed during the native turtle build
*
* `facebookScheme`
* `facebookAppId`
* `facebookDisplayName`
*/
facebookScheme: undefined;
facebookAppId: undefined;
facebookDisplayName: undefined;
ios: undefined;
android: undefined;
web: any;
slug?: string | undefined;
sdkVersion?: string | undefined;
platforms?: Platform[] | undefined;
nodeModulesPath?: string | undefined;
};
export declare function getConfigForPWA(projectRoot: string, getAbsolutePath: (...pathComponents: string[]) => string, options: object): ExpoConfig;
export declare function getNameFromConfig(exp?: ExpoConfig): {
appName: string;
webName: string;
};
export declare function validateShortName(shortName: string): Promise<void>;
export declare function getWebOutputPath(config?: {
[key: string]: any;
}): string;
export declare function ensurePWAConfig(appJSON: AppJSONConfig | ExpoConfig, getAbsolutePath: ((...pathComponents: string[]) => string) | undefined, options: object): ExpoConfig;
export declare function readConfigJson(projectRoot: string, skipValidation?: boolean): ProjectConfig;
export declare function readConfigJsonAsync(projectRoot: string, skipValidation?: boolean): Promise<ProjectConfig>;
export declare function writeConfigJsonAsync(projectRoot: string, options: Object): Promise<ProjectConfig>;