1/* eslint-env jest */
2declare const process: {
3  env: {
4    NODE_ENV: string;
5    /** Used in `@expo/metro-runtime`. */
6    EXPO_DEV_SERVER_ORIGIN?: string;
7
8    FORCE_COLOR?: string;
9    CI?: string;
10    EXPO_USE_PATH_ALIASES?: string;
11    EXPO_USE_STATIC?: string;
12    E2E_ROUTER_SRC?: string;
13    EXPO_E2E_BASE_PATH?: string;
14  };
15  [key: string]: any;
16};
17
18const originalForceColor = process.env.FORCE_COLOR;
19const originalCI = process.env.CI;
20
21function clearEnv() {
22  process.env.FORCE_COLOR = '0';
23  process.env.CI = '1';
24  process.env.EXPO_USE_PATH_ALIASES = '1';
25  delete process.env.EXPO_USE_STATIC;
26  delete process.env.EXPO_E2E_BASE_PATH;
27}
28
29function restoreEnv() {
30  process.env.FORCE_COLOR = originalForceColor;
31  process.env.CI = originalCI;
32  delete process.env.EXPO_USE_PATH_ALIASES;
33}
34
35export function runExportSideEffects() {
36  beforeAll(async () => {
37    clearEnv();
38  });
39
40  afterAll(() => {
41    restoreEnv();
42  });
43}
44