1import { ExpoConfig } from '@expo/config-types'; 2 3import { ModPlatform } from '../Plugin.types'; 4 5export type PluginHistoryItem = { 6 name: string; 7 version: string; 8 platform?: ModPlatform; 9}; 10 11export function getHistoryItem( 12 config: Pick<ExpoConfig, '_internal'>, 13 name: string 14): PluginHistoryItem | null { 15 return config._internal?.pluginHistory?.[name] ?? null; 16} 17 18export function addHistoryItem( 19 config: ExpoConfig, 20 item: Omit<PluginHistoryItem, 'version'> & { version?: string } 21): ExpoConfig { 22 if (!config._internal) { 23 config._internal = {}; 24 } 25 if (!config._internal.pluginHistory) { 26 config._internal.pluginHistory = {}; 27 } 28 29 if (!item.version) { 30 item.version = 'UNVERSIONED'; 31 } 32 33 config._internal.pluginHistory[item.name] = item; 34 35 return config; 36} 37