UNPKG

expo-modules-autolinking

Version:
24 lines (23 loc) 1.61 kB
import type { PackageRevision, SupportedPlatform } from '../types'; import { type DependencyResolution, type ResolutionResult } from './types'; import { type Memoizer } from '../memoize'; import type { RNConfigReactNativeProjectConfig } from '../reactNativeConfig'; export interface CachedDependenciesSearchOptions { includeNames: Set<string>; excludeNames: Set<string>; searchPaths: string[]; } export interface CachedDependenciesLinker { memoizer: Memoizer; getOptionsForPlatform(platform: SupportedPlatform, extraInclude?: string[]): Promise<CachedDependenciesSearchOptions>; loadReactNativeProjectConfig(): Promise<RNConfigReactNativeProjectConfig | null>; scanDependenciesFromRNProjectConfig(): Promise<ResolutionResult>; scanDependenciesRecursively(): Promise<ResolutionResult>; scanDependenciesInSearchPath(searchPath: string): Promise<ResolutionResult>; } export declare function makeCachedDependenciesLinker(params: { projectRoot: string; }): CachedDependenciesLinker; export declare function isNativeModuleAsync(resolution: DependencyResolution, reactNativeProjectConfig: RNConfigReactNativeProjectConfig | null, platform: SupportedPlatform, excludeNames: Set<string>): Promise<boolean>; export declare function scanDependencyResolutionsForPlatform(linker: CachedDependenciesLinker, platform: SupportedPlatform, extraInclude?: string[]): Promise<ResolutionResult>; export declare function scanExpoModuleResolutionsForPlatform(linker: CachedDependenciesLinker, platform: SupportedPlatform, extraInclude?: string[]): Promise<Record<string, PackageRevision>>;