Reviewed By: nikoant Differential Revision: D24160480 fbshipit-source-id: 221e60473dddc0a49cea674e210beb6f85b1b03c
43 lines
1.0 KiB
TypeScript
43 lines
1.0 KiB
TypeScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
/**
|
|
* There are some env vars which affect transformations, so the Metro/Babel cache should be invalidated when at least one of them changed.
|
|
* They are used in get-cache-key.ts for cache key generation.
|
|
*/
|
|
type FlipperEnvVars = {
|
|
FLIPPER_FB?: string;
|
|
FLIPPER_TEST_RUNNER?: string;
|
|
FLIPPER_ELECTRON_VERSION?: string;
|
|
NODE_ENV?: string;
|
|
};
|
|
|
|
const flipperEnv = new Proxy(
|
|
{
|
|
FLIPPER_FB: undefined,
|
|
FLIPPER_TEST_RUNNER: undefined,
|
|
FLIPPER_ELECTRON_VERSION: undefined,
|
|
NODE_ENV: undefined,
|
|
} as FlipperEnvVars,
|
|
{
|
|
get: function (obj, prop) {
|
|
if (typeof prop === 'string') {
|
|
return process.env[prop];
|
|
} else {
|
|
return (obj as any)[prop];
|
|
}
|
|
},
|
|
set: function () {
|
|
throw new Error('flipperEnv is read-only');
|
|
},
|
|
},
|
|
);
|
|
|
|
export default flipperEnv;
|