-
Notifications
You must be signed in to change notification settings - Fork 640
Expand file tree
/
Copy pathapp.config.ts
More file actions
124 lines (118 loc) · 3.23 KB
/
app.config.ts
File metadata and controls
124 lines (118 loc) · 3.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import type { ConfigContext, ExpoConfig } from '@expo/config';
import type { AppIconBadgeConfig } from 'app-icon-badge/types';
import 'tsx/cjs';
// adding lint exception as we need to import tsx/cjs before env.ts is imported
// eslint-disable-next-line perfectionist/sort-imports
import Env from './env';
const EXPO_ACCOUNT_OWNER = 'obytes';
const EAS_PROJECT_ID = 'c3e1075b-6fe7-4686-aa49-35b46a229044';
const appIconBadgeConfig: AppIconBadgeConfig = {
enabled: Env.EXPO_PUBLIC_APP_ENV !== 'production',
badges: [
{
text: Env.EXPO_PUBLIC_APP_ENV,
type: 'banner',
color: 'white',
},
{
text: Env.EXPO_PUBLIC_VERSION.toString(),
type: 'ribbon',
color: 'white',
},
],
};
export default ({ config }: ConfigContext): ExpoConfig => ({
...config,
name: Env.EXPO_PUBLIC_NAME,
description: `${Env.EXPO_PUBLIC_NAME} Mobile App`,
owner: EXPO_ACCOUNT_OWNER,
scheme: Env.EXPO_PUBLIC_SCHEME,
slug: 'obytesapp',
version: Env.EXPO_PUBLIC_VERSION.toString(),
orientation: 'portrait',
icon: './assets/icon.png',
userInterfaceStyle: 'automatic',
newArchEnabled: true,
updates: {
fallbackToCacheTimeout: 0,
},
assetBundlePatterns: ['**/*'],
ios: {
supportsTablet: true,
bundleIdentifier: Env.EXPO_PUBLIC_BUNDLE_ID,
infoPlist: {
ITSAppUsesNonExemptEncryption: false,
},
},
experiments: {
typedRoutes: true,
},
android: {
adaptiveIcon: {
foregroundImage: './assets/adaptive-icon.png',
backgroundColor: '#2E3C4B',
},
package: Env.EXPO_PUBLIC_PACKAGE,
},
web: {
favicon: './assets/favicon.png',
bundler: 'metro',
},
plugins: [
[
'expo-splash-screen',
{
backgroundColor: '#2E3C4B',
image: './assets/splash-icon.png',
imageWidth: 150,
},
],
[
'expo-font',
{
ios: {
fonts: [
'node_modules/@expo-google-fonts/inter/400Regular/Inter_400Regular.ttf',
'node_modules/@expo-google-fonts/inter/500Medium/Inter_500Medium.ttf',
'node_modules/@expo-google-fonts/inter/600SemiBold/Inter_600SemiBold.ttf',
'node_modules/@expo-google-fonts/inter/700Bold/Inter_700Bold.ttf',
],
},
android: {
fonts: [
{
fontFamily: 'Inter',
fontDefinitions: [
{
path: 'node_modules/@expo-google-fonts/inter/400Regular/Inter_400Regular.ttf',
weight: 400,
},
{
path: 'node_modules/@expo-google-fonts/inter/500Medium/Inter_500Medium.ttf',
weight: 500,
},
{
path: 'node_modules/@expo-google-fonts/inter/600SemiBold/Inter_600SemiBold.ttf',
weight: 600,
},
{
path: 'node_modules/@expo-google-fonts/inter/700Bold/Inter_700Bold.ttf',
weight: 700,
},
],
},
],
},
},
],
'expo-localization',
'expo-router',
['app-icon-badge', appIconBadgeConfig],
['react-native-edge-to-edge'],
],
extra: {
eas: {
projectId: EAS_PROJECT_ID,
},
},
});