1082815dcSEvan Baconexport class UnexpectedError extends Error { 2082815dcSEvan Bacon readonly name = 'UnexpectedError'; 3082815dcSEvan Bacon 4082815dcSEvan Bacon constructor(message: string) { 5082815dcSEvan Bacon super(`${message}\nPlease report this as an issue on https://github.com/expo/expo-cli/issues`); 6082815dcSEvan Bacon } 7082815dcSEvan Bacon} 8082815dcSEvan Bacon 9082815dcSEvan Baconexport type PluginErrorCode = 10082815dcSEvan Bacon | 'INVALID_PLUGIN_TYPE' 11082815dcSEvan Bacon | 'INVALID_PLUGIN_IMPORT' 12082815dcSEvan Bacon | 'PLUGIN_NOT_FOUND' 13082815dcSEvan Bacon | 'CONFLICTING_PROVIDER' 14082815dcSEvan Bacon | 'INVALID_MOD_ORDER' 15082815dcSEvan Bacon | 'MISSING_PROVIDER'; 16082815dcSEvan Bacon 17082815dcSEvan Bacon/** 18082815dcSEvan Bacon * Based on `JsonFileError` from `@expo/json-file` 19082815dcSEvan Bacon */ 20082815dcSEvan Baconexport class PluginError extends Error { 21082815dcSEvan Bacon readonly name = 'PluginError'; 22082815dcSEvan Bacon readonly isPluginError = true; 23082815dcSEvan Bacon 24*8a424bebSJames Ide constructor( 25*8a424bebSJames Ide message: string, 26*8a424bebSJames Ide public code: PluginErrorCode, 27*8a424bebSJames Ide public cause?: Error 28*8a424bebSJames Ide ) { 29082815dcSEvan Bacon super(cause ? `${message}\n└─ Cause: ${cause.name}: ${cause.message}` : message); 30082815dcSEvan Bacon } 31082815dcSEvan Bacon} 32