@@ -4,10 +4,12 @@ import * as path from 'path';
44import format from 'string-format' ;
55
66import { PathOsBased } from './utils/path' ;
7+ import { getSync } from './api/consumer/lib/global-config' ;
78
89const userHome = require ( 'user-home' ) ;
910const packageFile = require ( '../package.json' ) ;
1011
12+
1113export const IS_WINDOWS = os . platform ( ) === 'win32' ;
1214
1315function getDirectory ( ) : PathOsBased {
@@ -32,6 +34,34 @@ function getCacheDirectory(): PathOsBased {
3234 return getDirectory ( ) ;
3335}
3436
37+ /**
38+ * cache root directory
39+ */
40+ export const CACHE_ROOT = getCacheDirectory ( ) ;
41+
42+ /**
43+ * global config directories
44+ */
45+ export const GLOBAL_CONFIG : PathOsBased = path . join ( CACHE_ROOT , 'config' ) ;
46+
47+ export const GLOBAL_LOGS : PathOsBased = path . join ( CACHE_ROOT , 'logs' ) ;
48+
49+ export const GLOBAL_SCOPE : PathOsBased = path . join ( CACHE_ROOT , 'scope' ) ;
50+
51+ export const GLOBALS_DEFAULT_CAPSULES = path . join ( CACHE_ROOT , 'capsules' ) ;
52+
53+ export const GLOBAL_CONFIG_FILE = 'config.json' ;
54+
55+ export const GLOBAL_REMOTES = 'global-remotes.json' ;
56+
57+ export const BIT_HIDDEN_DIR = '.bit' ;
58+
59+ export const BIT_GIT_DIR = 'bit' ;
60+
61+ export const DOT_GIT_DIR = '.git' ;
62+
63+
64+
3565export const BIT_USAGE = '[--version] [--help] <command> [<args>]' ;
3666
3767export const BITS_DIRNAME = 'components' ;
@@ -123,41 +153,56 @@ export const SPINNER_TYPE = IS_WINDOWS ? cliSpinners.dots : cliSpinners.dots12;
123153 */
124154
125155/**
126- * @deprecated use 'BASE_CLOUD_DOMAIN ' or 'BASE_COMMUNITY_DOMAIN'
156+ * @deprecated use 'getCloudDomain() ' or 'BASE_COMMUNITY_DOMAIN'
127157 */
128158export const BASE_WEB_DOMAIN = 'bit.dev' ;
129159
130- export const BASE_CLOUD_DOMAIN = 'bit.cloud' ;
160+ export const CFG_CLOUD_DOMAIN_KEY = 'cloud_domain' ;
161+
162+ export const DEFAULT_CLOUD_DOMAIN = 'bit.cloud' ;
163+ let resolvedCloudDomain ;
164+ export const getCloudDomain = ( ) : string => {
165+ if ( resolvedCloudDomain ) return resolvedCloudDomain ;
166+ resolvedCloudDomain = getSync ( CFG_CLOUD_DOMAIN_KEY ) || DEFAULT_CLOUD_DOMAIN ;
167+ return resolvedCloudDomain ;
168+ }
131169
132170export const BASE_COMMUNITY_DOMAIN = 'bit.dev' ;
133171
134172export const PREVIOUSLY_BASE_WEB_DOMAIN = 'bitsrc.io' ;
135173
136- export const DEFAULT_HUB_DOMAIN = `hub.${ BASE_CLOUD_DOMAIN } ` ;
174+ export const DEFAULT_HUB_DOMAIN = `hub.${ getCloudDomain ( ) } ` ;
137175
138- export const SYMPHONY_URL = `symphony.${ BASE_CLOUD_DOMAIN } ` ;
176+ export const CFG_SYMPHONY_URL_KEY = 'symphony_url' ;
177+
178+ let resolvedSymphonyUrl ;
179+ export const getSymphonyUrl = ( ) : string => {
180+ if ( resolvedSymphonyUrl ) return resolvedSymphonyUrl ;
181+ resolvedSymphonyUrl = getSync ( CFG_SYMPHONY_URL_KEY ) || `symphony.${ getCloudDomain ( ) } ` ;
182+ return resolvedSymphonyUrl ;
183+ }
139184
140- export const SYMPHONY_GRAPHQL = `http ://${ SYMPHONY_URL } /graphql` ;
185+ export const SYMPHONY_GRAPHQL = `https ://${ getSymphonyUrl ( ) } /graphql` ;
141186
142187export const BASE_DOCS_DOMAIN = `${ BASE_COMMUNITY_DOMAIN } /docs` ;
143188
144189export const BASE_LEGACY_DOCS_DOMAIN = `legacy-docs.${ BASE_COMMUNITY_DOMAIN } /docs` ;
145190
146- export const DEFAULT_HUB_LOGIN = `https://${ BASE_CLOUD_DOMAIN } /bit-login` ;
191+ export const DEFAULT_HUB_LOGIN = `https://${ getCloudDomain ( ) } /bit-login` ;
147192
148- export const DEFAULT_ANALYTICS_DOMAIN = `https://analytics.${ BASE_CLOUD_DOMAIN } /` ;
193+ export const DEFAULT_ANALYTICS_DOMAIN = `https://analytics.${ getCloudDomain ( ) } /` ;
149194
150- export const SEARCH_DOMAIN = `api.${ BASE_CLOUD_DOMAIN } ` ;
195+ export const SEARCH_DOMAIN = `api.${ getCloudDomain ( ) } ` ;
151196
152- export const RELEASE_SERVER = `https://api.${ BASE_CLOUD_DOMAIN } /release` ;
197+ export const RELEASE_SERVER = `https://api.${ getCloudDomain ( ) } /release` ;
153198
154- export const DEFAULT_REGISTRY_URL = `https://node.bit.cloud ` ;
199+ export const DEFAULT_REGISTRY_URL = `https://node.${ getCloudDomain ( ) } ` ;
155200
156201export const PREVIOUSLY_DEFAULT_REGISTRY_URL = `https://node.${ PREVIOUSLY_BASE_WEB_DOMAIN } ` ;
157202
158- export const CENTRAL_BIT_HUB_URL = `https://${ SYMPHONY_URL } /exporter` ;
203+ export const CENTRAL_BIT_HUB_URL = `https://${ getSymphonyUrl ( ) } /exporter` ;
159204
160- export const CENTRAL_BIT_HUB_NAME = 'bit.cloud' ;
205+ export const CENTRAL_BIT_HUB_NAME = getCloudDomain ( ) ;
161206
162207// END URLS
163208
@@ -221,8 +266,6 @@ export const CFG_SSH_KEY_FILE_KEY = 'ssh_key_file';
221266
222267export const CFG_HUB_DOMAIN_KEY = 'hub_domain' ;
223268
224- export const CFG_SYMPHONY_URL_KEY = 'symphony_url' ;
225-
226269export const CFG_HUB_LOGIN_KEY = 'hub_domain_login' ;
227270
228271export const CFG_ANALYTICS_DOMAIN_KEY = 'analytics_domain' ;
@@ -377,32 +420,6 @@ export const HOOKS_NAMES = [
377420 POST_REMOVE_REMOTE ,
378421] ;
379422
380- /**
381- * cache root directory
382- */
383- export const CACHE_ROOT = getCacheDirectory ( ) ;
384-
385- /**
386- * global config directories
387- */
388- export const GLOBAL_CONFIG : PathOsBased = path . join ( CACHE_ROOT , 'config' ) ;
389-
390- export const GLOBAL_LOGS : PathOsBased = path . join ( CACHE_ROOT , 'logs' ) ;
391-
392- export const GLOBAL_SCOPE : PathOsBased = path . join ( CACHE_ROOT , 'scope' ) ;
393-
394- export const GLOBALS_DEFAULT_CAPSULES = path . join ( CACHE_ROOT , 'capsules' ) ;
395-
396- export const GLOBAL_CONFIG_FILE = 'config.json' ;
397-
398- export const GLOBAL_REMOTES = 'global-remotes.json' ;
399-
400- export const BIT_HIDDEN_DIR = '.bit' ;
401-
402- export const BIT_GIT_DIR = 'bit' ;
403-
404- export const DOT_GIT_DIR = '.git' ;
405-
406423/**
407424 * bit registry default URL.
408425 */
0 commit comments