Skip to content

Commit dc655e0

Browse files
authored
feat: add expo starter (#57)
1 parent e8bc400 commit dc655e0

File tree

15 files changed

+12678
-2733
lines changed

15 files changed

+12678
-2733
lines changed

bolt-expo/.env

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
EXPO_NO_TELEMETRY=1
2+
EXPO_NO_DEPENDENCY_VALIDATION=1
3+
EXPO_OFFLINE=1
4+
EXPO_USE_FAST_RESOLVER=1
5+
EXPO_PACKAGER_PROXY_URL=http://lunchboxj6nvjpwm-ax4q.boltexpo.dev
6+
REACT_NATIVE_PACKAGER_HOSTNAME=lunchboxj6nvjpwm-ax4q.boltexpo.dev
7+
EXPO_CLOUDFLARE_PROXY_URL=wss://lunchboxj6nvjpwm-ax4q.boltexpo.dev

bolt-expo/.gitignore

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# dependencies
2+
node_modules/
3+
4+
# expo
5+
.expo/
6+
dist/
7+
web-build/
8+
expo-env.d.ts
9+
10+
# native
11+
*.orig.*
12+
*.jks
13+
*.p8
14+
*.p12
15+
*.key
16+
*.mobileprovision
17+
18+
# metro
19+
.metro-health-check*
20+
21+
# debug
22+
npm-debug.*
23+
yarn-debug.*
24+
yarn-error.*
25+
26+
# macos
27+
.DS_Store
28+
*.pem
29+
30+
# local env files
31+
.env*.local
32+
33+
# typescript
34+
*.tsbuildinfo

bolt-expo/.prettierrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"useTabs": false,
3+
"bracketSpacing": true,
4+
"singleQuote": true,
5+
"tabWidth": 2
6+
}

bolt-expo/app.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"expo": {
3+
"name": "bolt-expo-nativewind",
4+
"slug": "bolt-expo-nativewind",
5+
"version": "1.0.0",
6+
"orientation": "portrait",
7+
"icon": "./assets/images/icon.png",
8+
"scheme": "myapp",
9+
"userInterfaceStyle": "automatic",
10+
"newArchEnabled": true,
11+
"ios": {
12+
"supportsTablet": true
13+
},
14+
"android": {
15+
"adaptiveIcon": {
16+
"foregroundImage": "./assets/images/adaptive-icon.png",
17+
"backgroundColor": "#ffffff"
18+
}
19+
},
20+
"web": {
21+
"bundler": "metro",
22+
"output": "static",
23+
"favicon": "./assets/images/favicon.png"
24+
},
25+
"plugins": [
26+
"expo-router",
27+
[
28+
"expo-splash-screen",
29+
{
30+
"image": "./assets/images/splash-icon.png",
31+
"imageWidth": 200,
32+
"resizeMode": "contain",
33+
"backgroundColor": "#ffffff"
34+
}
35+
]
36+
],
37+
"experiments": {
38+
"typedRoutes": true
39+
}
40+
}
41+
}

bolt-expo/app/+not-found.tsx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { Link, Stack } from 'expo-router';
2+
import { StyleSheet, Text, View } from 'react-native';
3+
4+
export default function NotFoundScreen() {
5+
return (
6+
<>
7+
<Stack.Screen options={{ title: 'Oops!' }} />
8+
<View style={styles.container}>
9+
<Text style={styles.text}>This screen doesn't exist.</Text>
10+
<Link href="/" style={styles.link}>
11+
<Text>Go to home screen!</Text>
12+
</Link>
13+
</View>
14+
</>
15+
);
16+
}
17+
18+
const styles = StyleSheet.create({
19+
container: {
20+
flex: 1,
21+
alignItems: 'center',
22+
justifyContent: 'center',
23+
padding: 20,
24+
},
25+
text: {
26+
fontSize: 20,
27+
fontWeight: 600,
28+
},
29+
link: {
30+
marginTop: 15,
31+
paddingVertical: 15,
32+
},
33+
});

bolt-expo/app/_layout.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { Stack } from 'expo-router';
2+
import { StatusBar } from 'expo-status-bar';
3+
4+
export default function RootLayout() {
5+
return (
6+
<>
7+
<Stack screenOptions={{ headerShown: false }}>
8+
<Stack.Screen name="+not-found" />
9+
</Stack>
10+
<StatusBar style="auto" />
11+
</>
12+
);
13+
}
17.1 KB
Loading
1.43 KB
Loading

bolt-expo/assets/images/icon.png

21.9 KB
Loading
17.1 KB
Loading

0 commit comments

Comments
 (0)