"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function createClientEnvironment(mode, publicPath, nativeAppManifest) {
const environment = mode || 'development';
const __DEV__ = environment !== 'production';
const ENV_VAR_REGEX = /^(EXPO_|REACT_NATIVE_|CI$)/i;
const processEnv = Object.keys(process.env)
.filter(key => ENV_VAR_REGEX.test(key))
.reduce((env, key) => {
env[key] = JSON.stringify(process.env[key]);
return env;
}, {
/**
* Useful for determining whether we’re running in production mode.
* Most importantly, it switches React into the correct mode.
*/
NODE_ENV: JSON.stringify(environment),
/**
* Useful for resolving the correct path to static assets in `public`.
* For example, <img src={process.env.PUBLIC_URL + '/img/logo.png'} />.
* This should only be used as an escape hatch. Normally you would put
* images into the root folder and `import` them in code to get their paths.
*/
PUBLIC_URL: JSON.stringify(publicPath),
/**
* Surfaces the `app.json` (config) as an environment variable which is then parsed by
* `expo-constants` https://docs.expo.io/versions/latest/sdk/constants/
*/
APP_MANIFEST: JSON.stringify(nativeAppManifest),
});
return {
'process.env': processEnv,
__DEV__,
};
}
exports.default = createClientEnvironment;
//# sourceMappingURL=createClientEnvironment.js.map