Skip to content

Commit 86c39d2

Browse files
committed
refactor: move types and base router to routers package
1 parent 7160a51 commit 86c39d2

File tree

91 files changed

+447
-434
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+447
-434
lines changed

.eslintignore

+4
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ dist/
44
lib/
55
web-build/
66
web-report/
7+
8+
.expo/
9+
.yarn/
10+
.vscode/

packages/bottom-tabs/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@
3030
"clean": "del lib"
3131
},
3232
"dependencies": {
33-
"@react-navigation/routers": "^5.0.0",
3433
"color": "^3.1.2",
3534
"react-native-iphone-x-helper": "^1.2.1"
3635
},
3736
"devDependencies": {
3837
"@react-native-community/bob": "^0.9.3",
38+
"@react-navigation/native": "^5.0.0",
3939
"@types/color": "^3.0.1",
4040
"@types/react": "^16.9.19",
4141
"@types/react-native": "^0.60.30",

packages/bottom-tabs/src/navigators/createBottomTabNavigator.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@ import {
33
useNavigationBuilder,
44
createNavigatorFactory,
55
DefaultNavigatorOptions,
6-
} from '@react-navigation/native';
7-
import {
86
TabRouter,
97
TabRouterOptions,
108
TabNavigationState,
11-
} from '@react-navigation/routers';
9+
} from '@react-navigation/native';
1210
import BottomTabView from '../views/BottomTabView';
1311
import {
1412
BottomTabNavigationConfig,

packages/bottom-tabs/src/types.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import {
1010
NavigationProp,
1111
ParamListBase,
1212
Descriptor,
13+
TabNavigationState,
1314
} from '@react-navigation/native';
14-
import { TabNavigationState } from '@react-navigation/routers';
1515

1616
export type BottomTabNavigationEventMap = {
1717
/**

packages/bottom-tabs/src/views/BottomTabView.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import * as React from 'react';
22
import { View, StyleSheet } from 'react-native';
33

4-
import { TabNavigationState } from '@react-navigation/routers';
5-
import { useTheme } from '@react-navigation/native';
4+
import { TabNavigationState, useTheme } from '@react-navigation/native';
65
// eslint-disable-next-line import/no-unresolved
76
import { ScreenContainer } from 'react-native-screens';
87

packages/bottom-tabs/tsconfig.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"extends": "../../tsconfig",
33
"references": [
44
{ "path": "../core" },
5-
{ "path": "../native" },
6-
{ "path": "../routers" }
5+
{ "path": "../routers" },
6+
{ "path": "../native" }
77
],
88
"compilerOptions": {
99
"outDir": "./lib/typescript"

packages/compat/package.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@
2424
"prepare": "bob build",
2525
"clean": "del lib"
2626
},
27-
"dependencies": {
28-
"@react-navigation/routers": "^5.0.0"
29-
},
27+
"dependencies": {},
3028
"devDependencies": {
3129
"@react-native-community/bob": "^0.9.3",
30+
"@react-navigation/native": "^5.0.0",
3231
"@types/react": "^16.9.19",
3332
"react": "~16.9.0",
3433
"typescript": "^3.7.5"

packages/compat/src/DrawerActions.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DrawerActions, DrawerActionType } from '@react-navigation/routers';
1+
import { DrawerActions, DrawerActionType } from '@react-navigation/native';
22

33
export function openDrawer(): DrawerActionType {
44
return DrawerActions.openDrawer();

packages/compat/src/StackActions.tsx

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
import { CommonActions } from '@react-navigation/native';
2-
import { StackActions, StackActionType } from '@react-navigation/routers';
1+
import {
2+
CommonActions,
3+
StackActions,
4+
StackActionType,
5+
} from '@react-navigation/native';
36

47
export function reset(): CommonActions.Action {
58
throw new Error(

packages/compat/src/SwitchActions.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { TabActions, TabActionType } from '@react-navigation/routers';
1+
import { TabActions, TabActionType } from '@react-navigation/native';
22

33
export function jumpTo({
44
routeName,

packages/compat/src/createSwitchNavigator.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,10 @@ import {
22
useNavigationBuilder,
33
createNavigatorFactory,
44
DefaultNavigatorOptions,
5-
} from '@react-navigation/native';
6-
import {
75
TabRouter,
86
TabRouterOptions,
97
TabNavigationState,
10-
} from '@react-navigation/routers';
8+
} from '@react-navigation/native';
119
import createCompatNavigatorFactory from './createCompatNavigatorFactory';
1210

1311
type Props = DefaultNavigatorOptions<{}> & TabRouterOptions;

packages/compat/tsconfig.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"extends": "../../tsconfig",
33
"references": [
44
{ "path": "../core" },
5-
{ "path": "../native" },
6-
{ "path": "../routers" }
5+
{ "path": "../routers" },
6+
{ "path": "../native" }
77
],
88
"compilerOptions": {
99
"outDir": "./lib/typescript"

packages/core/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"clean": "del lib"
3030
},
3131
"dependencies": {
32+
"@react-navigation/routers": "^5.0.0",
3233
"escape-string-regexp": "^2.0.0",
3334
"query-string": "^6.10.1",
3435
"react-is": "^16.12.0",

packages/core/src/BaseNavigationContainer.tsx

+9-10
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
import * as React from 'react';
2-
import * as CommonActions from './CommonActions';
2+
import {
3+
CommonActions,
4+
Route,
5+
NavigationState,
6+
InitialState,
7+
PartialState,
8+
NavigationAction,
9+
} from '@react-navigation/routers';
310
import EnsureSingleNavigator from './EnsureSingleNavigator';
411
import NavigationBuilderContext from './NavigationBuilderContext';
512
import useFocusedListeners from './useFocusedListeners';
613
import useDevTools from './useDevTools';
714
import useStateGetters from './useStateGetters';
815
import isSerializable from './isSerializable';
916

10-
import {
11-
Route,
12-
NavigationState,
13-
InitialState,
14-
PartialState,
15-
NavigationAction,
16-
NavigationContainerRef,
17-
NavigationContainerProps,
18-
} from './types';
17+
import { NavigationContainerRef, NavigationContainerProps } from './types';
1918
import useEventEmitter from './useEventEmitter';
2019

2120
type State = NavigationState | PartialState<NavigationState> | undefined;

packages/core/src/NavigationBuilderContext.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import * as React from 'react';
22
import {
33
NavigationAction,
4-
NavigationHelpers,
54
NavigationState,
65
ParamListBase,
7-
} from './types';
6+
} from '@react-navigation/routers';
7+
import { NavigationHelpers } from './types';
88

99
export type ChildActionListener = (
1010
action: NavigationAction,

packages/core/src/NavigationContext.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
2-
import { NavigationProp, ParamListBase } from './types';
2+
import { ParamListBase } from '@react-navigation/routers';
3+
import { NavigationProp } from './types';
34

45
/**
56
* Context which holds the navigation prop for a screen.

packages/core/src/NavigationRouteContext.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as React from 'react';
2-
import { Route } from './types';
2+
import { Route } from '@react-navigation/routers';
33

44
/**
55
* Context which holds the route prop for a screen.

packages/core/src/SceneView.tsx

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
import * as React from 'react';
2-
import { NavigationStateContext } from './BaseNavigationContainer';
3-
import NavigationContext from './NavigationContext';
4-
import NavigationRouteContext from './NavigationRouteContext';
5-
import StaticContainer from './StaticContainer';
6-
import EnsureSingleNavigator from './EnsureSingleNavigator';
72
import {
83
Route,
94
ParamListBase,
105
NavigationState,
11-
NavigationProp,
12-
RouteConfig,
136
PartialState,
14-
} from './types';
7+
} from '@react-navigation/routers';
8+
import { NavigationStateContext } from './BaseNavigationContainer';
9+
import NavigationContext from './NavigationContext';
10+
import NavigationRouteContext from './NavigationRouteContext';
11+
import StaticContainer from './StaticContainer';
12+
import EnsureSingleNavigator from './EnsureSingleNavigator';
13+
import { NavigationProp, RouteConfig } from './types';
1514

1615
type Props<State extends NavigationState, ScreenOptions extends object> = {
1716
screen: RouteConfig<ParamListBase, string, ScreenOptions>;

packages/core/src/Screen.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { RouteConfig, ParamListBase } from './types';
1+
import { ParamListBase } from '@react-navigation/routers';
2+
import { RouteConfig } from './types';
23

34
/**
45
* Empty component used for specifying route configuration.

packages/core/src/__tests__/BaseNavigationContainer.test.tsx

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import * as React from 'react';
22
import { act, render } from 'react-native-testing-library';
3+
import {
4+
DefaultRouterOptions,
5+
NavigationState,
6+
Router,
7+
} from '@react-navigation/routers';
38
import BaseNavigationContainer, {
49
NavigationStateContext,
510
} from '../BaseNavigationContainer';
611
import MockRouter, { MockActions } from './__fixtures__/MockRouter';
712
import useNavigationBuilder from '../useNavigationBuilder';
813
import Screen from '../Screen';
9-
import {
10-
DefaultRouterOptions,
11-
NavigationState,
12-
Router,
13-
NavigationContainerRef,
14-
} from '../types';
14+
import { NavigationContainerRef } from '../types';
1515

1616
it('throws when getState is accessed without a container', () => {
1717
expect.assertions(1);

packages/core/src/__tests__/CommonActions.test.tsx

-43
This file was deleted.

packages/core/src/__tests__/__fixtures__/MockRouter.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import BaseRouter from '../../BaseRouter';
21
import {
2+
BaseRouter,
33
Router,
4-
CommonAction,
4+
CommonNavigationAction,
55
NavigationState,
66
Route,
77
DefaultRouterOptions,
8-
} from '../../types';
8+
} from '@react-navigation/routers';
99

10-
export type MockActions = CommonAction | { type: 'NOOP' | 'UPDATE' };
10+
export type MockActions = CommonNavigationAction | { type: 'NOOP' | 'UPDATE' };
1111

1212
export const MockRouterKey = { current: 0 };
1313

packages/core/src/__tests__/index.test.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import * as React from 'react';
22
import { render, act } from 'react-native-testing-library';
3+
import { NavigationState } from '@react-navigation/routers';
34
import Screen from '../Screen';
45
import BaseNavigationContainer from '../BaseNavigationContainer';
56
import useNavigationBuilder from '../useNavigationBuilder';
67
import useNavigation from '../useNavigation';
78
import MockRouter, { MockRouterKey } from './__fixtures__/MockRouter';
8-
import { NavigationState, NavigationContainerRef } from '../types';
9+
import { NavigationContainerRef } from '../types';
910

1011
beforeEach(() => (MockRouterKey.current = 0));
1112

packages/core/src/__tests__/useDescriptors.test.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
import * as React from 'react';
22
import { render, act } from 'react-native-testing-library';
3+
import {
4+
DefaultRouterOptions,
5+
NavigationState,
6+
Router,
7+
} from '@react-navigation/routers';
38
import useNavigationBuilder from '../useNavigationBuilder';
49
import BaseNavigationContainer from '../BaseNavigationContainer';
510
import Screen from '../Screen';
611
import MockRouter, {
712
MockActions,
813
MockRouterKey,
914
} from './__fixtures__/MockRouter';
10-
import { DefaultRouterOptions, NavigationState, Router } from '../types';
1115

1216
jest.useFakeTimers();
1317

packages/core/src/__tests__/useEventEmitter.test.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import * as React from 'react';
22
import { render, act } from 'react-native-testing-library';
3+
import { Router, NavigationState } from '@react-navigation/routers';
34
import useNavigationBuilder from '../useNavigationBuilder';
45
import BaseNavigationContainer from '../BaseNavigationContainer';
56
import Screen from '../Screen';
67
import MockRouter from './__fixtures__/MockRouter';
7-
import { Router, NavigationState } from '../types';
88

99
it('fires focus and blur events in root navigator', () => {
1010
const TestNavigator = React.forwardRef((props: any, ref: any): any => {

packages/core/src/__tests__/useNavigationState.test.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import * as React from 'react';
22
import { render, act } from 'react-native-testing-library';
3+
import { NavigationState } from '@react-navigation/routers';
34
import useNavigationBuilder from '../useNavigationBuilder';
45
import useNavigationState from '../useNavigationState';
56
import BaseNavigationContainer from '../BaseNavigationContainer';
67
import Screen from '../Screen';
78
import MockRouter from './__fixtures__/MockRouter';
8-
import { NavigationState } from '../types';
99

1010
it('gets the current navigation state', () => {
1111
const TestNavigator = (props: any): any => {

packages/core/src/__tests__/useOnAction.test.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
import * as React from 'react';
22
import { render } from 'react-native-testing-library';
3+
import {
4+
Router,
5+
DefaultRouterOptions,
6+
NavigationState,
7+
} from '@react-navigation/routers';
38
import useNavigationBuilder from '../useNavigationBuilder';
49
import BaseNavigationContainer from '../BaseNavigationContainer';
510
import Screen from '../Screen';
611
import MockRouter, {
712
MockActions,
813
MockRouterKey,
914
} from './__fixtures__/MockRouter';
10-
import { Router, DefaultRouterOptions, NavigationState } from '../types';
1115

1216
beforeEach(() => (MockRouterKey.current = 0));
1317

packages/core/src/createNavigatorFactory.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import * as React from 'react';
2+
import { ParamListBase } from '@react-navigation/routers';
23
import Screen from './Screen';
3-
import { ParamListBase, TypedNavigator } from './types';
4+
import { TypedNavigator } from './types';
45

56
/**
67
* Higher order component to create a `Navigator` and `Screen` pair.

0 commit comments

Comments
 (0)