-
Notifications
You must be signed in to change notification settings - Fork 96
/
environment.js
62 lines (56 loc) · 1.94 KB
/
environment.js
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
// @flow
import type { ConfigType, Network } from '../config/config-types';
import { NetworkType } from '../config/config-types';
import type { UserAgentInfo } from './utils/userAgentInfo';
import userAgentInfo from './utils/userAgentInfo';
// populated by ConfigWebpackPlugin
declare var CONFIG: ConfigType;
declare type Currency = 'ada';
function getVersion(): string {
const manifest = require('../chrome/manifest.' + CONFIG.network.name);
const content = manifest.default !== undefined
? manifest.default
: manifest;
return content.version;
}
export const environment = ((
{
...process.env,
/** Network used to connect */
NETWORK: CONFIG.network.name,
version: getVersion(),
/** Environment used during webpack build */
env_type: process.env.NODE_ENV,
API: ('ada': Currency), // Note: can't change at runtime
MOBX_DEV_TOOLS: process.env.MOBX_DEV_TOOLS,
commit: process.env.COMMIT || '',
isJest: () => process.env.NODE_ENV === 'jest' || process.env.NODE_ENV === 'test',
branch: process.env.BRANCH || '',
isDev: () => CONFIG.network.name === NetworkType.DEVELOPMENT,
isShelley: () => CONFIG.network.name === NetworkType.SHELLEY_DEV,
isTest: () => CONFIG.network.name === NetworkType.TEST,
isMainnet: () => environment.NETWORK === NetworkType.MAINNET,
isAdaApi: () => environment.API === 'ada',
walletRefreshInterval: CONFIG.app.walletRefreshInterval,
serverStatusRefreshInterval: CONFIG.app.serverStatusRefreshInterval,
userAgentInfo,
}
): {
NETWORK: Network,
version: string,
env_type: ?string,
API: Currency,
MOBX_DEV_TOOLS: ?string,
commit: string,
branch: string,
isJest: void => boolean,
isDev: void => boolean,
isShelley: void => boolean,
isTest: void => boolean,
isMainnet: void => boolean,
isAdaApi: void => boolean,
walletRefreshInterval: number,
serverStatusRefreshInterval: number,
userAgentInfo: UserAgentInfo
});
export default environment;