@contentstack/cli-cm-export 1.5.9 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +2 -2
  2. package/lib/commands/cm/stacks/export.d.ts +10 -0
  3. package/lib/commands/cm/stacks/export.js +108 -0
  4. package/lib/config/index.d.ts +3 -0
  5. package/lib/config/index.js +403 -0
  6. package/lib/export/index.d.ts +1 -0
  7. package/lib/export/index.js +8 -0
  8. package/lib/export/module-exporter.d.ts +15 -0
  9. package/lib/export/module-exporter.js +93 -0
  10. package/lib/export/modules/assets.d.ts +54 -0
  11. package/lib/export/modules/assets.js +303 -0
  12. package/lib/export/modules/base-class.d.ts +48 -0
  13. package/lib/export/modules/base-class.js +117 -0
  14. package/lib/export/modules/content-types.d.ts +15 -0
  15. package/lib/export/modules/content-types.js +72 -0
  16. package/lib/export/modules/custom-roles.d.ts +16 -0
  17. package/lib/export/modules/custom-roles.js +81 -0
  18. package/lib/export/modules/environments.d.ts +12 -0
  19. package/lib/export/modules/environments.js +64 -0
  20. package/lib/export/modules/extensions.d.ts +12 -0
  21. package/lib/export/modules/extensions.js +64 -0
  22. package/lib/export/modules/global-fields.d.ts +14 -0
  23. package/lib/export/modules/global-fields.js +59 -0
  24. package/lib/export/modules/index.d.ts +3 -0
  25. package/lib/export/modules/index.js +38 -0
  26. package/lib/export/modules/labels.d.ts +12 -0
  27. package/lib/export/modules/labels.js +64 -0
  28. package/lib/export/modules/locales.d.ts +16 -0
  29. package/lib/export/modules/locales.js +68 -0
  30. package/lib/export/modules/marketplace-apps.d.ts +18 -0
  31. package/lib/export/modules/marketplace-apps.js +119 -0
  32. package/lib/export/modules/webhooks.d.ts +12 -0
  33. package/lib/export/modules/webhooks.js +63 -0
  34. package/lib/export/modules-js/assets.d.ts +43 -0
  35. package/lib/export/modules-js/assets.js +391 -0
  36. package/lib/export/modules-js/content-types.d.ts +21 -0
  37. package/lib/export/modules-js/content-types.js +75 -0
  38. package/lib/export/modules-js/custom-roles.d.ts +21 -0
  39. package/lib/export/modules-js/custom-roles.js +76 -0
  40. package/lib/export/modules-js/entries.d.ts +18 -0
  41. package/lib/export/modules-js/entries.js +141 -0
  42. package/lib/export/modules-js/environments.d.ts +16 -0
  43. package/lib/export/modules-js/environments.js +62 -0
  44. package/lib/export/modules-js/extensions.d.ts +18 -0
  45. package/lib/export/modules-js/extensions.js +57 -0
  46. package/lib/export/modules-js/global-fields.d.ts +22 -0
  47. package/lib/export/modules-js/global-fields.js +107 -0
  48. package/lib/export/modules-js/index.d.ts +2 -0
  49. package/lib/export/modules-js/index.js +31 -0
  50. package/lib/export/modules-js/labels.d.ts +14 -0
  51. package/lib/export/modules-js/labels.js +56 -0
  52. package/lib/export/modules-js/locales.d.ts +23 -0
  53. package/lib/export/modules-js/locales.js +67 -0
  54. package/lib/export/modules-js/marketplace-apps.d.ts +20 -0
  55. package/lib/export/modules-js/marketplace-apps.js +125 -0
  56. package/lib/export/modules-js/stack.d.ts +18 -0
  57. package/lib/export/modules-js/stack.js +91 -0
  58. package/lib/export/modules-js/webhooks.d.ts +18 -0
  59. package/lib/export/modules-js/webhooks.js +60 -0
  60. package/lib/export/modules-js/workflows.d.ts +16 -0
  61. package/lib/export/modules-js/workflows.js +89 -0
  62. package/lib/types/default-config.d.ts +158 -0
  63. package/lib/types/default-config.js +2 -0
  64. package/lib/types/export-config.d.ts +36 -0
  65. package/lib/types/export-config.js +2 -0
  66. package/lib/types/index.d.ts +88 -0
  67. package/lib/types/index.js +2 -0
  68. package/lib/utils/basic-login.d.ts +8 -0
  69. package/lib/utils/basic-login.js +45 -0
  70. package/lib/utils/common-helper.d.ts +11 -0
  71. package/lib/utils/common-helper.js +78 -0
  72. package/lib/utils/export-config-handler.d.ts +3 -0
  73. package/lib/utils/export-config-handler.js +72 -0
  74. package/lib/utils/file-helper.d.ts +14 -0
  75. package/lib/utils/file-helper.js +120 -0
  76. package/lib/utils/index.d.ts +10 -0
  77. package/lib/utils/index.js +21 -0
  78. package/lib/utils/interactive.d.ts +7 -0
  79. package/lib/utils/interactive.js +84 -0
  80. package/lib/utils/logger.d.ts +8 -0
  81. package/lib/utils/logger.js +154 -0
  82. package/lib/utils/marketplace-app-helper.d.ts +11 -0
  83. package/lib/utils/marketplace-app-helper.js +55 -0
  84. package/lib/utils/setup-branches.d.ts +3 -0
  85. package/lib/utils/setup-branches.js +49 -0
  86. package/lib/utils/setup-export-dir.d.ts +2 -0
  87. package/lib/utils/setup-export-dir.js +12 -0
  88. package/messages/index.json +1 -7
  89. package/oclif.manifest.json +1 -1
  90. package/package.json +38 -23
  91. package/src/app.js +0 -156
  92. package/src/commands/cm/stacks/export.js +0 -202
  93. package/src/config/default.js +0 -360
  94. package/src/lib/export/assets.js +0 -454
  95. package/src/lib/export/content-types.js +0 -90
  96. package/src/lib/export/custom-roles.js +0 -92
  97. package/src/lib/export/entries.js +0 -200
  98. package/src/lib/export/environments.js +0 -74
  99. package/src/lib/export/extensions.js +0 -69
  100. package/src/lib/export/global-fields.js +0 -122
  101. package/src/lib/export/labels.js +0 -67
  102. package/src/lib/export/locales.js +0 -72
  103. package/src/lib/export/marketplace-apps.js +0 -187
  104. package/src/lib/export/stack.js +0 -98
  105. package/src/lib/export/webhooks.js +0 -76
  106. package/src/lib/export/workflows.js +0 -106
  107. package/src/lib/util/export-flags.js +0 -193
  108. package/src/lib/util/helper.js +0 -113
  109. package/src/lib/util/index.js +0 -80
  110. package/src/lib/util/log.js +0 -161
  111. package/src/lib/util/login.js +0 -79
  112. package/src/lib/util/marketplace-app-helper.js +0 -24
  113. package/src/lib/util/setup-branches.js +0 -56
@@ -1,202 +0,0 @@
1
- /* eslint-disable complexity */
2
- const { Command } = require('@contentstack/cli-command');
3
- const { printFlagDeprecation, configHandler, flags, isAuthenticated, cliux } = require('@contentstack/cli-utilities');
4
- const {
5
- configWithMToken,
6
- parameterWithMToken,
7
- withoutParameterMToken,
8
- configWithAuthToken,
9
- parametersWithAuthToken,
10
- withoutParametersWithAuthToken,
11
- } = require('../../../lib/util/export-flags');
12
- const config = require('../../../config/default');
13
-
14
- class ExportCommand extends Command {
15
- async run() {
16
- const { flags: exportCommandFlags } = await this.parse(ExportCommand);
17
- const extConfig = exportCommandFlags.config;
18
- const sourceStack = exportCommandFlags['stack-uid'] || exportCommandFlags['stack-api-key'];
19
- const alias = exportCommandFlags['alias'] || exportCommandFlags['management-token-alias'];
20
- const securedAssets = exportCommandFlags['secured-assets'];
21
- const data = exportCommandFlags.data || exportCommandFlags['data-dir'];
22
- const moduleName = exportCommandFlags.module;
23
- const contentTypes = exportCommandFlags['content-types'];
24
- const branchName = exportCommandFlags.branch;
25
- let host = this.region;
26
- let cmaHost = host.cma.split('//');
27
- let cdaHost = host.cda.split('//');
28
- host.cma = cmaHost[1];
29
- host.cda = cdaHost[1];
30
- exportCommandFlags['isAuthenticated'] = isAuthenticated();
31
-
32
- config.forceStopMarketplaceAppsPrompt = exportCommandFlags.yes;
33
-
34
- if (alias) {
35
- const managementTokens = this.getToken(alias);
36
- const listOfTokens = configHandler.get('tokens');
37
- config.management_token_data = listOfTokens[alias];
38
-
39
- if (managementTokens) {
40
- if (extConfig) {
41
- await configWithMToken(
42
- extConfig,
43
- managementTokens,
44
- host,
45
- contentTypes,
46
- branchName,
47
- securedAssets,
48
- moduleName,
49
- data,
50
- exportCommandFlags,
51
- );
52
- } else if (data) {
53
- await parameterWithMToken(
54
- managementTokens,
55
- data,
56
- moduleName,
57
- host,
58
- contentTypes,
59
- branchName,
60
- securedAssets,
61
- exportCommandFlags,
62
- );
63
- } else if (data === undefined && sourceStack === undefined) {
64
- await withoutParameterMToken(
65
- managementTokens,
66
- moduleName,
67
- host,
68
- contentTypes,
69
- branchName,
70
- securedAssets,
71
- exportCommandFlags,
72
- );
73
- } else {
74
- cliux.print(`error: Please provide a valid command. Run "csdx cm:export --help" command to view the command usage`, {color: 'red'});
75
- }
76
- } else {
77
- cliux.print(`error: ${alias} management token is not present, please add managment token first`, {color: 'red'});
78
- }
79
- } else if (isAuthenticated()) {
80
- if (extConfig) {
81
- await configWithAuthToken(
82
- extConfig,
83
- moduleName,
84
- host,
85
- contentTypes,
86
- branchName,
87
- securedAssets,
88
- exportCommandFlags,
89
- );
90
- } else if (sourceStack && data) {
91
- return await parametersWithAuthToken(
92
- sourceStack,
93
- data,
94
- moduleName,
95
- host,
96
- contentTypes,
97
- branchName,
98
- securedAssets,
99
- exportCommandFlags,
100
- );
101
- } else if (data === undefined && sourceStack === undefined) {
102
- await withoutParametersWithAuthToken(
103
- moduleName,
104
- host,
105
- contentTypes,
106
- branchName,
107
- securedAssets,
108
- exportCommandFlags,
109
- );
110
- } else {
111
- cliux.print(`error: Please provide a valid command. Run "csdx cm:export --help" command to view the command usage`, {color: 'red'});
112
- }
113
- } else {
114
- cliux.print(`error: Login or provide the alias for management token`, {color: 'red'});
115
- }
116
- }
117
- }
118
-
119
- ExportCommand.description = `Export content from a stack`;
120
- ExportCommand.examples = [
121
- 'csdx cm:stacks:export --stack-api-key <stack_api_key> --data-dir <path/of/export/destination/dir>',
122
- 'csdx cm:stacks:export --config <path/to/config/dir>',
123
- 'csdx cm:stacks:export --alias <management_token_alias>',
124
- 'csdx cm:stacks:export --alias <management_token_alias> --data-dir <path/to/export/destination/dir>',
125
- 'csdx cm:stacks:export --alias <management_token_alias> --config <path/to/config/file>',
126
- 'csdx cm:stacks:export --module <single module name>',
127
- 'csdx cm:stacks:export --branch [optional] branch name',
128
- ];
129
- ExportCommand.usage =
130
- 'cm:stacks:export [-c <value>] [-k <value>] [-d <value>] [-a <value>] [--module <value>] [--content-types <value>] [--branch <value>] [--secured-assets]';
131
-
132
- ExportCommand.flags = {
133
- config: flags.string({
134
- char: 'c',
135
- description: '[optional] path of the config',
136
- }),
137
- 'stack-uid': flags.string({
138
- char: 's',
139
- description: 'API key of the source stack',
140
- hidden: true,
141
- parse: printFlagDeprecation(['-s', '--stack-uid'], ['-k', '--stack-api-key']),
142
- }),
143
- 'stack-api-key': flags.string({
144
- char: 'k',
145
- description: 'API key of the source stack',
146
- }),
147
- data: flags.string({
148
- description: 'path or location to store the data',
149
- hidden: true,
150
- parse: printFlagDeprecation(['--data'], ['--data-dir']),
151
- }),
152
- 'data-dir': flags.string({
153
- char: 'd',
154
- description: 'path or location to store the data',
155
- }),
156
- alias: flags.string({
157
- char: 'a',
158
- description: 'alias of the management token',
159
- }),
160
- 'management-token-alias': flags.string({
161
- description: 'alias of the management token',
162
- hidden: true,
163
- parse: printFlagDeprecation(['--management-token-alias'], ['-a', '--alias']),
164
- }),
165
- 'auth-token': flags.boolean({
166
- char: 'A',
167
- description: 'to use auth token',
168
- hidden: true,
169
- parse: printFlagDeprecation(['-A', '--auth-token']),
170
- }),
171
- module: flags.string({
172
- char: 'm',
173
- description: '[optional] specific module name',
174
- exclusive: ['content-types'],
175
- parse: printFlagDeprecation(['-m'], ['--module']),
176
- }),
177
- 'content-types': flags.string({
178
- char: 't',
179
- description: '[optional] content type',
180
- multiple: true,
181
- exclusive: ['module'],
182
- parse: printFlagDeprecation(['-t'], ['--content-types']),
183
- }),
184
- branch: flags.string({
185
- char: 'B',
186
- // default: 'main',
187
- description: '[optional] branch name',
188
- parse: printFlagDeprecation(['-B'], ['--branch']),
189
- }),
190
- 'secured-assets': flags.boolean({
191
- description: '[optional] use when assets are secured',
192
- }),
193
- yes: flags.boolean({
194
- char: 'y',
195
- required: false,
196
- description: '[optional] Override marketplace apps related prompts',
197
- }),
198
- };
199
-
200
- ExportCommand.aliases = ['cm:export'];
201
-
202
- module.exports = ExportCommand;
@@ -1,360 +0,0 @@
1
- module.exports = {
2
- versioning: false,
3
- host: 'https://api.contentstack.io/v3',
4
- developerHubUrls: {
5
- // NOTE CDA url used as developer-hub url mapper to avoid conflict if user used any custom name
6
- 'https://api.contentstack.io': 'https://developerhub-api.contentstack.com',
7
- 'https://eu-api.contentstack.com': 'https://eu-developerhub-api.contentstack.com',
8
- 'https://azure-na-api.contentstack.com': 'https://azure-na-developerhub-api.contentstack.com',
9
- 'https://azure-eu-api.contentstack.com': 'https://azure-eu-developerhub-api.contentstack.com',
10
- 'https://stag-api.csnonprod.com': 'https://stag-developerhub-api.csnonprod.com',
11
- },
12
- // use below hosts for eu region
13
- // host:'https://eu-api.contentstack.com/v3',
14
- // use below hosts for azure-na region
15
- // host:'https://azure-na-api.contentstack.com/v3',
16
- // use below hosts for azure-eu region
17
- // host:'https://azure-eu-api.contentstack.com/v3',
18
- modules: {
19
- types: [
20
- 'stack',
21
- 'assets',
22
- 'locales',
23
- 'environments',
24
- 'extensions',
25
- 'webhooks',
26
- 'global-fields',
27
- 'content-types',
28
- 'custom-roles',
29
- 'workflows',
30
- 'entries',
31
- 'labels',
32
- 'marketplace-apps',
33
- ],
34
- locales: {
35
- dirName: 'locales',
36
- fileName: 'locales.json',
37
- requiredKeys: ['code', 'uid', 'name', 'fallback_locale'],
38
- },
39
- masterLocale: {
40
- dirName: 'locales',
41
- fileName: 'master-locale.json',
42
- requiredKeys: ['code', 'uid', 'name'],
43
- },
44
- customRoles: {
45
- dirName: 'custom-roles',
46
- fileName: 'custom-roles.json',
47
- customRolesLocalesFileName: 'custom-roles-locales.json',
48
- },
49
- environments: {
50
- dirName: 'environments',
51
- fileName: 'environments.json',
52
- },
53
- labels: {
54
- dirName: 'labels',
55
- fileName: 'labels.json',
56
- invalidKeys: ['stackHeaders', 'uid', 'urlPath', 'created_at', 'updated_at', 'created_by', 'updated_by'],
57
- },
58
- webhooks: {
59
- dirName: 'webhooks',
60
- fileName: 'webhooks.json',
61
- },
62
- releases: {
63
- dirName: 'releases',
64
- fileName: 'releases.json',
65
- releasesList: 'releasesList.json',
66
- invalidKeys: ['stackHeaders', 'urlPath', 'created_at', 'updated_at', 'created_by', 'updated_by'],
67
- },
68
- workflows: {
69
- dirName: 'workflows',
70
- fileName: 'workflows.json',
71
- invalidKeys: ['stackHeaders', 'urlPath', 'created_at', 'updated_at', 'created_by', 'updated_by'],
72
- },
73
- globalfields: {
74
- dirName: 'global_fields',
75
- fileName: 'globalfields.json',
76
- validKeys: ['title', 'uid', 'schema', 'options', 'singleton', 'description'],
77
- },
78
- assets: {
79
- dirName: 'assets',
80
- fileName: 'assets.json',
81
- // This is the total no. of asset objects fetched in each 'get assets' call
82
- batchLimit: 20,
83
- host: 'https://images.contentstack.io',
84
- invalidKeys: ['created_at', 'updated_at', 'created_by', 'updated_by', '_metadata', 'published'],
85
- // no of asset version files (of a single asset) that'll be downloaded parallelly
86
- downloadLimit: 3,
87
- enableDownloadStatus: false,
88
- },
89
- content_types: {
90
- dirName: 'content_types',
91
- fileName: 'content_types.json',
92
- validKeys: ['title', 'uid', 'field_rules', 'schema', 'options', 'singleton', 'description'],
93
- // total no of content types fetched in each 'get content types' call
94
- limit: 100,
95
- },
96
- entries: {
97
- dirName: 'entries',
98
- fileName: 'entries.json',
99
- invalidKeys: [
100
- 'stackHeaders',
101
- 'content_type_uid',
102
- 'urlPath',
103
- 'created_at',
104
- 'updated_at',
105
- 'created_by',
106
- 'updated_by',
107
- '_metadata',
108
- 'published',
109
- ],
110
- batchLimit: 20,
111
- downloadLimit: 5,
112
- // total no of entries fetched in each content type in a single call
113
- limit: 100,
114
- },
115
- extensions: {
116
- dirName: 'extensions',
117
- fileName: 'extensions.json',
118
- },
119
- stack: {
120
- dirName: 'stack',
121
- fileName: 'stack.json',
122
- },
123
- dependency: {
124
- entries: ['stack', 'locales', 'content-types'],
125
- },
126
- marketplace_apps: {
127
- dirName: 'marketplace_apps',
128
- fileName: 'marketplace_apps.json',
129
- },
130
- },
131
- languagesCode: [
132
- 'af-za',
133
- 'sq-al',
134
- 'ar',
135
- 'ar-dz',
136
- 'ar-bh',
137
- 'ar-eg',
138
- 'ar-iq',
139
- 'ar-jo',
140
- 'ar-kw',
141
- 'ar-lb',
142
- 'ar-ly',
143
- 'ar-ma',
144
- 'ar-om',
145
- 'ar-qa',
146
- 'ar-sa',
147
- 'ar-sy',
148
- 'ar-tn',
149
- 'ar-ae',
150
- 'ar-ye',
151
- 'hy-am',
152
- 'az',
153
- 'cy-az-az',
154
- 'lt-az-az',
155
- 'eu-es',
156
- 'be-by',
157
- 'bs',
158
- 'bg-bg',
159
- 'ca-es',
160
- 'zh',
161
- 'zh-au',
162
- 'zh-cn',
163
- 'zh-hk',
164
- 'zh-mo',
165
- 'zh-my',
166
- 'zh-sg',
167
- 'zh-tw',
168
- 'zh-chs',
169
- 'zh-cht',
170
- 'hr-hr',
171
- 'cs',
172
- 'cs-cz',
173
- 'da-dk',
174
- 'div-mv',
175
- 'nl',
176
- 'nl-be',
177
- 'nl-nl',
178
- 'en',
179
- 'en-au',
180
- 'en-at',
181
- 'en-be',
182
- 'en-bz',
183
- 'en-ca',
184
- 'en-cb',
185
- 'en-cn',
186
- 'en-cz',
187
- 'en-dk',
188
- 'en-do',
189
- 'en-ee',
190
- 'en-fi',
191
- 'en-fr',
192
- 'en-de',
193
- 'en-gr',
194
- 'en-hk',
195
- 'en-hu',
196
- 'en-in',
197
- 'en-id',
198
- 'en-ie',
199
- 'en-it',
200
- 'en-jm',
201
- 'en-jp',
202
- 'en-kr',
203
- 'en-lv',
204
- 'en-lt',
205
- 'en-lu',
206
- 'en-my',
207
- 'en-mx',
208
- 'en-nz',
209
- 'en-no',
210
- 'en-ph',
211
- 'en-pl',
212
- 'en-pt',
213
- 'en-pr',
214
- 'en-ru',
215
- 'en-sg',
216
- 'en-sk',
217
- 'en-si',
218
- 'en-za',
219
- 'en-es',
220
- 'en-se',
221
- 'en-ch',
222
- 'en-th',
223
- 'en-nl',
224
- 'en-tt',
225
- 'en-gb',
226
- 'en-us',
227
- 'en-zw',
228
- 'et-ee',
229
- 'fo-fo',
230
- 'fa-ir',
231
- 'fi',
232
- 'fi-fi',
233
- 'fr',
234
- 'fr-be',
235
- 'fr-ca',
236
- 'fr-fr',
237
- 'fr-lu',
238
- 'fr-mc',
239
- 'fr-ch',
240
- 'fr-us',
241
- 'gd',
242
- 'gl-es',
243
- 'ka-ge',
244
- 'de',
245
- 'de-at',
246
- 'de-de',
247
- 'de-li',
248
- 'de-lu',
249
- 'de-ch',
250
- 'el-gr',
251
- 'gu-in',
252
- 'he-il',
253
- 'hi-in',
254
- 'hu-hu',
255
- 'is-is',
256
- 'id-id',
257
- 'it',
258
- 'it-it',
259
- 'it-ch',
260
- 'ja',
261
- 'ja-jp',
262
- 'kn-in',
263
- 'kk-kz',
264
- 'km-kh',
265
- 'kok-in',
266
- 'ko',
267
- 'ko-kr',
268
- 'ky-kz',
269
- 'lv-lv',
270
- 'lt-lt',
271
- 'mk-mk',
272
- 'ms',
273
- 'ms-bn',
274
- 'ms-my',
275
- 'ms-sg',
276
- 'mt',
277
- 'mr-in',
278
- 'mn-mn',
279
- 'no',
280
- 'no-no',
281
- 'nb-no',
282
- 'nn-no',
283
- 'pl-pl',
284
- 'pt',
285
- 'pt-br',
286
- 'pt-pt',
287
- 'pa-in',
288
- 'ro-ro',
289
- 'ru',
290
- 'ru-kz',
291
- 'ru-ru',
292
- 'ru-ua',
293
- 'sa-in',
294
- 'cy-sr-sp',
295
- 'lt-sr-sp',
296
- 'sr-me',
297
- 'sk-sk',
298
- 'sl-si',
299
- 'es',
300
- 'es-ar',
301
- 'es-bo',
302
- 'es-cl',
303
- 'es-co',
304
- 'es-cr',
305
- 'es-do',
306
- 'es-ec',
307
- 'es-sv',
308
- 'es-gt',
309
- 'es-hn',
310
- 'es-419',
311
- 'es-mx',
312
- 'es-ni',
313
- 'es-pa',
314
- 'es-py',
315
- 'es-pe',
316
- 'es-pr',
317
- 'es-es',
318
- 'es-us',
319
- 'es-uy',
320
- 'es-ve',
321
- 'sw-ke',
322
- 'sv',
323
- 'sv-fi',
324
- 'sv-se',
325
- 'syr-sy',
326
- 'tl',
327
- 'ta-in',
328
- 'tt-ru',
329
- 'te-in',
330
- 'th-th',
331
- 'tr-tr',
332
- 'uk-ua',
333
- 'ur-pk',
334
- 'uz',
335
- 'cy-uz-uz',
336
- 'lt-uz-uz',
337
- 'vi-vn',
338
- 'xh',
339
- 'zu',
340
- ],
341
- apis: {
342
- userSession: '/user-session/',
343
- globalfields: '/global_fields/',
344
- locales: '/locales/',
345
- labels: '/labels/',
346
- environments: '/environments/',
347
- assets: '/assets/',
348
- content_types: '/content_types/',
349
- entries: '/entries/',
350
- users: '/stacks',
351
- extension: '/extensions',
352
- webhooks: '/webhooks/',
353
- stacks: '/stacks/',
354
- },
355
- preserveStackVersion: false,
356
- fetchConcurrency: 5,
357
- writeConcurrency: 5,
358
- developerHubBaseUrl: '',
359
- marketplaceAppEncryptionKey: 'nF2ejRQcTv',
360
- };