1const baseDevClientE2E = {
2  preset: 'detox',
3  reactVersion: '17.0.1',
4  reactNativeVersion: '0.67.3',
5  detoxConfigFile: '.detoxrc.js',
6  appEntryPoint: 'e2e/app/App.tsx',
7  android: {
8    mainApplication: 'e2e/android/MainApplication.java',
9    mainActivity: 'e2e/android/MainActivity.java',
10    detoxTestFile: 'e2e/android/DetoxTest.java',
11  },
12  ios: {
13    appDelegate: 'e2e/ios/AppDelegate.m',
14  },
15  dependencies: [
16    {
17      name: 'expo',
18      path: '../expo',
19    },
20    {
21      name: 'expo-modules-core',
22      path: '../expo-modules-core',
23    },
24    {
25      name: 'expo-modules-autolinking',
26      path: '../expo-modules-autolinking',
27    },
28    {
29      name: 'expo-dev-client',
30      path: '../expo-dev-client',
31    },
32    {
33      name: 'expo-dev-launcher',
34      path: '../expo-dev-launcher',
35    },
36    {
37      name: 'expo-dev-menu',
38      path: '../expo-dev-menu',
39    },
40    {
41      name: 'expo-dev-menu-interface',
42      path: '../expo-dev-menu-interface',
43    },
44    {
45      name: 'expo-manifests',
46      path: '../expo-manifests',
47    },
48    {
49      name: 'expo-updates-interface',
50      path: '../expo-updates-interface',
51    },
52  ],
53  additionalFiles: ['e2e'],
54};
55
56module.exports = {
57  applications: {
58    'dev-client-e2e': {
59      ...baseDevClientE2E,
60      tests: {
61        e2e: {
62          shouldRunBundler: true,
63          configurations: ['ios', 'android'],
64        },
65      },
66    },
67    'dev-client-latest-e2e': {
68      ...baseDevClientE2E,
69      reactNativeVersion: 'next',
70      tests: {
71        'latest-e2e': {
72          shouldRunBundler: true,
73          configurations: ['ios', 'android'],
74        },
75      },
76    },
77  },
78};
79