contensis-cli 1.0.0-beta.53 → 1.0.0-beta.55

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 (68) hide show
  1. package/.vscode/launch.json +15 -15
  2. package/README.md +1226 -1226
  3. package/dist/commands/connect.js.map +1 -1
  4. package/dist/commands/create.js.map +1 -1
  5. package/dist/commands/diff.js.map +1 -1
  6. package/dist/commands/get.js.map +1 -1
  7. package/dist/commands/globalOptions.js.map +1 -1
  8. package/dist/commands/import.js.map +1 -1
  9. package/dist/commands/index.js.map +1 -1
  10. package/dist/commands/list.js.map +1 -1
  11. package/dist/commands/login.js.map +1 -1
  12. package/dist/commands/push.js.map +1 -1
  13. package/dist/commands/release.js.map +1 -1
  14. package/dist/commands/remove.js.map +1 -1
  15. package/dist/commands/set.js.map +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/localisation/en-GB.js.map +1 -1
  18. package/dist/providers/CredentialProvider.js.map +1 -1
  19. package/dist/providers/SessionCacheProvider.js.map +1 -1
  20. package/dist/providers/file-provider.js.map +1 -1
  21. package/dist/services/ContensisAuthService.js.map +1 -1
  22. package/dist/services/ContensisCliService.js +4 -0
  23. package/dist/services/ContensisCliService.js.map +2 -2
  24. package/dist/shell.js.map +1 -1
  25. package/dist/util/console.printer.js +5 -5
  26. package/dist/util/console.printer.js.map +2 -2
  27. package/dist/util/csv.formatter.js.map +1 -1
  28. package/dist/util/index.js.map +1 -1
  29. package/dist/util/json.formatter.js.map +1 -1
  30. package/dist/util/logger.js.map +1 -1
  31. package/dist/util/xml.formatter.js.map +1 -1
  32. package/dist/version.js +1 -1
  33. package/dist/version.js.map +1 -1
  34. package/esbuild.config.js +49 -49
  35. package/headless-setup.sh +6 -6
  36. package/package.json +59 -59
  37. package/src/commands/connect.ts +24 -24
  38. package/src/commands/create.ts +70 -70
  39. package/src/commands/diff.ts +41 -41
  40. package/src/commands/get.ts +214 -214
  41. package/src/commands/globalOptions.ts +127 -127
  42. package/src/commands/import.ts +128 -128
  43. package/src/commands/index.ts +80 -80
  44. package/src/commands/list.ts +116 -116
  45. package/src/commands/login.ts +34 -34
  46. package/src/commands/push.ts +127 -127
  47. package/src/commands/release.ts +32 -32
  48. package/src/commands/remove.ts +85 -85
  49. package/src/commands/set.ts +96 -96
  50. package/src/index.ts +19 -19
  51. package/src/localisation/en-GB.ts +289 -289
  52. package/src/models/AppError.d.ts +40 -40
  53. package/src/models/Cache.d.ts +25 -25
  54. package/src/models/JsModules.d.ts +1 -1
  55. package/src/providers/CredentialProvider.ts +121 -121
  56. package/src/providers/SessionCacheProvider.ts +101 -101
  57. package/src/providers/file-provider.ts +76 -76
  58. package/src/services/ContensisAuthService.ts +70 -70
  59. package/src/services/ContensisCliService.ts +1749 -1745
  60. package/src/shell.ts +270 -270
  61. package/src/util/console.printer.ts +371 -371
  62. package/src/util/csv.formatter.ts +21 -21
  63. package/src/util/index.ts +73 -73
  64. package/src/util/json.formatter.ts +1 -1
  65. package/src/util/logger.ts +234 -234
  66. package/src/util/xml.formatter.ts +20 -20
  67. package/src/version.ts +1 -1
  68. package/tsconfig.json +22 -22
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/util/console.printer.ts"],
4
- "sourcesContent": ["import dayjs from 'dayjs';\r\nimport { BlockVersion, MigrateModelsResult, MigrateStatus } from 'migratortron';\r\nimport ContensisCli from '~/services/ContensisCliService';\r\nimport { Logger } from './logger';\r\n\r\nconst formatDate = (date: Date | string, format = 'DD/MM/YYYY HH:mm') =>\r\n dayjs(date).format(format);\r\n\r\nexport const printBlockVersion = (\r\n { log, messages }: ContensisCli,\r\n block: BlockVersion,\r\n printOptions = {\r\n showSource: true,\r\n showStatus: true,\r\n showStaticPaths: true,\r\n showImage: true,\r\n }\r\n) => {\r\n console.log(\r\n ` ${log.standardText(`v${block.version.versionNo}`)} ${block.id}`\r\n );\r\n console.log(\r\n ` state: ${messages.blocks.runningStatus(\r\n block.status.broken ? 'broken' : block.status.running.global\r\n )}`\r\n );\r\n console.log(\r\n ` released: ${log.infoText(\r\n block.version.released\r\n ? `[${formatDate(block.version.released)}] ${block.version.releasedBy}`\r\n : 'no'\r\n )}`\r\n );\r\n if (block.version.madeLive)\r\n console.log(\r\n ` live: ${log.infoText(\r\n `[${formatDate(block.version.madeLive)}] ${block.version.madeLiveBy}`\r\n )}`\r\n );\r\n if (printOptions.showStatus) {\r\n console.log(` status:`);\r\n console.log(` deployment: ${log.infoText(block.status.deployment)}`);\r\n console.log(` workflow: ${log.infoText(block.status.workflow)}`);\r\n console.log(\r\n ` running status: ${messages.blocks.runningStatus(\r\n block.status.running.global\r\n )}`\r\n );\r\n console.log(` datacentres:`);\r\n console.log(\r\n ` hq: ${messages.blocks.runningStatus(\r\n block.status.running.dataCenters.hq\r\n )}`\r\n );\r\n console.log(\r\n ` london: ${messages.blocks.runningStatus(\r\n block.status.running.dataCenters.london\r\n )}`\r\n );\r\n console.log(\r\n ` manchester: ${messages.blocks.runningStatus(\r\n block.status.running.dataCenters.manchester\r\n )}`\r\n );\r\n }\r\n if (printOptions.showSource) {\r\n console.log(` source:`);\r\n console.log(` commit: ${log.helpText(block.source.commit.id)}`);\r\n console.log(\r\n ` message: ${log.infoText(\r\n block.source.commit.message\r\n ?.replaceAll('\\n', '\\\\n')\r\n .replaceAll('\\\\n\\\\n', '\\\\n')\r\n .replaceAll('\\\\n', '; ')\r\n )}`\r\n );\r\n console.log(\r\n ` committed: ${log.infoText(\r\n `[${formatDate(block.source.commit.dateTime)}] ${\r\n block.source.commit.authorEmail\r\n }`\r\n )}`\r\n );\r\n console.log(\r\n ` pushed: ${log.infoText(\r\n `[${formatDate(block.version.pushed)}] ${block.version.pushedBy}`\r\n )}`\r\n );\r\n console.log(` ${log.infoText(block.source.commit.commitUrl)}`);\r\n }\r\n if (printOptions.showImage) {\r\n console.log(` image:`);\r\n console.log(` uri: ${log.infoText(block.image.uri)}`);\r\n console.log(` tag: ${log.helpText(block.image.tag)}`);\r\n }\r\n if (printOptions.showStaticPaths) {\r\n if (block.staticPaths?.length) {\r\n console.log(` static paths:`);\r\n for (const path of block.staticPaths) console.log(` - ${path}`);\r\n }\r\n }\r\n if (block.stagingUrl)\r\n console.log(` staging url: ${log.infoText(block.stagingUrl)}`);\r\n console.log('');\r\n};\r\n\r\nexport const printMigrateResult = (\r\n { log, messages, contensis, currentProject }: ContensisCli,\r\n migrateResult: any,\r\n {\r\n action = 'import',\r\n showDiff = false,\r\n showAllEntries = false,\r\n showChangedEntries = false,\r\n }: {\r\n action?: 'import' | 'delete';\r\n showDiff?: boolean;\r\n showAllEntries?: boolean;\r\n showChangedEntries?: boolean;\r\n } = {}\r\n) => {\r\n if (Object.keys(migrateResult.entriesToMigrate.entryIds).length)\r\n console.log(``);\r\n\r\n for (const [contentTypeId, entryRes] of Object.entries(\r\n migrateResult.entriesToMigrate.entryIds\r\n ) as [string, any]) {\r\n for (const [originalId, entryStatus] of Object.entries(entryRes) as [\r\n string,\r\n any\r\n ][]) {\r\n // console.log(`${log.helpText(contentTypeId)} ${entryStatus.entryTitle}`);\r\n if (\r\n showAllEntries ||\r\n (showChangedEntries &&\r\n (\r\n Object.entries(\r\n Object.entries(entryStatus[currentProject])[0]\r\n )[1][1] as any\r\n ).status !== 'no change')\r\n ) {\r\n console.log(\r\n log.infoText(\r\n `${originalId} ${Object.entries(entryStatus || {})\r\n .filter(x => x[0] !== 'entryTitle')\r\n .map(([projectId, projectStatus]) => {\r\n const [targetGuid, { status }] = (Object.entries(\r\n projectStatus || {}\r\n )?.[0] as [string, { status: MigrateStatus }]) || [\r\n '',\r\n { x: { status: undefined } },\r\n ];\r\n return `${messages.migrate.status(status)(`${status}`)}${\r\n targetGuid !== originalId ? `-> ${targetGuid}` : ''\r\n }`;\r\n })}`\r\n ) + ` ${log.helpText(contentTypeId)} ${entryStatus.entryTitle}`\r\n );\r\n\r\n for (const [projectId, projectStatus] of Object.entries(\r\n entryStatus\r\n ).filter(([key]) => key !== 'entryTitle') as [string, any][]) {\r\n const [targetGuid, { error, diff, status }] = Object.entries(\r\n projectStatus\r\n )[0] as [string, any];\r\n if (error) log.error(error);\r\n if (diff && showDiff) {\r\n console.log(\r\n ` ${log.highlightText(`diff:`)} ${log.infoText(\r\n highlightDiffText(diff)\r\n )}\\n`\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n console.log(``);\r\n if (\r\n contensis?.isPreview &&\r\n migrateResult.entriesToMigrate?.[currentProject]?.totalCount > 0 &&\r\n !migrateResult.errors\r\n ) {\r\n log.help(messages.entries.commitTip());\r\n }\r\n\r\n if (action === 'import') {\r\n for (const [projectId, contentTypeCounts] of Object.entries(\r\n migrateResult.entries || {}\r\n ) as [string, any][]) {\r\n log.help(\r\n `import from project ${log.highlightText(projectId)} to ${log.boldText(\r\n log.warningText(currentProject)\r\n )}`\r\n );\r\n for (const [contentTypeId, count] of Object.entries(\r\n contentTypeCounts\r\n ) as [string, number][]) {\r\n const entriesToMigrate =\r\n migrateResult.entriesToMigrate?.[projectId]?.[contentTypeId];\r\n const existingCount =\r\n migrateResult.existing?.[projectId]?.[contentTypeId] || 0;\r\n const existingPercent = ((existingCount / count) * 100).toFixed(0);\r\n const noChangeOrTotalEntriesCount =\r\n typeof entriesToMigrate !== 'number'\r\n ? entriesToMigrate?.['no change'] || 0\r\n : entriesToMigrate;\r\n\r\n const isTotalCountRow = contentTypeId === 'totalCount';\r\n\r\n const changedPercentage = (\r\n (noChangeOrTotalEntriesCount / count) *\r\n 100\r\n ).toFixed(0);\r\n\r\n const existingColor =\r\n existingPercent === '0' ? log.warningText : log.infoText;\r\n const changedColor = isTotalCountRow\r\n ? log.helpText\r\n : changedPercentage === '100'\r\n ? log.successText\r\n : log.warningText;\r\n\r\n console.log(\r\n ` - ${\r\n isTotalCountRow\r\n ? log.highlightText(`${contentTypeId}: ${count}`)\r\n : `${contentTypeId}: ${log.helpText(count)}`\r\n }${\r\n changedPercentage === '100'\r\n ? ''\r\n : existingColor(\r\n ` [existing: ${\r\n isTotalCountRow ? existingCount : `${existingPercent}%`\r\n }]`\r\n )\r\n }${\r\n existingPercent === '0'\r\n ? ''\r\n : changedColor(\r\n ` ${\r\n isTotalCountRow\r\n ? `[to change: ${noChangeOrTotalEntriesCount}]`\r\n : changedPercentage === '100'\r\n ? 'up to date'\r\n : `[needs update: ${100 - Number(changedPercentage)}%]`\r\n }`\r\n )\r\n }`\r\n );\r\n }\r\n }\r\n if (migrateResult.errors?.length) {\r\n console.log(\r\n ` - ${log.errorText(`errors: ${migrateResult.errors.length}`)}\\n`\r\n );\r\n for (const error of migrateResult.errors)\r\n log.error(error.message || error);\r\n }\r\n }\r\n};\r\n\r\nconst highlightDiffText = (str: string) => {\r\n const addedRegex = new RegExp(/<<\\+>>(.*?)<<\\/\\+>>/, 'g');\r\n const removedRegex = new RegExp(/<<->>(.*?)<<\\/->>/, 'g');\r\n return str\r\n .replace(addedRegex, match => {\r\n return Logger.successText(\r\n match.replace(/<<\\+>>/g, '<+>').replace(/<<\\/\\+>>/g, '</+>')\r\n );\r\n })\r\n .replace(removedRegex, match => {\r\n return Logger.errorText(\r\n match.replace(/<<->>/g, '<->').replace(/<<\\/->>/g, '</->')\r\n );\r\n });\r\n};\r\n\r\nexport const printModelMigrationAnalysis = (\r\n { log, messages }: ContensisCli,\r\n result: any = {}\r\n) => {\r\n for (const [contentTypeId, model] of Object.entries(result) as [\r\n string,\r\n any\r\n ][]) {\r\n let mainOutput = log.standardText(` - ${contentTypeId}`);\r\n let extraOutput = '';\r\n let errorOutput = '';\r\n let diffOutput = '';\r\n for (const [key, details] of Object.entries(model) as [string, any][]) {\r\n if (key === 'dependencies') {\r\n extraOutput += log.infoText(\r\n ` references: [${details?.join(', ')}]\\n`\r\n );\r\n }\r\n if (key === 'dependencyOf') {\r\n extraOutput += log.infoText(\r\n ` required by: [${details?.join(', ')}]\\n`\r\n );\r\n }\r\n if (key === 'projects') {\r\n for (const [projectId, projectDetails] of Object.entries(details) as [\r\n string,\r\n any\r\n ][]) {\r\n mainOutput += log.infoText(\r\n ` [${messages.migrate.status(projectDetails.status)(\r\n `${projectId}: ${projectDetails.status}`\r\n )}] v${projectDetails.versionNo}`\r\n );\r\n if (projectDetails.diff)\r\n diffOutput += ` ${log.highlightText(`diff:`)} ${log.infoText(\r\n highlightDiffText(projectDetails.diff)\r\n )}\\n`;\r\n if (projectDetails.error)\r\n errorOutput += ` ${log.highlightText(\r\n `error::`\r\n )} ${log.errorText(projectDetails.error)}`;\r\n }\r\n }\r\n }\r\n console.log(mainOutput);\r\n if (extraOutput) {\r\n const search = '\\n';\r\n const replace = '';\r\n console.log(\r\n extraOutput.replace(\r\n new RegExp(search + '([^' + search + ']*)$'),\r\n replace + '$1'\r\n )\r\n );\r\n }\r\n if (diffOutput) console.log(diffOutput);\r\n if (errorOutput) console.log(errorOutput);\r\n }\r\n};\r\n\r\ntype MigrateResultSummary = MigrateModelsResult['']['contentTypes'];\r\ntype MigrateResultStatus = keyof MigrateResultSummary;\r\n\r\nexport const printModelMigrationResult = (\r\n { log, messages }: ContensisCli,\r\n result: MigrateResultSummary\r\n) => {\r\n for (const [status, ids] of Object.entries(result) as [\r\n MigrateResultStatus,\r\n string[]\r\n ][]) {\r\n if (ids?.length) {\r\n if (status === 'errors') {\r\n const errors: [string, MappedError][] = ids as any;\r\n log.raw(\r\n ` - ${status}: [ ${messages.migrate.models.result(status)(\r\n ids.map(id => id[0]).join(', ')\r\n )} ]\\n`\r\n );\r\n for (const [contentTypeId, error] of errors)\r\n log.error(\r\n `${log.highlightText(contentTypeId)}: ${error.message}`,\r\n error\r\n );\r\n } else\r\n log.raw(\r\n ` - ${status}: [ ${messages.migrate.models.result(status)(\r\n ids.join(', ')\r\n )} ]`\r\n );\r\n }\r\n }\r\n};\r\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAGlB,oBAAuB;AAEvB,MAAM,aAAa,CAAC,MAAqB,SAAS,2BAChD,aAAAA,SAAM,IAAI,EAAE,OAAO,MAAM;AAEpB,MAAM,oBAAoB,CAC/B,EAAE,KAAK,SAAS,GAChB,OACA,eAAe;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,WAAW;AACb,MACG;AAjBL;AAkBE,UAAQ;AAAA,IACN,KAAK,IAAI,aAAa,IAAI,MAAM,QAAQ,WAAW,KAAK,MAAM;AAAA,EAChE;AACA,UAAQ;AAAA,IACN,cAAc,SAAS,OAAO;AAAA,MAC5B,MAAM,OAAO,SAAS,WAAW,MAAM,OAAO,QAAQ;AAAA,IACxD;AAAA,EACF;AACA,UAAQ;AAAA,IACN,iBAAiB,IAAI;AAAA,MACnB,MAAM,QAAQ,WACV,IAAI,WAAW,MAAM,QAAQ,QAAQ,MAAM,MAAM,QAAQ,eACzD;AAAA,IACN;AAAA,EACF;AACA,MAAI,MAAM,QAAQ;AAChB,YAAQ;AAAA,MACN,aAAa,IAAI;AAAA,QACf,IAAI,WAAW,MAAM,QAAQ,QAAQ,MAAM,MAAM,QAAQ;AAAA,MAC3D;AAAA,IACF;AACF,MAAI,aAAa,YAAY;AAC3B,YAAQ,IAAI,aAAa;AACzB,YAAQ,IAAI,qBAAqB,IAAI,SAAS,MAAM,OAAO,UAAU,GAAG;AACxE,YAAQ,IAAI,mBAAmB,IAAI,SAAS,MAAM,OAAO,QAAQ,GAAG;AACpE,YAAQ;AAAA,MACN,yBAAyB,SAAS,OAAO;AAAA,QACvC,MAAM,OAAO,QAAQ;AAAA,MACvB;AAAA,IACF;AACA,YAAQ,IAAI,oBAAoB;AAChC,YAAQ;AAAA,MACN,eAAe,SAAS,OAAO;AAAA,QAC7B,MAAM,OAAO,QAAQ,YAAY;AAAA,MACnC;AAAA,IACF;AACA,YAAQ;AAAA,MACN,mBAAmB,SAAS,OAAO;AAAA,QACjC,MAAM,OAAO,QAAQ,YAAY;AAAA,MACnC;AAAA,IACF;AACA,YAAQ;AAAA,MACN,uBAAuB,SAAS,OAAO;AAAA,QACrC,MAAM,OAAO,QAAQ,YAAY;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AACA,MAAI,aAAa,YAAY;AAC3B,YAAQ,IAAI,aAAa;AACzB,YAAQ,IAAI,iBAAiB,IAAI,SAAS,MAAM,OAAO,OAAO,EAAE,GAAG;AACnE,YAAQ;AAAA,MACN,kBAAkB,IAAI;AAAA,SACpB,WAAM,OAAO,OAAO,YAApB,mBACI,WAAW,MAAM,OAClB,WAAW,UAAU,OACrB,WAAW,OAAO;AAAA,MACvB;AAAA,IACF;AACA,YAAQ;AAAA,MACN,oBAAoB,IAAI;AAAA,QACtB,IAAI,WAAW,MAAM,OAAO,OAAO,QAAQ,MACzC,MAAM,OAAO,OAAO;AAAA,MAExB;AAAA,IACF;AACA,YAAQ;AAAA,MACN,iBAAiB,IAAI;AAAA,QACnB,IAAI,WAAW,MAAM,QAAQ,MAAM,MAAM,MAAM,QAAQ;AAAA,MACzD;AAAA,IACF;AACA,YAAQ,IAAI,SAAS,IAAI,SAAS,MAAM,OAAO,OAAO,SAAS,GAAG;AAAA,EACpE;AACA,MAAI,aAAa,WAAW;AAC1B,YAAQ,IAAI,YAAY;AACxB,YAAQ,IAAI,cAAc,IAAI,SAAS,MAAM,MAAM,GAAG,GAAG;AACzD,YAAQ,IAAI,cAAc,IAAI,SAAS,MAAM,MAAM,GAAG,GAAG;AAAA,EAC3D;AACA,MAAI,aAAa,iBAAiB;AAChC,SAAI,WAAM,gBAAN,mBAAmB,QAAQ;AAC7B,cAAQ,IAAI,mBAAmB;AAC/B,iBAAW,QAAQ,MAAM;AAAa,gBAAQ,IAAI,WAAW,MAAM;AAAA,IACrE;AAAA,EACF;AACA,MAAI,MAAM;AACR,YAAQ,IAAI,oBAAoB,IAAI,SAAS,MAAM,UAAU,GAAG;AAClE,UAAQ,IAAI,EAAE;AAChB;AAEO,MAAM,qBAAqB,CAChC,EAAE,KAAK,UAAU,WAAW,eAAe,GAC3C,eACA;AAAA,EACE,SAAS;AAAA,EACT,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,qBAAqB;AACvB,IAKI,CAAC,MACF;AAxHL;AAyHE,MAAI,OAAO,KAAK,cAAc,iBAAiB,QAAQ,EAAE;AACvD,YAAQ,IAAI,EAAE;AAEhB,aAAW,CAAC,eAAe,QAAQ,KAAK,OAAO;AAAA,IAC7C,cAAc,iBAAiB;AAAA,EACjC,GAAoB;AAClB,eAAW,CAAC,YAAY,WAAW,KAAK,OAAO,QAAQ,QAAQ,GAG1D;AAEH,UACE,kBACC,sBAEG,OAAO;AAAA,QACL,OAAO,QAAQ,YAAY,eAAe,EAAE;AAAA,MAC9C,EAAE,GAAG,GACL,WAAW,aACf;AACA,gBAAQ;AAAA,UACN,IAAI;AAAA,YACF,GAAG,cAAc,OAAO,QAAQ,eAAe,CAAC,CAAC,EAC9C,OAAO,OAAK,EAAE,OAAO,YAAY,EACjC,IAAI,CAAC,CAAC,WAAW,aAAa,MAAM;AAjJnD,kBAAAC;AAkJgB,oBAAM,CAAC,YAAY,EAAE,OAAO,CAAC,MAAKA,MAAA,OAAO;AAAA,gBACvC,iBAAiB,CAAC;AAAA,cACpB,MAFkC,gBAAAA,IAE9B,OAA8C;AAAA,gBAChD;AAAA,gBACA,EAAE,GAAG,EAAE,QAAQ,OAAU,EAAE;AAAA,cAC7B;AACA,qBAAO,GAAG,SAAS,QAAQ,OAAO,MAAM,EAAE,GAAG,QAAQ,IACnD,eAAe,aAAa,MAAM,eAAe;AAAA,YAErD,CAAC;AAAA,UACL,IAAI,IAAI,IAAI,SAAS,aAAa,KAAK,YAAY;AAAA,QACrD;AAEA,mBAAW,CAAC,WAAW,aAAa,KAAK,OAAO;AAAA,UAC9C;AAAA,QACF,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,QAAQ,YAAY,GAAsB;AAC5D,gBAAM,CAAC,YAAY,EAAE,OAAO,MAAM,OAAO,CAAC,IAAI,OAAO;AAAA,YACnD;AAAA,UACF,EAAE;AACF,cAAI;AAAO,gBAAI,MAAM,KAAK;AAC1B,cAAI,QAAQ,UAAU;AACpB,oBAAQ;AAAA,cACN,OAAO,IAAI,cAAc,OAAO,KAAK,IAAI;AAAA,gBACvC,kBAAkB,IAAI;AAAA,cACxB;AAAA;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,UAAQ,IAAI,EAAE;AACd,OACE,uCAAW,gBACX,yBAAc,qBAAd,mBAAiC,oBAAjC,mBAAkD,cAAa,KAC/D,CAAC,cAAc,QACf;AACA,QAAI,KAAK,SAAS,QAAQ,UAAU,CAAC;AAAA,EACvC;AAEA,MAAI,WAAW,UAAU;AACvB,eAAW,CAAC,WAAW,iBAAiB,KAAK,OAAO;AAAA,MAClD,cAAc,WAAW,CAAC;AAAA,IAC5B,GAAsB;AACpB,UAAI;AAAA,QACF,uBAAuB,IAAI,cAAc,SAAS,QAAQ,IAAI;AAAA,UAC5D,IAAI,YAAY,cAAc;AAAA,QAChC;AAAA,MACF;AACA,iBAAW,CAAC,eAAe,KAAK,KAAK,OAAO;AAAA,QAC1C;AAAA,MACF,GAAyB;AACvB,cAAM,oBACJ,yBAAc,qBAAd,mBAAiC,eAAjC,mBAA8C;AAChD,cAAM,kBACJ,yBAAc,aAAd,mBAAyB,eAAzB,mBAAsC,mBAAkB;AAC1D,cAAM,mBAAoB,gBAAgB,QAAS,KAAK,QAAQ,CAAC;AACjE,cAAM,8BACJ,OAAO,qBAAqB,YACxB,qDAAmB,iBAAgB,IACnC;AAEN,cAAM,kBAAkB,kBAAkB;AAE1C,cAAM,qBACH,8BAA8B,QAC/B,KACA,QAAQ,CAAC;AAEX,cAAM,gBACJ,oBAAoB,MAAM,IAAI,cAAc,IAAI;AAClD,cAAM,eAAe,kBACjB,IAAI,WACJ,sBAAsB,QACtB,IAAI,cACJ,IAAI;AAER,gBAAQ;AAAA,UACN,OACE,kBACI,IAAI,cAAc,GAAG,kBAAkB,OAAO,IAC9C,GAAG,kBAAkB,IAAI,SAAS,KAAK,MAE3C,sBAAsB,QAClB,KACA;AAAA,YACE,eACE,kBAAkB,gBAAgB,GAAG;AAAA,UAEzC,IAEJ,oBAAoB,MAChB,KACA;AAAA,YACE,IACE,kBACI,eAAe,iCACf,sBAAsB,QACtB,eACA,kBAAkB,MAAM,OAAO,iBAAiB;AAAA,UAExD;AAAA,QAER;AAAA,MACF;AAAA,IACF;AACA,SAAI,mBAAc,WAAd,mBAAsB,QAAQ;AAChC,cAAQ;AAAA,QACN,OAAO,IAAI,UAAU,WAAW,cAAc,OAAO,QAAQ;AAAA;AAAA,MAC/D;AACA,iBAAW,SAAS,cAAc;AAChC,YAAI,MAAM,MAAM,WAAW,KAAK;AAAA,IACpC;AAAA,EACF;AACF;AAEA,MAAM,oBAAoB,CAAC,QAAgB;AACzC,QAAM,aAAa,IAAI,OAAO,uBAAuB,GAAG;AACxD,QAAM,eAAe,IAAI,OAAO,qBAAqB,GAAG;AACxD,SAAO,IACJ,QAAQ,YAAY,WAAS;AAC5B,WAAO,qBAAO;AAAA,MACZ,MAAM,QAAQ,WAAW,KAAK,EAAE,QAAQ,aAAa,MAAM;AAAA,IAC7D;AAAA,EACF,CAAC,EACA,QAAQ,cAAc,WAAS;AAC9B,WAAO,qBAAO;AAAA,MACZ,MAAM,QAAQ,UAAU,KAAK,EAAE,QAAQ,YAAY,MAAM;AAAA,IAC3D;AAAA,EACF,CAAC;AACL;AAEO,MAAM,8BAA8B,CACzC,EAAE,KAAK,SAAS,GAChB,SAAc,CAAC,MACZ;AACH,aAAW,CAAC,eAAe,KAAK,KAAK,OAAO,QAAQ,MAAM,GAGrD;AACH,QAAI,aAAa,IAAI,aAAa,OAAO,eAAe;AACxD,QAAI,cAAc;AAClB,QAAI,cAAc;AAClB,QAAI,aAAa;AACjB,eAAW,CAAC,KAAK,OAAO,KAAK,OAAO,QAAQ,KAAK,GAAsB;AACrE,UAAI,QAAQ,gBAAgB;AAC1B,uBAAe,IAAI;AAAA,UACjB,sBAAsB,mCAAS,KAAK;AAAA;AAAA,QACtC;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC1B,uBAAe,IAAI;AAAA,UACjB,uBAAuB,mCAAS,KAAK;AAAA;AAAA,QACvC;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACtB,mBAAW,CAAC,WAAW,cAAc,KAAK,OAAO,QAAQ,OAAO,GAG3D;AACH,wBAAc,IAAI;AAAA,YAChB,KAAK,SAAS,QAAQ,OAAO,eAAe,MAAM;AAAA,cAChD,GAAG,cAAc,eAAe;AAAA,YAClC,OAAO,eAAe;AAAA,UACxB;AACA,cAAI,eAAe;AACjB,0BAAc,SAAS,IAAI,cAAc,OAAO,KAAK,IAAI;AAAA,cACvD,kBAAkB,eAAe,IAAI;AAAA,YACvC;AAAA;AACF,cAAI,eAAe;AACjB,2BAAe,SAAS,IAAI;AAAA,cAC1B;AAAA,YACF,KAAK,IAAI,UAAU,eAAe,KAAK;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;AACA,YAAQ,IAAI,UAAU;AACtB,QAAI,aAAa;AACf,YAAM,SAAS;AACf,YAAM,UAAU;AAChB,cAAQ;AAAA,QACN,YAAY;AAAA,UACV,IAAI,OAAO,SAAS,QAAQ,SAAS,MAAM;AAAA,UAC3C,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AACA,QAAI;AAAY,cAAQ,IAAI,UAAU;AACtC,QAAI;AAAa,cAAQ,IAAI,WAAW;AAAA,EAC1C;AACF;AAKO,MAAM,4BAA4B,CACvC,EAAE,KAAK,SAAS,GAChB,WACG;AACH,aAAW,CAAC,QAAQ,GAAG,KAAK,OAAO,QAAQ,MAAM,GAG5C;AACH,QAAI,2BAAK,QAAQ;AACf,UAAI,WAAW,UAAU;AACvB,cAAM,SAAkC;AACxC,YAAI;AAAA,UACF,OAAO,aAAa,SAAS,QAAQ,OAAO,OAAO,MAAM;AAAA,YACvD,IAAI,IAAI,QAAM,GAAG,EAAE,EAAE,KAAK,IAAI;AAAA,UAChC;AAAA;AAAA,QACF;AACA,mBAAW,CAAC,eAAe,KAAK,KAAK;AACnC,cAAI;AAAA,YACF,GAAG,IAAI,cAAc,aAAa,MAAM,MAAM;AAAA,YAC9C;AAAA,UACF;AAAA,MACJ;AACE,YAAI;AAAA,UACF,OAAO,aAAa,SAAS,QAAQ,OAAO,OAAO,MAAM;AAAA,YACvD,IAAI,KAAK,IAAI;AAAA,UACf;AAAA,QACF;AAAA,IACJ;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import dayjs from 'dayjs';\nimport { BlockVersion, MigrateModelsResult, MigrateStatus } from 'migratortron';\nimport ContensisCli from '~/services/ContensisCliService';\nimport { Logger } from './logger';\n\nconst formatDate = (date: Date | string, format = 'DD/MM/YYYY HH:mm') =>\n dayjs(date).format(format);\n\nexport const printBlockVersion = (\n { log, messages }: ContensisCli,\n block: BlockVersion,\n printOptions = {\n showSource: true,\n showStatus: true,\n showStaticPaths: true,\n showImage: true,\n }\n) => {\n console.log(\n ` ${log.standardText(`v${block.version.versionNo}`)} ${block.id}`\n );\n console.log(\n ` state: ${messages.blocks.runningStatus(\n block.status.broken ? 'broken' : block.status.running.global\n )}`\n );\n console.log(\n ` released: ${log.infoText(\n block.version.released\n ? `[${formatDate(block.version.released)}] ${block.version.releasedBy}`\n : 'no'\n )}`\n );\n if (block.version.madeLive)\n console.log(\n ` live: ${log.infoText(\n `[${formatDate(block.version.madeLive)}] ${block.version.madeLiveBy}`\n )}`\n );\n if (printOptions.showStatus) {\n console.log(` status:`);\n console.log(` deployment: ${log.infoText(block.status.deployment)}`);\n console.log(` workflow: ${log.infoText(block.status.workflow)}`);\n console.log(\n ` running status: ${messages.blocks.runningStatus(\n block.status.running.global\n )}`\n );\n console.log(` datacentres:`);\n console.log(\n ` hq: ${messages.blocks.runningStatus(\n block.status.running.dataCenters.hq\n )}`\n );\n console.log(\n ` london: ${messages.blocks.runningStatus(\n block.status.running.dataCenters.london\n )}`\n );\n console.log(\n ` manchester: ${messages.blocks.runningStatus(\n block.status.running.dataCenters.manchester\n )}`\n );\n }\n if (printOptions.showSource) {\n console.log(` source:`);\n console.log(` commit: ${log.helpText(block.source.commit.id)}`);\n console.log(\n ` message: ${log.infoText(\n block.source.commit.message\n ?.replaceAll('\\n', '\\\\n')\n .replaceAll('\\\\n\\\\n', '\\\\n')\n .replaceAll('\\\\n', '; ')\n )}`\n );\n console.log(\n ` committed: ${log.infoText(\n `[${formatDate(block.source.commit.dateTime)}] ${\n block.source.commit.authorEmail\n }`\n )}`\n );\n console.log(\n ` pushed: ${log.infoText(\n `[${formatDate(block.version.pushed)}] ${block.version.pushedBy}`\n )}`\n );\n console.log(` ${log.infoText(block.source.commit.commitUrl)}`);\n }\n if (printOptions.showImage) {\n console.log(` image:`);\n console.log(` uri: ${log.infoText(block.image.uri)}`);\n console.log(` tag: ${log.helpText(block.image.tag)}`);\n }\n if (printOptions.showStaticPaths) {\n if (block.staticPaths?.length) {\n console.log(` static paths:`);\n for (const path of block.staticPaths) console.log(` - ${path}`);\n }\n }\n if (block.stagingUrl)\n console.log(` staging url: ${log.infoText(block.stagingUrl)}`);\n console.log('');\n};\n\nexport const printMigrateResult = (\n { log, messages, contensis, currentProject }: ContensisCli,\n migrateResult: any,\n {\n action = 'import',\n showDiff = false,\n showAllEntries = false,\n showChangedEntries = false,\n }: {\n action?: 'import' | 'delete';\n showDiff?: boolean;\n showAllEntries?: boolean;\n showChangedEntries?: boolean;\n } = {}\n) => {\n if (Object.keys(migrateResult.entriesToMigrate.entryIds).length)\n console.log(``);\n\n for (const [contentTypeId, entryRes] of Object.entries(\n migrateResult.entriesToMigrate.entryIds\n ) as [string, any]) {\n for (const [originalId, entryStatus] of Object.entries(entryRes) as [\n string,\n any\n ][]) {\n // console.log(`${log.helpText(contentTypeId)} ${entryStatus.entryTitle}`);\n if (\n showAllEntries ||\n (showChangedEntries &&\n (\n Object.entries(\n Object.entries(entryStatus[currentProject])[0]\n )[1][1] as any\n ).status !== 'no change')\n ) {\n console.log(\n log.infoText(\n `${originalId} ${Object.entries(entryStatus || {})\n .filter(x => x[0] !== 'entryTitle')\n .map(([projectId, projectStatus]) => {\n const [targetGuid, { status }] = (Object.entries(\n projectStatus || {}\n )?.[0] as [string, { status: MigrateStatus }]) || [\n '',\n { x: { status: undefined } },\n ];\n return `${messages.migrate.status(status)(`${status}`)}${\n targetGuid !== originalId ? `-> ${targetGuid}` : ''\n }`;\n })}`\n ) + ` ${log.helpText(contentTypeId)} ${entryStatus.entryTitle}`\n );\n\n for (const [projectId, projectStatus] of Object.entries(\n entryStatus\n ).filter(([key]) => key !== 'entryTitle') as [string, any][]) {\n const [targetGuid, { error, diff, status }] = Object.entries(\n projectStatus\n )[0] as [string, any];\n if (error) log.error(error);\n if (diff && showDiff) {\n console.log(\n ` ${log.highlightText(`diff:`)} ${log.infoText(\n highlightDiffText(diff)\n )}\\n`\n );\n }\n }\n }\n }\n }\n console.log(``);\n if (\n contensis?.isPreview &&\n migrateResult.entriesToMigrate?.[currentProject]?.totalCount > 0 &&\n !migrateResult.errors\n ) {\n log.help(messages.entries.commitTip());\n }\n\n if (action === 'import') {\n for (const [projectId, contentTypeCounts] of Object.entries(\n migrateResult.entries || {}\n ) as [string, any][]) {\n log.help(\n `import from project ${log.highlightText(projectId)} to ${log.boldText(\n log.warningText(currentProject)\n )}`\n );\n for (const [contentTypeId, count] of Object.entries(\n contentTypeCounts\n ) as [string, number][]) {\n const migrateStatusAndCount =\n migrateResult.entriesToMigrate[currentProject][contentTypeId];\n const existingCount =\n migrateResult.existing?.[currentProject]?.[contentTypeId] || 0;\n const existingPercent = ((existingCount / count) * 100).toFixed(0);\n const noChangeOrTotalEntriesCount =\n typeof migrateStatusAndCount !== 'number'\n ? migrateStatusAndCount?.['no change'] || 0\n : migrateStatusAndCount;\n\n const isTotalCountRow = contentTypeId === 'totalCount';\n\n const changedPercentage = (\n (noChangeOrTotalEntriesCount / count) *\n 100\n ).toFixed(0);\n\n const existingColor =\n existingPercent === '0' ? log.warningText : log.infoText;\n const changedColor = isTotalCountRow\n ? log.helpText\n : changedPercentage === '100'\n ? log.successText\n : log.warningText;\n\n console.log(\n ` - ${\n isTotalCountRow\n ? log.highlightText(`${contentTypeId}: ${count}`)\n : `${contentTypeId}: ${log.helpText(count)}`\n }${\n changedPercentage === '100'\n ? ''\n : existingColor(\n ` [existing: ${\n isTotalCountRow ? existingCount : `${existingPercent}%`\n }]`\n )\n }${\n existingPercent === '0'\n ? ''\n : changedColor(\n ` ${\n isTotalCountRow\n ? `[to change: ${noChangeOrTotalEntriesCount}]`\n : changedPercentage === '100'\n ? 'up to date'\n : `[needs update: ${100 - Number(changedPercentage)}%]`\n }`\n )\n }`\n );\n }\n }\n if (migrateResult.errors?.length) {\n console.log(\n ` - ${log.errorText(`errors: ${migrateResult.errors.length}`)}\\n`\n );\n for (const error of migrateResult.errors)\n log.error(error.message || error);\n }\n }\n};\n\nconst highlightDiffText = (str: string) => {\n const addedRegex = new RegExp(/<<\\+>>(.*?)<<\\/\\+>>/, 'g');\n const removedRegex = new RegExp(/<<->>(.*?)<<\\/->>/, 'g');\n return str\n .replace(addedRegex, match => {\n return Logger.successText(\n match.replace(/<<\\+>>/g, '<+>').replace(/<<\\/\\+>>/g, '</+>')\n );\n })\n .replace(removedRegex, match => {\n return Logger.errorText(\n match.replace(/<<->>/g, '<->').replace(/<<\\/->>/g, '</->')\n );\n });\n};\n\nexport const printModelMigrationAnalysis = (\n { log, messages }: ContensisCli,\n result: any = {}\n) => {\n for (const [contentTypeId, model] of Object.entries(result) as [\n string,\n any\n ][]) {\n let mainOutput = log.standardText(` - ${contentTypeId}`);\n let extraOutput = '';\n let errorOutput = '';\n let diffOutput = '';\n for (const [key, details] of Object.entries(model) as [string, any][]) {\n if (key === 'dependencies') {\n extraOutput += log.infoText(\n ` references: [${details?.join(', ')}]\\n`\n );\n }\n if (key === 'dependencyOf') {\n extraOutput += log.infoText(\n ` required by: [${details?.join(', ')}]\\n`\n );\n }\n if (key === 'projects') {\n for (const [projectId, projectDetails] of Object.entries(details) as [\n string,\n any\n ][]) {\n mainOutput += log.infoText(\n ` [${messages.migrate.status(projectDetails.status)(\n `${projectId}: ${projectDetails.status}`\n )}] v${projectDetails.versionNo}`\n );\n if (projectDetails.diff)\n diffOutput += ` ${log.highlightText(`diff:`)} ${log.infoText(\n highlightDiffText(projectDetails.diff)\n )}\\n`;\n if (projectDetails.error)\n errorOutput += ` ${log.highlightText(\n `error::`\n )} ${log.errorText(projectDetails.error)}`;\n }\n }\n }\n console.log(mainOutput);\n if (extraOutput) {\n const search = '\\n';\n const replace = '';\n console.log(\n extraOutput.replace(\n new RegExp(search + '([^' + search + ']*)$'),\n replace + '$1'\n )\n );\n }\n if (diffOutput) console.log(diffOutput);\n if (errorOutput) console.log(errorOutput);\n }\n};\n\ntype MigrateResultSummary = MigrateModelsResult['']['contentTypes'];\ntype MigrateResultStatus = keyof MigrateResultSummary;\n\nexport const printModelMigrationResult = (\n { log, messages }: ContensisCli,\n result: MigrateResultSummary\n) => {\n for (const [status, ids] of Object.entries(result) as [\n MigrateResultStatus,\n string[]\n ][]) {\n if (ids?.length) {\n if (status === 'errors') {\n const errors: [string, MappedError][] = ids as any;\n log.raw(\n ` - ${status}: [ ${messages.migrate.models.result(status)(\n ids.map(id => id[0]).join(', ')\n )} ]\\n`\n );\n for (const [contentTypeId, error] of errors)\n log.error(\n `${log.highlightText(contentTypeId)}: ${error.message}`,\n error\n );\n } else\n log.raw(\n ` - ${status}: [ ${messages.migrate.models.result(status)(\n ids.join(', ')\n )} ]`\n );\n }\n }\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["dayjs", "_a"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/util/csv.formatter.ts"],
4
- "sourcesContent": ["import { flatten } from 'flat';\r\nimport { Parser } from 'json2csv';\r\nimport cleaner from 'deep-cleaner';\r\n\r\nconst flattenObject = (obj: any) => flatten(cleaner(obj, ['workflow']));\r\n\r\nexport const csvFormatter = <T>(entries: T | T[]) => {\r\n // Flatten the passed in object\r\n const flatEntries = [];\r\n if (Array.isArray(entries))\r\n for (const entry of entries) {\r\n flatEntries.push(flattenObject(entry));\r\n }\r\n else flatEntries.push(flattenObject(entries));\r\n\r\n // Parse the flattened object to csv\r\n const json2csvParser = new Parser();\r\n const csv = json2csvParser.parse(flatEntries);\r\n\r\n return csv;\r\n};\r\n"],
4
+ "sourcesContent": ["import { flatten } from 'flat';\nimport { Parser } from 'json2csv';\nimport cleaner from 'deep-cleaner';\n\nconst flattenObject = (obj: any) => flatten(cleaner(obj, ['workflow']));\n\nexport const csvFormatter = <T>(entries: T | T[]) => {\n // Flatten the passed in object\n const flatEntries = [];\n if (Array.isArray(entries))\n for (const entry of entries) {\n flatEntries.push(flattenObject(entry));\n }\n else flatEntries.push(flattenObject(entries));\n\n // Parse the flattened object to csv\n const json2csvParser = new Parser();\n const csv = json2csvParser.parse(flatEntries);\n\n return csv;\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AACxB,sBAAuB;AACvB,0BAAoB;AAEpB,MAAM,gBAAgB,CAAC,YAAa,yBAAQ,oBAAAA,SAAQ,KAAK,CAAC,UAAU,CAAC,CAAC;AAE/D,MAAM,eAAe,CAAI,YAAqB;AAEnD,QAAM,cAAc,CAAC;AACrB,MAAI,MAAM,QAAQ,OAAO;AACvB,eAAW,SAAS,SAAS;AAC3B,kBAAY,KAAK,cAAc,KAAK,CAAC;AAAA,IACvC;AAAA;AACG,gBAAY,KAAK,cAAc,OAAO,CAAC;AAG5C,QAAM,iBAAiB,IAAI,uBAAO;AAClC,QAAM,MAAM,eAAe,MAAM,WAAW;AAE5C,SAAO;AACT;",
6
6
  "names": ["cleaner"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/util/index.ts"],
4
- "sourcesContent": ["import mergeWith from 'lodash/mergeWith';\r\nimport { Logger } from './logger';\r\nimport { LogMessages as enGB } from '../localisation/en-GB.js';\r\n\r\nexport const isSharedSecret = (str = '') =>\r\n str.length > 80 && str.split('-').length === 3 ? str : undefined;\r\n\r\nexport const isPassword = (str = '') =>\r\n !isSharedSecret(str) ? str : undefined;\r\n\r\nexport const tryParse = (str: string) => {\r\n try {\r\n return typeof str === 'object' ? str : JSON.parse(str);\r\n } catch (e) {\r\n return false;\r\n }\r\n};\r\n\r\nexport const isJson = (str: string) =>\r\n typeof str === 'object' || !!tryParse(str);\r\n\r\nexport const tryStringify = (obj: any) => {\r\n try {\r\n return typeof obj === 'object' ? JSON.stringify(obj) : obj;\r\n } catch (e) {\r\n return obj;\r\n }\r\n};\r\n\r\nexport const isUuid = (str: string) => {\r\n // Regular expression to check if string is a valid UUID\r\n const regexExp =\r\n /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/gi;\r\n\r\n return regexExp.test(str);\r\n};\r\n\r\nexport const url = (alias: string, project: string) => {\r\n const projectAndAlias =\r\n project && project.toLowerCase() !== 'website'\r\n ? `${project.toLowerCase()}-${alias}`\r\n : alias;\r\n return {\r\n api: `https://api-${alias}.cloud.contensis.com`,\r\n cms: `https://cms-${alias}.cloud.contensis.com`,\r\n liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,\r\n previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,\r\n iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,\r\n iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`,\r\n };\r\n};\r\n\r\nexport const Logging = async (language = 'en-GB') => {\r\n const defaultMessages = enGB;\r\n // const { LogMessages: defaultMessages } = await import(\r\n // `../localisation/en-GB.js`\r\n // );\r\n let localisedMessages = defaultMessages;\r\n\r\n if (language === 'en-GB') {\r\n // Using a variable import e.g. `import(`../localisation/${language}.js`);`\r\n // does not play well with packaged executables\r\n // So we have to hard code the import for each language individually\r\n }\r\n return {\r\n messages: mergeWith(\r\n localisedMessages,\r\n defaultMessages,\r\n (v, s) => v || s\r\n ) as typeof defaultMessages,\r\n Log: Logger,\r\n };\r\n};\r\n"],
4
+ "sourcesContent": ["import mergeWith from 'lodash/mergeWith';\nimport { Logger } from './logger';\nimport { LogMessages as enGB } from '../localisation/en-GB.js';\n\nexport const isSharedSecret = (str = '') =>\n str.length > 80 && str.split('-').length === 3 ? str : undefined;\n\nexport const isPassword = (str = '') =>\n !isSharedSecret(str) ? str : undefined;\n\nexport const tryParse = (str: string) => {\n try {\n return typeof str === 'object' ? str : JSON.parse(str);\n } catch (e) {\n return false;\n }\n};\n\nexport const isJson = (str: string) =>\n typeof str === 'object' || !!tryParse(str);\n\nexport const tryStringify = (obj: any) => {\n try {\n return typeof obj === 'object' ? JSON.stringify(obj) : obj;\n } catch (e) {\n return obj;\n }\n};\n\nexport const isUuid = (str: string) => {\n // Regular expression to check if string is a valid UUID\n const regexExp =\n /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/gi;\n\n return regexExp.test(str);\n};\n\nexport const url = (alias: string, project: string) => {\n const projectAndAlias =\n project && project.toLowerCase() !== 'website'\n ? `${project.toLowerCase()}-${alias}`\n : alias;\n return {\n api: `https://api-${alias}.cloud.contensis.com`,\n cms: `https://cms-${alias}.cloud.contensis.com`,\n liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,\n previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,\n iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,\n iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`,\n };\n};\n\nexport const Logging = async (language = 'en-GB') => {\n const defaultMessages = enGB;\n // const { LogMessages: defaultMessages } = await import(\n // `../localisation/en-GB.js`\n // );\n let localisedMessages = defaultMessages;\n\n if (language === 'en-GB') {\n // Using a variable import e.g. `import(`../localisation/${language}.js`);`\n // does not play well with packaged executables\n // So we have to hard code the import for each language individually\n }\n return {\n messages: mergeWith(\n localisedMessages,\n defaultMessages,\n (v, s) => v || s\n ) as typeof defaultMessages,\n Log: Logger,\n };\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAsB;AACtB,oBAAuB;AACvB,mBAAoC;AAE7B,MAAM,iBAAiB,CAAC,MAAM,OACnC,IAAI,SAAS,MAAM,IAAI,MAAM,GAAG,EAAE,WAAW,IAAI,MAAM;AAElD,MAAM,aAAa,CAAC,MAAM,OAC/B,CAAC,eAAe,GAAG,IAAI,MAAM;AAExB,MAAM,WAAW,CAAC,QAAgB;AACvC,MAAI;AACF,WAAO,OAAO,QAAQ,WAAW,MAAM,KAAK,MAAM,GAAG;AAAA,EACvD,SAAS,GAAP;AACA,WAAO;AAAA,EACT;AACF;AAEO,MAAM,SAAS,CAAC,QACrB,OAAO,QAAQ,YAAY,CAAC,CAAC,SAAS,GAAG;AAEpC,MAAM,eAAe,CAAC,QAAa;AACxC,MAAI;AACF,WAAO,OAAO,QAAQ,WAAW,KAAK,UAAU,GAAG,IAAI;AAAA,EACzD,SAAS,GAAP;AACA,WAAO;AAAA,EACT;AACF;AAEO,MAAM,SAAS,CAAC,QAAgB;AAErC,QAAM,WACJ;AAEF,SAAO,SAAS,KAAK,GAAG;AAC1B;AAEO,MAAM,MAAM,CAAC,OAAe,YAAoB;AACrD,QAAM,kBACJ,WAAW,QAAQ,YAAY,MAAM,YACjC,GAAG,QAAQ,YAAY,KAAK,UAC5B;AACN,SAAO;AAAA,IACL,KAAK,eAAe;AAAA,IACpB,KAAK,eAAe;AAAA,IACpB,SAAS,gBAAgB;AAAA,IACzB,YAAY,mBAAmB;AAAA,IAC/B,QAAQ,oBAAoB;AAAA,IAC5B,eAAe,uBAAuB;AAAA,EACxC;AACF;AAEO,MAAM,UAAU,OAAO,WAAW,YAAY;AACnD,QAAM,kBAAkB,aAAAA;AAIxB,MAAI,oBAAoB;AAExB,MAAI,aAAa,SAAS;AAAA,EAI1B;AACA,SAAO;AAAA,IACL,cAAU,iBAAAC;AAAA,MACR;AAAA,MACA;AAAA,MACA,CAAC,GAAG,MAAM,KAAK;AAAA,IACjB;AAAA,IACA,KAAK;AAAA,EACP;AACF;",
6
6
  "names": ["enGB", "mergeWith"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/util/json.formatter.ts"],
4
- "sourcesContent": ["export const jsonFormatter = <T>(obj: T) => JSON.stringify(obj, null, 2);\r\n"],
4
+ "sourcesContent": ["export const jsonFormatter = <T>(obj: T) => JSON.stringify(obj, null, 2);\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,gBAAgB,CAAI,QAAW,KAAK,UAAU,KAAK,MAAM,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/util/logger.ts"],
4
- "sourcesContent": ["/* eslint-disable no-console */\r\nimport chalk from 'chalk';\r\nimport dateFormat from 'dateformat';\r\nimport deepCleaner from 'deep-cleaner';\r\nimport ProgressBar from 'progress';\r\nimport { tryStringify } from '.';\r\n\r\ntype LogMethod = (content: string) => void;\r\ntype LogErrorMethod = (content: string, err?: any) => void;\r\ntype LogJsonMethod = (content: any, depth?: number, indent?: string) => void;\r\ntype LogJsonDepthMethod = (content: any, depth: number) => void;\r\ntype LogArrayMethod = (contentArray: string[]) => void;\r\ntype LogErrorFunc = (\r\n err: any,\r\n msg?: string,\r\n level?: 'error' | 'critical'\r\n) => void;\r\n\r\nexport class Logger {\r\n static isUserTerminal = !!process.stdout.columns;\r\n static getPrefix = () => {\r\n return Logger.isUserTerminal\r\n ? Logger.infoText(`[cli]`)\r\n : `[${dateFormat(new Date(), 'dd/mm HH:MM:ss')}]`;\r\n };\r\n static errorText = chalk.bold.red;\r\n static warningText = chalk.keyword('orange');\r\n static successText = chalk.keyword('green');\r\n static helpText = chalk.blue;\r\n static highlightText = chalk.yellow;\r\n static infoText = chalk.keyword('grey');\r\n static standardText = chalk.keyword('white');\r\n static boldText = chalk.bold;\r\n static critical: LogMethod = content => {\r\n const message = `${Logger.getPrefix()} ${Logger.errorText(\r\n '[CRITICAL]'\r\n )} ${content}`;\r\n console.log(message);\r\n };\r\n static error: LogErrorMethod = (content, err) => {\r\n const message = `${Logger.getPrefix()} ${Logger.errorText(\r\n `${Logger.isUserTerminal ? '\u274C' : '[ERROR]'} ${content}${\r\n err ? `\\n\\n${JSON.stringify(err, null, 2)}` : ''\r\n }`\r\n )}\\n`;\r\n if (progress.active) progress.current.interrupt(message);\r\n else console.log(message);\r\n };\r\n static warning: LogMethod = content => {\r\n // if (process.env.DEBUG === 'true') {\r\n const message = `${Logger.getPrefix()} ${Logger.warningText(\r\n `${Logger.isUserTerminal ? '\u26A0\uFE0F ' : '[WARN]'} ${content}`\r\n )}\\n`;\r\n if (progress.active) progress.current.interrupt(message);\r\n else console.log(message);\r\n // }\r\n };\r\n static success: LogMethod = content => {\r\n const message = `${Logger.getPrefix()} ${Logger.successText(\r\n `${Logger.isUserTerminal ? '\u2705' : '[OK]'} ${content}`\r\n )}`;\r\n if (progress.active) progress.current.interrupt(message);\r\n else console.log(message);\r\n };\r\n static info: LogMethod = content => {\r\n const message = `${Logger.getPrefix()} ${\r\n Logger.isUserTerminal ? chalk.bgCyan(' \u2139 ') : '[INFO]'\r\n } ${Logger.infoText(content)}`;\r\n if (progress.active) progress.current.interrupt(message);\r\n else console.log(message);\r\n };\r\n static help: LogMethod = content => {\r\n const message = `${Logger.getPrefix()} ${chalk.blue(\r\n `${Logger.isUserTerminal ? '\u23E9' : '[HELP]'} ${content}`\r\n )}\\n`;\r\n if (progress.active) progress.current.interrupt(message);\r\n else console.log(message);\r\n };\r\n static standard: LogMethod = content => {\r\n const message = `${Logger.getPrefix()} ${\r\n Logger.isUserTerminal ? '\u25FB\uFE0F' : '[STD]'\r\n } \\n${Logger.standardText(content)}`;\r\n if (progress.active) progress.current.interrupt(message);\r\n else console.log(message);\r\n progress.current.interrupt(message);\r\n };\r\n static json: LogJsonDepthMethod = (content, depth = 9) =>\r\n console.dir(deepCleaner(content), { colors: true, depth });\r\n static mixed: LogArrayMethod = contentArray =>\r\n console.log(`${Logger.getPrefix()} ${contentArray.join(' ')}`);\r\n static line = () =>\r\n Logger.raw(` ${Logger.infoText(`-------------------------------------`)}`);\r\n\r\n static object: LogJsonMethod = content => {\r\n for (const [key, value] of Object.entries(content)) {\r\n if (value && typeof value === 'object') {\r\n Logger.raw(` ${chalk.bold.grey(key)}:`);\r\n if (key === 'fields' && Array.isArray(value)) {\r\n for (const field of value || []) {\r\n Logger.raw(\r\n ` ${chalk.bold(field.id)}${\r\n field.id === content.entryTitleField\r\n ? '**'\r\n : field.validations.minCount?.value ||\r\n typeof field.validations.required?.message !== 'undefined'\r\n ? '*'\r\n : ''\r\n }: ${chalk.grey(\r\n `${field.dataType}${\r\n field.dataFormat\r\n ? `<${\r\n Array.isArray(\r\n field.validations.allowedFieldTypes?.fields\r\n )\r\n ? `composer[${field.validations.allowedFieldTypes.fields\r\n .map((f: any) => f.id)\r\n .join(' | ')}]`\r\n : field.dataFormat\r\n }${\r\n field.dataFormat === 'entry'\r\n ? `, ${field.validations.allowedContentTypes.contentTypes.join(\r\n ' | '\r\n )}`\r\n : ''\r\n }>`\r\n : ''\r\n }${\r\n field.validations.maxLength?.value\r\n ? `(${field.validations.maxLength.value})`\r\n : ''\r\n }`\r\n )}`\r\n );\r\n }\r\n } else if (key === 'groups' && Array.isArray(value)) {\r\n for (const group of value || []) {\r\n const description =\r\n Object.keys(group.description).length &&\r\n Object.values(group.description)?.[0];\r\n Logger.raw(\r\n ` ${chalk.bold(group.id)}${\r\n description\r\n ? `: ${chalk.grey(Object.values(group.description)?.[0])}`\r\n : ''\r\n }`\r\n );\r\n }\r\n } else {\r\n Logger.objectRecurse(value, 3, ' ');\r\n // for (const [innerkey, innervalue] of Object.entries(value)) {\r\n // if (innervalue && typeof innervalue === 'object') {\r\n // Logger.raw(` ${chalk.bold.grey(innerkey)}:`);\r\n // console.table(innervalue);\r\n // } else if (\r\n // typeof innervalue !== 'undefined' &&\r\n // innervalue !== null\r\n // ) {\r\n // Logger.raw(` ${chalk.bold.grey(innerkey)}: ${innervalue}`);\r\n // }\r\n // }\r\n }\r\n } else if (typeof value !== 'undefined' && value !== null) {\r\n const valueText =\r\n key === 'id' && typeof value === 'string'\r\n ? Logger.highlightText(value)\r\n : value;\r\n Logger.raw(` ${chalk.bold.grey(key)}: ${valueText}`);\r\n }\r\n }\r\n };\r\n\r\n static objectRecurse: LogJsonMethod = (content, depth = 3, indent = '') => {\r\n if (Array.isArray(content)) {\r\n for (const item of content) {\r\n if (item && typeof item === 'object') {\r\n if (Array.isArray(item) && depth > 3)\r\n Logger.raw(chalk.grey(`${indent} [${item.join(', ')}]`));\r\n else Logger.objectRecurse(item, depth + 1, `${indent} `);\r\n } else Logger.raw(`${indent}${item}`);\r\n }\r\n } else\r\n for (const [key, value] of Object.entries(content)) {\r\n if (Array.isArray(value)) {\r\n for (const item of value) {\r\n if (item && typeof item === 'object') {\r\n if (Array.isArray(item) && depth > 3)\r\n Logger.raw(chalk.grey(`${indent} [${item.join(', ')}]`));\r\n else Logger.objectRecurse(item, depth + 1, `${indent}`);\r\n } else {\r\n Logger.raw(`${indent} ${item}`);\r\n }\r\n }\r\n } else if (value && typeof value === 'object') {\r\n Logger.raw(`${indent}${chalk.bold.grey(key)}:`);\r\n\r\n Logger.objectRecurse(value, depth + 1, `${indent} `);\r\n // console.table(value);\r\n } else if (typeof value !== 'undefined' && value !== null) {\r\n Logger.raw(`${indent}${chalk.bold.grey(key)}: ${value}`);\r\n }\r\n }\r\n };\r\n static raw: LogMethod = (content: string) => {\r\n if (progress.active) progress.current.interrupt(content);\r\n else console.log(content);\r\n };\r\n}\r\n\r\nexport const logError: LogErrorFunc = (\r\n err = new Error('Undefined error'),\r\n msg,\r\n level = 'error'\r\n) => {\r\n Logger[level](msg || err.message || err?.data?.message || err.Message);\r\n (Array.isArray(err) ? err : [err]).map((error: AppError) => {\r\n if ('stack' in error) Logger.raw(` ${Logger.infoText(error.stack)}`);\r\n if ('data' in error)\r\n Logger.raw(` ${Logger.infoText(tryStringify(error.data))}`);\r\n });\r\n //Logger.line();\r\n return null;\r\n};\r\n\r\nexport const progress = {\r\n active: false,\r\n done: () => new ProgressBar('', 0),\r\n colours: { green: '\\u001b[42m \\u001b[0m', red: '\\u001b[41m \\u001b[0m' },\r\n current: new ProgressBar(`:bar`, {\r\n complete: '=',\r\n incomplete: ' ',\r\n width: 20,\r\n total: 100,\r\n }),\r\n};\r\n"],
4
+ "sourcesContent": ["/* eslint-disable no-console */\nimport chalk from 'chalk';\nimport dateFormat from 'dateformat';\nimport deepCleaner from 'deep-cleaner';\nimport ProgressBar from 'progress';\nimport { tryStringify } from '.';\n\ntype LogMethod = (content: string) => void;\ntype LogErrorMethod = (content: string, err?: any) => void;\ntype LogJsonMethod = (content: any, depth?: number, indent?: string) => void;\ntype LogJsonDepthMethod = (content: any, depth: number) => void;\ntype LogArrayMethod = (contentArray: string[]) => void;\ntype LogErrorFunc = (\n err: any,\n msg?: string,\n level?: 'error' | 'critical'\n) => void;\n\nexport class Logger {\n static isUserTerminal = !!process.stdout.columns;\n static getPrefix = () => {\n return Logger.isUserTerminal\n ? Logger.infoText(`[cli]`)\n : `[${dateFormat(new Date(), 'dd/mm HH:MM:ss')}]`;\n };\n static errorText = chalk.bold.red;\n static warningText = chalk.keyword('orange');\n static successText = chalk.keyword('green');\n static helpText = chalk.blue;\n static highlightText = chalk.yellow;\n static infoText = chalk.keyword('grey');\n static standardText = chalk.keyword('white');\n static boldText = chalk.bold;\n static critical: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${Logger.errorText(\n '[CRITICAL]'\n )} ${content}`;\n console.log(message);\n };\n static error: LogErrorMethod = (content, err) => {\n const message = `${Logger.getPrefix()} ${Logger.errorText(\n `${Logger.isUserTerminal ? '\u274C' : '[ERROR]'} ${content}${\n err ? `\\n\\n${JSON.stringify(err, null, 2)}` : ''\n }`\n )}\\n`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static warning: LogMethod = content => {\n // if (process.env.DEBUG === 'true') {\n const message = `${Logger.getPrefix()} ${Logger.warningText(\n `${Logger.isUserTerminal ? '\u26A0\uFE0F ' : '[WARN]'} ${content}`\n )}\\n`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n // }\n };\n static success: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${Logger.successText(\n `${Logger.isUserTerminal ? '\u2705' : '[OK]'} ${content}`\n )}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static info: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${\n Logger.isUserTerminal ? chalk.bgCyan(' \u2139 ') : '[INFO]'\n } ${Logger.infoText(content)}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static help: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${chalk.blue(\n `${Logger.isUserTerminal ? '\u23E9' : '[HELP]'} ${content}`\n )}\\n`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static standard: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${\n Logger.isUserTerminal ? '\u25FB\uFE0F' : '[STD]'\n } \\n${Logger.standardText(content)}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n progress.current.interrupt(message);\n };\n static json: LogJsonDepthMethod = (content, depth = 9) =>\n console.dir(deepCleaner(content), { colors: true, depth });\n static mixed: LogArrayMethod = contentArray =>\n console.log(`${Logger.getPrefix()} ${contentArray.join(' ')}`);\n static line = () =>\n Logger.raw(` ${Logger.infoText(`-------------------------------------`)}`);\n\n static object: LogJsonMethod = content => {\n for (const [key, value] of Object.entries(content)) {\n if (value && typeof value === 'object') {\n Logger.raw(` ${chalk.bold.grey(key)}:`);\n if (key === 'fields' && Array.isArray(value)) {\n for (const field of value || []) {\n Logger.raw(\n ` ${chalk.bold(field.id)}${\n field.id === content.entryTitleField\n ? '**'\n : field.validations.minCount?.value ||\n typeof field.validations.required?.message !== 'undefined'\n ? '*'\n : ''\n }: ${chalk.grey(\n `${field.dataType}${\n field.dataFormat\n ? `<${\n Array.isArray(\n field.validations.allowedFieldTypes?.fields\n )\n ? `composer[${field.validations.allowedFieldTypes.fields\n .map((f: any) => f.id)\n .join(' | ')}]`\n : field.dataFormat\n }${\n field.dataFormat === 'entry'\n ? `, ${field.validations.allowedContentTypes.contentTypes.join(\n ' | '\n )}`\n : ''\n }>`\n : ''\n }${\n field.validations.maxLength?.value\n ? `(${field.validations.maxLength.value})`\n : ''\n }`\n )}`\n );\n }\n } else if (key === 'groups' && Array.isArray(value)) {\n for (const group of value || []) {\n const description =\n Object.keys(group.description).length &&\n Object.values(group.description)?.[0];\n Logger.raw(\n ` ${chalk.bold(group.id)}${\n description\n ? `: ${chalk.grey(Object.values(group.description)?.[0])}`\n : ''\n }`\n );\n }\n } else {\n Logger.objectRecurse(value, 3, ' ');\n // for (const [innerkey, innervalue] of Object.entries(value)) {\n // if (innervalue && typeof innervalue === 'object') {\n // Logger.raw(` ${chalk.bold.grey(innerkey)}:`);\n // console.table(innervalue);\n // } else if (\n // typeof innervalue !== 'undefined' &&\n // innervalue !== null\n // ) {\n // Logger.raw(` ${chalk.bold.grey(innerkey)}: ${innervalue}`);\n // }\n // }\n }\n } else if (typeof value !== 'undefined' && value !== null) {\n const valueText =\n key === 'id' && typeof value === 'string'\n ? Logger.highlightText(value)\n : value;\n Logger.raw(` ${chalk.bold.grey(key)}: ${valueText}`);\n }\n }\n };\n\n static objectRecurse: LogJsonMethod = (content, depth = 3, indent = '') => {\n if (Array.isArray(content)) {\n for (const item of content) {\n if (item && typeof item === 'object') {\n if (Array.isArray(item) && depth > 3)\n Logger.raw(chalk.grey(`${indent} [${item.join(', ')}]`));\n else Logger.objectRecurse(item, depth + 1, `${indent} `);\n } else Logger.raw(`${indent}${item}`);\n }\n } else\n for (const [key, value] of Object.entries(content)) {\n if (Array.isArray(value)) {\n for (const item of value) {\n if (item && typeof item === 'object') {\n if (Array.isArray(item) && depth > 3)\n Logger.raw(chalk.grey(`${indent} [${item.join(', ')}]`));\n else Logger.objectRecurse(item, depth + 1, `${indent}`);\n } else {\n Logger.raw(`${indent} ${item}`);\n }\n }\n } else if (value && typeof value === 'object') {\n Logger.raw(`${indent}${chalk.bold.grey(key)}:`);\n\n Logger.objectRecurse(value, depth + 1, `${indent} `);\n // console.table(value);\n } else if (typeof value !== 'undefined' && value !== null) {\n Logger.raw(`${indent}${chalk.bold.grey(key)}: ${value}`);\n }\n }\n };\n static raw: LogMethod = (content: string) => {\n if (progress.active) progress.current.interrupt(content);\n else console.log(content);\n };\n}\n\nexport const logError: LogErrorFunc = (\n err = new Error('Undefined error'),\n msg,\n level = 'error'\n) => {\n Logger[level](msg || err.message || err?.data?.message || err.Message);\n (Array.isArray(err) ? err : [err]).map((error: AppError) => {\n if ('stack' in error) Logger.raw(` ${Logger.infoText(error.stack)}`);\n if ('data' in error)\n Logger.raw(` ${Logger.infoText(tryStringify(error.data))}`);\n });\n //Logger.line();\n return null;\n};\n\nexport const progress = {\n active: false,\n done: () => new ProgressBar('', 0),\n colours: { green: '\\u001b[42m \\u001b[0m', red: '\\u001b[41m \\u001b[0m' },\n current: new ProgressBar(`:bar`, {\n complete: '=',\n incomplete: ' ',\n width: 20,\n total: 100,\n }),\n};\n"],
5
5
  "mappings": "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",
6
6
  "names": ["dateFormat", "chalk", "deepCleaner", "ProgressBar"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/util/xml.formatter.ts"],
4
- "sourcesContent": ["import xml2js from 'xml2js';\r\nimport cleaner from 'deep-cleaner';\r\nimport { Logger } from './logger';\r\n\r\nexport const xmlFormatter = <T>(entries: T | T[]) => {\r\n try {\r\n const cleanedEntries = cleaner(cleaner(entries, ['workflow']));\r\n\r\n const builder = new xml2js.Builder({\r\n cdata: true,\r\n rootName: 'Items',\r\n });\r\n const xml = builder.buildObject({ Entry: cleanedEntries });\r\n\r\n return xml;\r\n } catch (ex) {\r\n Logger.error(`Problem building XML from entries`, ex);\r\n return '';\r\n }\r\n};\r\n"],
4
+ "sourcesContent": ["import xml2js from 'xml2js';\nimport cleaner from 'deep-cleaner';\nimport { Logger } from './logger';\n\nexport const xmlFormatter = <T>(entries: T | T[]) => {\n try {\n const cleanedEntries = cleaner(cleaner(entries, ['workflow']));\n\n const builder = new xml2js.Builder({\n cdata: true,\n rootName: 'Items',\n });\n const xml = builder.buildObject({ Entry: cleanedEntries });\n\n return xml;\n } catch (ex) {\n Logger.error(`Problem building XML from entries`, ex);\n return '';\n }\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,0BAAoB;AACpB,oBAAuB;AAEhB,MAAM,eAAe,CAAI,YAAqB;AACnD,MAAI;AACF,UAAM,qBAAiB,oBAAAA,aAAQ,oBAAAA,SAAQ,SAAS,CAAC,UAAU,CAAC,CAAC;AAE7D,UAAM,UAAU,IAAI,cAAAC,QAAO,QAAQ;AAAA,MACjC,OAAO;AAAA,MACP,UAAU;AAAA,IACZ,CAAC;AACD,UAAM,MAAM,QAAQ,YAAY,EAAE,OAAO,eAAe,CAAC;AAEzD,WAAO;AAAA,EACT,SAAS,IAAP;AACA,yBAAO,MAAM,qCAAqC,EAAE;AACpD,WAAO;AAAA,EACT;AACF;",
6
6
  "names": ["cleaner", "xml2js"]
7
7
  }
package/dist/version.js CHANGED
@@ -21,7 +21,7 @@ __export(version_exports, {
21
21
  LIB_VERSION: () => LIB_VERSION
22
22
  });
23
23
  module.exports = __toCommonJS(version_exports);
24
- const LIB_VERSION = "1.0.0-beta.53";
24
+ const LIB_VERSION = "1.0.0-beta.55";
25
25
  // Annotate the CommonJS export names for ESM import in node:
26
26
  0 && (module.exports = {
27
27
  LIB_VERSION
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/version.ts"],
4
- "sourcesContent": ["export const LIB_VERSION = \"1.0.0-beta.53\";\n"],
4
+ "sourcesContent": ["export const LIB_VERSION = \"1.0.0-beta.55\";\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,cAAc;",
6
6
  "names": []
7
7
  }
package/esbuild.config.js CHANGED
@@ -1,49 +1,49 @@
1
- const rimraf = require('rimraf');
2
- const esbuild = require('esbuild');
3
- const chalk = require('chalk');
4
- const { globPlugin } = require('esbuild-plugin-glob');
5
- const { nodeExternalsPlugin } = require('esbuild-node-externals');
6
- const { replaceTscAliasPaths } = require('tsc-alias');
7
-
8
- const watch = !!process.argv.includes('--watch');
9
- const completed = `${chalk.green('[contensis-cli]')} Build successful 👍\n`;
10
-
11
- console.time(completed);
12
- console.time(' - rimraf complete');
13
-
14
- rimraf('./dist', () => {
15
- console.timeEnd(' - rimraf complete');
16
- console.time(' - esbuild complete');
17
- esbuild
18
- .build({
19
- entryPoints: ['src/**/*.[jt]s'],
20
- outdir: 'dist',
21
- bundle: false,
22
- minify: false,
23
- platform: 'node',
24
- format: 'cjs',
25
- sourcemap: true,
26
- target: 'node16',
27
- plugins: [globPlugin(), nodeExternalsPlugin()],
28
- watch: watch && {
29
- onRebuild(error) {
30
- if (error) console.error('esbuild watch build failed:', error);
31
- else
32
- console.log(
33
- 'esbuild watch build succeeded, waiting for changes...'
34
- );
35
- },
36
- },
37
- })
38
- .then(() => {
39
- console.timeEnd(' - esbuild complete');
40
- console.time(' - replace alias paths');
41
- replaceTscAliasPaths();
42
- console.timeEnd(' - replace alias paths');
43
- console.timeEnd(completed);
44
- })
45
- .catch(error => {
46
- console.error(error);
47
- process.exit(1);
48
- });
49
- });
1
+ const rimraf = require('rimraf');
2
+ const esbuild = require('esbuild');
3
+ const chalk = require('chalk');
4
+ const { globPlugin } = require('esbuild-plugin-glob');
5
+ const { nodeExternalsPlugin } = require('esbuild-node-externals');
6
+ const { replaceTscAliasPaths } = require('tsc-alias');
7
+
8
+ const watch = !!process.argv.includes('--watch');
9
+ const completed = `${chalk.green('[contensis-cli]')} Build successful 👍\n`;
10
+
11
+ console.time(completed);
12
+ console.time(' - rimraf complete');
13
+
14
+ rimraf('./dist', () => {
15
+ console.timeEnd(' - rimraf complete');
16
+ console.time(' - esbuild complete');
17
+ esbuild
18
+ .build({
19
+ entryPoints: ['src/**/*.[jt]s'],
20
+ outdir: 'dist',
21
+ bundle: false,
22
+ minify: false,
23
+ platform: 'node',
24
+ format: 'cjs',
25
+ sourcemap: true,
26
+ target: 'node16',
27
+ plugins: [globPlugin(), nodeExternalsPlugin()],
28
+ watch: watch && {
29
+ onRebuild(error) {
30
+ if (error) console.error('esbuild watch build failed:', error);
31
+ else
32
+ console.log(
33
+ 'esbuild watch build succeeded, waiting for changes...'
34
+ );
35
+ },
36
+ },
37
+ })
38
+ .then(() => {
39
+ console.timeEnd(' - esbuild complete');
40
+ console.time(' - replace alias paths');
41
+ replaceTscAliasPaths();
42
+ console.timeEnd(' - replace alias paths');
43
+ console.timeEnd(completed);
44
+ })
45
+ .catch(error => {
46
+ console.error(error);
47
+ process.exit(1);
48
+ });
49
+ });
package/headless-setup.sh CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bash
2
- # https://github.com/bitwarden/directory-connector/issues/17#issuecomment-499935581
3
- sudo apt-get update && sudo apt-get install -y libsecret-1-0 dbus-x11 gnome-keyring
4
- export $(dbus-launch)
5
- dbus-launch
6
- gnome-keyring-daemon --start --daemonize --components=secrets
7
- echo 'neil' | gnome-keyring-daemon -r -d --unlock
2
+ # https://github.com/bitwarden/directory-connector/issues/17#issuecomment-499935581
3
+ sudo apt-get update && sudo apt-get install -y libsecret-1-0 dbus-x11 gnome-keyring
4
+ export $(dbus-launch)
5
+ dbus-launch
6
+ gnome-keyring-daemon --start --daemonize --components=secrets
7
+ echo 'neil' | gnome-keyring-daemon -r -d --unlock
package/package.json CHANGED
@@ -1,59 +1,59 @@
1
- {
2
- "name": "contensis-cli",
3
- "version": "1.0.0-beta.53",
4
- "description": "A fully featured Contensis command line interface with a shell UI provides simple and intuitive ways to manage or profile your content in any NodeJS terminal.",
5
- "repository": "https://github.com/contensis/node-cli",
6
- "homepage": "https://github.com/contensis/node-cli/tree/main/packages/contensis-cli#readme",
7
- "main": "dist/index.js",
8
- "bin": {
9
- "contensis": "./cli.js",
10
- "contensis-cli": "./cli.js"
11
- },
12
- "scripts": {
13
- "prestart": "npm run build",
14
- "start": "npm run cli",
15
- "dev:shell": "npm run prestart && nodemon --watch dist --inspect=9229 ./dist/shell.js",
16
- "prebuild": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
17
- "build": "node esbuild.config.js",
18
- "build:watch": "node esbuild.config.js --watch",
19
- "cli": "node --inspect=9229 ./cli.js",
20
- "postinstall": "npx patch-package",
21
- "test": "echo \"Error: no test specified\" && exit 1"
22
- },
23
- "author": "Zengenti",
24
- "license": "ISC",
25
- "dependencies": {
26
- "app-root-path": "^3.1.0",
27
- "chalk": "^4.1.2",
28
- "commander": "^9.4.1",
29
- "csv": "^6.1.0",
30
- "dayjs": "^1.11.6",
31
- "figlet": "^1.5.2",
32
- "flat": "^5.0.2",
33
- "inquirer-command-prompt": "^0.1.0",
34
- "json2csv": "^5.0.7",
35
- "jsonpath-mapper": "^1.1.0",
36
- "keytar": "^7.9.0",
37
- "lodash": "^4.17.21",
38
- "migratortron": "^1.0.0-beta.21",
39
- "node-fetch": "^2.6.7",
40
- "patch-package": "^6.4.7",
41
- "xml2js": "^0.4.23"
42
- },
43
- "devDependencies": {
44
- "@types/figlet": "^1.5.4",
45
- "@types/flat": "^5.0.2",
46
- "@types/inquirer": "^8.2.1",
47
- "@types/json2csv": "^5.0.3",
48
- "@types/lodash": "^4.14.182",
49
- "@types/node-fetch": "^2.6.1",
50
- "@types/xml2js": "^0.4.11",
51
- "esbuild": "^0.14.43",
52
- "esbuild-node-externals": "^1.4.1",
53
- "esbuild-plugin-glob": "^1.1.2",
54
- "nodemon": "^2.0.18",
55
- "rimraf": "^3.0.2",
56
- "tsc-alias": "^1.6.9",
57
- "typescript": "^4.7.3"
58
- }
59
- }
1
+ {
2
+ "name": "contensis-cli",
3
+ "version": "1.0.0-beta.55",
4
+ "description": "A fully featured Contensis command line interface with a shell UI provides simple and intuitive ways to manage or profile your content in any NodeJS terminal.",
5
+ "repository": "https://github.com/contensis/node-cli",
6
+ "homepage": "https://github.com/contensis/node-cli/tree/main/packages/contensis-cli#readme",
7
+ "main": "dist/index.js",
8
+ "bin": {
9
+ "contensis": "./cli.js",
10
+ "contensis-cli": "./cli.js"
11
+ },
12
+ "scripts": {
13
+ "prestart": "npm run build",
14
+ "start": "npm run cli",
15
+ "dev:shell": "npm run prestart && nodemon --watch dist --inspect=9229 ./dist/shell.js",
16
+ "prebuild": "node -p \"'export const LIB_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
17
+ "build": "node esbuild.config.js",
18
+ "build:watch": "node esbuild.config.js --watch",
19
+ "cli": "node --inspect=9229 ./cli.js",
20
+ "postinstall": "npx patch-package",
21
+ "test": "echo \"Error: no test specified\" && exit 1"
22
+ },
23
+ "author": "Zengenti",
24
+ "license": "ISC",
25
+ "dependencies": {
26
+ "app-root-path": "^3.1.0",
27
+ "chalk": "^4.1.2",
28
+ "commander": "^9.4.1",
29
+ "csv": "^6.1.0",
30
+ "dayjs": "^1.11.6",
31
+ "figlet": "^1.5.2",
32
+ "flat": "^5.0.2",
33
+ "inquirer-command-prompt": "^0.1.0",
34
+ "json2csv": "^5.0.7",
35
+ "jsonpath-mapper": "^1.1.0",
36
+ "keytar": "^7.9.0",
37
+ "lodash": "^4.17.21",
38
+ "migratortron": "^1.0.0-beta.21",
39
+ "node-fetch": "^2.6.7",
40
+ "patch-package": "^6.4.7",
41
+ "xml2js": "^0.4.23"
42
+ },
43
+ "devDependencies": {
44
+ "@types/figlet": "^1.5.4",
45
+ "@types/flat": "^5.0.2",
46
+ "@types/inquirer": "^8.2.1",
47
+ "@types/json2csv": "^5.0.3",
48
+ "@types/lodash": "^4.14.182",
49
+ "@types/node-fetch": "^2.6.1",
50
+ "@types/xml2js": "^0.4.11",
51
+ "esbuild": "^0.14.43",
52
+ "esbuild-node-externals": "^1.4.1",
53
+ "esbuild-plugin-glob": "^1.1.2",
54
+ "nodemon": "^2.0.18",
55
+ "rimraf": "^3.0.2",
56
+ "tsc-alias": "^1.6.9",
57
+ "typescript": "^4.7.3"
58
+ }
59
+ }
@@ -1,24 +1,24 @@
1
- import { Command } from 'commander';
2
- import { cliCommand } from '~/services/ContensisCliService';
3
- import { shell } from '~/shell';
4
- import { project } from './globalOptions';
5
-
6
- export const makeConnectCommand = () => {
7
- const connect = new Command()
8
- .command('connect')
9
- .description('connect to a Contensis instance')
10
- .argument('<alias>', 'the Contensis Cloud alias to connect with')
11
- .addOption(project)
12
- .usage('<alias>')
13
- .addHelpText(
14
- 'after',
15
- `
16
- Example call:
17
- > connect example-dev`
18
- )
19
- .action(async (alias, opts) => {
20
- await cliCommand(['connect', alias], { ...opts, alias }).Connect(alias);
21
- await shell().restart();
22
- });
23
- return connect;
24
- };
1
+ import { Command } from 'commander';
2
+ import { cliCommand } from '~/services/ContensisCliService';
3
+ import { shell } from '~/shell';
4
+ import { project } from './globalOptions';
5
+
6
+ export const makeConnectCommand = () => {
7
+ const connect = new Command()
8
+ .command('connect')
9
+ .description('connect to a Contensis instance')
10
+ .argument('<alias>', 'the Contensis Cloud alias to connect with')
11
+ .addOption(project)
12
+ .usage('<alias>')
13
+ .addHelpText(
14
+ 'after',
15
+ `
16
+ Example call:
17
+ > connect example-dev`
18
+ )
19
+ .action(async (alias, opts) => {
20
+ await cliCommand(['connect', alias], { ...opts, alias }).Connect(alias);
21
+ await shell().restart();
22
+ });
23
+ return connect;
24
+ };