Skip to content
This repository was archived by the owner on Jan 13, 2023. It is now read-only.

Commit 1397749

Browse files
authored
fix(expo): Rolls back to react-native-screens JS version for Expo (#332 by @harrisrobin)
1 parent 8983f45 commit 1397749

File tree

5 files changed

+44
-12
lines changed

5 files changed

+44
-12
lines changed

boilerplate/app/navigation/primary-navigator.tsx renamed to boilerplate/app/navigation/primary-navigator.tsx.ejs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
import React from "react"
2+
<% if (props.useExpo) { -%>
3+
import { createStackNavigator } from "@react-navigation/stack"
4+
<% } else { -%>
25
import { createNativeStackNavigator } from "react-native-screens/native-stack"
6+
<% } -%>
37
import { WelcomeScreen, DemoScreen } from "../screens"
48
import { PrimaryParamList } from "./types"
59

10+
<% if (props.useExpo) { -%>
11+
const Stack = createStackNavigator<PrimaryParamList>()
12+
<% } else { -%>
613
const Stack = createNativeStackNavigator<PrimaryParamList>()
14+
<% } -%>
715

816
export function PrimaryNavigator() {
917
return (

boilerplate/app/navigation/root-navigator.tsx renamed to boilerplate/app/navigation/root-navigator.tsx.ejs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,29 @@
11
import React from "react"
22
import { NavigationContainer, NavigationContainerRef } from "@react-navigation/native"
3+
<% if (props.useExpo) { -%>
4+
import { createStackNavigator } from "@react-navigation/stack"
5+
<% } else { -%>
36
import { createNativeStackNavigator } from "react-native-screens/native-stack"
4-
7+
<% } -%>
58
import { RootParamList } from "./types"
69
import { PrimaryNavigator } from "./primary-navigator"
710

11+
<% if (props.useExpo) { -%>
12+
const Stack = createStackNavigator<RootParamList>()
13+
<% } else { -%>
814
const Stack = createNativeStackNavigator<RootParamList>()
15+
<% } -%>
16+
917

1018
const RootStack = () => {
1119
return (
1220
<Stack.Navigator
1321
screenOptions={{
1422
headerShown: false,
1523
gestureEnabled: true,
24+
<% if(!props.useExpo){ %>
1625
stackPresentation: "modal",
26+
<% } -%>
1727
}}
1828
>
1929
<Stack.Screen

boilerplate/package.json.ejs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,20 @@
4040
"react-native-splash-screen": "3.2.0",
4141
"reactotron-mst": "^3.1.1",
4242
"reactotron-react-native": "^4.0.0-beta.1",
43-
43+
"react-native-screens": "^2.5.0",
4444
"react-native-safe-area-context": "0.7.3",
45-
<% if (!props.useExpo) { -%>
46-
"@react-native-community/async-storage": "^1.5.1",
47-
"@react-native-community/masked-view": "0.1.5",
48-
"react-native-safe-area-view": "1.0.0",
49-
"react-native-gesture-handler": "<%= props.reactNativeGestureHandlerVersion %>",
50-
"react-native-localize": "^1.0.0",
51-
"react-native-screens": "^2.4.0",
52-
"react-native-keychain": "5.0.1",
53-
"@react-navigation/native": "^5.0.0",
54-
<% } -%>
45+
"@react-navigation/native": "^5.1.5",
46+
<% if(props.useExpo){ %>
47+
"@react-navigation/stack": "^5.2.10",
48+
<% } else { -%>
49+
"@react-native-community/async-storage": "^1.5.1",
50+
"@react-native-community/masked-view": "0.1.5",
51+
"react-native-safe-area-view": "1.0.0",
52+
"react-native-gesture-handler": "<%= props.reactNativeGestureHandlerVersion %>",
53+
"react-native-localize": "^1.0.0",
54+
"react-native-keychain": "5.0.1",
55+
"@react-native-community/async-storage": "^1.9.0",
56+
<% } -%>
5557
"validate.js": "0.13.1"
5658
},
5759
"devDependencies": {

boilerplate/storybook/storybook.tsx.ejs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@ const StorybookUI = getStorybookUI({
1414
port: 9001,
1515
host: "localhost",
1616
onDeviceUI: true,
17+
<% if (props.useExpo) { -%>
18+
asyncStorage: require("react-native").AsyncStorage,
19+
<% } else { -%>
1720
asyncStorage: require("@react-native-community/async-storage").default
21+
<% } -%>
1822
})
1923

2024
export const StorybookUIRoot: React.FunctionComponent = () => {

src/boilerplate.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,14 @@ export const install = async (toolbox: IgniteToolbox) => {
198198
template: "app/screens/demo-screen/demo-screen.tsx.ejs",
199199
target: "app/screens/demo-screen/demo-screen.tsx",
200200
},
201+
{
202+
template: "app/navigation/root-navigator.tsx.ejs",
203+
target: "app/navigation/root-navigator.tsx",
204+
},
205+
{
206+
template: "app/navigation/primary-navigator.tsx.ejs",
207+
target: "app/navigation/primary-navigator.tsx",
208+
},
201209
{ template: "storybook/storybook.tsx.ejs", target: "storybook/storybook.tsx" },
202210
{ template: "bin/postInstall", target: "bin/postInstall" },
203211
]

0 commit comments

Comments
 (0)