@kontent-ai/migration-toolkit 2.9.1 → 3.0.0-1

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 (239) hide show
  1. package/README.md +19 -17
  2. package/dist/core/config.js +3 -3
  3. package/dist/core/config.js.map +1 -1
  4. package/dist/core/helpers/workflow-helper.d.ts +1 -1
  5. package/dist/core/helpers/workflow-helper.js +28 -26
  6. package/dist/core/helpers/workflow-helper.js.map +1 -1
  7. package/dist/core/logs/loggers.d.ts +1 -1
  8. package/dist/core/logs/loggers.js +15 -15
  9. package/dist/core/logs/loggers.js.map +1 -1
  10. package/dist/core/models/core.models.d.ts +29 -22
  11. package/dist/core/models/error.models.d.ts +26 -0
  12. package/dist/core/models/error.models.js +104 -0
  13. package/dist/core/models/error.models.js.map +1 -0
  14. package/dist/core/models/log.models.d.ts +2 -2
  15. package/dist/core/models/migration.models.d.ts +17 -19
  16. package/dist/core/models/migration.schema.d.ts +9 -9
  17. package/dist/core/models/migration.schema.js +28 -28
  18. package/dist/core/models/migration.schema.js.map +1 -1
  19. package/dist/core/utils/array.utils.d.ts +1 -1
  20. package/dist/core/utils/array.utils.js +4 -3
  21. package/dist/core/utils/array.utils.js.map +1 -1
  22. package/dist/core/utils/binary-data.utils.d.ts +1 -1
  23. package/dist/core/utils/binary-data.utils.js +6 -6
  24. package/dist/core/utils/binary-data.utils.js.map +1 -1
  25. package/dist/core/utils/confirm.utils.d.ts +3 -1
  26. package/dist/core/utils/confirm.utils.js +92 -24
  27. package/dist/core/utils/confirm.utils.js.map +1 -1
  28. package/dist/core/utils/error.utils.d.ts +1 -1
  29. package/dist/core/utils/error.utils.js +16 -14
  30. package/dist/core/utils/error.utils.js.map +1 -1
  31. package/dist/core/utils/external-id.utils.js +1 -1
  32. package/dist/core/utils/external-id.utils.js.map +1 -1
  33. package/dist/core/utils/global.utils.d.ts +3 -3
  34. package/dist/core/utils/global.utils.js +20 -18
  35. package/dist/core/utils/global.utils.js.map +1 -1
  36. package/dist/core/utils/http.utils.d.ts +2 -2
  37. package/dist/core/utils/http.utils.js +4 -4
  38. package/dist/core/utils/http.utils.js.map +1 -1
  39. package/dist/core/utils/management-client-utils.d.ts +4 -4
  40. package/dist/core/utils/management-client-utils.js +37 -34
  41. package/dist/core/utils/management-client-utils.js.map +1 -1
  42. package/dist/core/utils/processing-utils.d.ts +4 -4
  43. package/dist/core/utils/processing-utils.js +13 -13
  44. package/dist/core/utils/processing-utils.js.map +1 -1
  45. package/dist/core/utils/run.utils.d.ts +2 -2
  46. package/dist/core/utils/run.utils.js +7 -7
  47. package/dist/core/utils/run.utils.js.map +1 -1
  48. package/dist/core/utils/try.utils.d.ts +14 -0
  49. package/dist/core/utils/try.utils.js +18 -0
  50. package/dist/core/utils/try.utils.js.map +1 -0
  51. package/dist/export/context/export-context-fetcher.d.ts +1 -1
  52. package/dist/export/context/export-context-fetcher.js +92 -62
  53. package/dist/export/context/export-context-fetcher.js.map +1 -1
  54. package/dist/export/export-manager.d.ts +2 -2
  55. package/dist/export/export-manager.js +73 -59
  56. package/dist/export/export-manager.js.map +1 -1
  57. package/dist/export/export.models.d.ts +21 -2
  58. package/dist/export/utils/export.utils.d.ts +1 -1
  59. package/dist/export/utils/export.utils.js +3 -2
  60. package/dist/export/utils/export.utils.js.map +1 -1
  61. package/dist/file/file-manager.d.ts +2 -2
  62. package/dist/file/file-manager.js +7 -7
  63. package/dist/file/file-manager.js.map +1 -1
  64. package/dist/import/comparers/asset-comparer.d.ts +2 -2
  65. package/dist/import/comparers/asset-comparer.js +12 -11
  66. package/dist/import/comparers/asset-comparer.js.map +1 -1
  67. package/dist/import/context/import-context-fetcher.d.ts +1 -1
  68. package/dist/import/context/import-context-fetcher.js +77 -73
  69. package/dist/import/context/import-context-fetcher.js.map +1 -1
  70. package/dist/import/import-manager.d.ts +1 -1
  71. package/dist/import/import-manager.js +59 -56
  72. package/dist/import/import-manager.js.map +1 -1
  73. package/dist/import/import.models.d.ts +6 -2
  74. package/dist/import/importers/assets-importer.d.ts +3 -3
  75. package/dist/import/importers/assets-importer.js +46 -43
  76. package/dist/import/importers/assets-importer.js.map +1 -1
  77. package/dist/import/importers/content-items-importer.d.ts +3 -3
  78. package/dist/import/importers/content-items-importer.js +28 -25
  79. package/dist/import/importers/content-items-importer.js.map +1 -1
  80. package/dist/import/importers/language-variant-importer.d.ts +3 -3
  81. package/dist/import/importers/language-variant-importer.js +45 -45
  82. package/dist/import/importers/language-variant-importer.js.map +1 -1
  83. package/dist/import/importers/workflow-importer.d.ts +3 -2
  84. package/dist/import/importers/workflow-importer.js +58 -54
  85. package/dist/import/importers/workflow-importer.js.map +1 -1
  86. package/dist/import/utils/import.utils.d.ts +1 -1
  87. package/dist/import/utils/import.utils.js +3 -2
  88. package/dist/import/utils/import.utils.js.map +1 -1
  89. package/dist/index.d.ts +11 -7
  90. package/dist/index.js +10 -8
  91. package/dist/index.js.map +1 -1
  92. package/dist/metadata.js +3 -3
  93. package/dist/metadata.js.map +1 -1
  94. package/dist/node/cli/actions/export-action.d.ts +1 -1
  95. package/dist/node/cli/actions/export-action.js +29 -23
  96. package/dist/node/cli/actions/export-action.js.map +1 -1
  97. package/dist/node/cli/actions/import-action.d.ts +1 -1
  98. package/dist/node/cli/actions/import-action.js +15 -12
  99. package/dist/node/cli/actions/import-action.js.map +1 -1
  100. package/dist/node/cli/actions/migrate-action.d.ts +1 -1
  101. package/dist/node/cli/actions/migrate-action.js +26 -22
  102. package/dist/node/cli/actions/migrate-action.js.map +1 -1
  103. package/dist/node/cli/app.js +13 -12
  104. package/dist/node/cli/app.js.map +1 -1
  105. package/dist/node/cli/args/args-fetcher.d.ts +1 -1
  106. package/dist/node/cli/args/args-fetcher.js +14 -13
  107. package/dist/node/cli/args/args-fetcher.js.map +1 -1
  108. package/dist/node/cli/args/args-setter.d.ts +1 -1
  109. package/dist/node/cli/args/args-setter.js +8 -6
  110. package/dist/node/cli/args/args-setter.js.map +1 -1
  111. package/dist/node/cli/cli.models.d.ts +2 -2
  112. package/dist/node/cli/commands.js +68 -56
  113. package/dist/node/cli/commands.js.map +1 -1
  114. package/dist/toolkit/elements-builder.d.ts +1 -1
  115. package/dist/toolkit/elements-builder.js +12 -12
  116. package/dist/toolkit/elements-builder.js.map +1 -1
  117. package/dist/toolkit/export.d.ts +2 -2
  118. package/dist/toolkit/export.js +8 -8
  119. package/dist/toolkit/export.js.map +1 -1
  120. package/dist/toolkit/file.d.ts +2 -1
  121. package/dist/toolkit/file.js +18 -16
  122. package/dist/toolkit/file.js.map +1 -1
  123. package/dist/toolkit/import.d.ts +1 -1
  124. package/dist/toolkit/import.js +12 -12
  125. package/dist/toolkit/import.js.map +1 -1
  126. package/dist/toolkit/migrate.d.ts +13 -4
  127. package/dist/toolkit/migrate.js +15 -13
  128. package/dist/toolkit/migrate.js.map +1 -1
  129. package/dist/translation/extraction/items-extraction.processor.d.ts +5 -4
  130. package/dist/translation/extraction/items-extraction.processor.js +73 -35
  131. package/dist/translation/extraction/items-extraction.processor.js.map +1 -1
  132. package/dist/translation/helpers/export-placeholder.utils.d.ts +11 -0
  133. package/dist/translation/helpers/export-placeholder.utils.js +11 -0
  134. package/dist/translation/helpers/export-placeholder.utils.js.map +1 -0
  135. package/dist/translation/helpers/rich-text.processor.d.ts +6 -6
  136. package/dist/translation/helpers/rich-text.processor.js +38 -38
  137. package/dist/translation/helpers/rich-text.processor.js.map +1 -1
  138. package/dist/translation/transforms/export-transforms.d.ts +2 -2
  139. package/dist/translation/transforms/export-transforms.js +93 -67
  140. package/dist/translation/transforms/export-transforms.js.map +1 -1
  141. package/dist/translation/transforms/import-transforms.d.ts +2 -2
  142. package/dist/translation/transforms/import-transforms.js +38 -40
  143. package/dist/translation/transforms/import-transforms.js.map +1 -1
  144. package/dist/zip/zip-manager.d.ts +4 -3
  145. package/dist/zip/zip-manager.js +9 -9
  146. package/dist/zip/zip-manager.js.map +1 -1
  147. package/dist/zip/zip-packager.d.ts +2 -2
  148. package/dist/zip/zip-packager.js +19 -17
  149. package/dist/zip/zip-packager.js.map +1 -1
  150. package/dist/zip/zip-transformer.d.ts +3 -2
  151. package/dist/zip/zip-transformer.js +16 -15
  152. package/dist/zip/zip-transformer.js.map +1 -1
  153. package/dist/zip/zip.models.d.ts +2 -2
  154. package/lib/core/config.ts +6 -6
  155. package/lib/core/helpers/workflow-helper.ts +190 -185
  156. package/lib/core/logs/loggers.ts +52 -52
  157. package/lib/core/models/core.models.ts +130 -119
  158. package/lib/core/models/error.models.ts +148 -0
  159. package/lib/core/models/log.models.ts +20 -20
  160. package/lib/core/models/migration.models.ts +54 -57
  161. package/lib/core/models/migration.schema.ts +108 -108
  162. package/lib/core/utils/array.utils.ts +43 -42
  163. package/lib/core/utils/binary-data.utils.ts +16 -16
  164. package/lib/core/utils/confirm.utils.ts +184 -106
  165. package/lib/core/utils/error.utils.ts +69 -72
  166. package/lib/core/utils/external-id.utils.ts +4 -4
  167. package/lib/core/utils/global.utils.ts +81 -75
  168. package/lib/core/utils/http.utils.ts +23 -23
  169. package/lib/core/utils/management-client-utils.ts +189 -186
  170. package/lib/core/utils/processing-utils.ts +82 -82
  171. package/lib/core/utils/run.utils.ts +50 -50
  172. package/lib/core/utils/try.utils.ts +30 -0
  173. package/lib/export/context/export-context-fetcher.ts +472 -447
  174. package/lib/export/export-manager.ts +250 -232
  175. package/lib/export/export.models.ts +71 -56
  176. package/lib/export/utils/export.utils.ts +9 -7
  177. package/lib/file/file-manager.ts +28 -28
  178. package/lib/import/comparers/asset-comparer.ts +107 -106
  179. package/lib/import/context/import-context-fetcher.ts +462 -462
  180. package/lib/import/import-manager.ts +243 -240
  181. package/lib/import/import.models.ts +69 -67
  182. package/lib/import/importers/assets-importer.ts +240 -236
  183. package/lib/import/importers/content-items-importer.ts +126 -122
  184. package/lib/import/importers/language-variant-importer.ts +324 -328
  185. package/lib/import/importers/workflow-importer.ts +372 -367
  186. package/lib/import/utils/import.utils.ts +9 -7
  187. package/lib/index.ts +12 -8
  188. package/lib/metadata.ts +3 -4
  189. package/lib/node/cli/actions/export-action.ts +44 -38
  190. package/lib/node/cli/actions/import-action.ts +32 -29
  191. package/lib/node/cli/actions/migrate-action.ts +50 -46
  192. package/lib/node/cli/app.ts +21 -21
  193. package/lib/node/cli/args/args-fetcher.ts +55 -54
  194. package/lib/node/cli/args/args-setter.ts +34 -32
  195. package/lib/node/cli/cli.models.ts +17 -17
  196. package/lib/node/cli/commands.ts +165 -153
  197. package/lib/toolkit/elements-builder.ts +69 -69
  198. package/lib/toolkit/export.ts +21 -21
  199. package/lib/toolkit/file.ts +59 -53
  200. package/lib/toolkit/import.ts +32 -32
  201. package/lib/toolkit/migrate.ts +60 -49
  202. package/lib/translation/extraction/items-extraction.processor.ts +203 -173
  203. package/lib/translation/helpers/export-placeholder.utils.ts +10 -0
  204. package/lib/translation/helpers/rich-text.processor.ts +311 -311
  205. package/lib/translation/transforms/export-transforms.ts +313 -279
  206. package/lib/translation/transforms/import-transforms.ts +188 -191
  207. package/lib/zip/zip-manager.ts +28 -27
  208. package/lib/zip/zip-packager.ts +75 -73
  209. package/lib/zip/zip-transformer.ts +112 -107
  210. package/lib/zip/zip.models.ts +7 -7
  211. package/package.json +91 -84
  212. package/dist/core/index.d.ts +0 -16
  213. package/dist/core/index.js +0 -17
  214. package/dist/core/index.js.map +0 -1
  215. package/dist/export/index.d.ts +0 -2
  216. package/dist/export/index.js +0 -3
  217. package/dist/export/index.js.map +0 -1
  218. package/dist/file/index.d.ts +0 -1
  219. package/dist/file/index.js +0 -2
  220. package/dist/file/index.js.map +0 -1
  221. package/dist/import/index.d.ts +0 -2
  222. package/dist/import/index.js +0 -3
  223. package/dist/import/index.js.map +0 -1
  224. package/dist/toolkit/index.d.ts +0 -5
  225. package/dist/toolkit/index.js +0 -6
  226. package/dist/toolkit/index.js.map +0 -1
  227. package/dist/translation/index.d.ts +0 -4
  228. package/dist/translation/index.js +0 -5
  229. package/dist/translation/index.js.map +0 -1
  230. package/dist/zip/index.d.ts +0 -4
  231. package/dist/zip/index.js +0 -5
  232. package/dist/zip/index.js.map +0 -1
  233. package/lib/core/index.ts +0 -18
  234. package/lib/export/index.ts +0 -2
  235. package/lib/file/index.ts +0 -1
  236. package/lib/import/index.ts +0 -2
  237. package/lib/toolkit/index.ts +0 -5
  238. package/lib/translation/index.ts +0 -4
  239. package/lib/zip/index.ts +0 -4
package/README.md CHANGED
@@ -47,15 +47,16 @@ You may migrate content (items & asset) between Kontent.ai environments. For mig
47
47
 
48
48
  ## Configuration
49
49
 
50
- | Config | Value |
51
- | ----------------------- | ----------------------------------------------------------------------------------------------------- |
52
- | **sourceEnvironmentId** | Id of source environment **(required)** |
53
- | **sourceApiKey** | Management API key of source environment **(required)** |
54
- | **targetEnvironmentId** | Id of target environment **(required)** |
55
- | **targetApiKey** | Management API key of target environment **(required)** |
56
- | **language** | Codename of language that items will be exported in **(required)** |
57
- | **items** | Comma separated list of items that will be exported **(required)** |
58
- | force | Can be used to disable confirmation prompts. Available options: `true` & `false`. Defaults to `false` |
50
+ | Config | Value |
51
+ | ----------------------------- | ----------------------------------------------------------------------------------------------------- |
52
+ | **sourceEnvironmentId** | Id of source environment **(required)** |
53
+ | **sourceApiKey** | Management API key of source environment **(required)** |
54
+ | **targetEnvironmentId** | Id of target environment **(required)** |
55
+ | **targetApiKey** | Management API key of target environment **(required)** |
56
+ | **language** | Codename of language that items will be exported in **(required)** |
57
+ | **items** | Comma separated list of items that will be exported **(required)** |
58
+ | force | Can be used to disable confirmation prompts. Available options: `true` & `false`. Defaults to `false` |
59
+ | skipMissingReferences | When enabled, missing items and assets will be skipped instead of throwing errors. Missing references will be filtered out from exported data. Available options: `true` & `false`. Defaults to `false` |
59
60
 
60
61
  ## Migrate CLI
61
62
 
@@ -100,14 +101,15 @@ you typically only use the `import` capabilities of this repository.
100
101
 
101
102
  ## Configuration
102
103
 
103
- | Config | Value |
104
- | ----------------------- | ------------------------------------------------------------------ |
105
- | **sourceEnvironmentId** | Id of Kontent.ai environment **(required)** |
106
- | **sourceApiKey** | Management API key of Kontent.ai environment **(required)** |
107
- | **language** | Codename of language that items will be exported in **(required)** |
108
- | **items** | Comma separated list of items that will be exported **(required)** |
109
- | filename | Name of the zip file |
110
- | baseUrl | Custom base URL for Kontent.ai API calls |
104
+ | Config | Value |
105
+ | ----------------------------- | --------------------------------------------------------------------------------------------------- |
106
+ | **sourceEnvironmentId** | Id of Kontent.ai environment **(required)** |
107
+ | **sourceApiKey** | Management API key of Kontent.ai environment **(required)** |
108
+ | **language** | Codename of language that items will be exported in **(required)** |
109
+ | **items** | Comma separated list of items that will be exported **(required)** |
110
+ | filename | Name of the zip file |
111
+ | baseUrl | Custom base URL for Kontent.ai API calls |
112
+ | skipMissingReferences | When enabled, missing items and assets will be skipped. Available options: `true` & `false`. Defaults to `false` |
111
113
 
112
114
  ## Export CLI
113
115
 
@@ -1,6 +1,6 @@
1
- import { libMetadata } from '../metadata.js';
1
+ import { libMetadata } from "../metadata.js";
2
2
  export const coreConfig = {
3
- kontentTrackingHeaderName: 'X-KC-SOURCE',
4
- kontentTrackingHeaderValue: `${libMetadata.name};${libMetadata.version}`
3
+ kontentTrackingHeaderName: "X-KC-SOURCE",
4
+ kontentTrackingHeaderValue: `${libMetadata.name};${libMetadata.version}`,
5
5
  };
6
6
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,yBAAyB,EAAE,aAAa;IACxC,0BAA0B,EAAE,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE;CAClE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,yBAAyB,EAAE,aAAa;IACxC,0BAA0B,EAAE,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE;CAC/D,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { WorkflowModels } from '@kontent-ai/management-sdk';
1
+ import type { WorkflowModels } from "@kontent-ai/management-sdk";
2
2
  export type WorkflowStep = {
3
3
  readonly codename: string;
4
4
  readonly id: string;
@@ -1,5 +1,6 @@
1
- import chalk from 'chalk';
2
- import { findRequired } from '../utils/array.utils.js';
1
+ import chalk from "chalk";
2
+ import { MigrationToolkitError } from "../models/error.models.js";
3
+ import { findRequired } from "../utils/array.utils.js";
3
4
  export function workflowHelper(workflows) {
4
5
  const mapContractToWorkflowSteps = (workflow, stepsContract) => {
5
6
  const allStepsContracts = [...workflow.steps, workflow.archivedStep, workflow.publishedStep, workflow.scheduledStep];
@@ -10,13 +11,13 @@ export function workflowHelper(workflows) {
10
11
  transitionsTo: m.transitions_to.map((transitionTo) => {
11
12
  const transitionStep = allStepsContracts.find((step) => step.id === transitionTo.step.id);
12
13
  if (!transitionStep) {
13
- throw Error(`Could not find transition step with id '${transitionTo.step.id}' in workflow '${workflow.codename}'`);
14
+ throw new MigrationToolkitError("missingWorkflowStep", `Could not find transition step with id '${transitionTo.step.id}' in workflow '${workflow.codename}'`);
14
15
  }
15
16
  return {
16
17
  codename: transitionStep.codename,
17
- id: transitionStep.id
18
+ id: transitionStep.id,
18
19
  };
19
- })
20
+ }),
20
21
  };
21
22
  });
22
23
  };
@@ -26,18 +27,18 @@ export function workflowHelper(workflows) {
26
27
  {
27
28
  codename: workflow.archivedStep.codename,
28
29
  id: workflow.archivedStep.id,
29
- transitionsTo: []
30
+ transitionsTo: [],
30
31
  },
31
32
  {
32
33
  codename: workflow.publishedStep.codename,
33
34
  id: workflow.publishedStep.id,
34
- transitionsTo: []
35
+ transitionsTo: [],
35
36
  },
36
37
  {
37
38
  codename: workflow.scheduledStep.codename,
38
39
  id: workflow.scheduledStep.id,
39
- transitionsTo: []
40
- }
40
+ transitionsTo: [],
41
+ },
41
42
  ];
42
43
  return findRequired(workflowSteps, stepMatcher.match, stepMatcher.errorMessage);
43
44
  };
@@ -48,9 +49,9 @@ export function workflowHelper(workflows) {
48
49
  return getWorkflow({
49
50
  errorMessage: [
50
51
  `Workflow with codename '${chalk.red(workflowCodename)}' does not exist in target project`,
51
- `Available workflows are (${workflows.length}): ${workflows.map((m) => chalk.cyan(m.codename)).join(', ')}`
52
- ].join(', '),
53
- match: (workflow) => workflow.codename.toLowerCase() === workflowCodename.toLowerCase()
52
+ `Available workflows are (${workflows.length}): ${workflows.map((m) => chalk.cyan(m.codename)).join(", ")}`,
53
+ ].join(", "),
54
+ match: (workflow) => workflow.codename.toLowerCase() === workflowCodename.toLowerCase(),
54
55
  });
55
56
  };
56
57
  const getWorkflowStepByCodename = (workflow, stepCodename) => {
@@ -59,9 +60,9 @@ export function workflowHelper(workflows) {
59
60
  `Workflow step with codename '${chalk.red(stepCodename)}' does not exist in target project`,
60
61
  `Steps in workflow '${chalk.yellow(workflow.codename)}' are (${workflow.steps.length}): ${workflow.steps
61
62
  .map((m) => chalk.cyan(m.codename))
62
- .join(', ')}`
63
- ].join(', '),
64
- match: (step) => step.codename.toLowerCase() === stepCodename.toLowerCase()
63
+ .join(", ")}`,
64
+ ].join(", "),
65
+ match: (step) => step.codename.toLowerCase() === stepCodename.toLowerCase(),
65
66
  });
66
67
  };
67
68
  const getWorkflowStepById = (workflow, stepId) => {
@@ -70,23 +71,23 @@ export function workflowHelper(workflows) {
70
71
  `Workflow step with codename '${chalk.red(stepId)}' does not exist in target project`,
71
72
  `Steps in workflow '${chalk.yellow(workflow.codename)}' are (${workflow.steps.length}): ${workflow.steps
72
73
  .map((m) => chalk.cyan(m.id))
73
- .join(', ')}`
74
- ].join(', '),
75
- match: (step) => step.id.toLowerCase() === stepId.toLowerCase()
74
+ .join(", ")}`,
75
+ ].join(", "),
76
+ match: (step) => step.id.toLowerCase() === stepId.toLowerCase(),
76
77
  });
77
78
  };
78
79
  const getWorkflowAndStep = (data) => {
79
80
  const workflow = getWorkflow(data.workflowMatcher);
80
81
  return {
81
82
  workflow,
82
- step: getWorkflowStep(workflow, data.stepMatcher)
83
+ step: getWorkflowStep(workflow, data.stepMatcher),
83
84
  };
84
85
  };
85
86
  const getWorkflowAndStepByCodenames = (data) => {
86
87
  const workflow = getWorkflowByCodename(data.workflowCodename);
87
88
  return {
88
89
  workflow,
89
- step: getWorkflowStepByCodename(workflow, data.stepCodename)
90
+ step: getWorkflowStepByCodename(workflow, data.stepCodename),
90
91
  };
91
92
  };
92
93
  const findShortestPathBetweenSteps = (workflow, startStep, endStep) => {
@@ -98,26 +99,27 @@ export function workflowHelper(workflows) {
98
99
  return getResult(node);
99
100
  }
100
101
  const newNodes = node.step.transitionsTo
102
+ // eslint-disable-next-line @typescript-eslint/no-loop-func
101
103
  .filter((s) => deque.find((n) => n.step.codename === s.codename) === undefined)
102
104
  .map((t) => ({
103
105
  parent: node,
104
- step: getWorkflowStepByCodename(workflow, t.codename)
106
+ step: getWorkflowStepByCodename(workflow, t.codename),
105
107
  }));
106
108
  deque = deque.concat(newNodes);
107
109
  }
108
110
  throw new Error(`Could not find the path from step (codename: ${startStep.codename}) to step (codename: ${endStep.codename}) in workflow (codename: ${workflow.codename})`);
109
111
  };
110
112
  const isPublishedStepByCodename = (stepCodename) => {
111
- return workflows.find((workflow) => workflow.publishedStep.codename === stepCodename) ? true : false;
113
+ return workflows.some((workflow) => workflow.publishedStep.codename === stepCodename);
112
114
  };
113
115
  const isArchivedStepByCodename = (stepCodename) => {
114
- return workflows.find((workflow) => workflow.archivedStep.codename === stepCodename) ? true : false;
116
+ return workflows.some((workflow) => workflow.archivedStep.codename === stepCodename);
115
117
  };
116
118
  const isScheduledStepByCodename = (stepCodename) => {
117
- return workflows.find((workflow) => workflow.scheduledStep.codename === stepCodename) ? true : false;
119
+ return workflows.some((workflow) => workflow.scheduledStep.codename === stepCodename);
118
120
  };
119
121
  const isPublishedStepById = (stepId) => {
120
- return workflows.find((workflow) => workflow.publishedStep.id === stepId) ? true : false;
122
+ return workflows.some((workflow) => workflow.publishedStep.id === stepId);
121
123
  };
122
124
  return {
123
125
  getWorkflowByCodename,
@@ -131,7 +133,7 @@ export function workflowHelper(workflows) {
131
133
  isArchivedStepByCodename,
132
134
  isScheduledStepByCodename,
133
135
  isPublishedStepById,
134
- findShortestPathBetweenSteps
136
+ findShortestPathBetweenSteps,
135
137
  };
136
138
  }
137
139
  //# sourceMappingURL=workflow-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-helper.js","sourceRoot":"","sources":["../../../lib/core/helpers/workflow-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-helper.js","sourceRoot":"","sources":["../../../lib/core/helpers/workflow-helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA0BvD,MAAM,UAAU,cAAc,CAAC,SAAuD;IACrF,MAAM,0BAA0B,GAAG,CAClC,QAA2C,EAC3C,aAA8E,EACpD,EAAE;QAC5B,MAAM,iBAAiB,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAErH,OAAO,aAAa,CAAC,GAAG,CAAe,CAAC,CAAC,EAAE,EAAE;YAC5C,OAAO;gBACN,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,aAAa,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;oBACpD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAE1F,IAAI,CAAC,cAAc,EAAE,CAAC;wBACrB,MAAM,IAAI,qBAAqB,CAC9B,qBAAqB,EACrB,2CAA2C,YAAY,CAAC,IAAI,CAAC,EAAE,kBAAkB,QAAQ,CAAC,QAAQ,GAAG,CACrG,CAAC;oBACH,CAAC;oBAED,OAAO;wBACN,QAAQ,EAAE,cAAc,CAAC,QAAQ;wBACjC,EAAE,EAAE,cAAc,CAAC,EAAE;qBACrB,CAAC;gBACH,CAAC,CAAC;aACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,QAA2C,EAAE,WAAwB,EAAgB,EAAE;QAC/G,MAAM,aAAa,GAA4B;YAC9C,GAAG,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;YACvD;gBACC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ;gBACxC,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE;gBAC5B,aAAa,EAAE,EAAE;aACjB;YACD;gBACC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ;gBACzC,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;gBAC7B,aAAa,EAAE,EAAE;aACjB;YACD;gBACC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ;gBACzC,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;gBAC7B,aAAa,EAAE,EAAE;aACjB;SACD,CAAC;QAEF,OAAO,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACjF,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,eAAgC,EAAqC,EAAE;QAC3F,OAAO,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IACrF,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,gBAAwB,EAAqC,EAAE;QAC7F,OAAO,WAAW,CAAC;YAClB,YAAY,EAAE;gBACb,2BAA2B,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,oCAAoC;gBAC1F,4BAA4B,SAAS,CAAC,MAAM,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC3G,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,WAAW,EAAE;SACvF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAAC,QAA2C,EAAE,YAAoB,EAAgB,EAAE;QACrH,OAAO,eAAe,CAAC,QAAQ,EAAE;YAChC,YAAY,EAAE;gBACb,gCAAgC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,oCAAoC;gBAC3F,sBAAsB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,QAAQ,CAAC,KAAK,CAAC,MAAM,MAAM,QAAQ,CAAC,KAAK;qBACtG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;qBAClC,IAAI,CAAC,IAAI,CAAC,EAAE;aACd,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;SAC3E,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,QAA2C,EAAE,MAAc,EAAgB,EAAE;QACzG,OAAO,eAAe,CAAC,QAAQ,EAAE;YAChC,YAAY,EAAE;gBACb,gCAAgC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,oCAAoC;gBACrF,sBAAsB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,QAAQ,CAAC,KAAK,CAAC,MAAM,MAAM,QAAQ,CAAC,KAAK;qBACtG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC5B,IAAI,CAAC,IAAI,CAAC,EAAE;aACd,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE;SAC/D,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,IAG3B,EAAuE,EAAE;QACzE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnD,OAAO;YACN,QAAQ;YACR,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;SACjD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,6BAA6B,GAAG,CAAC,IAGtC,EAAuE,EAAE;QACzE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,OAAO;YACN,QAAQ;YACR,IAAI,EAAE,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;SAC5D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,4BAA4B,GAAG,CACpC,QAAiC,EACjC,SAAuB,EACvB,OAAqB,EACe,EAAE;QAEtC,IAAI,KAAK,GAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAE7D,MAAM,SAAS,GAAG,CAAC,IAAU,EAAqC,EAAE,CACnE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/F,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAU,CAAC;YAEnC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC7C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa;gBACvC,2DAA2D;iBAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;iBAC9E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACZ,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,yBAAyB,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC;aACrD,CAAC,CAAC,CAAC;YAEL,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,KAAK,CACd,gDAAgD,SAAS,CAAC,QAAQ,wBAAwB,OAAO,CAAC,QAAQ,4BAA4B,QAAQ,CAAC,QAAQ,GAAG,CAC1J,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAAC,YAAoB,EAAW,EAAE;QACnE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;IACvF,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAW,EAAE;QAClE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;IACtF,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAAC,YAAoB,EAAW,EAAE;QACnE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;IACvF,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAW,EAAE;QACvD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,OAAO;QACN,qBAAqB;QACrB,yBAAyB;QACzB,6BAA6B;QAC7B,mBAAmB;QACnB,eAAe;QACf,kBAAkB;QAClB,WAAW;QACX,yBAAyB;QACzB,wBAAwB;QACxB,yBAAyB;QACzB,mBAAmB;QACnB,4BAA4B;KAC5B,CAAC;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
- import type { Logger } from '../models/log.models.js';
1
+ import type { Logger } from "../models/log.models.js";
2
2
  export declare function getDefaultLogger(): Logger;
@@ -1,31 +1,31 @@
1
- import chalk from 'chalk';
2
- import { match, P } from 'ts-pattern';
3
- import { getCurrentEnvironment } from '../utils/global.utils.js';
1
+ import chalk from "chalk";
2
+ import { match, P } from "ts-pattern";
3
+ import { getCurrentEnvironment } from "../utils/global.utils.js";
4
4
  const originalWarn = console.warn;
5
5
  export function getDefaultLogger() {
6
6
  return match(getCurrentEnvironment())
7
- .with('node', () => defaultNodeLogger)
8
- .with('browser', () => defaultBrowserLogger)
7
+ .with("node", () => defaultNodeLogger)
8
+ .with("browser", () => defaultBrowserLogger)
9
9
  .exhaustive();
10
10
  }
11
11
  const defaultNodeLogger = {
12
12
  log: (data) => console.log(getLogDataMessage(data)),
13
13
  logWithSpinnerAsync: async (func) => {
14
- const ora = await import('ora');
14
+ const ora = await import("ora");
15
15
  return await ora.oraPromise(async (spinner) => {
16
16
  // patch global console to prevent disrupting ora instance
17
17
  // this often happens when JS SDK logs console.warn for
18
18
  // retried requests. Patching this ensures the flow is uninterrupted
19
19
  global.console.warn = (m) => {
20
20
  if (m) {
21
- spinner.text = m?.toString() ?? 'Invalid warn value';
21
+ spinner.text = m?.toString() ?? "Invalid warn value";
22
22
  }
23
23
  };
24
24
  const result = await func((data) => {
25
25
  // remember last used prefix. This is useful as we don't have to pass prefix to every single function
26
26
  // calling the spinner
27
27
  if (data.prefix) {
28
- spinner.prefixText = data.prefix ?? '';
28
+ spinner.prefixText = data.prefix ?? "";
29
29
  }
30
30
  spinner.text = getLogDataMessage(data);
31
31
  });
@@ -33,16 +33,16 @@ const defaultNodeLogger = {
33
33
  global.console.warn = originalWarn;
34
34
  return result;
35
35
  }, {});
36
- }
36
+ },
37
37
  };
38
38
  const defaultBrowserLogger = {
39
39
  log: (data) => console.log(getLogDataMessage(data)),
40
40
  logWithSpinnerAsync: async (func) => {
41
41
  return await func((data) => {
42
- const prefix = data.prefix ? `${data.prefix}: ` : '';
42
+ const prefix = data.prefix ? `${data.prefix}: ` : "";
43
43
  console.log(`${prefix}${getLogDataMessage(data)}`);
44
44
  });
45
- }
45
+ },
46
46
  };
47
47
  function getLogDataMessage(data) {
48
48
  if (!data.type) {
@@ -50,10 +50,10 @@ function getLogDataMessage(data) {
50
50
  }
51
51
  const color = match(data.type)
52
52
  .returnType()
53
- .with('info', () => chalk.cyan)
54
- .with(P.union('error', 'errorData', 'warning', 'cancel'), () => chalk.red)
55
- .with('completed', () => chalk.green)
56
- .with('skip', () => chalk.gray)
53
+ .with("info", () => chalk.cyan)
54
+ .with(P.union("error", "errorData", "warning", "cancel"), () => chalk.red)
55
+ .with("completed", () => chalk.green)
56
+ .with("skip", () => chalk.gray)
57
57
  .otherwise(() => chalk.yellow);
58
58
  return `${color(data.type)}: ${data.message}`;
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loggers.js","sourceRoot":"","sources":["../../../lib/core/logs/loggers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loggers.js","sourceRoot":"","sources":["../../../lib/core/logs/loggers.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import type { AssetModels, ContentItemModels, ContentTypeElements, LanguageVariantModels, WorkflowModels } from '@kontent-ai/management-sdk';
2
- import type { MigrationElementType } from './migration.models.js';
1
+ import type { AssetModels, ContentItemModels, ContentTypeElements, LanguageVariantModels, WorkflowModels } from "@kontent-ai/management-sdk";
2
+ import type { MigrationElementType } from "./migration.models.js";
3
3
  export type LiteralUnion<T extends string> = T | (string & {});
4
- export type TargetItemState = 'exists' | 'doesNotExists';
5
- export type CliAction = 'export' | 'import' | 'migrate';
6
- export type EnvContext = 'browser' | 'node';
7
- export type MapiAction = 'list' | 'view' | 'archive' | 'unpublish' | 'changeWorkflowStep' | 'publish' | 'upload' | 'create' | 'upsert' | 'schedulePublish' | 'scheduleUnpublish' | 'cancelScheduledPublish' | 'cancelScheduledUnpublish' | 'createNewVersion';
8
- export type MigrationItemType = 'exportItem';
9
- export type MapiType = 'contentType' | 'assetFolder' | 'asset' | 'contentTypeSnippet' | 'contentItem' | 'languageVariant' | 'language' | 'collection' | 'taxonomy' | 'binaryFile' | 'workflow';
10
- export type LanguageVariantWorkflowStateValues = 'published' | 'archived' | 'draft' | 'scheduled';
11
- export type LanguageVariantSchedulesStateValues = 'scheduledPublish' | 'scheduledUnpublish' | 'n/a';
4
+ export type TargetItemState = "exists" | "doesNotExists";
5
+ export type CliAction = "export" | "import" | "migrate";
6
+ export type EnvContext = "browser" | "node";
7
+ export type MapiAction = "list" | "view" | "archive" | "unpublish" | "changeWorkflowStep" | "publish" | "upload" | "create" | "upsert" | "schedulePublish" | "scheduleUnpublish" | "cancelScheduledPublish" | "cancelScheduledUnpublish" | "createNewVersion";
8
+ export type MigrationItemType = "exportItem";
9
+ export type MapiType = "contentType" | "assetFolder" | "asset" | "contentTypeSnippet" | "contentItem" | "languageVariant" | "language" | "collection" | "taxonomy" | "binaryFile" | "workflow";
10
+ export type LanguageVariantWorkflowStateValues = "published" | "archived" | "draft" | "scheduled";
11
+ export type LanguageVariantSchedulesStateValues = "scheduledPublish" | "scheduledUnpublish" | "n/a";
12
12
  export type LanguageVariantWorkflowState = {
13
13
  readonly workflowState: LanguageVariantWorkflowStateValues;
14
14
  readonly scheduledState: LanguageVariantSchedulesStateValues;
@@ -32,16 +32,20 @@ export interface ReferencedDataInLanguageVariants {
32
32
  readonly itemIds: ReadonlySet<string>;
33
33
  readonly assetIds: ReadonlySet<string>;
34
34
  }
35
- export interface ItemStateInSourceEnvironmentById {
36
- readonly state: TargetItemState;
37
- readonly id: string;
38
- readonly item: Readonly<ContentItemModels.ContentItem> | undefined;
39
- }
40
- export interface AssetStateInSourceEnvironmentById {
41
- readonly state: TargetItemState;
35
+ type DataStateInSourceEnvironmentById<T extends Readonly<ContentItemModels.ContentItem> | Readonly<AssetModels.Asset>> = {
42
36
  readonly id: string;
43
- readonly asset: Readonly<AssetModels.Asset> | undefined;
44
- }
37
+ } & ({
38
+ readonly state: "exists";
39
+ readonly data: T;
40
+ } | {
41
+ readonly state: "doesNotExists";
42
+ readonly data?: never;
43
+ } | {
44
+ readonly state: "skip";
45
+ readonly data?: never;
46
+ });
47
+ export type ItemStateInSourceEnvironmentById = DataStateInSourceEnvironmentById<Readonly<ContentItemModels.ContentItem>>;
48
+ export type AssetStateInSourceEnvironmentById = DataStateInSourceEnvironmentById<Readonly<AssetModels.Asset>>;
45
49
  export interface ItemStateInTargetEnvironmentByCodename {
46
50
  readonly state: TargetItemState;
47
51
  readonly itemCodename: string;
@@ -77,12 +81,14 @@ export interface PackageDataOverview {
77
81
  }
78
82
  export interface FlattenedContentTypeElement {
79
83
  readonly codename: string;
84
+ readonly name: string | undefined;
80
85
  readonly id: string;
81
86
  readonly type: MigrationElementType;
82
87
  readonly element: Readonly<ContentTypeElements.ContentTypeElementModel>;
83
88
  }
84
89
  export interface FlattenedContentType {
85
90
  readonly contentTypeCodename: string;
91
+ readonly name: string;
86
92
  readonly contentTypeId: string;
87
93
  readonly elements: readonly FlattenedContentTypeElement[];
88
94
  }
@@ -99,14 +105,15 @@ export interface OriginalManagementError {
99
105
  };
100
106
  }
101
107
  export type ItemProcessingResult<InputItem, OutputItem> = {
102
- readonly state: 'valid';
108
+ readonly state: "valid";
103
109
  readonly inputItem: InputItem;
104
110
  readonly outputItem: OutputItem;
105
111
  } | {
106
- readonly state: 'error';
112
+ readonly state: "error";
107
113
  readonly inputItem: InputItem;
108
114
  readonly error: unknown;
109
115
  } | {
110
- readonly state: '404';
116
+ readonly state: "404";
111
117
  readonly inputItem: InputItem;
112
118
  };
119
+ export {};
@@ -0,0 +1,26 @@
1
+ import type { ExportItem, ExportItemVersion } from "../../export/export.models.js";
2
+ import type { ErrorData, FlattenedContentType, FlattenedContentTypeElement } from "./core.models.js";
3
+ export type MigrationToolkitErrorType = "confirmationRefused" | "invalidZip" | "invalidFolder" | "unsupportedCommand" | "importFailedForItem" | "invalidElement" | "exportFailedForItem" | "missingContentType" | "invalidEnvironment" | "exitProgram" | "missingItem" | "findRequiredError" | "missingWorkflowStep" | "missingAsset" | "missingTaxonomyTerm" | "invalidValue" | "invalidMultipleChoiceOption";
4
+ export declare class MigrationToolkitError extends Error {
5
+ readonly type: MigrationToolkitErrorType;
6
+ readonly message: string;
7
+ constructor(type: MigrationToolkitErrorType, message: string);
8
+ }
9
+ export declare class MissingItemError extends MigrationToolkitError {
10
+ readonly id: string;
11
+ constructor(id: string);
12
+ }
13
+ export declare class MissingAssetError extends MigrationToolkitError {
14
+ readonly id: string;
15
+ constructor(id: string);
16
+ }
17
+ export declare class InvalidValueError extends MigrationToolkitError {
18
+ constructor({ element, value, contentType, errorData, exportItem, exportItemVersion, }: {
19
+ readonly exportItem: ExportItem;
20
+ readonly exportItemVersion: ExportItemVersion;
21
+ readonly element: FlattenedContentTypeElement;
22
+ readonly contentType: FlattenedContentType;
23
+ readonly value: unknown;
24
+ readonly errorData: ErrorData;
25
+ });
26
+ }
@@ -0,0 +1,104 @@
1
+ import chalk from "chalk";
2
+ import { match, P } from "ts-pattern";
3
+ const missingReferencesMessage = `You can skip missing references using the '${chalk.green("skipMissingReferences")}' option.`;
4
+ export class MigrationToolkitError extends Error {
5
+ type;
6
+ message;
7
+ constructor(type, message) {
8
+ super(message);
9
+ this.type = type;
10
+ this.message = message;
11
+ }
12
+ }
13
+ export class MissingItemError extends MigrationToolkitError {
14
+ id;
15
+ constructor(id) {
16
+ super("missingItem", `Missing item with id '${chalk.red(id)}'`);
17
+ this.id = id;
18
+ }
19
+ }
20
+ export class MissingAssetError extends MigrationToolkitError {
21
+ id;
22
+ constructor(id) {
23
+ super("missingAsset", `Missing asset with id '${chalk.red(id)}'`);
24
+ this.id = id;
25
+ }
26
+ }
27
+ export class InvalidValueError extends MigrationToolkitError {
28
+ constructor({ element, value, contentType, errorData, exportItem, exportItemVersion, }) {
29
+ const { missingReferenceId, isMissingReference } = match(errorData.error)
30
+ .returnType()
31
+ .when((m) => m instanceof MissingAssetError || m instanceof MissingItemError, (m) => {
32
+ return {
33
+ missingReferenceId: m.id,
34
+ isMissingReference: true,
35
+ };
36
+ })
37
+ .otherwise(() => {
38
+ return {
39
+ missingReferenceId: undefined,
40
+ isMissingReference: false,
41
+ };
42
+ });
43
+ const getValueToDisplay = () => {
44
+ let jsonValue;
45
+ try {
46
+ jsonValue = JSON.stringify(value, null, 2);
47
+ }
48
+ catch {
49
+ jsonValue = undefined;
50
+ }
51
+ const baseValue = match(jsonValue)
52
+ .returnType()
53
+ .with(P.string, (jsonValue) => jsonValue
54
+ .split("\n")
55
+ .map((line) => ` ${line}`)
56
+ .join("\n"))
57
+ .otherwise(() => value?.toString() ?? "");
58
+ // Highlight missing reference ID in red if present
59
+ return missingReferenceId ? baseValue.replaceAll(missingReferenceId, chalk.red(missingReferenceId)) : baseValue;
60
+ };
61
+ const lines = [
62
+ "",
63
+ chalk.red("❌ Invalid value error"),
64
+ "",
65
+ `${chalk.cyan("📝 Content type:")}`,
66
+ ` ${chalk.gray("├─")} Name: ${chalk.yellow.bold(contentType.name)}`,
67
+ ` ${chalk.gray("├─")} Codename: ${chalk.yellow.bold(contentType.contentTypeCodename)}`,
68
+ ` ${chalk.gray("└─")} ID: ${chalk.dim(contentType.contentTypeId)}`,
69
+ "",
70
+ `${chalk.cyan("🔧 Element:")}`,
71
+ ` ${chalk.gray("├─")} Name: ${chalk.yellow.bold(element.name)}`,
72
+ ` ${chalk.gray("├─")} Codename: ${chalk.yellow.bold(element.codename)}`,
73
+ ` ${chalk.gray("├─")} Type: ${chalk.green.bold(element.type)}`,
74
+ ` ${chalk.gray("└─")} ID: ${chalk.dim(element.id)}`,
75
+ "",
76
+ `${chalk.cyan("📦 Item:")}`,
77
+ ` ${chalk.gray("├─")} Item codename: ${chalk.yellow.bold(exportItem.requestItem.itemCodename)}`,
78
+ ` ${chalk.gray("├─")} Language codename: ${chalk.yellow.bold(exportItem.requestItem.languageCodename)}`,
79
+ ` ${chalk.gray("└─")} Version codename: ${chalk.yellow.bold(exportItemVersion.workflowStepCodename)}`,
80
+ "",
81
+ `${chalk.cyan("📦 Item version:")}`,
82
+ ` ${chalk.gray("├─")} Workflow step codename: ${chalk.yellow.bold(exportItemVersion.workflowStepCodename)}`,
83
+ ` ${chalk.gray("└─")} Language variant: ${chalk.yellow.bold(exportItemVersion.languageVariant.language.codename)}`,
84
+ "",
85
+ chalk.cyan("Invalid Value:"),
86
+ chalk.dim(getValueToDisplay()),
87
+ "",
88
+ ...match(errorData.message)
89
+ .returnType()
90
+ .with(P.string, (message) => [chalk.cyan("Error Details:"), chalk.gray(` ${message}`), ""])
91
+ .otherwise(() => []),
92
+ ...match(errorData.requestUrl)
93
+ .returnType()
94
+ .with(P.string, (requestUrl) => [chalk.cyan("Request URL:"), chalk.gray(` ${requestUrl}`), ""])
95
+ .otherwise(() => []),
96
+ ...match(isMissingReference)
97
+ .returnType()
98
+ .with(true, () => [chalk.cyan("💡 Tip:"), chalk.gray(` ${missingReferencesMessage}`), ""])
99
+ .otherwise(() => []),
100
+ ];
101
+ super("invalidValue", lines.join("\n"));
102
+ }
103
+ }
104
+ //# sourceMappingURL=error.models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.models.js","sourceRoot":"","sources":["../../../lib/core/models/error.models.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { MapiAction, MapiType, MigrationItemType } from '../index.js';
2
- export type DebugType = 'error' | 'completed' | 'warning' | 'info' | 'errorData' | 'cancel' | 'process' | 'readFs' | 'skip' | 'writeFs' | 'download' | MigrationItemType | MapiType | MapiAction;
1
+ import type { MapiAction, MapiType, MigrationItemType } from "./core.models.js";
2
+ export type DebugType = "error" | "completed" | "warning" | "info" | "errorData" | "cancel" | "process" | "readFs" | "skip" | "writeFs" | "download" | MigrationItemType | MapiType | MapiAction;
3
3
  export interface LogMessage {
4
4
  readonly type?: DebugType;
5
5
  readonly message: string;