expo-doctor 1.13.6-canary-20250722-599a28f → 1.14.0-canary-20250811-5c940c0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/@expo/cli/src/api/endpoint.d.ts +4 -0
- package/build/@expo/cli/src/api/getNativeModuleVersions.d.ts +21 -0
- package/build/@expo/cli/src/api/rest/cache/FileSystemResponseCache.d.ts +18 -0
- package/build/@expo/cli/src/api/rest/cache/ResponseCache.d.ts +48 -0
- package/build/@expo/cli/src/api/rest/cache/wrapFetchWithCache.d.ts +3 -0
- package/build/@expo/cli/src/api/rest/client.d.ts +52 -0
- package/build/@expo/cli/src/api/rest/client.types.d.ts +19 -0
- package/build/@expo/cli/src/api/rest/wrapFetchWithBaseUrl.d.ts +6 -0
- package/build/@expo/cli/src/api/rest/wrapFetchWithOffline.d.ts +3 -0
- package/build/@expo/cli/src/api/rest/wrapFetchWithProgress.d.ts +2 -0
- package/build/@expo/cli/src/api/rest/wrapFetchWithProxy.d.ts +3 -0
- package/build/@expo/cli/src/api/rest/wrapFetchWithUserAgent.d.ts +2 -0
- package/build/@expo/cli/src/api/settings.d.ts +1 -0
- package/build/@expo/cli/src/api/user/UserSettings.d.ts +45 -0
- package/build/@expo/cli/src/log.d.ts +24 -0
- package/build/@expo/cli/src/start/doctor/dependencies/bundledNativeModules.d.ts +11 -0
- package/build/@expo/cli/src/utils/dir.d.ts +10 -0
- package/build/@expo/cli/src/utils/env.d.ts +127 -0
- package/build/@expo/cli/src/utils/errors.d.ts +23 -0
- package/build/@expo/cli/src/utils/fetch.d.ts +11 -0
- package/build/expo-doctor/src/checks/PeerDependencyChecks.d.ts +7 -0
- package/build/{utils → expo-doctor/src/utils}/metroConfigLoader.d.ts +1 -1
- package/build/index.js +9 -7
- package/package.json +7 -6
- /package/build/{api → expo-doctor/src/api}/getSchemaAsync.d.ts +0 -0
- /package/build/{api → expo-doctor/src/api}/getVersionsAsync.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/AppConfigFieldsNotSyncedToNativeProjectsCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/DirectPackageInstallCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/DoctorMultiCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/ExpoConfigCommonIssueCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/ExpoConfigSchemaCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/GlobalPackageInstalledLocallyCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/IllegalPackageCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/InstalledDependencyVersionCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/MetroConfigCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/NativeToolingVersionCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/PackageJsonCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/PackageManagerVersionCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/ProjectSetupCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/ReactNativeDirectoryCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/StoreCompatibilityCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/SupportPackageVersionCheck.d.ts +0 -0
- /package/build/{checks → expo-doctor/src/checks}/checks.types.d.ts +0 -0
- /package/build/{doctor.d.ts → expo-doctor/src/doctor.d.ts} +0 -0
- /package/build/{index.d.ts → expo-doctor/src/index.d.ts} +0 -0
- /package/build/{utils → expo-doctor/src/utils}/TerminalLink.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/checkResolver.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/doctorConfig.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/env.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/errors.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/explainDependencies.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/explainDependencies.types.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/files.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/getRemoteVersionsForSdkAsync.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/getXcodeVersionAsync.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/interactive.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/isFileIgnoredByRules.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/log.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/nodeEnv.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/ora.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/schema.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/strings.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/timer.d.ts +0 -0
- /package/build/{utils → expo-doctor/src/utils}/versions.d.ts +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type BundledNativeModules = Record<string, string>;
|
|
2
|
+
/**
|
|
3
|
+
* The endpoint returns the list of bundled native modules for a given SDK version.
|
|
4
|
+
* The data is populated by the `et sync-bundled-native-modules` script from expo/expo repo.
|
|
5
|
+
* See the code for more details:
|
|
6
|
+
* https://github.com/expo/expo/blob/main/tools/src/commands/SyncBundledNativeModules.ts
|
|
7
|
+
*
|
|
8
|
+
* Example result:
|
|
9
|
+
* [
|
|
10
|
+
* {
|
|
11
|
+
* id: "79285187-e5c4-47f7-b6a9-664f5d16f0db",
|
|
12
|
+
* sdkVersion: "41.0.0",
|
|
13
|
+
* npmPackage: "expo-camera",
|
|
14
|
+
* versionRange: "~10.1.0",
|
|
15
|
+
* createdAt: "2021-04-29T09:34:32.825Z",
|
|
16
|
+
* updatedAt: "2021-04-29T09:34:32.825Z"
|
|
17
|
+
* },
|
|
18
|
+
* ...
|
|
19
|
+
* ]
|
|
20
|
+
*/
|
|
21
|
+
export declare function getNativeModuleVersionsAsync(sdkVersion: string): Promise<BundledNativeModules>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ResponseCache, ResponseCacheEntry } from './ResponseCache';
|
|
2
|
+
export declare class FileSystemResponseCache implements ResponseCache {
|
|
3
|
+
/** The absolute path to the directory used to store responses */
|
|
4
|
+
private cacheDirectory;
|
|
5
|
+
/** Optional auto-expiration for all stored responses */
|
|
6
|
+
private timeToLive?;
|
|
7
|
+
constructor(options: {
|
|
8
|
+
cacheDirectory: string;
|
|
9
|
+
ttl?: number;
|
|
10
|
+
});
|
|
11
|
+
private getFilePaths;
|
|
12
|
+
/** Retrieve the cache response, if any */
|
|
13
|
+
get(cacheKey: string): Promise<ResponseCacheEntry | undefined>;
|
|
14
|
+
/** Store the response for caching */
|
|
15
|
+
set(cacheKey: string, response: ResponseCacheEntry): Promise<ResponseCacheEntry | undefined>;
|
|
16
|
+
/** Remove the response from caching */
|
|
17
|
+
remove(cacheKey: string): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Response, RequestInfo, RequestInit } from 'undici';
|
|
2
|
+
export type ResponseCacheEntry = {
|
|
3
|
+
body: import('stream/web').ReadableStream;
|
|
4
|
+
info: ReturnType<typeof getResponseInfo>;
|
|
5
|
+
};
|
|
6
|
+
export interface ResponseCache {
|
|
7
|
+
/** Load the response info from cache, if any */
|
|
8
|
+
get(cacheKey: string): Promise<ResponseCacheEntry | undefined>;
|
|
9
|
+
/** Store the response info to cache, and return the cached info */
|
|
10
|
+
set(cacheKey: string, response: ResponseCacheEntry): Promise<ResponseCacheEntry | undefined>;
|
|
11
|
+
/** Remove a response entry from the cache */
|
|
12
|
+
remove(cacheKey: string): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare function getResponseInfo(response: Response): {
|
|
15
|
+
url: string;
|
|
16
|
+
status: number;
|
|
17
|
+
statusText: string;
|
|
18
|
+
headers: {
|
|
19
|
+
[k: string]: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare function getRequestCacheKey(info: RequestInfo, init?: RequestInit): string;
|
|
23
|
+
/** @internal Exposed for testing */
|
|
24
|
+
export declare function getRequestInfoCacheData(info: RequestInfo): {
|
|
25
|
+
url: string;
|
|
26
|
+
credentials?: undefined;
|
|
27
|
+
destination?: undefined;
|
|
28
|
+
headers?: undefined;
|
|
29
|
+
integrity?: undefined;
|
|
30
|
+
method?: undefined;
|
|
31
|
+
redirect?: undefined;
|
|
32
|
+
referrer?: undefined;
|
|
33
|
+
referrerPolicy?: undefined;
|
|
34
|
+
} | {
|
|
35
|
+
credentials: string;
|
|
36
|
+
destination: string;
|
|
37
|
+
headers: {
|
|
38
|
+
[k: string]: string;
|
|
39
|
+
};
|
|
40
|
+
integrity: string;
|
|
41
|
+
method: string;
|
|
42
|
+
redirect: import("undici-types").RequestRedirect;
|
|
43
|
+
referrer: string;
|
|
44
|
+
referrerPolicy: import("undici-types").ReferrerPolicy;
|
|
45
|
+
url: string;
|
|
46
|
+
};
|
|
47
|
+
/** @internal Exposed for testing */
|
|
48
|
+
export declare function getRequestBodyCacheData(body: RequestInit['body']): string | Buffer<ArrayBufferLike> | null | undefined;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { JSONValue } from '@expo/json-file';
|
|
2
|
+
import type { FetchLike } from './client.types';
|
|
3
|
+
export declare class ApiV2Error extends Error {
|
|
4
|
+
readonly name = "ApiV2Error";
|
|
5
|
+
readonly code: string;
|
|
6
|
+
readonly expoApiV2ErrorCode: string;
|
|
7
|
+
readonly expoApiV2ErrorDetails?: JSONValue;
|
|
8
|
+
readonly expoApiV2ErrorServerStack?: string;
|
|
9
|
+
readonly expoApiV2ErrorMetadata?: object;
|
|
10
|
+
readonly expoApiV2RequestId?: string;
|
|
11
|
+
constructor(response: {
|
|
12
|
+
message: string;
|
|
13
|
+
code: string;
|
|
14
|
+
stack?: string;
|
|
15
|
+
details?: JSONValue;
|
|
16
|
+
metadata?: object;
|
|
17
|
+
requestId: string;
|
|
18
|
+
});
|
|
19
|
+
toString(): string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* An Expo server error that didn't return the expected error JSON information.
|
|
23
|
+
* The only 'expected' place for this is in testing, all other cases are bugs with the server.
|
|
24
|
+
*/
|
|
25
|
+
export declare class UnexpectedServerError extends Error {
|
|
26
|
+
readonly name = "UnexpectedServerError";
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* An error defining that the server didn't return the expected error JSON information.
|
|
30
|
+
* The only 'expected' place for this is in testing, all other cases are bugs with the client.
|
|
31
|
+
*/
|
|
32
|
+
export declare class UnexpectedServerData extends Error {
|
|
33
|
+
readonly name = "UnexpectedServerData";
|
|
34
|
+
}
|
|
35
|
+
/** Validate the response json contains `.data` property, or throw an unexpected server data error */
|
|
36
|
+
export declare function getResponseDataOrThrow<T = any>(json: unknown): T;
|
|
37
|
+
/**
|
|
38
|
+
* @returns a `fetch` function that will inject user authentication information and handle errors from the Expo API.
|
|
39
|
+
*/
|
|
40
|
+
export declare function wrapFetchWithCredentials(fetchFunction: FetchLike): FetchLike;
|
|
41
|
+
/**
|
|
42
|
+
* Create an instance of the fully qualified fetch command (auto authentication and api) but with caching in the '~/.expo' directory.
|
|
43
|
+
* Caching is disabled automatically if the EXPO_NO_CACHE or EXPO_BETA environment variables are enabled.
|
|
44
|
+
*/
|
|
45
|
+
export declare function createCachedFetch({ fetch, cacheDirectory, ttl, skipCache, }: {
|
|
46
|
+
fetch?: FetchLike;
|
|
47
|
+
cacheDirectory: string;
|
|
48
|
+
ttl?: number;
|
|
49
|
+
skipCache?: boolean;
|
|
50
|
+
}): FetchLike;
|
|
51
|
+
/** Instance of fetch with automatic base URL pointing to the Expo API, user credential injection, and API error handling. Caching not included. */
|
|
52
|
+
export declare const fetchAsync: FetchLike;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { RequestInfo, RequestInit, Response } from 'undici';
|
|
2
|
+
import type { URLSearchParams } from 'url';
|
|
3
|
+
export type ProgressCallback = (props: {
|
|
4
|
+
/** Number ranging from 0 to 1 representing the download percentage. */
|
|
5
|
+
progress: number;
|
|
6
|
+
/** Total size of the download, in bytes. */
|
|
7
|
+
total: number;
|
|
8
|
+
/** Current amount of data downloaded, in bytes. */
|
|
9
|
+
loaded: number;
|
|
10
|
+
}) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Represents a `fetch`-like function. Used since `typeof fetch` has statics we don't
|
|
13
|
+
* use and aren't interested in hoisting every time we wrap fetch with extra features.
|
|
14
|
+
*/
|
|
15
|
+
export type FetchLike = (url: RequestInfo, init?: RequestInit & {
|
|
16
|
+
searchParams?: URLSearchParams;
|
|
17
|
+
/** Progress callback, only implemented when `wrapFetchWithProgress` is used. */
|
|
18
|
+
onProgress?: ProgressCallback;
|
|
19
|
+
}) => Promise<Response>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FetchLike } from './client.types';
|
|
2
|
+
/**
|
|
3
|
+
* Wrap a fetch function with support for a predefined base URL.
|
|
4
|
+
* This implementation works like the browser fetch, applying the input to a prefix base URL.
|
|
5
|
+
*/
|
|
6
|
+
export declare function wrapFetchWithBaseUrl(fetch: FetchLike, baseUrl: string): FetchLike;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function disableNetwork(): void;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import JsonFile from '@expo/json-file';
|
|
2
|
+
type SessionData = {
|
|
3
|
+
sessionSecret?: string;
|
|
4
|
+
userId?: string;
|
|
5
|
+
username?: string;
|
|
6
|
+
currentConnection?: 'Username-Password-Authentication' | 'Browser-Flow-Authentication';
|
|
7
|
+
};
|
|
8
|
+
export type UserSettingsData = {
|
|
9
|
+
auth?: SessionData | null;
|
|
10
|
+
ignoreBundledBinaries?: string[];
|
|
11
|
+
PATH?: string;
|
|
12
|
+
/** Last development code signing ID used for `npx expo run:ios`. */
|
|
13
|
+
developmentCodeSigningId?: string;
|
|
14
|
+
/** Unique user ID which is generated anonymously and can be cleared locally. */
|
|
15
|
+
uuid?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function getExpoHomeDirectory(): string;
|
|
18
|
+
/** Return the user cache directory. */
|
|
19
|
+
export declare function getSettingsDirectory(): string;
|
|
20
|
+
/** Return the file path of the settings file */
|
|
21
|
+
export declare function getSettingsFilePath(): string;
|
|
22
|
+
/** Get a new JsonFile instance pointed towards the settings file */
|
|
23
|
+
export declare function getSettings(): JsonFile<UserSettingsData>;
|
|
24
|
+
export declare function getAccessToken(): string | null;
|
|
25
|
+
export declare function getSession(): SessionData | null;
|
|
26
|
+
export declare function setSessionAsync(sessionData?: SessionData): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Check if there are credentials available, without fetching the user information.
|
|
29
|
+
* This can be used as a faster check to see if users are authenticated.
|
|
30
|
+
* Note, this isn't checking the validity of the credentials.
|
|
31
|
+
*/
|
|
32
|
+
export declare function hasCredentials(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Get an anonymous and randomly generated identifier.
|
|
35
|
+
* This is used to group telemetry event by unknown actor,
|
|
36
|
+
* and cannot be used to identify a single user.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getAnonymousIdAsync(): Promise<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Get an anonymous and randomly generated identifier.
|
|
41
|
+
* This is used to group telemetry event by unknown actor,
|
|
42
|
+
* and cannot be used to identify a single user.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getAnonymousId(): string;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare function time(label?: string): void;
|
|
2
|
+
export declare function timeEnd(label?: string): void;
|
|
3
|
+
export declare function error(...message: string[]): void;
|
|
4
|
+
/** Print an error and provide additional info (the stack trace) in debug mode. */
|
|
5
|
+
export declare function exception(e: Error): void;
|
|
6
|
+
export declare function warn(...message: string[]): void;
|
|
7
|
+
export declare function log(...message: string[]): void;
|
|
8
|
+
/** @deprecated use `debug` package with the `expo:` prefix instead. */
|
|
9
|
+
export declare function debug(...message: any[]): void;
|
|
10
|
+
/** Clear the terminal of all text. */
|
|
11
|
+
export declare function clear(): void;
|
|
12
|
+
/** Log a message and exit the current process. If the `code` is non-zero then `console.error` will be used instead of `console.log`. */
|
|
13
|
+
export declare function exit(message: string | Error, code?: number): never;
|
|
14
|
+
export declare const Log: {
|
|
15
|
+
time: typeof time;
|
|
16
|
+
timeEnd: typeof timeEnd;
|
|
17
|
+
error: typeof error;
|
|
18
|
+
exception: typeof exception;
|
|
19
|
+
warn: typeof warn;
|
|
20
|
+
log: typeof log;
|
|
21
|
+
debug: typeof debug;
|
|
22
|
+
clear: typeof clear;
|
|
23
|
+
exit: typeof exit;
|
|
24
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type BundledNativeModules = Record<string, string>;
|
|
2
|
+
/**
|
|
3
|
+
* Gets the bundledNativeModules.json for a given SDK version:
|
|
4
|
+
* - Tries to fetch the data from the /sdks/:sdkVersion/native-modules API endpoint.
|
|
5
|
+
* - If the data is missing on the server (it can happen for SDKs that are yet fully released)
|
|
6
|
+
* or there's a downtime, reads the local .json file from the "expo" package.
|
|
7
|
+
* - For UNVERSIONED, returns the local .json file contents.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getVersionedNativeModulesAsync(projectRoot: string, sdkVersion: string, options?: {
|
|
10
|
+
skipRemoteVersions?: boolean;
|
|
11
|
+
}): Promise<BundledNativeModules>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function fileExistsSync(file: string): boolean;
|
|
2
|
+
export declare function directoryExistsSync(file: string): boolean;
|
|
3
|
+
export declare function directoryExistsAsync(file: string): Promise<boolean>;
|
|
4
|
+
export declare function fileExistsAsync(file: string): Promise<boolean>;
|
|
5
|
+
export declare const ensureDirectoryAsync: (path: string) => Promise<string | undefined>;
|
|
6
|
+
export declare const ensureDirectory: (path: string) => void;
|
|
7
|
+
export declare const copySync: (src: string, dest: string) => void;
|
|
8
|
+
export declare const copyAsync: (src: string, dest: string) => Promise<void>;
|
|
9
|
+
export declare const removeAsync: (path: string) => Promise<void>;
|
|
10
|
+
export declare function isPathInside(child: string, parent: string): boolean;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
declare class Env {
|
|
2
|
+
/** Enable profiling metrics */
|
|
3
|
+
get EXPO_PROFILE(): boolean;
|
|
4
|
+
/** Enable debug logging */
|
|
5
|
+
get EXPO_DEBUG(): boolean;
|
|
6
|
+
/** Disable all network requests */
|
|
7
|
+
get EXPO_OFFLINE(): boolean;
|
|
8
|
+
/** Enable the beta version of Expo (TODO: Should this just be in the beta version of expo releases?) */
|
|
9
|
+
get EXPO_BETA(): boolean;
|
|
10
|
+
/** Enable staging API environment */
|
|
11
|
+
get EXPO_STAGING(): boolean;
|
|
12
|
+
/** Enable local API environment */
|
|
13
|
+
get EXPO_LOCAL(): boolean;
|
|
14
|
+
/** Is running in non-interactive CI mode */
|
|
15
|
+
get CI(): boolean;
|
|
16
|
+
/** Disable telemetry (analytics) */
|
|
17
|
+
get EXPO_NO_TELEMETRY(): boolean;
|
|
18
|
+
/** Disable detaching telemetry to separate process */
|
|
19
|
+
get EXPO_NO_TELEMETRY_DETACH(): boolean;
|
|
20
|
+
/** local directory to the universe repo for testing locally */
|
|
21
|
+
get EXPO_UNIVERSE_DIR(): string;
|
|
22
|
+
/** @deprecated Default Webpack host string */
|
|
23
|
+
get WEB_HOST(): string;
|
|
24
|
+
/** Skip warning users about a dirty git status */
|
|
25
|
+
get EXPO_NO_GIT_STATUS(): boolean;
|
|
26
|
+
/** Disable auto web setup */
|
|
27
|
+
get EXPO_NO_WEB_SETUP(): boolean;
|
|
28
|
+
/** Disable auto TypeScript setup */
|
|
29
|
+
get EXPO_NO_TYPESCRIPT_SETUP(): boolean;
|
|
30
|
+
/** Disable all API caches. Does not disable bundler caches. */
|
|
31
|
+
get EXPO_NO_CACHE(): boolean;
|
|
32
|
+
/** Disable the app select redirect page. */
|
|
33
|
+
get EXPO_NO_REDIRECT_PAGE(): boolean;
|
|
34
|
+
/** The React Metro port that's baked into react-native scripts and tools. */
|
|
35
|
+
get RCT_METRO_PORT(): number;
|
|
36
|
+
/** Skip validating the manifest during `export`. */
|
|
37
|
+
get EXPO_SKIP_MANIFEST_VALIDATION_TOKEN(): boolean;
|
|
38
|
+
/** Public folder path relative to the project root. Default to `public` */
|
|
39
|
+
get EXPO_PUBLIC_FOLDER(): string;
|
|
40
|
+
/** Higher priority `$EDIOTR` variable for indicating which editor to use when pressing `o` in the Terminal UI. */
|
|
41
|
+
get EXPO_EDITOR(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Overwrite the dev server URL, disregarding the `--port`, `--host`, `--tunnel`, `--lan`, `--localhost` arguments.
|
|
44
|
+
* This is useful for browser editors that require custom proxy URLs.
|
|
45
|
+
*/
|
|
46
|
+
get EXPO_PACKAGER_PROXY_URL(): string;
|
|
47
|
+
/**
|
|
48
|
+
* **Experimental** - Disable using `exp.direct` as the hostname for
|
|
49
|
+
* `--tunnel` connections. This enables **https://** forwarding which
|
|
50
|
+
* can be used to test universal links on iOS.
|
|
51
|
+
*
|
|
52
|
+
* This may cause issues with `expo-linking` and Expo Go.
|
|
53
|
+
*
|
|
54
|
+
* Select the exact subdomain by passing a string value that is not one of: `true`, `false`, `1`, `0`.
|
|
55
|
+
*/
|
|
56
|
+
get EXPO_TUNNEL_SUBDOMAIN(): string | boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Force Expo CLI to use the [`resolver.resolverMainFields`](https://facebook.github.io/metro/docs/configuration/#resolvermainfields) from the project `metro.config.js` for all platforms.
|
|
59
|
+
*
|
|
60
|
+
* By default, Expo CLI will use `['browser', 'module', 'main']` (default for Webpack) for web and the user-defined main fields for other platforms.
|
|
61
|
+
*/
|
|
62
|
+
get EXPO_METRO_NO_MAIN_FIELD_OVERRIDE(): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* HTTP/HTTPS proxy to connect to for network requests. Configures [https-proxy-agent](https://www.npmjs.com/package/https-proxy-agent).
|
|
65
|
+
*/
|
|
66
|
+
get HTTP_PROXY(): string;
|
|
67
|
+
/**
|
|
68
|
+
* Use the network inspector by overriding the metro inspector proxy with a custom version.
|
|
69
|
+
* @deprecated This has been replaced by `@react-native/dev-middleware` and is now unused.
|
|
70
|
+
*/
|
|
71
|
+
get EXPO_NO_INSPECTOR_PROXY(): boolean;
|
|
72
|
+
/** Disable lazy bundling in Metro bundler. */
|
|
73
|
+
get EXPO_NO_METRO_LAZY(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Enable the unstable inverse dependency stack trace for Metro bundling errors.
|
|
76
|
+
* @deprecated This will be removed in the future.
|
|
77
|
+
*/
|
|
78
|
+
get EXPO_METRO_UNSTABLE_ERRORS(): boolean;
|
|
79
|
+
/** Enable the experimental sticky resolver for Metro. */
|
|
80
|
+
get EXPO_USE_STICKY_RESOLVER(): boolean;
|
|
81
|
+
/** Enable the unstable fast resolver for Metro. */
|
|
82
|
+
get EXPO_USE_FAST_RESOLVER(): boolean;
|
|
83
|
+
/** Disable Environment Variable injection in client bundles. */
|
|
84
|
+
get EXPO_NO_CLIENT_ENV_VARS(): boolean;
|
|
85
|
+
/** Set the default `user` that should be passed to `--user` with ADB commands. Used for installing APKs on Android devices with multiple profiles. Defaults to `0`. */
|
|
86
|
+
get EXPO_ADB_USER(): string;
|
|
87
|
+
/** Used internally to enable E2E utilities. This behavior is not stable to external users. */
|
|
88
|
+
get __EXPO_E2E_TEST(): boolean;
|
|
89
|
+
/** Unstable: Force single-bundle exports in production. */
|
|
90
|
+
get EXPO_NO_BUNDLE_SPLITTING(): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Enable Atlas to gather bundle information during development or export.
|
|
93
|
+
* Note, because this used to be an experimental feature, both `EXPO_ATLAS` and `EXPO_UNSTABLE_ATLAS` are supported.
|
|
94
|
+
*/
|
|
95
|
+
get EXPO_ATLAS(): boolean;
|
|
96
|
+
/** Unstable: Enable tree shaking for Metro. */
|
|
97
|
+
get EXPO_UNSTABLE_TREE_SHAKING(): boolean;
|
|
98
|
+
/** Unstable: Enable eager bundling where transformation runs uncached after the entire bundle has been created. This is required for production tree shaking and less optimized for development bundling. */
|
|
99
|
+
get EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH(): boolean;
|
|
100
|
+
/** Enable the use of Expo's custom metro require implementation. The custom require supports better debugging, tree shaking, and React Server Components. */
|
|
101
|
+
get EXPO_USE_METRO_REQUIRE(): boolean;
|
|
102
|
+
/** Internal key used to pass eager bundle data from the CLI to the native run scripts during `npx expo run` commands. */
|
|
103
|
+
get __EXPO_EAGER_BUNDLE_OPTIONS(): string;
|
|
104
|
+
/** Disable server deployment during production builds (during `expo export:embed`). This is useful for testing API routes and server components against a local server. */
|
|
105
|
+
get EXPO_NO_DEPLOY(): boolean;
|
|
106
|
+
/** Enable hydration during development when rendering Expo Web */
|
|
107
|
+
get EXPO_WEB_DEV_HYDRATE(): boolean;
|
|
108
|
+
/** Enable experimental React Server Functions support. */
|
|
109
|
+
get EXPO_UNSTABLE_SERVER_FUNCTIONS(): boolean;
|
|
110
|
+
/** Enable unstable/experimental mode where React Native Web isn't required to run Expo apps on web. */
|
|
111
|
+
get EXPO_NO_REACT_NATIVE_WEB(): boolean;
|
|
112
|
+
/** Enable unstable/experimental support for deploying the native server in `npx expo run` commands. */
|
|
113
|
+
get EXPO_UNSTABLE_DEPLOY_SERVER(): boolean;
|
|
114
|
+
/** Is running in EAS Build. This is set by EAS: https://docs.expo.dev/eas/environment-variables/ */
|
|
115
|
+
get EAS_BUILD(): boolean;
|
|
116
|
+
/** Disable the React Native Directory compatibility check for new architecture when installing packages */
|
|
117
|
+
get EXPO_NO_NEW_ARCH_COMPAT_CHECK(): boolean;
|
|
118
|
+
/** Disable the dependency validation when installing other dependencies and starting the project */
|
|
119
|
+
get EXPO_NO_DEPENDENCY_VALIDATION(): boolean;
|
|
120
|
+
/** Force Expo CLI to run in webcontainer mode, this has impact on which URL Expo is using by default */
|
|
121
|
+
get EXPO_FORCE_WEBCONTAINER_ENV(): boolean;
|
|
122
|
+
/** Disable by falsy value live binding in experimental import export support. Enabled by default. */
|
|
123
|
+
get EXPO_UNSTABLE_LIVE_BINDINGS(): boolean;
|
|
124
|
+
}
|
|
125
|
+
export declare const env: Env;
|
|
126
|
+
export declare function envIsWebcontainer(): boolean;
|
|
127
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* General error, formatted as a message in red text when caught by expo-cli (no stack trace is printed). Should be used in favor of `log.error()` in most cases.
|
|
3
|
+
*/
|
|
4
|
+
export declare class CommandError extends Error {
|
|
5
|
+
code: string;
|
|
6
|
+
name: string;
|
|
7
|
+
readonly isCommandError = true;
|
|
8
|
+
constructor(code: string, message?: string);
|
|
9
|
+
}
|
|
10
|
+
export declare class AbortCommandError extends CommandError {
|
|
11
|
+
constructor();
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Used to end a CLI process without printing a stack trace in the Expo CLI. Should be used in favor of `process.exit`.
|
|
15
|
+
*/
|
|
16
|
+
export declare class SilentError extends CommandError {
|
|
17
|
+
constructor(messageOrError?: string | Error);
|
|
18
|
+
}
|
|
19
|
+
export declare function logCmdError(error: any): never;
|
|
20
|
+
/** This should never be thrown in production. */
|
|
21
|
+
export declare class UnimplementedError extends Error {
|
|
22
|
+
constructor();
|
|
23
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { FetchLike } from '../api/rest/client.types';
|
|
2
|
+
/**
|
|
3
|
+
* The Node's built-in fetch API, but polyfilled from `undici` if necessary.
|
|
4
|
+
* @todo(cedric): remove this once we min-support a Node version where fetch can't be disabled
|
|
5
|
+
*/
|
|
6
|
+
export declare const fetch: FetchLike;
|
|
7
|
+
/**
|
|
8
|
+
* Node's built-in fetch Headers class, or the polyfilled Headers from `undici` when unavailable.
|
|
9
|
+
* @todo(cedric): remove this once we min-support a Node version where fetch can't be disabled
|
|
10
|
+
*/
|
|
11
|
+
export declare const Headers: typeof import('undici').Headers;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DoctorCheck, DoctorCheckParams, DoctorCheckResult } from './checks.types';
|
|
2
|
+
export declare class PeerDependencyChecks implements DoctorCheck {
|
|
3
|
+
description: string;
|
|
4
|
+
sdkVersionRange: string;
|
|
5
|
+
runAsync({ pkg, projectRoot, exp }: DoctorCheckParams): Promise<DoctorCheckResult>;
|
|
6
|
+
private checkPackagePeerDependencies;
|
|
7
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type MetroConfig from 'metro-config';
|
|
1
|
+
import type MetroConfig from '@expo/metro/metro-config';
|
|
2
2
|
export declare function configExistsAsync(projectRoot: string): Promise<boolean>;
|
|
3
3
|
export declare function loadConfigAsync(projectDir: string): Promise<MetroConfig.ConfigT>;
|