Skip to content

Commit 9f34382

Browse files
Add Expo settings and Metro configuration for mobile app
- Created settings.json for Expo with random URL configuration. - Added metro.config.js to configure Metro bundler with workspace support and symlink handling.
1 parent 0a16054 commit 9f34382

5 files changed

Lines changed: 853 additions & 651 deletions

File tree

apps/mobile/.expo/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"urlRandomness": "KpFKNro"
3+
}

apps/mobile/app.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
"version": "1.0.0",
66
"orientation": "portrait",
77
"userInterfaceStyle": "light",
8-
"assetBundlePatterns": ["**/*"],
8+
"assetBundlePatterns": [
9+
"**/*"
10+
],
911
"ios": {
1012
"supportsTablet": true
1113
},
@@ -16,6 +18,9 @@
1618
},
1719
"web": {
1820
"bundler": "metro"
19-
}
21+
},
22+
"plugins": [
23+
"expo-secure-store"
24+
]
2025
}
2126
}

apps/mobile/metro.config.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const path = require('path');
2+
const { getDefaultConfig } = require('expo/metro-config');
3+
4+
const projectRoot = __dirname;
5+
const workspaceRoot = path.resolve(projectRoot, '../..');
6+
7+
const config = getDefaultConfig(projectRoot);
8+
9+
config.watchFolders = [workspaceRoot];
10+
config.resolver.nodeModulesPaths = [
11+
path.resolve(projectRoot, 'node_modules'),
12+
path.resolve(workspaceRoot, 'node_modules'),
13+
];
14+
config.resolver.unstable_enableSymlinks = true;
15+
16+
module.exports = config;

apps/mobile/package.json

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
{
2-
"name": "mobile",
3-
"version": "1.0.0",
4-
"private": true,
5-
"main": "index.js",
6-
"scripts": {
7-
"dev": "expo start",
8-
"build": "tsc --noEmit",
9-
"lint": "tsc --noEmit",
10-
"test": "echo \"No tests yet\""
11-
},
12-
"dependencies": {
13-
"@fairshare/shared-types": "workspace:*",
14-
"@react-navigation/native": "^7.1.14",
15-
"@react-navigation/native-stack": "^7.3.21",
16-
"axios": "^1.8.2",
17-
"expo": "^53.0.0",
18-
"expo-secure-store": "^14.0.1",
19-
"expo-status-bar": "~2.0.0",
20-
"react": "19.0.0",
21-
"react-hook-form": "^7.55.0",
22-
"react-native": "0.79.0",
23-
"react-native-safe-area-context": "^5.4.0",
24-
"react-native-screens": "^4.10.0",
25-
"zustand": "^5.0.3"
26-
},
27-
"devDependencies": {
28-
"@types/react": "^19.0.7",
29-
"typescript": "^5.7.3"
30-
}
2+
"name": "mobile",
3+
"version": "1.0.0",
4+
"private": true,
5+
"main": "index.js",
6+
"scripts": {
7+
"dev": "expo start",
8+
"build": "tsc --noEmit",
9+
"lint": "tsc --noEmit",
10+
"test": "echo \"No tests yet\""
11+
},
12+
"dependencies": {
13+
"@fairshare/shared-types": "workspace:*",
14+
"@react-navigation/native": "^7.1.31",
15+
"@react-navigation/native-stack": "^7.14.2",
16+
"axios": "^1.8.2",
17+
"expo": "^54.0.33",
18+
"expo-secure-store": "^15.0.8",
19+
"expo-status-bar": "~3.0.9",
20+
"react": "19.1.0",
21+
"react-hook-form": "^7.55.0",
22+
"react-native": "0.81.4",
23+
"react-native-safe-area-context": "^5.6.2",
24+
"react-native-screens": "^4.16.0",
25+
"zustand": "^5.0.3"
26+
},
27+
"devDependencies": {
28+
"@types/react": "^19.0.7",
29+
"typescript": "^5.7.3"
30+
}
3131
}

0 commit comments

Comments
 (0)