You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
3.0 KiB

import { StandaloneBuildFlags } from '../internal';
declare type StandaloneContextDataType = 'user' | 'service';
declare type StandaloneContextTestEnvironment = 'none' | 'local' | 'ci';
export declare function isStandaloneContextDataUser(value: any): value is StandaloneContextDataUser;
export declare function isStandaloneContextTestEnvironment(value: string): value is StandaloneContextTestEnvironment;
export declare function isStandaloneContextDataService(value: any): value is StandaloneContextDataService;
/**
* A user context is used when we are configuring a standalone app locally on a user's machine,
* such as during `exp detach`.
*/
export declare type StandaloneContextDataUser = {
projectPath: string;
exp: any;
};
/**
* A service context is used when we are generating a standalone app remotely on an Expo
* service machine, such as during `exp build`.
*/
export declare type StandaloneContextDataService = {
expoSourcePath: string;
archivePath: string | null;
manifest: any;
privateConfig: any;
testEnvironment: StandaloneContextTestEnvironment;
shellAppSdkVersion: string;
};
declare class StandaloneContext {
data?: StandaloneContextDataUser | StandaloneContextDataService;
config: any;
static createUserContext: (projectPath: string, exp: any, publishedUrl?: string | undefined) => StandaloneContextUser;
static createServiceContext: (expoSourcePath: string, archivePath: string | null, manifest: any, privateConfig: any, testEnvironment: StandaloneContextTestEnvironment, build: StandaloneBuildFlags, publishedUrl: string, releaseChannel: string, shellAppSdkVersion: string) => StandaloneContextService;
/**
* On iOS we begin configuring standalone apps before we have any information about the
* project's manifest. By default let's treat all contexts as non-anonymous and override
* it in contexts that needs this to be different.
*/
isAnonymous(): boolean;
}
export declare class StandaloneContextUser extends StandaloneContext {
data: StandaloneContextDataUser;
published: {
url?: string;
releaseChannel: 'default';
};
build: StandaloneBuildFlags;
type: StandaloneContextDataType;
constructor(data: StandaloneContextDataUser, published: {
url?: string;
releaseChannel: 'default';
}, build: StandaloneBuildFlags);
}
export declare class StandaloneContextService extends StandaloneContext {
data: StandaloneContextDataService;
published: {
url: string;
releaseChannel: string;
};
build: StandaloneBuildFlags;
type: StandaloneContextDataType;
constructor(data: StandaloneContextDataService, published: {
url: string;
releaseChannel: string;
}, build: StandaloneBuildFlags);
/**
* On iOS we begin configuring standalone apps before we have any information about the
* project's manifest.
*/
isAnonymous(): boolean;
}
export declare type AnyStandaloneContext = StandaloneContextUser | StandaloneContextService;
export default StandaloneContext;