Skip to content

Commit 8f63bf3

Browse files
committed
chore: bootstrap Expo 55 demo app
1 parent e2431cf commit 8f63bf3

57 files changed

Lines changed: 3347 additions & 79 deletions

Some content is hidden

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

.yarnrc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ compressionLevel: mixed
22

33
enableGlobalCache: false
44

5-
nodeLinker: node-modules
6-
75
nmHoistingLimits: workspaces
86

7+
nodeLinker: node-modules
8+
99
yarnPath: .yarn/releases/yarn-4.12.0.cjs

apps/AppleApp/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
"type": "module",
66
"scripts": {
77
"internal::build::common": "xcodebuild -project \"Brownfield Apple App.xcodeproj\" -scheme \"Brownfield Apple App\" -sdk iphonesimulator build CODE_SIGNING_ALLOWED=NO -derivedDataPath ./build",
8-
"build:example:ios-consumer:expo": "node prepareXCFrameworks.js --appName ExpoApp && yarn internal::build::common -configuration Release",
8+
"build:example:ios-consumer:expo54": "node prepareXCFrameworks.js --appName ExpoApp54 && yarn internal::build::common -configuration Release",
9+
"build:example:ios-consumer:expo55": "node prepareXCFrameworks.js --appName ExpoApp55 && yarn internal::build::common -configuration Release",
10+
"build:example:ios-consumer:expo": "yarn build:example:ios-consumer:expo55",
911
"build:example:ios-consumer:vanilla": "node prepareXCFrameworks.js --appName RNApp && yarn internal::build::common -configuration \"Release Vanilla\""
1012
},
1113
"devDependencies": {

apps/ExpoApp54/app.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"expo": {
3-
"name": "ExpoApp",
4-
"slug": "ExpoApp",
3+
"name": "ExpoApp54",
4+
"slug": "ExpoApp54",
55
"version": "1.0.0",
66
"orientation": "portrait",
77
"icon": "./assets/images/icon.png",

apps/ExpoApp54/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"web": "expo start --web",
1111
"lint": "expo lint",
1212
"prebuild": "expo prebuild",
13-
"brownfield:prepare:android:ci": "node --experimental-strip-types --no-warnings ./scripts/prepare-android-build-gradle-for-ci.ts",
13+
"brownfield:prepare:android:ci": "cd .. && node --experimental-strip-types --no-warnings ./scripts/prepare-android-build-gradle-for-ci.ts ExpoApp54",
1414
"brownfield:package:android": "brownfield package:android --module-name brownfieldlib --variant release",
1515
"brownfield:publish:android": "brownfield publish:android --module-name brownfieldlib",
1616
"brownfield:package:ios": "brownfield package:ios --scheme BrownfieldLib --configuration Release"

apps/ExpoApp55/.gitignore

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
2+
3+
# dependencies
4+
node_modules/
5+
6+
# Expo
7+
.expo/
8+
dist/
9+
web-build/
10+
expo-env.d.ts
11+
12+
# Native
13+
.kotlin/
14+
*.orig.*
15+
*.jks
16+
*.p8
17+
*.p12
18+
*.key
19+
*.mobileprovision
20+
21+
# Metro
22+
.metro-health-check*
23+
24+
# debug
25+
npm-debug.*
26+
yarn-debug.*
27+
yarn-error.*
28+
29+
# macOS
30+
.DS_Store
31+
*.pem
32+
33+
# local env files
34+
.env*.local
35+
36+
# typescript
37+
*.tsbuildinfo
38+
39+
app-example
40+
41+
# generated native folders
42+
/ios
43+
/android
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import type { BrownieStore } from '@callstack/brownie';
2+
3+
export interface BrownfieldStore extends BrownieStore {
4+
counter: number;
5+
user: {
6+
name: string;
7+
};
8+
}
9+
10+
export interface SettingsStore extends BrownieStore {
11+
theme: 'light' | 'dark';
12+
notificationsEnabled: boolean;
13+
privacyMode: boolean;
14+
}
15+
16+
declare module '@callstack/brownie' {
17+
interface BrownieStores {
18+
BrownfieldStore: BrownfieldStore;
19+
SettingsStore: SettingsStore;
20+
}
21+
}

apps/ExpoApp55/README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Welcome to your Expo app 👋
2+
3+
This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app).
4+
5+
## Get started
6+
7+
1. Install dependencies
8+
9+
```bash
10+
npm install
11+
```
12+
13+
2. Start the app
14+
15+
```bash
16+
npx expo start
17+
```
18+
19+
In the output, you'll find options to open the app in a
20+
21+
- [development build](https://docs.expo.dev/develop/development-builds/introduction/)
22+
- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/)
23+
- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/)
24+
- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo
25+
26+
You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction).
27+
28+
## Get a fresh project
29+
30+
When you're ready, run:
31+
32+
```bash
33+
npm run reset-project
34+
```
35+
36+
This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing.
37+
38+
## Learn more
39+
40+
To learn more about developing your project with Expo, look at the following resources:
41+
42+
- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides).
43+
- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
44+
45+
## Join the community
46+
47+
Join our community of developers creating universal apps.
48+
49+
- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute.
50+
- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions.

apps/ExpoApp55/RNApp.tsx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { SafeAreaView } from 'react-native-safe-area-context';
2+
import { StyleSheet, Text, View } from 'react-native';
3+
import Counter from './components/counter';
4+
5+
export default function RNApp() {
6+
return (
7+
<SafeAreaView style={styles.container}>
8+
<Text style={styles.title}>Expo React Native Brownfield</Text>
9+
10+
<View style={styles.content}>
11+
<Counter />
12+
</View>
13+
</SafeAreaView>
14+
);
15+
}
16+
17+
const styles = StyleSheet.create({
18+
container: {
19+
flex: 1,
20+
backgroundColor: '#eeeeee',
21+
paddingTop: 20,
22+
},
23+
title: {
24+
fontSize: 20,
25+
fontWeight: 'bold',
26+
textAlign: 'center',
27+
},
28+
content: {
29+
flex: 1,
30+
justifyContent: 'center',
31+
alignItems: 'center',
32+
},
33+
text: {
34+
fontSize: 18,
35+
textAlign: 'center',
36+
marginBottom: 5,
37+
},
38+
});

apps/ExpoApp55/app.json

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"expo": {
3+
"name": "xd55",
4+
"slug": "xd55",
5+
"version": "1.0.0",
6+
"orientation": "portrait",
7+
"icon": "./assets/images/icon.png",
8+
"scheme": "expoapp55",
9+
"userInterfaceStyle": "automatic",
10+
"ios": {
11+
"icon": "./assets/expo.icon",
12+
"bundleIdentifier": "com.callstack.rnbrownfield.demo.expoapp"
13+
},
14+
"android": {
15+
"adaptiveIcon": {
16+
"backgroundColor": "#E6F4FE",
17+
"foregroundImage": "./assets/images/android-icon-foreground.png",
18+
"backgroundImage": "./assets/images/android-icon-background.png",
19+
"monochromeImage": "./assets/images/android-icon-monochrome.png"
20+
},
21+
"predictiveBackGestureEnabled": false,
22+
"package": "com.callstack.rnbrownfield.demo.expoapp"
23+
},
24+
"web": {
25+
"output": "static",
26+
"favicon": "./assets/images/favicon.png"
27+
},
28+
"plugins": [
29+
"expo-router",
30+
[
31+
"expo-splash-screen",
32+
{
33+
"backgroundColor": "#208AEF",
34+
"android": {
35+
"image": "./assets/images/splash-icon.png",
36+
"imageWidth": 76
37+
}
38+
}
39+
],
40+
"@callstack/react-native-brownfield"
41+
],
42+
"experiments": {
43+
"typedRoutes": true,
44+
"reactCompiler": true
45+
}
46+
}
47+
}
Lines changed: 3 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)