contensis-cli 1.0.0-beta.8 → 1.0.0-beta.81

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 (81) hide show
  1. package/README.md +1146 -78
  2. package/dist/commands/connect.js +3 -3
  3. package/dist/commands/connect.js.map +2 -2
  4. package/dist/commands/create.js +45 -10
  5. package/dist/commands/create.js.map +2 -2
  6. package/dist/commands/diff.js +57 -0
  7. package/dist/commands/diff.js.map +7 -0
  8. package/dist/commands/execute.js +103 -0
  9. package/dist/commands/execute.js.map +7 -0
  10. package/dist/commands/get.js +107 -18
  11. package/dist/commands/get.js.map +2 -2
  12. package/dist/commands/globalOptions.js +22 -17
  13. package/dist/commands/globalOptions.js.map +2 -2
  14. package/dist/commands/import.js +46 -11
  15. package/dist/commands/import.js.map +2 -2
  16. package/dist/commands/index.js +16 -2
  17. package/dist/commands/index.js.map +2 -2
  18. package/dist/commands/list.js +53 -10
  19. package/dist/commands/list.js.map +2 -2
  20. package/dist/commands/login.js +3 -3
  21. package/dist/commands/login.js.map +2 -2
  22. package/dist/commands/push.js +9 -5
  23. package/dist/commands/push.js.map +2 -2
  24. package/dist/commands/remove.js +51 -8
  25. package/dist/commands/remove.js.map +2 -2
  26. package/dist/commands/set.js +139 -12
  27. package/dist/commands/set.js.map +2 -2
  28. package/dist/index.js +1 -1
  29. package/dist/index.js.map +2 -2
  30. package/dist/localisation/en-GB.js +193 -49
  31. package/dist/localisation/en-GB.js.map +2 -2
  32. package/dist/providers/CredentialProvider.js +36 -7
  33. package/dist/providers/CredentialProvider.js.map +3 -3
  34. package/dist/providers/SessionCacheProvider.js +21 -1
  35. package/dist/providers/SessionCacheProvider.js.map +2 -2
  36. package/dist/providers/file-provider.js +8 -4
  37. package/dist/providers/file-provider.js.map +3 -3
  38. package/dist/services/ContensisCliService.js +1092 -410
  39. package/dist/services/ContensisCliService.js.map +3 -3
  40. package/dist/shell.js +48 -14
  41. package/dist/shell.js.map +3 -3
  42. package/dist/util/console.printer.js +171 -55
  43. package/dist/util/console.printer.js.map +2 -2
  44. package/dist/util/diff.js +39 -0
  45. package/dist/util/diff.js.map +7 -0
  46. package/dist/util/index.js +8 -2
  47. package/dist/util/index.js.map +3 -3
  48. package/dist/util/logger.js +61 -29
  49. package/dist/util/logger.js.map +3 -3
  50. package/dist/util/timers.js +49 -0
  51. package/dist/util/timers.js.map +7 -0
  52. package/dist/version.js +1 -1
  53. package/dist/version.js.map +1 -1
  54. package/esbuild.config.js +3 -1
  55. package/package.json +2 -2
  56. package/src/commands/connect.ts +3 -2
  57. package/src/commands/create.ts +61 -8
  58. package/src/commands/diff.ts +41 -0
  59. package/src/commands/execute.ts +117 -0
  60. package/src/commands/get.ts +150 -14
  61. package/src/commands/globalOptions.ts +18 -17
  62. package/src/commands/import.ts +57 -7
  63. package/src/commands/index.ts +16 -1
  64. package/src/commands/list.ts +85 -11
  65. package/src/commands/login.ts +3 -2
  66. package/src/commands/push.ts +10 -3
  67. package/src/commands/remove.ts +66 -4
  68. package/src/commands/set.ts +189 -9
  69. package/src/index.ts +1 -4
  70. package/src/localisation/en-GB.ts +269 -66
  71. package/src/providers/CredentialProvider.ts +39 -6
  72. package/src/providers/SessionCacheProvider.ts +29 -2
  73. package/src/providers/file-provider.ts +12 -4
  74. package/src/services/ContensisCliService.ts +1384 -484
  75. package/src/shell.ts +52 -15
  76. package/src/util/console.printer.ts +240 -78
  77. package/src/util/diff.ts +17 -0
  78. package/src/util/index.ts +16 -7
  79. package/src/util/logger.ts +111 -31
  80. package/src/util/timers.ts +24 -0
  81. package/src/version.ts +1 -1
@@ -27,7 +27,7 @@ const LogMessages = {
27
27
  contensis: () => "Contensis",
28
28
  quit: () => `Goodbye \u{1F44B}
29
29
  `,
30
- startup: () => `\xA9 2001-${new Date().getFullYear()} Zengenti \u{1F1EC}\u{1F1E7}.
30
+ startup: (version) => `v${version} \xA9 2001-${new Date().getFullYear()} Zengenti \u{1F1EC}\u{1F1E7}.
31
31
  - Creators of Contensis and purveyors of other fine software
32
32
 
33
33
  \u{1F44B} Welcome to the contensis-cli
@@ -94,7 +94,7 @@ ${import_logger.Logger.errorText(">>")} Available commands:`,
94
94
  description: () => "the shared secret to use when logging in with a client id"
95
95
  }
96
96
  },
97
- passwordPrompt: (env, userId) => `Enter password for ${userId}@${env}:`,
97
+ passwordPrompt: (env, userId) => userId ? `Enter password for ${userId}@${env}:` : `Please enter a password`,
98
98
  failed: (env, userId) => `Unable to login to ${env} as ${userId}`,
99
99
  success: (env, userId) => `User ${userId} connected to ${env} successfully
100
100
  `,
@@ -105,34 +105,29 @@ ${import_logger.Logger.errorText(">>")} Available commands:`,
105
105
  projects: {
106
106
  list: () => `Available projects:`,
107
107
  noList: () => `Cannot retrieve projects list`,
108
- set: (projectId) => `Current project is set to "${projectId}"`,
109
- failedSet: (projectId) => `Project "${projectId}" not found`
108
+ set: (projectId) => `Current project is set to ${import_logger.Logger.highlightText(projectId)}`,
109
+ failedSet: (projectId) => `Project ${import_logger.Logger.highlightText(projectId)} not found`,
110
+ tip: () => `You need to set your current working project with "set project {projectId}"`,
111
+ created: (env, id) => `[${env}] Created project ${import_logger.Logger.highlightText(id)}`,
112
+ failedCreate: (env, id) => `[${env}] Unable to create project ${import_logger.Logger.highlightText(id)}`,
113
+ updated: (env, id) => `[${env}] Updated project ${import_logger.Logger.highlightText(id)}`,
114
+ failedUpdate: (env, id) => `[${env}] Unable to update project ${import_logger.Logger.highlightText(id)}`
110
115
  },
111
- contenttypes: {
112
- list: (projectId) => `Content types in "${projectId}":`,
113
- noList: (projectId) => `[${projectId}] Cannot retrieve content types list`,
114
- get: (projectId, contentTypeId) => `[${projectId}] Content type "${contentTypeId}"`,
115
- failedGet: (projectId, contentTypeId) => `[${projectId}] Unable to get content type "${contentTypeId}"`,
116
- created: (projectId, componentId, status) => `[${projectId}] Content type ${status}d "${componentId}"`,
117
- removed: (env, id, commit) => `[${env}] ${commit ? `Deleted` : `Will delete`} content type "${id}"`,
118
- failedRemove: (env, id) => `[${env}] Unable to delete content type "${id}"`
119
- },
120
- components: {
121
- list: (projectId) => `Components in "${projectId}":`,
122
- noList: (projectId) => `[${projectId}] Cannot retrieve components list`,
123
- get: (projectId, componentId) => `[${projectId}] Component "${componentId}"`,
124
- failedGet: (projectId, componentId) => `[${projectId}] Unable to get component "${componentId}"`,
125
- created: (projectId, componentId, status) => `[${projectId}] Component ${status}d "${componentId}"`,
126
- removed: (env, id, commit) => `[${env}] ${commit ? `Deleted` : `Will delete`} component "${id}"`,
127
- failedRemove: (env, id) => `[${env}] Unable to delete component "${id}"`
128
- },
129
- version: {
130
- set: (env, versionStatus) => `[${env}] Content version status set to "${versionStatus}"`,
131
- invalid: (versionStatus) => `Content version status "${versionStatus}" is not valid, allowed values are "published" or "latest".`,
132
- noEnv: () => `No Contensis environment set, connect to your Contensis cloud instance using "contensis connect {cms alias}"`
133
- },
134
- entries: {
135
- migrateStatus: (status) => {
116
+ migrate: {
117
+ models: {
118
+ result: (status) => {
119
+ switch (status) {
120
+ case "created":
121
+ case "updated":
122
+ return import_logger.Logger.successText;
123
+ case "errors":
124
+ return import_logger.Logger.errorText;
125
+ default:
126
+ return import_logger.Logger.infoText;
127
+ }
128
+ }
129
+ },
130
+ status: (status) => {
136
131
  switch (status) {
137
132
  case "no change":
138
133
  return import_logger.Logger.successText;
@@ -147,19 +142,125 @@ ${import_logger.Logger.errorText(">>")} Available commands:`,
147
142
  default:
148
143
  return import_logger.Logger.infoText;
149
144
  }
150
- },
151
- removed: (env, id, commit) => `[${env}] ${commit ? `Deleted` : `Will delete`} entry "${id}"`,
152
- failedRemove: (env, id) => `[${env}] Unable to delete entry "${id}"`,
153
- notFound: (id) => `Entry "${id}" not found`,
154
- commitTip: () => ` Add --commit flag to commit the previewed changes`
145
+ }
146
+ },
147
+ models: {
148
+ list: (projectId) => `Content models in ${import_logger.Logger.highlightText(projectId)}:`,
149
+ noList: (projectId) => `[${projectId}] Cannot retrieve content models`,
150
+ get: (projectId, id) => `[${projectId}] Content models ${import_logger.Logger.infoText(`[ ${id} ]`)}`,
151
+ failedGet: (projectId, id) => `[${projectId}] Unable to get content models ${import_logger.Logger.highlightText(id)}`
152
+ },
153
+ contenttypes: {
154
+ list: (projectId) => `Content types in ${import_logger.Logger.highlightText(projectId)}:`,
155
+ get: (projectId, id) => `[${projectId}] Content type ${import_logger.Logger.highlightText(id)}`,
156
+ failedGet: (projectId, id) => `[${projectId}] Unable to get content type ${import_logger.Logger.highlightText(id)}`,
157
+ created: (projectId, id, status) => `[${projectId}] Content type ${status}d ${import_logger.Logger.highlightText(id)}`,
158
+ removed: (env, id, commit) => `[${env}] ${commit ? `Deleted` : `Will delete`} content type ${import_logger.Logger.highlightText(id)}`,
159
+ failedRemove: (env, id) => `[${env}] Unable to delete content type ${import_logger.Logger.highlightText(id)}`
160
+ },
161
+ components: {
162
+ list: (projectId) => `Components in ${import_logger.Logger.highlightText(projectId)}:`,
163
+ get: (projectId, id) => `[${projectId}] Component ${import_logger.Logger.highlightText(id)}`,
164
+ failedGet: (projectId, id) => `[${projectId}] Unable to get component ${import_logger.Logger.highlightText(id)}`,
165
+ created: (projectId, id, status) => `[${projectId}] Component ${status}d ${import_logger.Logger.highlightText(id)}`,
166
+ removed: (env, id, commit) => `[${env}] ${commit ? `Deleted` : `Will delete`} component ${import_logger.Logger.highlightText(id)}`,
167
+ failedRemove: (env, id) => `[${env}] Unable to delete component ${import_logger.Logger.highlightText(id)}`
168
+ },
169
+ version: {
170
+ set: (env, versionStatus) => `[${env}] Content version status set to "${versionStatus}"`,
171
+ invalid: (versionStatus) => `Content version status "${versionStatus}" is not valid, allowed values are "published" or "latest".`,
172
+ noEnv: () => `No Contensis environment set, connect to your Contensis cloud instance using "contensis connect {cms alias}"`
173
+ },
174
+ entries: {
175
+ imported: (env, commit, count) => `[${env}] ${commit ? `Imported` : `Will import`} ${count} entries`,
176
+ failedImport: (env) => `[${env}] Unable to import entries`,
177
+ removed: (env, commit) => `[${env}] ${commit ? `Deleted` : `Will delete`} entries`,
178
+ failedRemove: (env) => `[${env}] Unable to delete entries`,
179
+ notFound: (env) => `[${env}] Entries were not found`,
180
+ commitTip: () => `Add --commit flag to commit the previewed changes`
155
181
  },
156
182
  keys: {
157
183
  list: (env) => `[${env}] API keys:`,
158
- noList: (env) => `[${env}] Cannot retrieve API`,
159
- created: (env, name) => `[${env}] Created API key "${name}"`,
160
- failedCreate: (env, name) => `[${env}] Unable to create API key "${name}"`,
161
- removed: (env, id) => `[${env}] Deleted API key "${id}"`,
162
- failedRemove: (env, id) => `[${env}] Unable to delete API key "${id}"`
184
+ noList: (env) => `[${env}] Cannot retrieve API keys`,
185
+ created: (env, name) => `[${env}] Created API key ${import_logger.Logger.highlightText(name)}`,
186
+ tip: () => `Assign your new key to a role with "set role assignments", or create a new role with "create role"`,
187
+ failedCreate: (env, name) => `[${env}] Unable to create API key ${import_logger.Logger.highlightText(name)}`,
188
+ removed: (env, id) => `[${env}] Deleted API key ${import_logger.Logger.highlightText(id)}`,
189
+ failedRemove: (env, id) => `[${env}] Unable to delete API key ${import_logger.Logger.highlightText(id)}`
190
+ },
191
+ proxies: {
192
+ list: (env, projectId) => `[${env}] Retrieved proxies in project ${projectId}:`,
193
+ noList: (env, projectId) => `[${env}] Cannot retrieve proxies in project ${projectId}`,
194
+ failedGet: (env, name, projectId) => `[${env}] Unable to find proxy ${import_logger.Logger.highlightText(
195
+ name
196
+ )} in project ${projectId}`,
197
+ created: (env, name, projectId) => `[${env}] Created proxy ${import_logger.Logger.highlightText(
198
+ name
199
+ )} in project ${projectId}
200
+ `,
201
+ failedCreate: (env, name, projectId) => `[${env}] Unable to create proxy ${import_logger.Logger.highlightText(
202
+ name
203
+ )} in project ${projectId}`,
204
+ setPayload: () => `Updating proxy with details
205
+ `,
206
+ set: () => `Succesfully updated proxy
207
+ `,
208
+ failedSet: (env, name, projectId) => `[${env}] Unable to update proxy ${import_logger.Logger.highlightText(
209
+ name
210
+ )} in project ${projectId}`,
211
+ removed: (env, id, projectId) => `[${env}] Deleted proxy ${import_logger.Logger.highlightText(
212
+ id
213
+ )} in project ${projectId}
214
+ `,
215
+ failedRemove: (env, id, projectId) => `[${env}] Unable to delete proxy ${import_logger.Logger.highlightText(
216
+ id
217
+ )} in project ${projectId}`
218
+ },
219
+ renderers: {
220
+ list: (env, projectId) => `[${env}] Retrieved renderers in project ${projectId}:`,
221
+ noList: (env, projectId) => `[${env}] Cannot retrieve renderers in project ${projectId}`,
222
+ failedGet: (env, name, projectId) => `[${env}] Unable to find renderer ${import_logger.Logger.highlightText(
223
+ name
224
+ )} in project ${projectId}`,
225
+ created: (env, name, projectId) => `[${env}] Created renderer ${import_logger.Logger.highlightText(
226
+ name
227
+ )} in project ${projectId}
228
+ `,
229
+ failedCreate: (env, name, projectId) => `[${env}] Unable to create renderer ${import_logger.Logger.highlightText(
230
+ name
231
+ )} in project ${projectId}`,
232
+ setPayload: () => `Updating renderer with details
233
+ `,
234
+ set: () => `Succesfully updated renderer
235
+ `,
236
+ failedSet: (env, name, projectId) => `[${env}] Unable to update renderer ${import_logger.Logger.highlightText(
237
+ name
238
+ )} in project ${projectId}`,
239
+ removed: (env, id, projectId) => `[${env}] Deleted renderer ${import_logger.Logger.highlightText(
240
+ id
241
+ )} in project ${projectId}
242
+ `,
243
+ failedRemove: (env, id, projectId) => `[${env}] Unable to delete renderer ${import_logger.Logger.highlightText(
244
+ id
245
+ )} in project ${projectId}`
246
+ },
247
+ roles: {
248
+ list: (env) => `[${env}] Retrieved roles`,
249
+ noList: (env) => `[${env}] Cannot retrieve roles`,
250
+ noneExist: () => `Create a role with "create role"`,
251
+ failedGet: (env, name) => `[${env}] Unable to find role ${import_logger.Logger.highlightText(name)}`,
252
+ created: (env, name) => `[${env}] Created role ${import_logger.Logger.highlightText(name)}
253
+ `,
254
+ tip: () => `Give access to your role with "set role assignments", allow your role to do things with "set role permissions"`,
255
+ failedCreate: (env, name) => `[${env}] Unable to create role ${import_logger.Logger.highlightText(name)}`,
256
+ setPayload: () => `Updating role with details
257
+ `,
258
+ set: () => `Succesfully updated role
259
+ `,
260
+ failedSet: (env, name) => `[${env}] Unable to update role ${import_logger.Logger.highlightText(name)}`,
261
+ removed: (env, id) => `[${env}] Deleted role ${import_logger.Logger.highlightText(id)}
262
+ `,
263
+ failedRemove: (env, id) => `[${env}] Unable to delete role ${import_logger.Logger.highlightText(id)}`
163
264
  },
164
265
  blocks: {
165
266
  runningStatus: (status) => {
@@ -178,22 +279,65 @@ ${import_logger.Logger.errorText(">>")} Available commands:`,
178
279
  return import_logger.Logger.infoText(status);
179
280
  }
180
281
  },
181
- get: (env) => `[${env}] Block versions:`,
282
+ get: (id, env, projectId) => `[${env}] Block ${id} in project ${projectId}:`,
182
283
  list: (env, projectId) => `[${env}] Blocks in project ${projectId}:`,
183
284
  noList: (env, projectId) => `[${env}] Cannot retrieve blocks in project ${projectId}`,
184
- tryPush: (id, branch, env, projectId) => `[${env}] Request to push block "${id}" in branch ${branch} in project ${projectId}`,
185
- pushed: (id, branch, env, projectId) => `[${env}] Pushed block "${id}" in branch ${branch} in project ${projectId}`,
186
- failedPush: (id, env, projectId) => `[${env}] Unable to push block "${id}" in project ${projectId}`,
187
- deleted: (id, env, projectId) => `[${env}] Deleted block "${id}" in project ${projectId}`,
188
- failedDelete: (id, env, projectId) => `[${env}] Unable to delete block "${id}" in project ${projectId}`
285
+ getLogs: (id, branch, env, projectId) => `[${env}] Requesting logs from block ${import_logger.Logger.highlightText(
286
+ id
287
+ )} in branch ${branch} in project ${projectId}`,
288
+ failedGetLogs: (id, env, projectId) => `[${env}] Unable to fetch block logs for ${import_logger.Logger.highlightText(
289
+ id
290
+ )} in project ${projectId}`,
291
+ tryPush: (id, branch, env, projectId) => `[${env}] Request to push block ${import_logger.Logger.highlightText(
292
+ id
293
+ )} in branch ${branch} in project ${projectId}`,
294
+ pushed: (id, branch, env, projectId) => `[${env}] Pushed block ${import_logger.Logger.highlightText(
295
+ id
296
+ )} in branch ${branch} in project ${projectId}`,
297
+ failedPush: (id, env, projectId) => `[${env}] Unable to push block ${import_logger.Logger.highlightText(
298
+ id
299
+ )} in project ${projectId}`,
300
+ latestVersion: (version, id, env, projectId) => `[${env}] Found latest block version ${import_logger.Logger.highlightText(
301
+ id
302
+ )} in project ${projectId} ${import_logger.Logger.highlightText(version)}`,
303
+ failedParsingVersion: () => `Did not find a "version.versionNo" in response`,
304
+ actionComplete: (action, id, env, projectId) => `[${env}] Action ${import_logger.Logger.highlightText(
305
+ action
306
+ )} on ${import_logger.Logger.highlightText(
307
+ id
308
+ )} in project ${projectId} requested successfully`,
309
+ actionFailed: (action, id, env, projectId) => `[${env}] Problem executing ${action} on block ${import_logger.Logger.highlightText(
310
+ id
311
+ )} in project ${projectId}`,
312
+ deleted: (id, env, projectId) => `[${env}] Deleted block ${import_logger.Logger.highlightText(
313
+ id
314
+ )} in project ${projectId}`,
315
+ failedDelete: (id, env, projectId) => `[${env}] Unable to delete block ${import_logger.Logger.highlightText(
316
+ id
317
+ )} in project ${projectId}`,
318
+ stopFollow: (id, env, projectId) => `[${env}]
319
+
320
+ \u{1F44C} stop fetching new ${import_logger.Logger.highlightText(
321
+ id
322
+ )} logs in project ${projectId}`,
323
+ timeoutFollow: (id, env, projectId) => `[${env}]
324
+
325
+ \u{1F90F} pausing fetching new ${import_logger.Logger.highlightText(
326
+ id
327
+ )} logs in project ${projectId} due to too many requests`
189
328
  },
190
329
  webhooks: {
191
330
  list: (env) => `[${env}] Webhook subscriptions:`,
192
331
  noList: (env) => `[${env}] Cannot retrieve webhook subscriptions`,
193
- created: (env, name) => `[${env}] Created Webhook subscription "${name}"`,
194
- failedCreate: (env, name) => `[${env}] Unable to create Webhook subscription "${name}"`,
195
- deleted: (env, id) => `[${env}] Deleted Webhook subscription "${id}"`,
196
- failedDelete: (env, id) => `[${env}] Unable to delete Webhook subscription "${id}"`
332
+ noneExist: () => `No webhook subscriptions exist`,
333
+ created: (env, name) => `[${env}] Created Webhook subscription ${import_logger.Logger.highlightText(name)}`,
334
+ failedCreate: (env, name) => `[${env}] Unable to create Webhook subscription ${import_logger.Logger.highlightText(
335
+ name
336
+ )}`,
337
+ deleted: (env, id) => `[${env}] Deleted Webhook subscription ${import_logger.Logger.highlightText(id)}`,
338
+ failedDelete: (env, id) => `[${env}] Unable to delete Webhook subscription ${import_logger.Logger.highlightText(
339
+ id
340
+ )}`
197
341
  }
198
342
  };
199
343
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/localisation/en-GB.ts"],
4
- "sourcesContent": ["import { BlockRunningStatus, MigrateStatus } from 'migratortron';\nimport { Logger } from '~/util/logger';\n\nexport const LogMessages = {\n app: {\n contensis: () => 'Contensis',\n quit: () => `Goodbye \uD83D\uDC4B\\n`,\n startup: () =>\n `\u00A9 2001-${new Date().getFullYear()} Zengenti \uD83C\uDDEC\uD83C\uDDE7. \\n - Creators of Contensis and purveyors of other fine software\\n\\n\uD83D\uDC4B Welcome to the contensis-cli\\n`,\n help: () =>\n 'Press [CTRL]+[C] or type \"quit\" to return to your system shell\\nPress [TAB] for suggestions\\n',\n suggestions: () =>\n `\\n${Logger.errorText('>>')} Press [TAB] for suggestions\\n`,\n autocomplete: () => `\\n${Logger.errorText('>>')} Available commands:`,\n unknownError: () => `Something went wrong...`,\n fileOutput: (format = 'json', path?: string) =>\n `Output ${format} file: ${Logger.infoText(path)}\\n`,\n noFileOutput: () => `No output written\\n`,\n },\n command: {\n notKnown: (command: string) => `${command} is not known`,\n },\n envs: {\n found: (num: number) =>\n `environments store found containing ${num} environment${\n num === 1 ? '' : 's'\n }`,\n tip: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n connect: {\n command: {\n name: () => 'connect',\n example: () => `Example call:\\n > connect example-dev`,\n },\n args: {\n alias: {\n name: () => '<alias>',\n description: () => 'the Contensis Cloud alias to connect with',\n },\n },\n noEnv: () => `Cannot connect - no environment alias specified`,\n unreachable: (url: string, status: number) =>\n `Cannot reach ${url}${status ? ` - status ${status}` : ''}`,\n connected: (env: string) => `Current environment set to \"${env}\"`,\n help: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n projects: () => `Available projects:`,\n noProjects: () => `Cannot retrieve projects list`,\n tip: () =>\n `Introduce yourself with \"login {username}\" or \"login {clientId} -s {secret}\" or by passing credentials as options with your command`,\n },\n login: {\n command: {\n name: () => 'login',\n usage: () => `<user/clientId> [password] [-s <sharedSecret>]`,\n example: () =>\n `Example call:\\n > login myuserid\\n -- or --\\n > login {clientId} -s {sharedSecret}`,\n },\n args: {\n user: {\n name: () => '<user/clientId>',\n description: () => 'the username to login with',\n },\n password: {\n name: () => '[password]',\n description: () =>\n 'the password to use to login with (optional/insecure)',\n },\n secret: {\n name: () => '-s --sharedSecret <sharedSecret>',\n description: () =>\n 'the shared secret to use when logging in with a client id',\n },\n },\n passwordPrompt: (env: string, userId: string) =>\n `Enter password for ${userId}@${env}:`,\n failed: (env: string, userId: string) =>\n `Unable to login to ${env} as ${userId}`,\n success: (env: string, userId: string) =>\n `User ${userId} connected to ${env} successfully\\n`,\n insecurePassword: () =>\n `Could not connect to local keystore - your password could be stored unencrypted!`,\n noEnv: () => `No environment set, use \"contensis connect {alias}\" first`,\n noUserId: () => `No user id specified`,\n },\n projects: {\n list: () => `Available projects:`,\n noList: () => `Cannot retrieve projects list`,\n set: (projectId: string) => `Current project is set to \"${projectId}\"`,\n failedSet: (projectId: string) => `Project \"${projectId}\" not found`,\n },\n contenttypes: {\n list: (projectId: string) => `Content types in \"${projectId}\":`,\n noList: (projectId: string) =>\n `[${projectId}] Cannot retrieve content types list`,\n get: (projectId: string, contentTypeId: string) =>\n `[${projectId}] Content type \"${contentTypeId}\"`,\n failedGet: (projectId: string, contentTypeId: string) =>\n `[${projectId}] Unable to get content type \"${contentTypeId}\"`,\n created: (projectId: string, componentId: string, status?: string) =>\n `[${projectId}] Content type ${status}d \"${componentId}\"`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} content type \"${id}\"`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete content type \"${id}\"`,\n },\n components: {\n list: (projectId: string) => `Components in \"${projectId}\":`,\n noList: (projectId: string) =>\n `[${projectId}] Cannot retrieve components list`,\n get: (projectId: string, componentId: string) =>\n `[${projectId}] Component \"${componentId}\"`,\n failedGet: (projectId: string, componentId: string) =>\n `[${projectId}] Unable to get component \"${componentId}\"`,\n created: (projectId: string, componentId: string, status?: string) =>\n `[${projectId}] Component ${status}d \"${componentId}\"`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} component \"${id}\"`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete component \"${id}\"`,\n },\n version: {\n set: (env: string, versionStatus: string) =>\n `[${env}] Content version status set to \"${versionStatus}\"`,\n invalid: (versionStatus: string) =>\n `Content version status \"${versionStatus}\" is not valid, allowed values are \"published\" or \"latest\".`,\n noEnv: () =>\n `No Contensis environment set, connect to your Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n entries: {\n migrateStatus: (status: MigrateStatus) => {\n switch (status) {\n case 'no change':\n return Logger.successText;\n case 'create':\n case 'two-pass':\n case 'update':\n case 'delete':\n return Logger.warningText;\n case 'error':\n case 'not found':\n return Logger.errorText;\n default:\n return Logger.infoText;\n }\n },\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} entry \"${id}\"`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete entry \"${id}\"`,\n notFound: (id: string) => `Entry \"${id}\" not found`,\n commitTip: () => ` Add --commit flag to commit the previewed changes`,\n },\n keys: {\n list: (env: string) => `[${env}] API keys:`,\n noList: (env: string) => `[${env}] Cannot retrieve API`,\n created: (env: string, name: string) =>\n `[${env}] Created API key \"${name}\"`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create API key \"${name}\"`,\n removed: (env: string, id: string) => `[${env}] Deleted API key \"${id}\"`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete API key \"${id}\"`,\n },\n blocks: {\n runningStatus: (status: BlockRunningStatus | 'broken') => {\n switch (status) {\n case 'available':\n return Logger.successText(status);\n case 'pending':\n case 'starting':\n case 'stopped':\n return Logger.warningText(status);\n case 'degraded':\n case 'faulted':\n case 'broken':\n return Logger.errorText(status);\n default:\n return Logger.infoText(status);\n }\n },\n get: (env: string) => `[${env}] Block versions:`,\n list: (env: string, projectId?: string) =>\n `[${env}] Blocks in project ${projectId}:`,\n noList: (env: string, projectId?: string) =>\n `[${env}] Cannot retrieve blocks in project ${projectId}`,\n tryPush: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Request to push block \"${id}\" in branch ${branch} in project ${projectId}`,\n pushed: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Pushed block \"${id}\" in branch ${branch} in project ${projectId}`,\n failedPush: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to push block \"${id}\" in project ${projectId}`,\n deleted: (id: string, env: string, projectId?: string) =>\n `[${env}] Deleted block \"${id}\" in project ${projectId}`,\n failedDelete: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to delete block \"${id}\" in project ${projectId}`,\n },\n webhooks: {\n list: (env: string) => `[${env}] Webhook subscriptions:`,\n noList: (env: string) => `[${env}] Cannot retrieve webhook subscriptions`,\n created: (env: string, name: string) =>\n `[${env}] Created Webhook subscription \"${name}\"`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create Webhook subscription \"${name}\"`,\n deleted: (env: string, id: string) =>\n `[${env}] Deleted Webhook subscription \"${id}\"`,\n failedDelete: (env: string, id: string) =>\n `[${env}] Unable to delete Webhook subscription \"${id}\"`,\n },\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAuB;AAEhB,MAAM,cAAc;AAAA,EACzB,KAAK;AAAA,IACH,WAAW,MAAM;AAAA,IACjB,MAAM,MAAM;AAAA;AAAA,IACZ,SAAS,MACP,aAAU,IAAI,KAAK,EAAE,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,IACnC,MAAM,MACJ;AAAA,IACF,aAAa,MACX;AAAA,EAAK,qBAAO,UAAU,IAAI;AAAA;AAAA,IAC5B,cAAc,MAAM;AAAA,EAAK,qBAAO,UAAU,IAAI;AAAA,IAC9C,cAAc,MAAM;AAAA,IACpB,YAAY,CAAC,SAAS,QAAQ,SAC5B,UAAU,gBAAgB,qBAAO,SAAS,IAAI;AAAA;AAAA,IAChD,cAAc,MAAM;AAAA;AAAA,EACtB;AAAA,EACA,SAAS;AAAA,IACP,UAAU,CAAC,YAAoB,GAAG;AAAA,EACpC;AAAA,EACA,MAAM;AAAA,IACJ,OAAO,CAAC,QACN,uCAAuC,kBACrC,QAAQ,IAAI,KAAK;AAAA,IAErB,KAAK,MACH;AAAA,EACJ;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,MAAM;AAAA,MACZ,SAAS,MAAM;AAAA;AAAA,IACjB;AAAA,IACA,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,MAAM,MAAM;AAAA,QACZ,aAAa,MAAM;AAAA,MACrB;AAAA,IACF;AAAA,IACA,OAAO,MAAM;AAAA,IACb,aAAa,CAAC,KAAa,WACzB,gBAAgB,MAAM,SAAS,aAAa,WAAW;AAAA,IACzD,WAAW,CAAC,QAAgB,+BAA+B;AAAA,IAC3D,MAAM,MACJ;AAAA,IACF,UAAU,MAAM;AAAA,IAChB,YAAY,MAAM;AAAA,IAClB,KAAK,MACH;AAAA,EACJ;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM,MAAM;AAAA,MACZ,OAAO,MAAM;AAAA,MACb,SAAS,MACP;AAAA;AAAA;AAAA;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,MAAM,MAAM;AAAA,QACZ,aAAa,MAAM;AAAA,MACrB;AAAA,MACA,UAAU;AAAA,QACR,MAAM,MAAM;AAAA,QACZ,aAAa,MACX;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,QACN,MAAM,MAAM;AAAA,QACZ,aAAa,MACX;AAAA,MACJ;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,KAAa,WAC5B,sBAAsB,UAAU;AAAA,IAClC,QAAQ,CAAC,KAAa,WACpB,sBAAsB,UAAU;AAAA,IAClC,SAAS,CAAC,KAAa,WACrB,QAAQ,uBAAuB;AAAA;AAAA,IACjC,kBAAkB,MAChB;AAAA,IACF,OAAO,MAAM;AAAA,IACb,UAAU,MAAM;AAAA,EAClB;AAAA,EACA,UAAU;AAAA,IACR,MAAM,MAAM;AAAA,IACZ,QAAQ,MAAM;AAAA,IACd,KAAK,CAAC,cAAsB,8BAA8B;AAAA,IAC1D,WAAW,CAAC,cAAsB,YAAY;AAAA,EAChD;AAAA,EACA,cAAc;AAAA,IACZ,MAAM,CAAC,cAAsB,qBAAqB;AAAA,IAClD,QAAQ,CAAC,cACP,IAAI;AAAA,IACN,KAAK,CAAC,WAAmB,kBACvB,IAAI,4BAA4B;AAAA,IAClC,WAAW,CAAC,WAAmB,kBAC7B,IAAI,0CAA0C;AAAA,IAChD,SAAS,CAAC,WAAmB,aAAqB,WAChD,IAAI,2BAA2B,YAAY;AAAA,IAC7C,SAAS,CAAC,KAAa,IAAY,WACjC,IAAI,QAAQ,SAAS,YAAY,+BAA+B;AAAA,IAClE,cAAc,CAAC,KAAa,OAC1B,IAAI,uCAAuC;AAAA,EAC/C;AAAA,EACA,YAAY;AAAA,IACV,MAAM,CAAC,cAAsB,kBAAkB;AAAA,IAC/C,QAAQ,CAAC,cACP,IAAI;AAAA,IACN,KAAK,CAAC,WAAmB,gBACvB,IAAI,yBAAyB;AAAA,IAC/B,WAAW,CAAC,WAAmB,gBAC7B,IAAI,uCAAuC;AAAA,IAC7C,SAAS,CAAC,WAAmB,aAAqB,WAChD,IAAI,wBAAwB,YAAY;AAAA,IAC1C,SAAS,CAAC,KAAa,IAAY,WACjC,IAAI,QAAQ,SAAS,YAAY,4BAA4B;AAAA,IAC/D,cAAc,CAAC,KAAa,OAC1B,IAAI,oCAAoC;AAAA,EAC5C;AAAA,EACA,SAAS;AAAA,IACP,KAAK,CAAC,KAAa,kBACjB,IAAI,uCAAuC;AAAA,IAC7C,SAAS,CAAC,kBACR,2BAA2B;AAAA,IAC7B,OAAO,MACL;AAAA,EACJ;AAAA,EACA,SAAS;AAAA,IACP,eAAe,CAAC,WAA0B;AACxC,cAAQ;AAAA,aACD;AACH,iBAAO,qBAAO;AAAA,aACX;AAAA,aACA;AAAA,aACA;AAAA,aACA;AACH,iBAAO,qBAAO;AAAA,aACX;AAAA,aACA;AACH,iBAAO,qBAAO;AAAA;AAEd,iBAAO,qBAAO;AAAA;AAAA,IAEpB;AAAA,IACA,SAAS,CAAC,KAAa,IAAY,WACjC,IAAI,QAAQ,SAAS,YAAY,wBAAwB;AAAA,IAC3D,cAAc,CAAC,KAAa,OAC1B,IAAI,gCAAgC;AAAA,IACtC,UAAU,CAAC,OAAe,UAAU;AAAA,IACpC,WAAW,MAAM;AAAA,EACnB;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,CAAC,QAAgB,IAAI;AAAA,IAC3B,QAAQ,CAAC,QAAgB,IAAI;AAAA,IAC7B,SAAS,CAAC,KAAa,SACrB,IAAI,yBAAyB;AAAA,IAC/B,cAAc,CAAC,KAAa,SAC1B,IAAI,kCAAkC;AAAA,IACxC,SAAS,CAAC,KAAa,OAAe,IAAI,yBAAyB;AAAA,IACnE,cAAc,CAAC,KAAa,OAC1B,IAAI,kCAAkC;AAAA,EAC1C;AAAA,EACA,QAAQ;AAAA,IACN,eAAe,CAAC,WAA0C;AACxD,cAAQ;AAAA,aACD;AACH,iBAAO,qBAAO,YAAY,MAAM;AAAA,aAC7B;AAAA,aACA;AAAA,aACA;AACH,iBAAO,qBAAO,YAAY,MAAM;AAAA,aAC7B;AAAA,aACA;AAAA,aACA;AACH,iBAAO,qBAAO,UAAU,MAAM;AAAA;AAE9B,iBAAO,qBAAO,SAAS,MAAM;AAAA;AAAA,IAEnC;AAAA,IACA,KAAK,CAAC,QAAgB,IAAI;AAAA,IAC1B,MAAM,CAAC,KAAa,cAClB,IAAI,0BAA0B;AAAA,IAChC,QAAQ,CAAC,KAAa,cACpB,IAAI,0CAA0C;AAAA,IAChD,SAAS,CAAC,IAAY,QAAgB,KAAa,cACjD,IAAI,+BAA+B,iBAAiB,qBAAqB;AAAA,IAC3E,QAAQ,CAAC,IAAY,QAAgB,KAAa,cAChD,IAAI,sBAAsB,iBAAiB,qBAAqB;AAAA,IAClE,YAAY,CAAC,IAAY,KAAa,cACpC,IAAI,8BAA8B,kBAAkB;AAAA,IACtD,SAAS,CAAC,IAAY,KAAa,cACjC,IAAI,uBAAuB,kBAAkB;AAAA,IAC/C,cAAc,CAAC,IAAY,KAAa,cACtC,IAAI,gCAAgC,kBAAkB;AAAA,EAC1D;AAAA,EACA,UAAU;AAAA,IACR,MAAM,CAAC,QAAgB,IAAI;AAAA,IAC3B,QAAQ,CAAC,QAAgB,IAAI;AAAA,IAC7B,SAAS,CAAC,KAAa,SACrB,IAAI,sCAAsC;AAAA,IAC5C,cAAc,CAAC,KAAa,SAC1B,IAAI,+CAA+C;AAAA,IACrD,SAAS,CAAC,KAAa,OACrB,IAAI,sCAAsC;AAAA,IAC5C,cAAc,CAAC,KAAa,OAC1B,IAAI,+CAA+C;AAAA,EACvD;AACF;",
4
+ "sourcesContent": ["import {\n BlockActionType,\n BlockRunningStatus,\n MigrateModelsResult,\n MigrateStatus,\n} from 'migratortron';\nimport { Logger } from '~/util/logger';\n\nexport const LogMessages = {\n app: {\n contensis: () => 'Contensis',\n quit: () => `Goodbye \uD83D\uDC4B\\n`,\n startup: (version: string) =>\n `v${version} \u00A9 2001-${new Date().getFullYear()} Zengenti \uD83C\uDDEC\uD83C\uDDE7. \\n - Creators of Contensis and purveyors of other fine software\\n\\n\uD83D\uDC4B Welcome to the contensis-cli\\n`,\n help: () =>\n 'Press [CTRL]+[C] or type \"quit\" to return to your system shell\\nPress [TAB] for suggestions\\n',\n suggestions: () =>\n `\\n${Logger.errorText('>>')} Press [TAB] for suggestions\\n`,\n autocomplete: () => `\\n${Logger.errorText('>>')} Available commands:`,\n unknownError: () => `Something went wrong...`,\n fileOutput: (format = 'json', path?: string) =>\n `Output ${format} file: ${Logger.infoText(path)}\\n`,\n noFileOutput: () => `No output written\\n`,\n },\n command: {\n notKnown: (command: string) => `${command} is not known`,\n },\n envs: {\n found: (num: number) =>\n `environments store found containing ${num} environment${\n num === 1 ? '' : 's'\n }`,\n tip: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n connect: {\n command: {\n name: () => 'connect',\n example: () => `Example call:\\n > connect example-dev`,\n },\n args: {\n alias: {\n name: () => '<alias>',\n description: () => 'the Contensis Cloud alias to connect with',\n },\n },\n noEnv: () => `Cannot connect - no environment alias specified`,\n unreachable: (url: string, status: number) =>\n `Cannot reach ${url}${status ? ` - status ${status}` : ''}`,\n connected: (env: string) => `Current environment set to \"${env}\"`,\n help: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n projects: () => `Available projects:`,\n noProjects: () => `Cannot retrieve projects list`,\n tip: () =>\n `Introduce yourself with \"login {username}\" or \"login {clientId} -s {secret}\" or by passing credentials as options with your command`,\n },\n login: {\n command: {\n name: () => 'login',\n usage: () => `<user/clientId> [password] [-s <sharedSecret>]`,\n example: () =>\n `Example call:\\n > login myuserid\\n -- or --\\n > login {clientId} -s {sharedSecret}`,\n },\n args: {\n user: {\n name: () => '<user/clientId>',\n description: () => 'the username to login with',\n },\n password: {\n name: () => '[password]',\n description: () =>\n 'the password to use to login with (optional/insecure)',\n },\n secret: {\n name: () => '-s --sharedSecret <sharedSecret>',\n description: () =>\n 'the shared secret to use when logging in with a client id',\n },\n },\n passwordPrompt: (env?: string, userId?: string) =>\n userId\n ? `Enter password for ${userId}@${env}:`\n : `Please enter a password`,\n failed: (env: string, userId: string) =>\n `Unable to login to ${env} as ${userId}`,\n success: (env: string, userId: string) =>\n `User ${userId} connected to ${env} successfully\\n`,\n insecurePassword: () =>\n `Could not connect to local keystore - your password could be stored unencrypted!`,\n noEnv: () => `No environment set, use \"contensis connect {alias}\" first`,\n noUserId: () => `No user id specified`,\n },\n projects: {\n list: () => `Available projects:`,\n noList: () => `Cannot retrieve projects list`,\n set: (projectId: string) =>\n `Current project is set to ${Logger.highlightText(projectId)}`,\n failedSet: (projectId: string) =>\n `Project ${Logger.highlightText(projectId)} not found`,\n tip: () =>\n `You need to set your current working project with \"set project {projectId}\"`,\n created: (env: string, id: string) =>\n `[${env}] Created project ${Logger.highlightText(id)}`,\n failedCreate: (env: string, id: string) =>\n `[${env}] Unable to create project ${Logger.highlightText(id)}`,\n updated: (env: string, id: string) =>\n `[${env}] Updated project ${Logger.highlightText(id)}`,\n failedUpdate: (env: string, id: string) =>\n `[${env}] Unable to update project ${Logger.highlightText(id)}`,\n },\n migrate: {\n models: {\n result: (\n status: keyof MigrateModelsResult['project']['contentTypes']\n ) => {\n switch (status) {\n case 'created':\n case 'updated':\n return Logger.successText;\n case 'errors':\n return Logger.errorText;\n default:\n return Logger.infoText;\n }\n },\n },\n status: (status: MigrateStatus) => {\n switch (status) {\n case 'no change':\n return Logger.successText;\n case 'create':\n case 'two-pass':\n case 'update':\n case 'delete':\n return Logger.warningText;\n case 'error':\n case 'not found':\n return Logger.errorText;\n default:\n return Logger.infoText;\n }\n },\n },\n models: {\n list: (projectId: string) =>\n `Content models in ${Logger.highlightText(projectId)}:`,\n noList: (projectId: string) =>\n `[${projectId}] Cannot retrieve content models`,\n get: (projectId: string, id: string) =>\n `[${projectId}] Content models ${Logger.infoText(`[ ${id} ]`)}`,\n failedGet: (projectId: string, id: string) =>\n `[${projectId}] Unable to get content models ${Logger.highlightText(id)}`,\n },\n contenttypes: {\n list: (projectId: string) =>\n `Content types in ${Logger.highlightText(projectId)}:`,\n get: (projectId: string, id: string) =>\n `[${projectId}] Content type ${Logger.highlightText(id)}`,\n failedGet: (projectId: string, id: string) =>\n `[${projectId}] Unable to get content type ${Logger.highlightText(id)}`,\n created: (projectId: string, id: string, status?: string) =>\n `[${projectId}] Content type ${status}d ${Logger.highlightText(id)}`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${\n commit ? `Deleted` : `Will delete`\n } content type ${Logger.highlightText(id)}`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete content type ${Logger.highlightText(id)}`,\n },\n components: {\n list: (projectId: string) =>\n `Components in ${Logger.highlightText(projectId)}:`,\n get: (projectId: string, id: string) =>\n `[${projectId}] Component ${Logger.highlightText(id)}`,\n failedGet: (projectId: string, id: string) =>\n `[${projectId}] Unable to get component ${Logger.highlightText(id)}`,\n created: (projectId: string, id: string, status?: string) =>\n `[${projectId}] Component ${status}d ${Logger.highlightText(id)}`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${\n commit ? `Deleted` : `Will delete`\n } component ${Logger.highlightText(id)}`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete component ${Logger.highlightText(id)}`,\n },\n version: {\n set: (env: string, versionStatus: string) =>\n `[${env}] Content version status set to \"${versionStatus}\"`,\n invalid: (versionStatus: string) =>\n `Content version status \"${versionStatus}\" is not valid, allowed values are \"published\" or \"latest\".`,\n noEnv: () =>\n `No Contensis environment set, connect to your Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n entries: {\n imported: (env: string, commit: boolean, count: number) =>\n `[${env}] ${commit ? `Imported` : `Will import`} ${count} entries`,\n failedImport: (env: string) => `[${env}] Unable to import entries`,\n removed: (env: string, commit: boolean) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} entries`,\n failedRemove: (env: string) => `[${env}] Unable to delete entries`,\n notFound: (env: string) => `[${env}] Entries were not found`,\n commitTip: () => `Add --commit flag to commit the previewed changes`,\n },\n keys: {\n list: (env: string) => `[${env}] API keys:`,\n noList: (env: string) => `[${env}] Cannot retrieve API keys`,\n created: (env: string, name: string) =>\n `[${env}] Created API key ${Logger.highlightText(name)}`,\n tip: () =>\n `Assign your new key to a role with \"set role assignments\", or create a new role with \"create role\"`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create API key ${Logger.highlightText(name)}`,\n removed: (env: string, id: string) =>\n `[${env}] Deleted API key ${Logger.highlightText(id)}`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete API key ${Logger.highlightText(id)}`,\n },\n proxies: {\n list: (env: string, projectId: string | undefined) =>\n `[${env}] Retrieved proxies in project ${projectId}:`,\n noList: (env: string, projectId: string | undefined) =>\n `[${env}] Cannot retrieve proxies in project ${projectId}`,\n // noneExist: () => `Create a role with \"create renderer\"`,\n failedGet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to find proxy ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n created: (env: string, name: string, projectId: string) =>\n `[${env}] Created proxy ${Logger.highlightText(\n name\n )} in project ${projectId}\\n`,\n failedCreate: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to create proxy ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n setPayload: () => `Updating proxy with details\\n`,\n set: () => `Succesfully updated proxy\\n`,\n failedSet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to update proxy ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n removed: (env: string, id: string, projectId: string) =>\n `[${env}] Deleted proxy ${Logger.highlightText(\n id\n )} in project ${projectId}\\n`,\n failedRemove: (env: string, id: string, projectId: string) =>\n `[${env}] Unable to delete proxy ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n },\n renderers: {\n list: (env: string, projectId: string | undefined) =>\n `[${env}] Retrieved renderers in project ${projectId}:`,\n noList: (env: string, projectId: string | undefined) =>\n `[${env}] Cannot retrieve renderers in project ${projectId}`,\n // noneExist: () => `Create a role with \"create renderer\"`,\n failedGet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to find renderer ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n created: (env: string, name: string, projectId: string) =>\n `[${env}] Created renderer ${Logger.highlightText(\n name\n )} in project ${projectId}\\n`,\n failedCreate: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to create renderer ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n setPayload: () => `Updating renderer with details\\n`,\n set: () => `Succesfully updated renderer\\n`,\n failedSet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to update renderer ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n removed: (env: string, id: string, projectId: string) =>\n `[${env}] Deleted renderer ${Logger.highlightText(\n id\n )} in project ${projectId}\\n`,\n failedRemove: (env: string, id: string, projectId: string) =>\n `[${env}] Unable to delete renderer ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n },\n roles: {\n list: (env: string) => `[${env}] Retrieved roles`,\n noList: (env: string) => `[${env}] Cannot retrieve roles`,\n noneExist: () => `Create a role with \"create role\"`,\n failedGet: (env: string, name: string) =>\n `[${env}] Unable to find role ${Logger.highlightText(name)}`,\n created: (env: string, name: string) =>\n `[${env}] Created role ${Logger.highlightText(name)}\\n`,\n tip: () =>\n `Give access to your role with \"set role assignments\", allow your role to do things with \"set role permissions\"`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create role ${Logger.highlightText(name)}`,\n setPayload: () => `Updating role with details\\n`,\n set: () => `Succesfully updated role\\n`,\n failedSet: (env: string, name: string) =>\n `[${env}] Unable to update role ${Logger.highlightText(name)}`,\n removed: (env: string, id: string) =>\n `[${env}] Deleted role ${Logger.highlightText(id)}\\n`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete role ${Logger.highlightText(id)}`,\n },\n blocks: {\n runningStatus: (status: BlockRunningStatus | 'broken') => {\n switch (status) {\n case 'available':\n return Logger.successText(status);\n case 'pending':\n case 'starting':\n case 'stopped':\n return Logger.warningText(status);\n case 'degraded':\n case 'faulted':\n case 'broken':\n return Logger.errorText(status);\n default:\n return Logger.infoText(status);\n }\n },\n get: (id: string, env: string, projectId?: string) =>\n `[${env}] Block ${id} in project ${projectId}:`,\n list: (env: string, projectId?: string) =>\n `[${env}] Blocks in project ${projectId}:`,\n noList: (env: string, projectId?: string) =>\n `[${env}] Cannot retrieve blocks in project ${projectId}`,\n getLogs: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Requesting logs from block ${Logger.highlightText(\n id\n )} in branch ${branch} in project ${projectId}`,\n failedGetLogs: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to fetch block logs for ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n tryPush: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Request to push block ${Logger.highlightText(\n id\n )} in branch ${branch} in project ${projectId}`,\n pushed: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Pushed block ${Logger.highlightText(\n id\n )} in branch ${branch} in project ${projectId}`,\n failedPush: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to push block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n latestVersion: (\n version: string,\n id: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] Found latest block version ${Logger.highlightText(\n id\n )} in project ${projectId} ${Logger.highlightText(version)}`,\n failedParsingVersion: () =>\n `Did not find a \"version.versionNo\" in response`,\n actionComplete: (\n action: BlockActionType,\n id: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] Action ${Logger.highlightText(\n action\n )} on ${Logger.highlightText(\n id\n )} in project ${projectId} requested successfully`,\n actionFailed: (\n action: BlockActionType,\n id: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] Problem executing ${action} on block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n deleted: (id: string, env: string, projectId?: string) =>\n `[${env}] Deleted block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n failedDelete: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to delete block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n stopFollow: (id: string, env: string, projectId?: string) =>\n `[${env}]\\n\\n \uD83D\uDC4C stop fetching new ${Logger.highlightText(\n id\n )} logs in project ${projectId}`,\n timeoutFollow: (id: string, env: string, projectId?: string) =>\n `[${env}]\\n\\n \uD83E\uDD0F pausing fetching new ${Logger.highlightText(\n id\n )} logs in project ${projectId} due to too many requests`,\n },\n webhooks: {\n list: (env: string) => `[${env}] Webhook subscriptions:`,\n noList: (env: string) => `[${env}] Cannot retrieve webhook subscriptions`,\n noneExist: () => `No webhook subscriptions exist`,\n created: (env: string, name: string) =>\n `[${env}] Created Webhook subscription ${Logger.highlightText(name)}`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create Webhook subscription ${Logger.highlightText(\n name\n )}`,\n deleted: (env: string, id: string) =>\n `[${env}] Deleted Webhook subscription ${Logger.highlightText(id)}`,\n failedDelete: (env: string, id: string) =>\n `[${env}] Unable to delete Webhook subscription ${Logger.highlightText(\n id\n )}`,\n },\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -27,12 +27,12 @@ __export(CredentialProvider_exports, {
27
27
  default: () => CredentialProvider_default
28
28
  });
29
29
  module.exports = __toCommonJS(CredentialProvider_exports);
30
- var import_keytar = __toESM(require("keytar"));
31
30
  var import_await_to_js = __toESM(require("await-to-js"));
32
31
  var import_logger = require("../util/logger");
33
32
  const SERVICE_NAME = "contensis-cli";
34
33
  class CredentialProvider {
35
34
  serviceId;
35
+ keytar;
36
36
  userId = "";
37
37
  passwordFallback;
38
38
  current = null;
@@ -42,12 +42,39 @@ class CredentialProvider {
42
42
  this.userId = userId;
43
43
  this.passwordFallback = passwordFallback;
44
44
  }
45
+ Import = async () => {
46
+ try {
47
+ this.keytar = (await Promise.resolve().then(() => __toESM(require("keytar")))).default;
48
+ } catch (ex) {
49
+ this.keytar = {
50
+ findCredentials: async () => {
51
+ throw ex;
52
+ },
53
+ getPassword: async () => {
54
+ throw ex;
55
+ },
56
+ findPassword: async () => {
57
+ throw ex;
58
+ },
59
+ setPassword: async () => {
60
+ throw ex;
61
+ },
62
+ deletePassword: async () => {
63
+ throw ex;
64
+ }
65
+ };
66
+ }
67
+ };
45
68
  Init = async () => {
69
+ await this.Import();
46
70
  const [err, stored] = await (0, import_await_to_js.default)(
47
- import_keytar.default.findCredentials(this.serviceId)
71
+ this.keytar.findCredentials(this.serviceId)
48
72
  );
49
73
  if (err && this.passwordFallback) {
50
- this.current = { account: this.userId, password: this.passwordFallback };
74
+ this.current = {
75
+ account: this.userId,
76
+ password: this.passwordFallback
77
+ };
51
78
  }
52
79
  if (!err) {
53
80
  this.remarks = { secure: true };
@@ -57,15 +84,17 @@ class CredentialProvider {
57
84
  return ((_a = u == null ? void 0 : u.account) == null ? void 0 : _a.toLowerCase()) === this.userId.toLowerCase();
58
85
  }
59
86
  )) || null;
87
+ if (!this.current && this.passwordFallback) {
88
+ await this.Save(this.passwordFallback);
89
+ return await this.Init();
90
+ }
60
91
  }
61
92
  return [err, this];
62
93
  };
63
94
  Save = async (password) => {
64
95
  const [err] = await (0, import_await_to_js.default)(
65
- import_keytar.default.setPassword(this.serviceId, this.userId, password)
96
+ this.keytar.setPassword(this.serviceId, this.userId, password)
66
97
  );
67
- if (!err)
68
- import_logger.Logger.info(`${this.serviceId} - credentials saved`);
69
98
  return err && !this.passwordFallback ? err : true;
70
99
  };
71
100
  Delete = async () => {
@@ -74,7 +103,7 @@ class CredentialProvider {
74
103
  return true;
75
104
  } else {
76
105
  const [err] = await (0, import_await_to_js.default)(
77
- import_keytar.default.deletePassword(this.serviceId, this.userId)
106
+ this.keytar.deletePassword(this.serviceId, this.userId)
78
107
  );
79
108
  import_logger.Logger.warning(`${this.serviceId} - invalid credentials removed`);
80
109
  return err || true;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/providers/CredentialProvider.ts"],
4
- "sourcesContent": ["import keytar from 'keytar';\nimport to from 'await-to-js';\nimport { Logger } from '~/util/logger';\n\nconst SERVICE_NAME = 'contensis-cli';\n\ninterface Remarks {\n secure: boolean;\n}\n\nclass CredentialProvider {\n private serviceId: string;\n private userId: string = '';\n private passwordFallback?: string;\n\n current: {\n account: string;\n password: string;\n } | null = null;\n remarks: Remarks = { secure: false };\n\n constructor(\n { userId, alias }: { userId: string; alias?: string },\n passwordFallback?: string\n ) {\n this.serviceId =\n typeof alias !== 'undefined' ? `${SERVICE_NAME}_${alias}` : SERVICE_NAME;\n this.userId = userId;\n this.passwordFallback = passwordFallback;\n }\n\n Init = async (): Promise<[Error, CredentialProvider]> => {\n const [err, stored] = (await to(\n keytar.findCredentials(this.serviceId)\n )) as [\n Error,\n {\n account: string;\n password: string;\n }[]\n ];\n if (err && this.passwordFallback) {\n this.current = { account: this.userId, password: this.passwordFallback };\n // this.remarks = { secure: false };\n }\n if (!err) {\n this.remarks = { secure: true };\n this.current =\n stored?.find(\n u => u?.account?.toLowerCase() === this.userId.toLowerCase()\n ) || null;\n }\n return [err, this];\n };\n\n Save = async (password: string) => {\n const [err] = await to(\n keytar.setPassword(this.serviceId, this.userId, password)\n );\n\n if (!err) Logger.info(`${this.serviceId} - credentials saved`);\n return err && !this.passwordFallback ? err : true;\n };\n\n Delete = async () => {\n if (this.passwordFallback) {\n this.passwordFallback = undefined;\n return true;\n } else {\n const [err] = await to(\n keytar.deletePassword(this.serviceId, this.userId)\n );\n\n Logger.warning(`${this.serviceId} - invalid credentials removed`);\n return err || true;\n }\n };\n\n // GetPassword = async () => {\n // const [err, password] = await to(\n // keytar.getPassword(this.serviceId, this.userId)\n // );\n\n // return err || password;\n // };\n}\n\nexport default CredentialProvider;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,yBAAe;AACf,oBAAuB;AAEvB,MAAM,eAAe;AAMrB,MAAM,mBAAmB;AAAA,EACf;AAAA,EACA,SAAiB;AAAA,EACjB;AAAA,EAER,UAGW;AAAA,EACX,UAAmB,EAAE,QAAQ,MAAM;AAAA,EAEnC,YACE,EAAE,QAAQ,MAAM,GAChB,kBACA;AACA,SAAK,YACH,OAAO,UAAU,cAAc,GAAG,gBAAgB,UAAU;AAC9D,SAAK,SAAS;AACd,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAEA,OAAO,YAAkD;AACvD,UAAM,CAAC,KAAK,MAAM,IAAK,UAAM,mBAAAA;AAAA,MAC3B,cAAAC,QAAO,gBAAgB,KAAK,SAAS;AAAA,IACvC;AAOA,QAAI,OAAO,KAAK,kBAAkB;AAChC,WAAK,UAAU,EAAE,SAAS,KAAK,QAAQ,UAAU,KAAK,iBAAiB;AAAA,IAEzE;AACA,QAAI,CAAC,KAAK;AACR,WAAK,UAAU,EAAE,QAAQ,KAAK;AAC9B,WAAK,WACH,iCAAQ;AAAA,QACN,OAAE;AAjDZ;AAiDe,+CAAG,YAAH,mBAAY,mBAAkB,KAAK,OAAO,YAAY;AAAA;AAAA,YACxD;AAAA,IACT;AACA,WAAO,CAAC,KAAK,IAAI;AAAA,EACnB;AAAA,EAEA,OAAO,OAAO,aAAqB;AACjC,UAAM,CAAC,GAAG,IAAI,UAAM,mBAAAD;AAAA,MAClB,cAAAC,QAAO,YAAY,KAAK,WAAW,KAAK,QAAQ,QAAQ;AAAA,IAC1D;AAEA,QAAI,CAAC;AAAK,2BAAO,KAAK,GAAG,KAAK,+BAA+B;AAC7D,WAAO,OAAO,CAAC,KAAK,mBAAmB,MAAM;AAAA,EAC/C;AAAA,EAEA,SAAS,YAAY;AACnB,QAAI,KAAK,kBAAkB;AACzB,WAAK,mBAAmB;AACxB,aAAO;AAAA,IACT,OAAO;AACL,YAAM,CAAC,GAAG,IAAI,UAAM,mBAAAD;AAAA,QAClB,cAAAC,QAAO,eAAe,KAAK,WAAW,KAAK,MAAM;AAAA,MACnD;AAEA,2BAAO,QAAQ,GAAG,KAAK,yCAAyC;AAChE,aAAO,OAAO;AAAA,IAChB;AAAA,EACF;AASF;AAEA,IAAO,6BAAQ;",
6
- "names": ["to", "keytar"]
4
+ "sourcesContent": ["import keytar from 'keytar';\nimport to from 'await-to-js';\nimport { Logger } from '~/util/logger';\n\nconst SERVICE_NAME = 'contensis-cli';\n\ninterface Remarks {\n secure: boolean;\n}\n\nclass CredentialProvider {\n private serviceId: string;\n private keytar!: typeof keytar;\n private userId: string = '';\n private passwordFallback?: string;\n\n current: {\n account: string;\n password: string;\n } | null = null;\n remarks: Remarks = { secure: false };\n\n constructor(\n { userId, alias }: { userId: string; alias?: string },\n passwordFallback?: string\n ) {\n this.serviceId =\n typeof alias !== 'undefined' ? `${SERVICE_NAME}_${alias}` : SERVICE_NAME;\n this.userId = userId;\n this.passwordFallback = passwordFallback;\n }\n\n Import = async () => {\n try {\n this.keytar = (await import('keytar')).default;\n } catch (ex) {\n this.keytar = {\n findCredentials: async () => {\n throw ex;\n },\n getPassword: async () => {\n throw ex;\n },\n findPassword: async () => {\n throw ex;\n },\n setPassword: async () => {\n throw ex;\n },\n deletePassword: async () => {\n throw ex;\n },\n };\n }\n };\n\n Init = async (): Promise<[Error, CredentialProvider]> => {\n await this.Import();\n const [err, stored] = (await to(\n this.keytar.findCredentials(this.serviceId)\n )) as [\n Error,\n {\n account: string;\n password: string;\n }[]\n ];\n if (err && this.passwordFallback) {\n this.current = {\n account: this.userId,\n password: this.passwordFallback,\n };\n }\n if (!err) {\n this.remarks = { secure: true };\n this.current =\n stored?.find(\n u => u?.account?.toLowerCase() === this.userId.toLowerCase()\n ) || null;\n\n if (!this.current && this.passwordFallback) {\n await this.Save(this.passwordFallback);\n return await this.Init();\n }\n }\n return [err, this];\n };\n\n Save = async (password: string) => {\n const [err] = await to(\n this.keytar.setPassword(this.serviceId, this.userId, password)\n );\n\n // if (!err) Logger.info(`${this.serviceId} - credentials saved`);\n return err && !this.passwordFallback ? err : true;\n };\n\n Delete = async () => {\n if (this.passwordFallback) {\n this.passwordFallback = undefined;\n return true;\n } else {\n const [err] = await to(\n this.keytar.deletePassword(this.serviceId, this.userId)\n );\n\n Logger.warning(`${this.serviceId} - invalid credentials removed`);\n return err || true;\n }\n };\n\n // GetPassword = async () => {\n // const [err, password] = await to(\n // keytar.getPassword(this.serviceId, this.userId)\n // );\n\n // return err || password;\n // };\n}\n\nexport default CredentialProvider;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAAe;AACf,oBAAuB;AAEvB,MAAM,eAAe;AAMrB,MAAM,mBAAmB;AAAA,EACf;AAAA,EACA;AAAA,EACA,SAAiB;AAAA,EACjB;AAAA,EAER,UAGW;AAAA,EACX,UAAmB,EAAE,QAAQ,MAAM;AAAA,EAEnC,YACE,EAAE,QAAQ,MAAM,GAChB,kBACA;AACA,SAAK,YACH,OAAO,UAAU,cAAc,GAAG,gBAAgB,UAAU;AAC9D,SAAK,SAAS;AACd,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAEA,SAAS,YAAY;AACnB,QAAI;AACF,WAAK,UAAU,MAAM,6CAAO,aAAW;AAAA,IACzC,SAAS,IAAP;AACA,WAAK,SAAS;AAAA,QACZ,iBAAiB,YAAY;AAC3B,gBAAM;AAAA,QACR;AAAA,QACA,aAAa,YAAY;AACvB,gBAAM;AAAA,QACR;AAAA,QACA,cAAc,YAAY;AACxB,gBAAM;AAAA,QACR;AAAA,QACA,aAAa,YAAY;AACvB,gBAAM;AAAA,QACR;AAAA,QACA,gBAAgB,YAAY;AAC1B,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,YAAkD;AACvD,UAAM,KAAK,OAAO;AAClB,UAAM,CAAC,KAAK,MAAM,IAAK,UAAM,mBAAAA;AAAA,MAC3B,KAAK,OAAO,gBAAgB,KAAK,SAAS;AAAA,IAC5C;AAOA,QAAI,OAAO,KAAK,kBAAkB;AAChC,WAAK,UAAU;AAAA,QACb,SAAS,KAAK;AAAA,QACd,UAAU,KAAK;AAAA,MACjB;AAAA,IACF;AACA,QAAI,CAAC,KAAK;AACR,WAAK,UAAU,EAAE,QAAQ,KAAK;AAC9B,WAAK,WACH,iCAAQ;AAAA,QACN,OAAE;AA7EZ;AA6Ee,+CAAG,YAAH,mBAAY,mBAAkB,KAAK,OAAO,YAAY;AAAA;AAAA,YACxD;AAEP,UAAI,CAAC,KAAK,WAAW,KAAK,kBAAkB;AAC1C,cAAM,KAAK,KAAK,KAAK,gBAAgB;AACrC,eAAO,MAAM,KAAK,KAAK;AAAA,MACzB;AAAA,IACF;AACA,WAAO,CAAC,KAAK,IAAI;AAAA,EACnB;AAAA,EAEA,OAAO,OAAO,aAAqB;AACjC,UAAM,CAAC,GAAG,IAAI,UAAM,mBAAAA;AAAA,MAClB,KAAK,OAAO,YAAY,KAAK,WAAW,KAAK,QAAQ,QAAQ;AAAA,IAC/D;AAGA,WAAO,OAAO,CAAC,KAAK,mBAAmB,MAAM;AAAA,EAC/C;AAAA,EAEA,SAAS,YAAY;AACnB,QAAI,KAAK,kBAAkB;AACzB,WAAK,mBAAmB;AACxB,aAAO;AAAA,IACT,OAAO;AACL,YAAM,CAAC,GAAG,IAAI,UAAM,mBAAAA;AAAA,QAClB,KAAK,OAAO,eAAe,KAAK,WAAW,KAAK,MAAM;AAAA,MACxD;AAEA,2BAAO,QAAQ,GAAG,KAAK,yCAAyC;AAChE,aAAO,OAAO;AAAA,IAChB;AAAA,EACF;AASF;AAEA,IAAO,6BAAQ;",
6
+ "names": ["to"]
7
7
  }
@@ -32,13 +32,14 @@ var import_path = __toESM(require("path"));
32
32
  var import_cloneDeep = __toESM(require("lodash/cloneDeep"));
33
33
  var import_mergeWith = __toESM(require("lodash/mergeWith"));
34
34
  var import_unionBy = __toESM(require("lodash/unionBy"));
35
+ var import_file_provider = require("./file-provider");
35
36
  var import_util = require("../util");
36
37
  var import_logger = require("../util/logger");
37
38
  class SessionCacheProvider {
38
39
  localFilePath;
39
40
  cache = {};
40
41
  constructor() {
41
- this.localFilePath = import_path.default.join(__dirname, "../../environments.json");
42
+ this.localFilePath = import_path.default.join(import_file_provider.appRootDir, "environments.json");
42
43
  this.cache = {
43
44
  currentTimestamp: new Date().toISOString(),
44
45
  environments: {},
@@ -84,6 +85,25 @@ class SessionCacheProvider {
84
85
  }
85
86
  return this.Get();
86
87
  };
88
+ UpdateEnv = (updateContent, env = this.cache.currentEnvironment, setCurrentEnv = true) => {
89
+ try {
90
+ const environment = this.cache.environments[env || ""];
91
+ this.cache.environments[env || ""] = {
92
+ ...environment,
93
+ ...updateContent
94
+ };
95
+ this.Update({
96
+ currentEnvironment: setCurrentEnv ? env : this.cache.currentEnvironment,
97
+ environments: this.cache.environments
98
+ });
99
+ } catch (ex) {
100
+ import_logger.Logger.error(
101
+ `Problem updating environment "${env}" in environments.json`
102
+ );
103
+ import_logger.Logger.error(ex);
104
+ }
105
+ return this.Get();
106
+ };
87
107
  }
88
108
  var SessionCacheProvider_default = SessionCacheProvider;
89
109
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/providers/SessionCacheProvider.ts"],
4
- "sourcesContent": ["import fs from 'fs';\nimport path from 'path';\nimport clone from 'lodash/cloneDeep';\nimport mergeWith from 'lodash/mergeWith';\nimport unionBy from 'lodash/unionBy';\nimport { isJson, tryParse, tryStringify } from '~/util';\nimport { Logger } from '~/util/logger';\n\nclass SessionCacheProvider {\n private localFilePath: string;\n private cache = {} as SessionCache;\n\n constructor() {\n this.localFilePath = path.join(__dirname, '../../environments.json');\n this.cache = {\n currentTimestamp: new Date().toISOString(),\n environments: {},\n history: [],\n };\n this.ReadCacheFromDisk();\n }\n\n private ReadCacheFromDisk = () => {\n try {\n if (fs.existsSync(this.localFilePath)) {\n const raw = fs.readFileSync(this.localFilePath, 'utf-8');\n if (isJson(raw)) this.cache = tryParse(raw);\n } else {\n this.WriteCacheToDisk();\n }\n } catch (ex) {\n // Problem reading or parsing cache file\n }\n };\n\n private WriteCacheToDisk = () => {\n try {\n fs.writeFileSync(this.localFilePath, JSON.stringify(this.cache, null, 2));\n } catch (ex) {\n // Problem writing session cache to file\n }\n };\n\n Get = () => clone(this.cache);\n\n Update = (updateContent: Partial<SessionCache>) => {\n try {\n this.cache = mergeWith(this.cache, updateContent, (val, src, key) => {\n if (\n key === 'history' &&\n ((src?.[0] &&\n typeof src[0] === 'object' &&\n 'createdDate' in src[0]) ||\n (val?.[0] && typeof val[0] === 'object' && 'createdDate' in val[0]))\n ) {\n return unionBy(val, src, 'createdDate');\n }\n if (key === 'projects')\n return Array.isArray(val) ? [...new Set([...val, ...src])] : src;\n\n if (Array.isArray(val)) return val.concat(src);\n });\n this.cache.currentTimestamp = new Date().toISOString();\n this.WriteCacheToDisk();\n } catch (ex: any) {\n // Problem merging cache data for update\n Logger.error(`Problem updating environments.json`);\n Logger.error(ex);\n }\n return this.Get();\n };\n}\n\nexport default SessionCacheProvider;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,kBAAiB;AACjB,uBAAkB;AAClB,uBAAsB;AACtB,qBAAoB;AACpB,kBAA+C;AAC/C,oBAAuB;AAEvB,MAAM,qBAAqB;AAAA,EACjB;AAAA,EACA,QAAQ,CAAC;AAAA,EAEjB,cAAc;AACZ,SAAK,gBAAgB,YAAAA,QAAK,KAAK,WAAW,yBAAyB;AACnE,SAAK,QAAQ;AAAA,MACX,kBAAkB,IAAI,KAAK,EAAE,YAAY;AAAA,MACzC,cAAc,CAAC;AAAA,MACf,SAAS,CAAC;AAAA,IACZ;AACA,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEQ,oBAAoB,MAAM;AAChC,QAAI;AACF,UAAI,UAAAC,QAAG,WAAW,KAAK,aAAa,GAAG;AACrC,cAAM,MAAM,UAAAA,QAAG,aAAa,KAAK,eAAe,OAAO;AACvD,gBAAI,oBAAO,GAAG;AAAG,eAAK,YAAQ,sBAAS,GAAG;AAAA,MAC5C,OAAO;AACL,aAAK,iBAAiB;AAAA,MACxB;AAAA,IACF,SAAS,IAAP;AAAA,IAEF;AAAA,EACF;AAAA,EAEQ,mBAAmB,MAAM;AAC/B,QAAI;AACF,gBAAAA,QAAG,cAAc,KAAK,eAAe,KAAK,UAAU,KAAK,OAAO,MAAM,CAAC,CAAC;AAAA,IAC1E,SAAS,IAAP;AAAA,IAEF;AAAA,EACF;AAAA,EAEA,MAAM,UAAM,iBAAAC,SAAM,KAAK,KAAK;AAAA,EAE5B,SAAS,CAAC,kBAAyC;AACjD,QAAI;AACF,WAAK,YAAQ,iBAAAC,SAAU,KAAK,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ;AACnE,YACE,QAAQ,eACN,2BAAM,OACN,OAAO,IAAI,OAAO,YAClB,iBAAiB,IAAI,OACpB,2BAAM,OAAM,OAAO,IAAI,OAAO,YAAY,iBAAiB,IAAI,KAClE;AACA,qBAAO,eAAAC,SAAQ,KAAK,KAAK,aAAa;AAAA,QACxC;AACA,YAAI,QAAQ;AACV,iBAAO,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI;AAE/D,YAAI,MAAM,QAAQ,GAAG;AAAG,iBAAO,IAAI,OAAO,GAAG;AAAA,MAC/C,CAAC;AACD,WAAK,MAAM,mBAAmB,IAAI,KAAK,EAAE,YAAY;AACrD,WAAK,iBAAiB;AAAA,IACxB,SAAS,IAAP;AAEA,2BAAO,MAAM,oCAAoC;AACjD,2BAAO,MAAM,EAAE;AAAA,IACjB;AACA,WAAO,KAAK,IAAI;AAAA,EAClB;AACF;AAEA,IAAO,+BAAQ;",
4
+ "sourcesContent": ["import fs from 'fs';\nimport path from 'path';\nimport clone from 'lodash/cloneDeep';\nimport mergeWith from 'lodash/mergeWith';\nimport unionBy from 'lodash/unionBy';\nimport { appRootDir } from './file-provider';\nimport { isJson, tryParse } from '~/util';\nimport { Logger } from '~/util/logger';\n\nclass SessionCacheProvider {\n private localFilePath: string;\n private cache = {} as SessionCache;\n\n constructor() {\n this.localFilePath = path.join(appRootDir, 'environments.json');\n this.cache = {\n currentTimestamp: new Date().toISOString(),\n environments: {},\n history: [],\n };\n this.ReadCacheFromDisk();\n }\n\n private ReadCacheFromDisk = () => {\n try {\n if (fs.existsSync(this.localFilePath)) {\n const raw = fs.readFileSync(this.localFilePath, 'utf-8');\n if (isJson(raw)) this.cache = tryParse(raw);\n } else {\n this.WriteCacheToDisk();\n }\n } catch (ex) {\n // Problem reading or parsing cache file\n }\n };\n\n private WriteCacheToDisk = () => {\n try {\n fs.writeFileSync(this.localFilePath, JSON.stringify(this.cache, null, 2));\n } catch (ex) {\n // Problem writing session cache to file\n }\n };\n\n Get = () => clone(this.cache);\n\n Update = (updateContent: Partial<SessionCache>) => {\n try {\n this.cache = mergeWith(this.cache, updateContent, (val, src, key) => {\n if (\n key === 'history' &&\n ((src?.[0] &&\n typeof src[0] === 'object' &&\n 'createdDate' in src[0]) ||\n (val?.[0] && typeof val[0] === 'object' && 'createdDate' in val[0]))\n ) {\n return unionBy(val, src, 'createdDate');\n }\n if (key === 'projects')\n return Array.isArray(val) ? [...new Set([...val, ...src])] : src;\n\n if (Array.isArray(val)) return val.concat(src);\n });\n this.cache.currentTimestamp = new Date().toISOString();\n this.WriteCacheToDisk();\n } catch (ex: any) {\n // Problem merging cache data for update\n Logger.error(`Problem updating environments.json`);\n Logger.error(ex);\n }\n return this.Get();\n };\n\n UpdateEnv = (\n updateContent: Partial<EnvironmentCache>,\n env = this.cache.currentEnvironment,\n setCurrentEnv = true\n ) => {\n try {\n const environment = this.cache.environments[env || ''];\n\n this.cache.environments[env || ''] = {\n ...environment,\n ...updateContent,\n };\n this.Update({\n currentEnvironment: setCurrentEnv ? env : this.cache.currentEnvironment,\n environments: this.cache.environments,\n });\n } catch (ex: any) {\n // Problem merging cache data for update\n Logger.error(\n `Problem updating environment \"${env}\" in environments.json`\n );\n Logger.error(ex);\n }\n return this.Get();\n };\n}\n\nexport default SessionCacheProvider;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,kBAAiB;AACjB,uBAAkB;AAClB,uBAAsB;AACtB,qBAAoB;AACpB,2BAA2B;AAC3B,kBAAiC;AACjC,oBAAuB;AAEvB,MAAM,qBAAqB;AAAA,EACjB;AAAA,EACA,QAAQ,CAAC;AAAA,EAEjB,cAAc;AACZ,SAAK,gBAAgB,YAAAA,QAAK,KAAK,iCAAY,mBAAmB;AAC9D,SAAK,QAAQ;AAAA,MACX,kBAAkB,IAAI,KAAK,EAAE,YAAY;AAAA,MACzC,cAAc,CAAC;AAAA,MACf,SAAS,CAAC;AAAA,IACZ;AACA,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEQ,oBAAoB,MAAM;AAChC,QAAI;AACF,UAAI,UAAAC,QAAG,WAAW,KAAK,aAAa,GAAG;AACrC,cAAM,MAAM,UAAAA,QAAG,aAAa,KAAK,eAAe,OAAO;AACvD,gBAAI,oBAAO,GAAG;AAAG,eAAK,YAAQ,sBAAS,GAAG;AAAA,MAC5C,OAAO;AACL,aAAK,iBAAiB;AAAA,MACxB;AAAA,IACF,SAAS,IAAP;AAAA,IAEF;AAAA,EACF;AAAA,EAEQ,mBAAmB,MAAM;AAC/B,QAAI;AACF,gBAAAA,QAAG,cAAc,KAAK,eAAe,KAAK,UAAU,KAAK,OAAO,MAAM,CAAC,CAAC;AAAA,IAC1E,SAAS,IAAP;AAAA,IAEF;AAAA,EACF;AAAA,EAEA,MAAM,UAAM,iBAAAC,SAAM,KAAK,KAAK;AAAA,EAE5B,SAAS,CAAC,kBAAyC;AACjD,QAAI;AACF,WAAK,YAAQ,iBAAAC,SAAU,KAAK,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ;AACnE,YACE,QAAQ,eACN,2BAAM,OACN,OAAO,IAAI,OAAO,YAClB,iBAAiB,IAAI,OACpB,2BAAM,OAAM,OAAO,IAAI,OAAO,YAAY,iBAAiB,IAAI,KAClE;AACA,qBAAO,eAAAC,SAAQ,KAAK,KAAK,aAAa;AAAA,QACxC;AACA,YAAI,QAAQ;AACV,iBAAO,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI;AAE/D,YAAI,MAAM,QAAQ,GAAG;AAAG,iBAAO,IAAI,OAAO,GAAG;AAAA,MAC/C,CAAC;AACD,WAAK,MAAM,mBAAmB,IAAI,KAAK,EAAE,YAAY;AACrD,WAAK,iBAAiB;AAAA,IACxB,SAAS,IAAP;AAEA,2BAAO,MAAM,oCAAoC;AACjD,2BAAO,MAAM,EAAE;AAAA,IACjB;AACA,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,YAAY,CACV,eACA,MAAM,KAAK,MAAM,oBACjB,gBAAgB,SACb;AACH,QAAI;AACF,YAAM,cAAc,KAAK,MAAM,aAAa,OAAO;AAEnD,WAAK,MAAM,aAAa,OAAO,MAAM;AAAA,QACnC,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AACA,WAAK,OAAO;AAAA,QACV,oBAAoB,gBAAgB,MAAM,KAAK,MAAM;AAAA,QACrD,cAAc,KAAK,MAAM;AAAA,MAC3B,CAAC;AAAA,IACH,SAAS,IAAP;AAEA,2BAAO;AAAA,QACL,iCAAiC;AAAA,MACnC;AACA,2BAAO,MAAM,EAAE;AAAA,IACjB;AACA,WAAO,KAAK,IAAI;AAAA,EAClB;AACF;AAEA,IAAO,+BAAQ;",
6
6
  "names": ["path", "fs", "clone", "mergeWith", "unionBy"]
7
7
  }
@@ -24,6 +24,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
25
  var file_provider_exports = {};
26
26
  __export(file_provider_exports, {
27
+ appRootDir: () => appRootDir,
27
28
  checkDir: () => checkDir,
28
29
  localPath: () => localPath,
29
30
  moveFile: () => moveFile,
@@ -35,9 +36,11 @@ __export(file_provider_exports, {
35
36
  });
36
37
  module.exports = __toCommonJS(file_provider_exports);
37
38
  var import_fs = __toESM(require("fs"));
39
+ var import_os = require("os");
38
40
  var import_path = __toESM(require("path"));
39
- var import_app_root_path = require("app-root-path");
40
41
  var import_util = require("../util");
42
+ const userHomeDir = (0, import_os.homedir)();
43
+ const appRootDir = process.env.CONTAINER_CONTEXT === "true" ? process.cwd() : import_path.default.join(userHomeDir, ".contensis/");
41
44
  const readJsonFile = (filePath) => {
42
45
  const file = readFile(filePath);
43
46
  if (file)
@@ -74,8 +77,8 @@ const removeFile = (filePath) => {
74
77
  }
75
78
  };
76
79
  const moveFile = (file, fromPath, toPath) => {
77
- const from = import_path.default.join(import_app_root_path.path, `${fromPath}${file}`);
78
- const to = import_path.default.join(import_app_root_path.path, `${toPath}${file}`);
80
+ const from = import_path.default.join(appRootDir, `${fromPath}${file}`);
81
+ const to = import_path.default.join(appRootDir, `${toPath}${file}`);
79
82
  if (import_fs.default.existsSync(from)) {
80
83
  checkDir(toPath);
81
84
  import_fs.default.rename(from, to, (err) => {
@@ -98,9 +101,10 @@ const checkDir = (filePath) => {
98
101
  if (!import_fs.default.existsSync(directoryPath))
99
102
  import_fs.default.mkdirSync(directoryPath, { recursive: true });
100
103
  };
101
- const localPath = (filePath) => import_path.default.join(import_app_root_path.path, filePath);
104
+ const localPath = (filePath) => import_path.default.isAbsolute(filePath) ? filePath : import_path.default.join(appRootDir, filePath);
102
105
  // Annotate the CommonJS export names for ESM import in node:
103
106
  0 && (module.exports = {
107
+ appRootDir,
104
108
  checkDir,
105
109
  localPath,
106
110
  moveFile,