Vigia

Оновлення expo-router з 57.x до 58.x

Порівняння публічного API expo-router 57.0.28 і 58.0.20, обчислене автоматично за їхніми типами TypeScript. Змінена сигнатура — можлива несумісна зміна, а не гарантія.

Підсумок

Видалені шляхи імпорту15
Видалені експорти24
Змінені сигнатури28
Видалені члени класів або інтерфейсів0
Змінені члени класів або інтерфейсів1
Нові застарівання3
Зміни вимог (engines, peer-залежності)10
Нові експорти54

Видалені шляхи імпорту

Видалені шляхи імпорту
expo-router/ui
expo-router/head
expo-router/html
expo-router/tabs
expo-router/stack
expo-router/drawer
expo-router/server
expo-router/js-tabs
expo-router/js-stack
expo-router/js-top-tabs
expo-router/native-stack
expo-router/testing-library
expo-router/react-navigation
expo-router/unstable-split-view
expo-router/unstable-native-tabs

Видалені експорти

importexportkindБуло
expo-routerPageRemovedinterfaceinterface
expo-routerAnalyticsEventtypePagePreloadedEvent | PageFocusedEvent | PageBlurredEvent | PageRemoved | ActionDispatchedEvent
expo-routerStackTitlePropstype{ children?: any; asChild?: boolean | undefined; style?: any; largeStyle?: any; large?: boolean | undefined; }
expo-routerPageBlurredEventinterfaceinterface
expo-routerPageFocusedEventinterfaceinterface
expo-routerStackHeaderPropsinterfaceinterface
expo-routerStackScreenPropsinterfaceinterface
expo-routerStackToolbarPropsinterfaceinterface
expo-routerPagePreloadedEventinterfaceinterface
expo-routerStackSearchBarPropsinterfaceinterface
expo-routerActionDispatchedEventinterfaceinterface
expo-routerStackScreenTitlePropstype{ children?: any; asChild?: boolean | undefined; style?: any; largeStyle?: any; large?: boolean | undefined; }
expo-routerStackToolbarIconPropstype{ src: ImageSourcePropType; renderingMode?: "template" | "original" | undefined; } | { sf: SFSymbol; } | { xcasset: string; renderingMode?: "template" | "original" | undefined; }
expo-routerStackToolbarMenuPropsinterfaceinterface
expo-routerStackToolbarViewPropsinterfaceinterface
expo-routerStackToolbarBadgePropsinterfaceinterface
expo-routerStackToolbarLabelPropsinterfaceinterface
expo-routerStackToolbarButtonPropsinterfaceinterface
expo-routerStackToolbarSpacerPropsinterfaceinterface
expo-routerunstable_navigationEventsvariable{ addListener: <EventType extends EventTypeName>(eventType: EventType, callback: (event: Payload<EventType>) => void) => () => void; emit: <EventType extends EventTypeName>(type: EventType, event: Payload<EventType>) => void; enable: () => void; isEnabled: () => boolean; }
expo-routerStackHeaderItemSharedPropsinterfaceinterface
expo-routerStackScreenBackButtonPropsinterfaceinterface
expo-routerStackToolbarMenuActionPropsinterfaceinterface
expo-routerStackToolbarSearchBarSlotPropsinterfaceinterface

Змінені сигнатури

exportБулоСтало
expo-router · Slot(props: Omit<NavigatorProps<any>, "children">): any(props: Omit<NavigatorProps<any>, "children" | "activityEnabled" | "activityDefaultThreshold"> & { activityEnabled?: boolean | undefined; }): React.JSX.Element
expo-router · Tabs(props: ComponentProps<any>): anyany
expo-router · Navigator<T extends UseNavigationBuilderRouter = (options: StackRouterOptions) => Router<StackNavigationState<ParamListBase>, Action | StackActionType>>({ initialRouteName, screenOptions, children, router, routerOptions, unstable_screenErrorBoundary, }: NavigatorProps<T>): any<T extends UseNavigationBuilderRouter = (options: StackRouterOptions) => Omit<Router<StackNavigationState<ParamListBase>, CommonNavigationAction | StackActionType>, "getStateForAction"> & { getStateForAction(state: StackNavigationState<ParamListBase>, action: CommonNavigationAction | StackActionType, options: RouterConfigOptions): RouterActionHandling.Unhandled | RouterActionResult<StackNavigationState<ParamListBase>>; }>({ screenOptions, children, activityEnabled, activityDefaultThreshold, router, routerOptions, unstable_screenErrorBoundary, }: NavigatorProps<T>): any
expo-router · TabRouter(args: TabRouterOptions): Router<TabNavigationState<ParamListBase>, Action | TabActionType>(options: TabRouterOptions): Omit<Router<TabNavigationState<ParamListBase>, CommonNavigationAction | TabActionType>, "getStateForAction"> & { getStateForAction(state: TabNavigationState<ParamListBase>, action: CommonNavigationAction | TabActionType, options: RouterConfigOptions): RouterActionHandling.Unhandled | RouterActionResult<TabNavigationState<ParamListBase>>; }
expo-router · Unmatched(): any(): React.JSX.Element
expo-router · ResultStatePartial<Omit<Readonly<{ key: string; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type: string; stale: false; }>, "stale" | "routes">> & Readonly<{ stale?: true | undefined; routes: PartialRoute<Route<string, object | undefined>>[]; }> & { state?: ResultState | undefined; }Partial<Omit<Readonly<{ key: string; routeKeySeq: number; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type?: string | undefined; stale: false; }>, "routes" | "stale">> & Readonly<{ stale?: true | undefined; routes: PartialRoute<Route<string, object | undefined>>[]; }> & { state?: ResultState | undefined; }
expo-router · ScreenProps{ name?: string | undefined; redirect?: boolean | undefined; initialParams?: Record<string, any> | undefined; options?: TOptions | ((prop: { route: RouteProp<ParamListBase, string>; navigation: any; }) => TOptions) | undefined; listeners?: Partial<{ [EventName in keyof (TEventMap & EventMapCore<TState>)]: EventListenerCallback<TEventMap & EventMapCore<TState>, EventName, (TEventMap & EventMapCore<TState>)[EventName]["canPreventDefault"]>; }> | ((prop: { route: RouteProp<ParamListBase, string>; navigation: any; }) => Partial<{ [EventName in keyof (TEventMap & EventMapCore<TState>)]: EventListen…{ name?: string | undefined; options?: TOptions | ((prop: { route: DescriptorRouteProp<ParamListBase, string>; navigation: any; }) => TOptions) | undefined; listeners?: Partial<{ [EventName in keyof (TEventMap & EventMapCore<TState>)]: EventListenerCallback<TEventMap & EventMapCore<TState>, EventName, (TEventMap & EventMapCore<TState>)[EventName]["canPreventDefault"]>; }> | ((prop: { route: RouteProp<ParamListBase, string>; navigation: any; }) => Partial<{ [EventName in keyof (TEventMap & EventMapCore<TState>)]: EventListenerCallback<TEventMap & EventMapCore<TState>, EventName, (TEventMap & Ev…
expo-router · SitemapType{ contextKey: string; filename: string; href: string | HrefObject; isInitial: boolean; isInternal: boolean; isGenerated: boolean; children: SitemapType[]; }{ contextKey: string; filename: string; href: string | HrefObject; isInternal: boolean; isGenerated: boolean; children: SitemapType[]; }
expo-router · StackRouter(options: StackRouterOptions): Router<StackNavigationState<ParamListBase>, Action | StackActionType>(options: StackRouterOptions): Omit<Router<StackNavigationState<ParamListBase>, CommonNavigationAction | StackActionType>, "getStateForAction"> & { getStateForAction(state: StackNavigationState<ParamListBase>, action: CommonNavigationAction | StackActionType, options: RouterConfigOptions): RouterActionHandling.Unhandled | RouterActionResult<StackNavigationState<ParamListBase>>; }
expo-router · useRoutePath(): string | undefined(): string
expo-router · ThemeProvider({ value, children }: Props): any({ value, children }: Props): React.JSX.Element
expo-router · useNavigation<T = Omit<NavigationProp<RootParamList>, "getState"> & { getState(): Readonly<{ key: string; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type: string; stale: false; }> | undefined; }>(parent?: string | HrefObject | undefined): T<T = Omit<NavigationProp<RootParamList>, "getState"> & { getState(): Readonly<{ key: string; routeKeySeq: number; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type?: string | undefined; stale: false; }> | undefined; }>(parent?: string | HrefObject | undefined): T
expo-router · ImperativeRouter{ back: () => void; canGoBack: () => boolean; push: (href: string | HrefObject, options?: NavigationOptions | undefined) => void; navigate: (href: string | HrefObject, options?: NavigationOptions | undefined) => void; replace: (href: string | HrefObject, options?: NavigationOptions | undefined) => void; dismiss: (count?: number | undefined) => void; dismissTo: (href: string | HrefObject, options?: NavigationOptions | undefined) => void; dismissAll: () => void; canDismiss: () => boolean; setParams: <T extends RoutePath>(params: Partial<RouteInputParams<T>>) => void; reload: () => void; prefetch…{ back: (options?: TransitionOptions | undefined) => void; canGoBack: () => boolean; push: (href: string | HrefObject, options?: NavigationOptions | undefined) => void; navigate: (href: string | HrefObject, options?: NavigationOptions | undefined) => void; replace: (href: string | HrefObject, options?: NavigationOptions | undefined) => void; dismiss: (count?: number | undefined, options?: TransitionOptions | undefined) => void; dismissTo: (href: string | HrefObject, options?: NavigationOptions | undefined) => void; dismissAll: (options?: TransitionOptions | undefined) => void; canDismiss: () =…
expo-router · RouteInputParamsExtract<HrefObject, { pathname: T; }> extends never ? never : Extract<HrefInputParamsObject, { pathname: T; }>["params"]T extends string ? UnknownInputParams : never
expo-router · useRootNavigation(): NavigationContainerRef<RootParamList> | null(): NavigationContainerRef<ParamListBase> | null
expo-router · withLayoutContext<TOptions extends object, T extends ComponentType<any>, TState extends NavigationState, TEventMap extends EventMapBase>(Nav: T, processor?: ((options: ScreenProps[]) => ScreenProps[]) | undefined, useOnlyUserDefinedScreens?: boolean | undefined): any<TOptions extends object = Record<string, any>, T extends ComponentType<any> = ComponentType<any>, TState extends NavigationState = Readonly<{ key: string; routeKeySeq: number; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type?: string | undefined; stale: false; }>, TEventMap extends EventMapBase = EventMapBase>(Nav: T, processScreens?: ((screens: (ScreenProps<TOptions, TState, TEventMap> & { name: string; })[]) => (ScreenProps<TOptions, TState, TEventMap> & { name: string; })[]) | undefined): any
expo-router · TabNavigationStateOmit<Readonly<{ key: string; index: number; routeNames: Extract<keyof ParamList, string>[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamList, keyof ParamList>[]; type: string; stale: false; }>, "history"> & { type: "tab"; history: { type: "route"; key: string; params?: object | undefined; }[]; preloadedRouteKeys: string[]; }Omit<Readonly<{ key: string; routeKeySeq: number; index: number; routeNames: Extract<keyof ParamList, string>[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamList, keyof ParamList>[]; type?: string | undefined; stale: false; }>, "history"> & { type?: "tab" | undefined; history?: { type: "route"; key: string; params?: object | undefined; }[] | undefined; }
expo-router · UnknownOutputParams{ [x: string]: string | string[]; }{ [x: string]: string | string[] | undefined; }
expo-router · StackNavigationStateReadonly<{ key: string; index: number; routeNames: Extract<keyof ParamList, string>[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamList, keyof ParamList>[]; type: string; stale: false; }> & { type: "stack"; preloadedRoutes: NavigationRoute<ParamList, keyof ParamList>[]; }Readonly<{ key: string; routeKeySeq: number; index: number; routeNames: Extract<keyof ParamList, string>[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamList, keyof ParamList>[]; type?: string | undefined; stale: false; }> & { type?: "stack" | undefined; }
expo-router · NativeStackOptionsArgsNativeStackScreenProps<ParamList, RouteName, NavigatorID> & { theme: NativeTheme; }Omit<NativeStackScreenProps<ParamList, RouteName, NavigatorID>, "route"> & { route: DescriptorRouteProp<ParamList, RouteName>; theme: NativeTheme; }
expo-router · useRootNavigationState(): Readonly<{ key: string; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type: string; stale: false; }>(): Readonly<{ key: string; routeKeySeq: number; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type?: string | undefined; stale: false; }>
expo-router · NativeStackNavigationPropOmit<NavigationHelpersCommon<ParamList, StackNavigationState<ParamList>>, "getParent"> & { getParent<T = NavigationProp<ParamListBase, string, string | undefined, Readonly<{ key: string; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type: string; stale: false; }>, {}, {}> | undefined>(id?: NavigatorID | undefined): T; setOptions(options: Partial<NativeStackNavigationOptions>): void; } & NavigationHelpersRoute<ParamList, RouteName> & EventConsumer<NativeStackNavigationEventMap & EventMapCore<StackNavigationState<ParamList…Omit<NavigationHelpersCommon<ParamList, StackNavigationState<ParamList>>, "getParent"> & { getParent<T = NavigationProp<ParamListBase, string, string | undefined, Readonly<{ key: string; routeKeySeq: number; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type?: string | undefined; stale: false; }>, {}, {}> | undefined>(id?: NavigatorID | undefined): T; setOptions(options: Partial<NativeStackNavigationOptions>): void; } & NavigationHelpersRoute<ParamList, RouteName> & EventConsumer<NativeStackNavigationEventMap & EventMapC…
expo-router · IntegrateWithRouterOptions{ useOnlyUserDefinedScreens?: boolean | undefined; } & CreatePropsOption<State, CreateProps>CreatePropsOption<State, CreateProps> & { activityDefaultThreshold?: number | undefined; processState?: ((state: State, descriptors: PlaceholderDescriptorMap<NavigatorOptions>, describe: DescribePlaceholderRoute<NavigatorOptions>) => State) | undefined; processDescriptors?: ((descriptors: PlaceholderDescriptorMap<NavigatorOptions>, state: State, describe: DescribePlaceholderRoute<NavigatorOptions>) => PlaceholderDescriptorMap<NavigatorOptions>) | undefined; processScreens?: ((screens: (ScreenProps<NavigatorOptions, State, EventMap> & { name: string; })[]) => (ScreenProps<NavigatorOptions, Stat…
expo-router · unstable_integrateWithRouter<NavigatorOptions extends object, State extends NavigationState, EventMap extends StandardNavigatorEventMapBase, NavigatorProps extends object, RouterOptions extends DefaultRouterOptions, CreateProps extends object = object>(navigator: any, router: RouterFactory<State, Readonly<{ type: string; payload?: object | undefined; source?: string | undefined; target?: string | undefined; }>, RouterOptions>, ...[options]: IntegrateWithRouterOptionsTuple<State, NoInfer<CreateProps>>): any<NavigatorOptions extends object, State extends NavigationState, EventMap extends StandardNavigatorEventMapBase, NavigatorProps extends object, RouterOptions extends DefaultRouterOptions, CreateProps extends object = object>(navigator: any, router: RouterFactory<State, Readonly<{ type: string; payload?: object | undefined; source?: string | undefined; target?: string | undefined; }>, RouterOptions>, ...[options]: IntegrateWithRouterOptionsTuple<State, NoInfer<CreateProps>, NavigatorOptions, EventMap>): any
expo-router · ExperimentalStackNavigationPropOmit<NavigationHelpersCommon<ParamList, StackNavigationState<ParamList>>, "getParent"> & { getParent<T = NavigationProp<ParamListBase, string, string | undefined, Readonly<{ key: string; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type: string; stale: false; }>, {}, {}> | undefined>(id?: NavigatorID | undefined): T; setOptions(options: Partial<ExperimentalStackNavigationOptions>): void; } & NavigationHelpersRoute<ParamList, RouteName> & EventConsumer<ExperimentalStackNavigationEventMap & EventMapCore<StackNavigationSta…Omit<NavigationHelpersCommon<ParamList, StackNavigationState<ParamList>>, "getParent"> & { getParent<T = NavigationProp<ParamListBase, string, string | undefined, Readonly<{ key: string; routeKeySeq: number; index: number; routeNames: string[]; history?: unknown[] | undefined; routes: NavigationRoute<ParamListBase, string>[]; type?: string | undefined; stale: false; }>, {}, {}> | undefined>(id?: NavigatorID | undefined): T; setOptions(options: Partial<ExperimentalStackNavigationOptions>): void; } & NavigationHelpersRoute<ParamList, RouteName> & EventConsumer<ExperimentalStackNavigationEventMap…
expo-router · ExperimentalStackNavigationEventMap{ transitionStart: { data: { closing: boolean; }; }; transitionEnd: { data: { closing: boolean; }; }; gestureCancel: { data: undefined; }; }{ removePrevented: { data: { action: Readonly<{ type: string; payload?: object | undefined; source?: string | undefined; target?: string | undefined; }>; }; }; transitionStart: { data: { closing: boolean; }; }; transitionEnd: { data: { closing: boolean; }; }; gestureCancel: { data: undefined; }; }
expo-router · StandardUseNavigationBuilderOptionsDefaultRouterOptions<string> & ({ children: React.ReactNode; layout?: ((props: { state: State; navigation: NavigationHelpers<ParamListBase, {}>; descriptors: Record<string, Descriptor<NavigatorOptions, NavigationProp<ParamListBase, string, string | undefined, State, NavigatorOptions, EventMap & StandardNavigatorEventMapBase>, RouteProp<ParamListBase, string>>>; children: React.ReactNode; }) => React.ReactElement) | undefined; screenListeners?: Partial<{ [EventName in keyof (EventMap & StandardNavigatorEventMapBase & EventMapCore<State>)]: EventListenerCallback<EventMap & StandardNavigatorEvent…DefaultRouterOptions<string> & ({ children: React.ReactNode; activityEnabled?: (State extends { type?: "stack" | undefined; } ? number | boolean : boolean) | undefined; layout?: ((props: { state: State; navigation: NavigationHelpers<ParamListBase, {}>; descriptors: Record<string, Descriptor<NavigatorOptions, NavigationProp<ParamListBase, string, string | undefined, State, NavigatorOptions, EventMap>, RouteProp<ParamListBase, string>>>; children: React.ReactNode; }) => React.ReactElement) | undefined; screenListeners?: Partial<{ [EventName in keyof (EventMap & EventMapCore<State>)]: EventListen…
expo-router · unstable_createStandardRouterNavigator<NavigatorOptions extends object, State extends NavigationState, EventMap extends StandardNavigatorEventMapBase, NavigatorProps extends object, RouterOptions extends DefaultRouterOptions, CreateProps extends object = object>(NavigatorContent: ComponentType<any>, router: RouterFactory<State, Readonly<{ type: string; payload?: object | undefined; source?: string | undefined; target?: string | undefined; }>, RouterOptions>, ...options: IntegrateWithRouterOptionsTuple<State, NoInfer<CreateProps>>): any<NavigatorOptions extends object, State extends NavigationState, EventMap extends StandardNavigatorEventMapBase, NavigatorProps extends object, RouterOptions extends DefaultRouterOptions, CreateProps extends object = object>(NavigatorContent: ComponentType<any>, router: RouterFactory<State, Readonly<{ type: string; payload?: object | undefined; source?: string | undefined; target?: string | undefined; }>, RouterOptions>, ...options: IntegrateWithRouterOptionsTuple<State, NoInfer<CreateProps>, NavigatorOptions, EventMap>): any

Видалені члени класів або інтерфейсів

Не виявлено.

Змінені члени класів або інтерфейсів

memberБулоСтало
LinkMenuProps.elementSize"small" | "auto" | "medium" | "large" | undefined"small" | "medium" | "large" | "auto" | undefined

Нові застарівання

export@deprecated
expo-router · withLayoutContextUse `integrateWithRouter` instead.
expo-router · unstable_integrateWithRouterUse `integrateWithRouter` instead.
expo-router · unstable_createStandardRouterNavigatorUse `createStandardRouterNavigator` instead.

Зміни вимог (engines, peer-залежності)

БулоСтало
peerDependencies.expo-linking^57.0.13^58.0.13
peerDependencies.@expo/log-box^57.0.4^58.0.12
peerDependencies.expo-constants^57.0.22^58.0.12
peerDependencies.@expo/metro-runtime^57.0.17^58.0.14
peerDependencies.react-native-screens^4.26.0^4.30.0 || ^5.0.0-alpha.3
peerDependencies.react-server-dom-webpack~19.0.4 || ~19.1.5 || ~19.2.4~19.0.4 || ~19.1.5 || ~19.2.4 || ~19.3.0
peerDependencies.@testing-library/react-native>= 13.2.0>= 14.0.0
peerDependencies.@expo/ui—^58.0.18
peerDependencies.expo-symbols—^58.0.4
peerDependencies.react-native-worklets—*
Нові експорти (54)
importexportkind
expo-routerRoutertype
expo-routerRouteSourcetype
expo-routerextendRouterfunction
expo-routerRouterFactorytype
expo-routerTabActionTypetype
expo-routerLocaleDirectiontype
expo-routerNativeStackViewfunction
expo-routerNavigationStatetype
expo-routerRouterExtensiontype
expo-routerStackActionTypetype
expo-routerisActionHandledfunction
expo-routerNavigationActiontype
expo-routerattachRouteStatefunction
expo-routerusePreventRemovefunction
expo-routerRouterActionResulttype
expo-routercreateBaseTabPropsfunction
expo-routerRouterActionContexttype
expo-routerRouterActionReducertype
expo-routerRouterConfigOptionstype
expo-routerextendRouterActionsfunction
expo-routerintegrateWithRouterfunction
expo-routerDefaultRouterOptionstype
expo-routerNativeStackViewStatetype
expo-routerPreventRemoveOptionstype
expo-routerRouterActionHandlingenum
expo-routerRouterPageMarkDetailinterface
expo-routercreateBaseStackPropsfunction
expo-routerunstable_performancevariable
expo-routerRouterPageBlurredMarktype
expo-routerRouterPageFocusedMarktype
expo-routerRouterPageRemovedMarktype
expo-routerRouterPerformanceMarktype
expo-routerStandardNavigatorEmittype
expo-routerCommonNavigationActiontype
expo-routerRouterActionMarkDetailinterface
expo-routerRouterExtensionContexttype
expo-routerRouterExtensionOptionstype
expo-routercreateNativeStackPropsfunction
expo-routerIsWithinNativeNavigatorvariable
expo-routerNavigationAwareActivityfunction
expo-routerRouterPagePreloadedMarktype
expo-routerNativeStackDescriptorMaptype
expo-routerNavigationTransitionModetype
expo-routerRouterActionEnqueuedMarktype
expo-routerunstable_useIsNavigatingfunction
expo-routerBaseRouterPerformanceMarkinterface
expo-routerRouterActionDispatchedMarktype
expo-routerRouterBrowserHistoryActiontype
expo-routerRouterPerformanceMarkByNametype
expo-routerStandardNavigatorDescriptorinterface
expo-routerenableLegacyHeaderAppearancefunction
expo-routerunstable_PerformanceObserverclass
expo-routercreateStandardRouterNavigatorfunction
expo-routerunstable_enablePerformanceIntegrationfunction

Передайте ці дані своєму ШІ-агенту

Vigia — безкоштовний MCP-сервер: ваш агент для програмування перевіряє версії, несумісні зміни та вразливості, перш ніж писати код. Без реєстрації та API-ключа.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Додати в CursorДодати в VS Code★ Зірка на GitHub

Будь-який інший MCP-клієнт
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Навичка для агентів (SKILL.md): підказує агенту, коли використовувати Vigia · GitHub Action для pull request

Поширені запитання

Які несумісні зміни під час оновлення expo-router з 57 до 58?

Між expo-router 57.0.28 і 58.0.20 Vigia знайшла видалених експортів: 24, змінених сигнатур: 28, видалених або змінених членів класів та інтерфейсів: 1.

Що застаріло в expo-router 58?

У expo-router 58.0.20 новими застарілими позначено експортів або членів: 3.

Для агентів

GET https://vigia.coredls.cloud/v1/packages/npm/expo-router/upgrade?from=57.0.28&to=58.0.20