@kontent-ai/migration-toolkit 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/dist/core/config.js.map +1 -0
  2. package/dist/{es2022/core → core}/helpers/workflow-helper.d.ts +5 -5
  3. package/dist/core/helpers/workflow-helper.js.map +1 -0
  4. package/dist/{es2022/core → core}/index.js +8 -8
  5. package/dist/core/index.js.map +1 -0
  6. package/dist/core/logs/loggers.d.ts +2 -0
  7. package/dist/core/logs/loggers.js.map +1 -0
  8. package/dist/{es2022/core → core}/models/core.models.d.ts +2 -2
  9. package/dist/core/models/core.models.js.map +1 -0
  10. package/dist/{es2022/core → core}/models/log.models.d.ts +1 -1
  11. package/dist/core/models/log.models.js.map +1 -0
  12. package/dist/{es2022/core → core}/models/migration.models.d.ts +2 -2
  13. package/dist/core/models/migration.models.js.map +1 -0
  14. package/dist/{es2022/core → core}/models/migration.schema.d.ts +79 -79
  15. package/dist/core/models/migration.schema.js.map +1 -0
  16. package/dist/{es2022/core → core}/utils/array.utils.d.ts +2 -2
  17. package/dist/{es2022/core → core}/utils/array.utils.js +4 -3
  18. package/dist/core/utils/array.utils.js.map +1 -0
  19. package/dist/{es2022/core → core}/utils/binary-data.utils.d.ts +1 -1
  20. package/dist/core/utils/binary-data.utils.js.map +1 -0
  21. package/dist/{es2022/core → core}/utils/confirm.utils.d.ts +1 -1
  22. package/dist/core/utils/confirm.utils.js.map +1 -0
  23. package/dist/{es2022/core → core}/utils/error.utils.d.ts +1 -1
  24. package/dist/{es2022/core → core}/utils/error.utils.js +1 -1
  25. package/dist/core/utils/error.utils.js.map +1 -0
  26. package/dist/core/utils/external-id.utils.js.map +1 -0
  27. package/dist/{es2022/core → core}/utils/global.utils.d.ts +5 -4
  28. package/dist/{es2022/core → core}/utils/global.utils.js +2 -3
  29. package/dist/core/utils/global.utils.js.map +1 -0
  30. package/dist/{es2022/core → core}/utils/http.utils.d.ts +2 -1
  31. package/dist/core/utils/http.utils.js.map +1 -0
  32. package/dist/{es2022/core → core}/utils/management-client-utils.d.ts +4 -4
  33. package/dist/core/utils/management-client-utils.js.map +1 -0
  34. package/dist/{es2022/core → core}/utils/processing-utils.d.ts +2 -2
  35. package/dist/core/utils/processing-utils.js.map +1 -0
  36. package/dist/{es2022/core → core}/utils/run.utils.d.ts +2 -2
  37. package/dist/core/utils/run.utils.js.map +1 -0
  38. package/dist/{es2022/export → export}/context/export-context-fetcher.d.ts +1 -1
  39. package/dist/export/context/export-context-fetcher.js.map +1 -0
  40. package/dist/export/export-manager.d.ts +5 -0
  41. package/dist/export/export-manager.js.map +1 -0
  42. package/dist/{es2022/export → export}/export.models.d.ts +2 -2
  43. package/dist/export/export.models.js.map +1 -0
  44. package/dist/{es2022/export → export}/index.js +1 -1
  45. package/dist/export/index.js.map +1 -0
  46. package/dist/{es2022/export → export}/utils/export.utils.d.ts +1 -1
  47. package/dist/export/utils/export.utils.js.map +1 -0
  48. package/dist/{es2022/file → file}/file-manager.d.ts +2 -2
  49. package/dist/file/file-manager.js.map +1 -0
  50. package/dist/file/index.js.map +1 -0
  51. package/dist/{es2022/import → import}/comparers/asset-comparer.d.ts +2 -2
  52. package/dist/import/comparers/asset-comparer.js.map +1 -0
  53. package/dist/{es2022/import → import}/context/import-context-fetcher.d.ts +1 -1
  54. package/dist/import/context/import-context-fetcher.js.map +1 -0
  55. package/dist/{es2022/import → import}/import-manager.d.ts +1 -1
  56. package/dist/{es2022/import → import}/import-manager.js +1 -1
  57. package/dist/import/import-manager.js.map +1 -0
  58. package/dist/{es2022/import → import}/import.models.d.ts +2 -2
  59. package/dist/import/import.models.js.map +1 -0
  60. package/dist/{es2022/import → import}/importers/assets-importer.d.ts +3 -3
  61. package/dist/import/importers/assets-importer.js.map +1 -0
  62. package/dist/{es2022/import → import}/importers/content-items-importer.d.ts +3 -3
  63. package/dist/{es2022/import → import}/importers/content-items-importer.js +10 -10
  64. package/dist/import/importers/content-items-importer.js.map +1 -0
  65. package/dist/{es2022/import → import}/importers/language-variant-importer.d.ts +3 -3
  66. package/dist/import/importers/language-variant-importer.js.map +1 -0
  67. package/dist/{es2022/import → import}/importers/workflow-importer.d.ts +2 -2
  68. package/dist/import/importers/workflow-importer.js.map +1 -0
  69. package/dist/{es2022/import → import}/index.js +1 -1
  70. package/dist/import/index.js.map +1 -0
  71. package/dist/{es2022/import → import}/utils/import.utils.d.ts +1 -1
  72. package/dist/import/utils/import.utils.js.map +1 -0
  73. package/dist/{es2022/index.d.ts → index.d.ts} +2 -3
  74. package/dist/{es2022/index.js → index.js} +2 -3
  75. package/dist/index.js.map +1 -0
  76. package/dist/metadata.js +6 -0
  77. package/dist/metadata.js.map +1 -0
  78. package/dist/{es2022/node → node}/cli/actions/export-action.d.ts +1 -1
  79. package/dist/node/cli/actions/export-action.js.map +1 -0
  80. package/dist/{es2022/node → node}/cli/actions/import-action.d.ts +1 -1
  81. package/dist/node/cli/actions/import-action.js.map +1 -0
  82. package/dist/{es2022/node → node}/cli/actions/migrate-action.d.ts +1 -1
  83. package/dist/{es2022/node → node}/cli/actions/migrate-action.js +1 -1
  84. package/dist/node/cli/actions/migrate-action.js.map +1 -0
  85. package/dist/{es2022/node → node}/cli/app.js +2 -2
  86. package/dist/node/cli/app.js.map +1 -0
  87. package/dist/{es2022/node → node}/cli/args/args-fetcher.d.ts +1 -1
  88. package/dist/{es2022/node → node}/cli/args/args-fetcher.js +2 -2
  89. package/dist/node/cli/args/args-fetcher.js.map +1 -0
  90. package/dist/{es2022/node → node}/cli/args/args-setter.d.ts +1 -1
  91. package/dist/node/cli/args/args-setter.js.map +1 -0
  92. package/dist/{es2022/node → node}/cli/cli.models.d.ts +1 -1
  93. package/dist/node/cli/cli.models.js.map +1 -0
  94. package/dist/{es2022/node → node}/cli/commands.js +1 -3
  95. package/dist/node/cli/commands.js.map +1 -0
  96. package/dist/{es2022/toolkit → toolkit}/elements-builder.d.ts +1 -1
  97. package/dist/toolkit/elements-builder.js.map +1 -0
  98. package/dist/toolkit/export.d.ts +3 -0
  99. package/dist/toolkit/export.js.map +1 -0
  100. package/dist/{es2022/toolkit → toolkit}/file.d.ts +1 -1
  101. package/dist/toolkit/file.js.map +1 -0
  102. package/dist/{es2022/toolkit → toolkit}/import.d.ts +1 -1
  103. package/dist/toolkit/import.js.map +1 -0
  104. package/dist/{es2022/toolkit → toolkit}/index.js +2 -2
  105. package/dist/toolkit/index.js.map +1 -0
  106. package/dist/{es2022/toolkit → toolkit}/migrate.d.ts +4 -4
  107. package/dist/toolkit/migrate.js.map +1 -0
  108. package/dist/{es2022/translation → translation}/extraction/items-extraction.processor.d.ts +4 -4
  109. package/dist/{es2022/translation → translation}/extraction/items-extraction.processor.js +8 -8
  110. package/dist/translation/extraction/items-extraction.processor.js.map +1 -0
  111. package/dist/{es2022/translation → translation}/helpers/rich-text.processor.d.ts +3 -3
  112. package/dist/{es2022/translation → translation}/helpers/rich-text.processor.js +20 -68
  113. package/dist/translation/helpers/rich-text.processor.js.map +1 -0
  114. package/dist/{es2022/translation → translation}/index.js +1 -1
  115. package/dist/translation/index.js.map +1 -0
  116. package/dist/translation/transforms/export-transforms.d.ts +3 -0
  117. package/dist/{es2022/translation → translation}/transforms/export-transforms.js +13 -13
  118. package/dist/translation/transforms/export-transforms.js.map +1 -0
  119. package/dist/{es2022/translation → translation}/transforms/import-transforms.d.ts +2 -2
  120. package/dist/{es2022/translation → translation}/transforms/import-transforms.js +6 -6
  121. package/dist/translation/transforms/import-transforms.js.map +1 -0
  122. package/dist/{es2022/zip → zip}/index.js +1 -1
  123. package/dist/zip/index.js.map +1 -0
  124. package/dist/{es2022/zip → zip}/zip-manager.d.ts +3 -3
  125. package/dist/zip/zip-manager.js.map +1 -0
  126. package/dist/zip/zip-packager.d.ts +3 -0
  127. package/dist/zip/zip-packager.js.map +1 -0
  128. package/dist/{es2022/zip → zip}/zip-transformer.d.ts +2 -2
  129. package/dist/zip/zip-transformer.js.map +1 -0
  130. package/dist/{es2022/zip → zip}/zip.models.d.ts +2 -2
  131. package/dist/{es2022/zip → zip}/zip.models.js.map +1 -1
  132. package/lib/core/helpers/workflow-helper.ts +6 -6
  133. package/lib/core/index.ts +8 -8
  134. package/lib/core/logs/loggers.ts +3 -2
  135. package/lib/core/models/core.models.ts +8 -2
  136. package/lib/core/models/log.models.ts +1 -1
  137. package/lib/core/models/migration.models.ts +2 -2
  138. package/lib/core/utils/array.utils.ts +6 -5
  139. package/lib/core/utils/binary-data.utils.ts +1 -1
  140. package/lib/core/utils/confirm.utils.ts +1 -1
  141. package/lib/core/utils/error.utils.ts +2 -2
  142. package/lib/core/utils/global.utils.ts +7 -7
  143. package/lib/core/utils/http.utils.ts +3 -2
  144. package/lib/core/utils/management-client-utils.ts +6 -6
  145. package/lib/core/utils/processing-utils.ts +3 -3
  146. package/lib/core/utils/run.utils.ts +2 -2
  147. package/lib/export/context/export-context-fetcher.ts +8 -6
  148. package/lib/export/export-manager.ts +14 -12
  149. package/lib/export/export.models.ts +2 -2
  150. package/lib/export/index.ts +1 -1
  151. package/lib/export/utils/export.utils.ts +1 -1
  152. package/lib/file/file-manager.ts +2 -2
  153. package/lib/import/comparers/asset-comparer.ts +3 -2
  154. package/lib/import/context/import-context-fetcher.ts +8 -5
  155. package/lib/import/import-manager.ts +6 -5
  156. package/lib/import/import.models.ts +2 -2
  157. package/lib/import/importers/assets-importer.ts +4 -13
  158. package/lib/import/importers/content-items-importer.ts +15 -19
  159. package/lib/import/importers/language-variant-importer.ts +5 -9
  160. package/lib/import/importers/workflow-importer.ts +4 -11
  161. package/lib/import/index.ts +1 -1
  162. package/lib/import/utils/import.utils.ts +1 -1
  163. package/lib/index.ts +2 -3
  164. package/lib/metadata.ts +2 -2
  165. package/lib/node/cli/actions/export-action.ts +1 -1
  166. package/lib/node/cli/actions/import-action.ts +1 -1
  167. package/lib/node/cli/actions/migrate-action.ts +3 -3
  168. package/lib/node/cli/app.ts +2 -2
  169. package/lib/node/cli/args/args-fetcher.ts +5 -4
  170. package/lib/node/cli/args/args-setter.ts +1 -1
  171. package/lib/node/cli/cli.models.ts +1 -1
  172. package/lib/node/cli/commands.ts +2 -5
  173. package/lib/toolkit/elements-builder.ts +7 -19
  174. package/lib/toolkit/export.ts +4 -2
  175. package/lib/toolkit/file.ts +2 -1
  176. package/lib/toolkit/import.ts +2 -1
  177. package/lib/toolkit/index.ts +2 -2
  178. package/lib/toolkit/migrate.ts +5 -11
  179. package/lib/translation/extraction/items-extraction.processor.ts +12 -12
  180. package/lib/translation/helpers/rich-text.processor.ts +24 -80
  181. package/lib/translation/index.ts +1 -1
  182. package/lib/translation/transforms/export-transforms.ts +17 -16
  183. package/lib/translation/transforms/import-transforms.ts +10 -8
  184. package/lib/zip/index.ts +1 -1
  185. package/lib/zip/zip-manager.ts +4 -3
  186. package/lib/zip/zip-packager.ts +4 -3
  187. package/lib/zip/zip-transformer.ts +4 -13
  188. package/lib/zip/zip.models.ts +2 -2
  189. package/package.json +23 -27
  190. package/dist/es2022/core/config.js.map +0 -1
  191. package/dist/es2022/core/helpers/workflow-helper.js.map +0 -1
  192. package/dist/es2022/core/index.js.map +0 -1
  193. package/dist/es2022/core/logs/loggers.d.ts +0 -2
  194. package/dist/es2022/core/logs/loggers.js.map +0 -1
  195. package/dist/es2022/core/models/core.models.js.map +0 -1
  196. package/dist/es2022/core/models/log.models.js.map +0 -1
  197. package/dist/es2022/core/models/migration.models.js.map +0 -1
  198. package/dist/es2022/core/models/migration.schema.js.map +0 -1
  199. package/dist/es2022/core/utils/array.utils.js.map +0 -1
  200. package/dist/es2022/core/utils/binary-data.utils.js.map +0 -1
  201. package/dist/es2022/core/utils/confirm.utils.js.map +0 -1
  202. package/dist/es2022/core/utils/error.utils.js.map +0 -1
  203. package/dist/es2022/core/utils/external-id.utils.js.map +0 -1
  204. package/dist/es2022/core/utils/global.utils.js.map +0 -1
  205. package/dist/es2022/core/utils/http.utils.js.map +0 -1
  206. package/dist/es2022/core/utils/management-client-utils.js.map +0 -1
  207. package/dist/es2022/core/utils/processing-utils.js.map +0 -1
  208. package/dist/es2022/core/utils/run.utils.js.map +0 -1
  209. package/dist/es2022/export/context/export-context-fetcher.js.map +0 -1
  210. package/dist/es2022/export/export-manager.d.ts +0 -5
  211. package/dist/es2022/export/export-manager.js.map +0 -1
  212. package/dist/es2022/export/export.models.js.map +0 -1
  213. package/dist/es2022/export/index.js.map +0 -1
  214. package/dist/es2022/export/utils/export.utils.js.map +0 -1
  215. package/dist/es2022/file/file-manager.js.map +0 -1
  216. package/dist/es2022/file/index.js.map +0 -1
  217. package/dist/es2022/import/comparers/asset-comparer.js.map +0 -1
  218. package/dist/es2022/import/context/import-context-fetcher.js.map +0 -1
  219. package/dist/es2022/import/import-manager.js.map +0 -1
  220. package/dist/es2022/import/import.models.js.map +0 -1
  221. package/dist/es2022/import/importers/assets-importer.js.map +0 -1
  222. package/dist/es2022/import/importers/content-items-importer.js.map +0 -1
  223. package/dist/es2022/import/importers/language-variant-importer.js.map +0 -1
  224. package/dist/es2022/import/importers/workflow-importer.js.map +0 -1
  225. package/dist/es2022/import/index.js.map +0 -1
  226. package/dist/es2022/import/utils/import.utils.js.map +0 -1
  227. package/dist/es2022/index.js.map +0 -1
  228. package/dist/es2022/metadata.js +0 -6
  229. package/dist/es2022/metadata.js.map +0 -1
  230. package/dist/es2022/node/cli/actions/export-action.js.map +0 -1
  231. package/dist/es2022/node/cli/actions/import-action.js.map +0 -1
  232. package/dist/es2022/node/cli/actions/migrate-action.js.map +0 -1
  233. package/dist/es2022/node/cli/app.js.map +0 -1
  234. package/dist/es2022/node/cli/args/args-fetcher.js.map +0 -1
  235. package/dist/es2022/node/cli/args/args-setter.js.map +0 -1
  236. package/dist/es2022/node/cli/cli.models.js.map +0 -1
  237. package/dist/es2022/node/cli/commands.js.map +0 -1
  238. package/dist/es2022/toolkit/elements-builder.js.map +0 -1
  239. package/dist/es2022/toolkit/export.d.ts +0 -3
  240. package/dist/es2022/toolkit/export.js.map +0 -1
  241. package/dist/es2022/toolkit/file.js.map +0 -1
  242. package/dist/es2022/toolkit/import.js.map +0 -1
  243. package/dist/es2022/toolkit/index.js.map +0 -1
  244. package/dist/es2022/toolkit/migrate.js.map +0 -1
  245. package/dist/es2022/translation/extraction/items-extraction.processor.js.map +0 -1
  246. package/dist/es2022/translation/helpers/rich-text.processor.js.map +0 -1
  247. package/dist/es2022/translation/index.js.map +0 -1
  248. package/dist/es2022/translation/transforms/export-transforms.d.ts +0 -3
  249. package/dist/es2022/translation/transforms/export-transforms.js.map +0 -1
  250. package/dist/es2022/translation/transforms/import-transforms.js.map +0 -1
  251. package/dist/es2022/zip/index.js.map +0 -1
  252. package/dist/es2022/zip/zip-manager.js.map +0 -1
  253. package/dist/es2022/zip/zip-packager.d.ts +0 -3
  254. package/dist/es2022/zip/zip-packager.js.map +0 -1
  255. package/dist/es2022/zip/zip-transformer.js.map +0 -1
  256. package/dist/{es2022/core → core}/config.d.ts +0 -0
  257. package/dist/{es2022/core → core}/config.js +0 -0
  258. package/dist/{es2022/core → core}/helpers/workflow-helper.js +0 -0
  259. package/dist/{es2022/core → core}/index.d.ts +8 -8
  260. package/dist/{es2022/core → core}/logs/loggers.js +0 -0
  261. package/dist/{es2022/core → core}/models/core.models.js +0 -0
  262. package/dist/{es2022/core → core}/models/log.models.js +0 -0
  263. package/dist/{es2022/core → core}/models/migration.models.js +0 -0
  264. package/dist/{es2022/core → core}/models/migration.schema.js +0 -0
  265. package/dist/{es2022/core → core}/utils/binary-data.utils.js +0 -0
  266. package/dist/{es2022/core → core}/utils/confirm.utils.js +0 -0
  267. package/dist/{es2022/core → core}/utils/external-id.utils.d.ts +0 -0
  268. package/dist/{es2022/core → core}/utils/external-id.utils.js +0 -0
  269. package/dist/{es2022/core → core}/utils/http.utils.js +0 -0
  270. package/dist/{es2022/core → core}/utils/management-client-utils.js +0 -0
  271. package/dist/{es2022/core → core}/utils/processing-utils.js +0 -0
  272. package/dist/{es2022/core → core}/utils/run.utils.js +0 -0
  273. package/dist/{es2022/export → export}/context/export-context-fetcher.js +0 -0
  274. package/dist/{es2022/export → export}/export-manager.js +0 -0
  275. package/dist/{es2022/export → export}/export.models.js +0 -0
  276. package/dist/{es2022/export → export}/index.d.ts +1 -1
  277. package/dist/{es2022/export → export}/utils/export.utils.js +0 -0
  278. package/dist/{es2022/file → file}/file-manager.js +0 -0
  279. package/dist/{es2022/file → file}/index.d.ts +0 -0
  280. package/dist/{es2022/file → file}/index.js +0 -0
  281. package/dist/{es2022/import → import}/comparers/asset-comparer.js +0 -0
  282. package/dist/{es2022/import → import}/context/import-context-fetcher.js +0 -0
  283. package/dist/{es2022/import → import}/import.models.js +0 -0
  284. package/dist/{es2022/import → import}/importers/assets-importer.js +0 -0
  285. package/dist/{es2022/import → import}/importers/language-variant-importer.js +0 -0
  286. package/dist/{es2022/import → import}/importers/workflow-importer.js +0 -0
  287. package/dist/{es2022/import → import}/index.d.ts +1 -1
  288. package/dist/{es2022/import → import}/utils/import.utils.js +0 -0
  289. package/dist/{es2022/metadata.d.ts → metadata.d.ts} +0 -0
  290. package/dist/{es2022/node → node}/cli/actions/export-action.js +0 -0
  291. package/dist/{es2022/node → node}/cli/actions/import-action.js +0 -0
  292. package/dist/{es2022/node → node}/cli/app.d.ts +0 -0
  293. package/dist/{es2022/node → node}/cli/args/args-setter.js +0 -0
  294. package/dist/{es2022/node → node}/cli/cli.models.js +0 -0
  295. package/dist/{es2022/node → node}/cli/commands.d.ts +0 -0
  296. package/dist/{es2022/toolkit → toolkit}/elements-builder.js +0 -0
  297. package/dist/{es2022/toolkit → toolkit}/export.js +0 -0
  298. package/dist/{es2022/toolkit → toolkit}/file.js +0 -0
  299. package/dist/{es2022/toolkit → toolkit}/import.js +0 -0
  300. package/dist/{es2022/toolkit → toolkit}/index.d.ts +2 -2
  301. package/dist/{es2022/toolkit → toolkit}/migrate.js +0 -0
  302. package/dist/{es2022/translation → translation}/index.d.ts +1 -1
  303. package/dist/{es2022/zip → zip}/index.d.ts +1 -1
  304. /package/dist/{es2022/zip → zip}/zip-manager.js +0 -0
  305. /package/dist/{es2022/zip → zip}/zip-packager.js +0 -0
  306. /package/dist/{es2022/zip → zip}/zip-transformer.js +0 -0
  307. /package/dist/{es2022/zip → zip}/zip.models.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { SourceExportItem } from '../export.models.js';
2
+ import type { SourceExportItem } from '../export.models.js';
3
3
 
4
4
  export function throwErrorForItemRequest(itemRequest: SourceExportItem, message: string): never {
5
5
  throw Error(
@@ -1,7 +1,7 @@
1
- import { Buffer as BufferProxy } from 'buffer';
1
+ import type { Buffer as BufferProxy } from 'buffer';
2
2
  import chalk from 'chalk';
3
3
  import { promises } from 'fs';
4
- import { Logger } from '../core/index.js';
4
+ import type { Logger } from '../core/index.js';
5
5
 
6
6
  export function fileManager(logger: Logger) {
7
7
  const getFilePath = (filename: string): string => {
@@ -1,6 +1,7 @@
1
- import { AssetFolderModels, AssetModels, CollectionModels, LanguageModels } from '@kontent-ai/management-sdk';
1
+ import type { AssetFolderModels, AssetModels, CollectionModels, LanguageModels } from '@kontent-ai/management-sdk';
2
2
  import deepEqual from 'deep-equal';
3
- import { MigrationAsset, MigrationAssetDescription, findRequired, geSizeInBytes } from '../../core/index.js';
3
+ import type { MigrationAsset, MigrationAssetDescription } from '../../core/index.js';
4
+ import { findRequired, geSizeInBytes } from '../../core/index.js';
4
5
 
5
6
  export function shouldUpdateAsset(data: {
6
7
  readonly migrationAsset: MigrationAsset;
@@ -1,7 +1,7 @@
1
- import { AssetModels, ContentItemModels, LanguageVariantModels } from '@kontent-ai/management-sdk';
1
+ import type { AssetModels, ContentItemModels, LanguageVariantModels } from '@kontent-ai/management-sdk';
2
2
  import chalk from 'chalk';
3
3
  import { match } from 'ts-pattern';
4
- import {
4
+ import type {
5
5
  AssetStateInTargetEnvironmentByCodename,
6
6
  ItemStateInTargetEnvironmentByCodename,
7
7
  LanguageVariantSchedulesStateValues,
@@ -11,7 +11,9 @@ import {
11
11
  LanguageVariantWorkflowStateValues,
12
12
  LogSpinnerData,
13
13
  MigrationItem,
14
- WorkflowStep,
14
+ WorkflowStep
15
+ } from '../../core/index.js';
16
+ import {
15
17
  findRequired,
16
18
  is404Error,
17
19
  managementClientUtils,
@@ -19,8 +21,9 @@ import {
19
21
  runMapiRequestAsync,
20
22
  workflowHelper as workflowHelperInit
21
23
  } from '../../core/index.js';
22
- import { ExtractItemByCodename, itemsExtractionProcessor } from '../../translation/index.js';
23
- import { GetFlattenedElementByCodenames, ImportContext, ImportContextConfig, ImportContextEnvironmentData } from '../import.models.js';
24
+ import type { ExtractItemByCodename } from '../../translation/index.js';
25
+ import { itemsExtractionProcessor } from '../../translation/index.js';
26
+ import type { GetFlattenedElementByCodenames, ImportContext, ImportContextConfig, ImportContextEnvironmentData } from '../import.models.js';
24
27
 
25
28
  interface LanguageVariantWrapper {
26
29
  readonly draftLanguageVariant: Readonly<LanguageVariantModels.ContentItemLanguageVariant> | undefined;
@@ -1,8 +1,9 @@
1
- import { ManagementClient } from '@kontent-ai/management-sdk';
1
+ import type { ManagementClient } from '@kontent-ai/management-sdk';
2
2
  import chalk from 'chalk';
3
- import { defaultExternalIdGenerator, extractErrorData, getDefaultLogger, getMigrationManagementClient, Logger } from '../core/index.js';
3
+ import type { Logger } from '../core/index.js';
4
+ import { defaultExternalIdGenerator, extractErrorData, getDefaultLogger, getMigrationManagementClient } from '../core/index.js';
4
5
  import { importContextFetcherAsync } from './context/import-context-fetcher.js';
5
- import { ImportConfig, ImportContext, ImportedItem, ImportedLanguageVariant, ImportResult } from './import.models.js';
6
+ import type { ImportConfig, ImportContext, ImportedItem, ImportedLanguageVariant, ImportResult } from './import.models.js';
6
7
  import { assetsImporter } from './importers/assets-importer.js';
7
8
  import { contentItemsImporter } from './importers/content-items-importer.js';
8
9
  import { languageVariantImporter } from './importers/language-variant-importer.js';
@@ -167,7 +168,7 @@ export function importManager(config: ImportConfig) {
167
168
  codename: m.inputItem.system.codename,
168
169
  language: m.inputItem.system.language,
169
170
  type: m.inputItem.system.type,
170
- error: extractErrorData(m.state === 'error').message
171
+ error: extractErrorData(m.error).message
171
172
  };
172
173
  })
173
174
  }
@@ -175,7 +176,7 @@ export function importManager(config: ImportConfig) {
175
176
  };
176
177
 
177
178
  const printReportToConsole = (reportResult: ReportResult, logger: Logger): void => {
178
- const errors = [
179
+ const errors: readonly string[][] = [
179
180
  ...reportResult.assets.failed.map((m) => [
180
181
  `Object type: ${chalk.yellow('Asset')}`,
181
182
  `Codename: ${chalk.yellow(m.codename)}`,
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  AssetFolderModels,
3
3
  AssetModels,
4
4
  CollectionModels,
@@ -9,7 +9,7 @@ import {
9
9
  ManagementClient,
10
10
  WorkflowModels
11
11
  } from '@kontent-ai/management-sdk';
12
- import {
12
+ import type {
13
13
  AssetStateInTargetEnvironmentByCodename,
14
14
  ExternalIdGenerator,
15
15
  FlattenedContentType,
@@ -1,19 +1,10 @@
1
- import { AssetModels, LanguageModels, ManagementClient, SharedContracts } from '@kontent-ai/management-sdk';
1
+ import type { AssetModels, LanguageModels, ManagementClient, SharedContracts } from '@kontent-ai/management-sdk';
2
2
  import chalk from 'chalk';
3
3
  import mime from 'mime';
4
- import {
5
- geSizeInBytes,
6
- isNotUndefined,
7
- Logger,
8
- LogSpinnerData,
9
- MigrationAsset,
10
- MigrationAssetDescription,
11
- MigrationReference,
12
- processItemsAsync,
13
- runMapiRequestAsync
14
- } from '../../core/index.js';
4
+ import type { Logger, LogSpinnerData, MigrationAsset, MigrationAssetDescription, MigrationReference } from '../../core/index.js';
5
+ import { geSizeInBytes, isNotUndefined, processItemsAsync, runMapiRequestAsync } from '../../core/index.js';
15
6
  import { shouldReplaceBinaryFile, shouldUpdateAsset } from '../comparers/asset-comparer.js';
16
- import { AssetToEdit, EditedAsset, ImportContext, ImportedAsset, ImportResult } from '../import.models.js';
7
+ import type { AssetToEdit, EditedAsset, ImportContext, ImportedAsset, ImportResult } from '../import.models.js';
17
8
 
18
9
  export function assetsImporter(data: {
19
10
  readonly logger: Logger;
@@ -1,33 +1,29 @@
1
- import { ContentItemModels, ManagementClient } from '@kontent-ai/management-sdk';
1
+ import type { ContentItemModels, ManagementClient } from '@kontent-ai/management-sdk';
2
2
  import chalk from 'chalk';
3
- import { LogSpinnerData, Logger, MigrationItem, findRequired, processItemsAsync, runMapiRequestAsync } from '../../core/index.js';
4
- import { ImportContext, ImportedItem } from '../import.models.js';
3
+ import type { LogSpinnerData, Logger, MigrationItem } from '../../core/index.js';
4
+ import { findRequired, processItemsAsync, runMapiRequestAsync } from '../../core/index.js';
5
+ import type { ImportContext, ImportedItem } from '../import.models.js';
5
6
 
6
7
  export function contentItemsImporter(data: {
7
8
  readonly logger: Logger;
8
9
  readonly client: Readonly<ManagementClient>;
9
10
  readonly importContext: ImportContext;
10
11
  }) {
11
- const shouldUpdateContentItem = (
12
- migrationContentItem: MigrationItem,
13
- contentItem: Readonly<ContentItemModels.ContentItem>
14
- ): boolean => {
12
+ const shouldUpdateContentItem = (migrationItem: MigrationItem, contentItem: Readonly<ContentItemModels.ContentItem>): boolean => {
15
13
  const collection = findRequired(
16
14
  data.importContext.environmentData.collections,
17
- (collection) => collection.codename === migrationContentItem.system.collection.codename,
18
- `Invalid collection '${migrationContentItem.system.collection.codename}'`
15
+ (collection) => collection.id === contentItem.collection.id,
16
+ `Invalid collection with id '${contentItem.collection.id}' for content item '${contentItem.codename}'`
19
17
  );
20
18
 
21
- return (
22
- migrationContentItem.system.name !== contentItem.name || migrationContentItem.system.collection.codename !== collection.codename
23
- );
19
+ return migrationItem.system.name !== contentItem.name || migrationItem.system.collection.codename !== collection.codename;
24
20
  };
25
21
 
26
22
  const prepareContentItemAsync = async (
27
23
  logSpinner: LogSpinnerData,
28
- migrationContentItem: MigrationItem
24
+ migrationItem: MigrationItem
29
25
  ): Promise<{ contentItem: Readonly<ContentItemModels.ContentItem>; status: 'created' | 'itemAlreadyExists' }> => {
30
- const itemStateInTargetEnv = data.importContext.getItemStateInTargetEnvironment(migrationContentItem.system.codename);
26
+ const itemStateInTargetEnv = data.importContext.getItemStateInTargetEnvironment(migrationItem.system.codename);
31
27
 
32
28
  if (itemStateInTargetEnv.state === 'exists' && itemStateInTargetEnv.item) {
33
29
  return {
@@ -43,14 +39,14 @@ export function contentItemsImporter(data: {
43
39
  await data.client
44
40
  .addContentItem()
45
41
  .withData({
46
- name: migrationContentItem.system.name,
42
+ name: migrationItem.system.name,
47
43
  type: {
48
- codename: migrationContentItem.system.type.codename
44
+ codename: migrationItem.system.type.codename
49
45
  },
50
46
  external_id: itemStateInTargetEnv.externalIdToUse,
51
- codename: migrationContentItem.system.codename,
47
+ codename: migrationItem.system.codename,
52
48
  collection: {
53
- codename: migrationContentItem.system.collection.codename
49
+ codename: migrationItem.system.collection.codename
54
50
  }
55
51
  })
56
52
  .toPromise()
@@ -58,7 +54,7 @@ export function contentItemsImporter(data: {
58
54
  action: 'create',
59
55
  type: 'contentItem',
60
56
  logSpinner: logSpinner,
61
- itemName: `${migrationContentItem.system.codename} (${migrationContentItem.system.language.codename})`
57
+ itemName: `${migrationItem.system.codename} (${migrationItem.system.language.codename})`
62
58
  });
63
59
 
64
60
  return {
@@ -1,22 +1,18 @@
1
- import { ElementContracts, LanguageVariantModels, ManagementClient, WorkflowModels } from '@kontent-ai/management-sdk';
1
+ import type { ElementContracts, LanguageVariantModels, ManagementClient, WorkflowModels } from '@kontent-ai/management-sdk';
2
2
  import chalk from 'chalk';
3
3
  import { match } from 'ts-pattern';
4
- import {
5
- findRequired,
6
- isNotUndefined,
4
+ import type {
7
5
  LanguageVariantSchedulesStateValues,
8
6
  LanguageVariantStateInTargetEnvironmentByCodename,
9
7
  Logger,
10
8
  LogSpinnerData,
11
9
  MigrationElement,
12
10
  MigrationItem,
13
- MigrationItemVersion,
14
- processItemsAsync,
15
- runMapiRequestAsync,
16
- workflowHelper
11
+ MigrationItemVersion
17
12
  } from '../../core/index.js';
13
+ import { findRequired, isNotUndefined, processItemsAsync, runMapiRequestAsync, workflowHelper } from '../../core/index.js';
18
14
  import { importTransforms } from '../../translation/index.js';
19
- import { ImportContext, ImportedItem, ImportedLanguageVariant } from '../import.models.js';
15
+ import type { ImportContext, ImportedItem, ImportedLanguageVariant } from '../import.models.js';
20
16
  import { throwErrorForMigrationItem } from '../utils/import.utils.js';
21
17
  import { workflowImporter as workflowImporterInit } from './workflow-importer.js';
22
18
 
@@ -1,15 +1,8 @@
1
- import { LanguageVariantModels, ManagementClient, SharedModels, WorkflowModels } from '@kontent-ai/management-sdk';
1
+ import type { LanguageVariantModels, ManagementClient, WorkflowModels } from '@kontent-ai/management-sdk';
2
+ import { SharedModels } from '@kontent-ai/management-sdk';
2
3
  import { match } from 'ts-pattern';
3
- import {
4
- Logger,
5
- LogSpinnerData,
6
- MigrationItem,
7
- MigrationItemVersion,
8
- runMapiRequestAsync,
9
- ShortestPathResult,
10
- workflowHelper as workflowHelperInit,
11
- WorkflowStep
12
- } from '../../core/index.js';
4
+ import type { Logger, LogSpinnerData, MigrationItem, MigrationItemVersion, ShortestPathResult, WorkflowStep } from '../../core/index.js';
5
+ import { runMapiRequestAsync, workflowHelper as workflowHelperInit } from '../../core/index.js';
13
6
 
14
7
  export function workflowImporter(config: {
15
8
  readonly logger: Logger;
@@ -1,2 +1,2 @@
1
- export * from './import.models.js';
2
1
  export * from './import-manager.js';
2
+ export * from './import.models.js';
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { MigrationItem } from 'lib/core/index.js';
2
+ import type { MigrationItem } from '../../core/index.js';
3
3
 
4
4
  export function throwErrorForMigrationItem(migrationItem: MigrationItem, message: string): never {
5
5
  throw Error(
package/lib/index.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  // Public API
2
2
  export * from './core/index.js';
3
3
  export * from './export/index.js';
4
- export * from './import/index.js';
5
4
  export * from './file/index.js';
6
- export * from './zip/index.js';
5
+ export * from './import/index.js';
7
6
  export * from './toolkit/index.js';
8
- export * from './file/index.js';
9
7
  export * from './translation/index.js';
8
+ export * from './zip/index.js';
package/lib/metadata.ts CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  export const libMetadata = {
3
3
  name: '@kontent-ai/migration-toolkit',
4
- timestamp: 'Thu, 12 Dec 2024 13:23:40 GMT',
5
- version: '2.3.0'
4
+ timestamp: 'Tue, 11 Mar 2025 11:12:11 GMT',
5
+ version: '2.5.0'
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import { confirmExportAsync, defaultZipFilename, getDefaultLogger } from '../../../core/index.js';
2
2
  import { exportAsync, storeAsync } from '../../../toolkit/index.js';
3
- import { CliArgumentsFetcher } from '../cli.models.js';
3
+ import type { CliArgumentsFetcher } from '../cli.models.js';
4
4
 
5
5
  export async function exportActionAsync(cliFetcher: CliArgumentsFetcher): Promise<void> {
6
6
  const logger = getDefaultLogger();
@@ -1,6 +1,6 @@
1
1
  import { confirmImportAsync, defaultZipFilename, getDefaultLogger } from '../../../core/index.js';
2
2
  import { extractAsync, importAsync } from '../../../toolkit/index.js';
3
- import { CliArgumentsFetcher } from '../cli.models.js';
3
+ import type { CliArgumentsFetcher } from '../cli.models.js';
4
4
 
5
5
  export async function importActionAsync(argsFetcher: CliArgumentsFetcher): Promise<void> {
6
6
  const log = getDefaultLogger();
@@ -1,7 +1,7 @@
1
- import { migrateAsync } from '../../../toolkit/index.js';
2
1
  import { confirmMigrateAsync, getDefaultLogger } from '../../../core/index.js';
3
- import { SourceExportItem } from '../../../export/index.js';
4
- import { CliArgumentsFetcher } from '../cli.models.js';
2
+ import type { SourceExportItem } from '../../../export/index.js';
3
+ import { migrateAsync } from '../../../toolkit/index.js';
4
+ import type { CliArgumentsFetcher } from '../cli.models.js';
5
5
 
6
6
  export async function migrateActionAsync(argsFetcher: CliArgumentsFetcher): Promise<void> {
7
7
  const log = getDefaultLogger();
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import chalk from 'chalk';
3
3
 
4
- import { handleError, exitProgram } from '../../core/index.js';
4
+ import { match } from 'ts-pattern';
5
+ import { exitProgram, handleError } from '../../core/index.js';
5
6
  import { exportActionAsync } from './actions/export-action.js';
6
7
  import { importActionAsync } from './actions/import-action.js';
7
8
  import { migrateActionAsync } from './actions/migrate-action.js';
8
9
  import { argumentsFetcherAsync } from './args/args-fetcher.js';
9
10
  import { cliArgs } from './commands.js';
10
- import { match } from 'ts-pattern';
11
11
 
12
12
  // Need to register --help commands
13
13
  cliArgs.registerCommands();
@@ -1,9 +1,10 @@
1
- import yargs from 'yargs';
2
- import { hideBin } from 'yargs/helpers';
3
1
  import chalk from 'chalk';
4
- import { CliAction, exitProgram, LiteralUnion } from '../../../core/index.js';
5
- import { CliArgumentsFetcher } from '../cli.models.js';
6
2
  import { match } from 'ts-pattern';
3
+ import yargs from 'yargs';
4
+ import { hideBin } from 'yargs/helpers';
5
+ import type { CliAction, LiteralUnion } from '../../../core/index.js';
6
+ import { exitProgram } from '../../../core/index.js';
7
+ import type { CliArgumentsFetcher } from '../cli.models.js';
7
8
 
8
9
  type ArgvResult = {
9
10
  [x: string]: unknown;
@@ -1,6 +1,6 @@
1
1
  import yargs from 'yargs';
2
2
  import { hideBin } from 'yargs/helpers';
3
- import { CliArgumentsSetter, Command, CommandOption } from '../cli.models.js';
3
+ import type { CliArgumentsSetter, Command, CommandOption } from '../cli.models.js';
4
4
 
5
5
  export function argumentsSetter(): CliArgumentsSetter {
6
6
  const argv = yargs(hideBin(process.argv));
@@ -1,4 +1,4 @@
1
- import { CliAction } from '../../core/index.js';
1
+ import type { CliAction } from '../../core/index.js';
2
2
 
3
3
  export interface Command {
4
4
  readonly name: string;
@@ -4,9 +4,7 @@ export const cliArgs = argumentsSetter()
4
4
  .withCommand({
5
5
  name: 'export',
6
6
  description: 'Exports content (items & assets) from Kontent.ai environment',
7
- examples: [
8
- `kontent-ai-migration-toolkit export --sourceEnvironmentId=x --sourceApiKey=x --language=default --items=itemA,itemB`
9
- ],
7
+ examples: [`kontent-ai-migration-toolkit export --sourceEnvironmentId=x --sourceApiKey=x --language=default --items=itemA,itemB`],
10
8
  options: [
11
9
  {
12
10
  name: `sourceApiKey`,
@@ -95,8 +93,7 @@ export const cliArgs = argumentsSetter()
95
93
 
96
94
  .withCommand({
97
95
  name: 'migrate',
98
- description:
99
- 'Migrates content (items & assets) from one Kontent.ai environment into another Kontent.ai environment',
96
+ description: 'Migrates content (items & assets) from one Kontent.ai environment into another Kontent.ai environment',
100
97
  examples: [
101
98
  `kontent-ai-migration-toolkit migrate --targetEnvironmentId=x --targetApiKey=x --sourceEnvironmentId=x --sourceApiKey=x --language=default --items=itemA,itemB`
102
99
  ],
@@ -1,4 +1,4 @@
1
- import { MigrationElementModels } from '../core/index.js';
1
+ import type { MigrationElementModels } from '../core/index.js';
2
2
 
3
3
  export const elementsBuilder = {
4
4
  textElement: (data: Omit<MigrationElementModels.TextElement, 'type'>): MigrationElementModels.TextElement => {
@@ -19,17 +19,13 @@ export const elementsBuilder = {
19
19
  type: 'custom'
20
20
  };
21
21
  },
22
- dateTimeElement: (
23
- data: Omit<MigrationElementModels.DateTimeElement, 'type'>
24
- ): MigrationElementModels.DateTimeElement => {
22
+ dateTimeElement: (data: Omit<MigrationElementModels.DateTimeElement, 'type'>): MigrationElementModels.DateTimeElement => {
25
23
  return {
26
24
  ...data,
27
25
  type: 'date_time'
28
26
  };
29
27
  },
30
- linkedItemsElement: (
31
- data: Omit<MigrationElementModels.LinkedItemsElement, 'type'>
32
- ): MigrationElementModels.LinkedItemsElement => {
28
+ linkedItemsElement: (data: Omit<MigrationElementModels.LinkedItemsElement, 'type'>): MigrationElementModels.LinkedItemsElement => {
33
29
  return {
34
30
  ...data,
35
31
  type: 'modular_content'
@@ -49,33 +45,25 @@ export const elementsBuilder = {
49
45
  type: 'number'
50
46
  };
51
47
  },
52
- richTextElement: (
53
- data: Omit<MigrationElementModels.RichTextElement, 'type'>
54
- ): MigrationElementModels.RichTextElement => {
48
+ richTextElement: (data: Omit<MigrationElementModels.RichTextElement, 'type'>): MigrationElementModels.RichTextElement => {
55
49
  return {
56
50
  ...data,
57
51
  type: 'rich_text'
58
52
  };
59
53
  },
60
- subpagesElement: (
61
- data: Omit<MigrationElementModels.SubpagesElement, 'type'>
62
- ): MigrationElementModels.SubpagesElement => {
54
+ subpagesElement: (data: Omit<MigrationElementModels.SubpagesElement, 'type'>): MigrationElementModels.SubpagesElement => {
63
55
  return {
64
56
  ...data,
65
57
  type: 'subpages'
66
58
  };
67
59
  },
68
- taxonomyElement: (
69
- data: Omit<MigrationElementModels.TaxonomyElement, 'type'>
70
- ): MigrationElementModels.TaxonomyElement => {
60
+ taxonomyElement: (data: Omit<MigrationElementModels.TaxonomyElement, 'type'>): MigrationElementModels.TaxonomyElement => {
71
61
  return {
72
62
  ...data,
73
63
  type: 'taxonomy'
74
64
  };
75
65
  },
76
- urlSlugElement: (
77
- data: Omit<MigrationElementModels.UrlSlugElement, 'type'>
78
- ): MigrationElementModels.UrlSlugElement => {
66
+ urlSlugElement: (data: Omit<MigrationElementModels.UrlSlugElement, 'type'>): MigrationElementModels.UrlSlugElement => {
79
67
  return {
80
68
  ...data,
81
69
  type: 'url_slug'
@@ -1,5 +1,7 @@
1
- import { MigrationData, executeWithTrackingAsync } from '../core/index.js';
2
- import { ExportConfig, exportManager } from '../export/index.js';
1
+ import type { MigrationData } from '../core/index.js';
2
+ import { executeWithTrackingAsync } from '../core/index.js';
3
+ import type { ExportConfig } from '../export/index.js';
4
+ import { exportManager } from '../export/index.js';
3
5
  import { libMetadata } from '../metadata.js';
4
6
 
5
7
  export async function exportAsync(config: ExportConfig): Promise<MigrationData> {
@@ -1,5 +1,6 @@
1
1
  import { Buffer as BufferProxy } from 'buffer';
2
- import { defaultZipFilename, executeWithTrackingAsync, getDefaultLogger, Logger, MigrationData } from '../core/index.js';
2
+ import type { Logger, MigrationData } from '../core/index.js';
3
+ import { defaultZipFilename, executeWithTrackingAsync, getDefaultLogger } from '../core/index.js';
3
4
  import { fileManager } from '../file/index.js';
4
5
  import { libMetadata } from '../metadata.js';
5
6
  import { zipManager } from '../zip/index.js';
@@ -1,7 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import { writeFile } from 'fs/promises';
3
3
  import { executeWithTrackingAsync } from '../core/index.js';
4
- import { ImportConfig, ImportResult, importManager as _importManager } from '../import/index.js';
4
+ import type { ImportConfig, ImportResult } from '../import/index.js';
5
+ import { importManager as _importManager } from '../import/index.js';
5
6
  import { libMetadata } from '../metadata.js';
6
7
 
7
8
  export async function importAsync(config: ImportConfig): Promise<ImportResult> {
@@ -1,5 +1,5 @@
1
+ export * from './elements-builder.js';
1
2
  export * from './export.js';
3
+ export * from './file.js';
2
4
  export * from './import.js';
3
- export * from './elements-builder.js';
4
5
  export * from './migrate.js';
5
- export * from './file.js';
@@ -1,14 +1,8 @@
1
- import { IRetryStrategyOptions } from '@kontent-ai/core-sdk';
2
- import {
3
- ExternalIdGenerator,
4
- Logger,
5
- ManagementClientConfig,
6
- MigrationData,
7
- executeWithTrackingAsync,
8
- getDefaultLogger
9
- } from '../core/index.js';
10
- import { SourceExportItem } from '../export/index.js';
11
- import { ImportResult } from '../import/index.js';
1
+ import type { IRetryStrategyOptions } from '@kontent-ai/core-sdk';
2
+ import type { ExternalIdGenerator, Logger, ManagementClientConfig, MigrationData } from '../core/index.js';
3
+ import { executeWithTrackingAsync, getDefaultLogger } from '../core/index.js';
4
+ import type { SourceExportItem } from '../export/index.js';
5
+ import type { ImportResult } from '../import/index.js';
12
6
  import { libMetadata } from '../metadata.js';
13
7
  import { exportAsync } from './export.js';
14
8
  import { importAsync } from './import.js';
@@ -1,14 +1,14 @@
1
- import { ElementModels } from '@kontent-ai/management-sdk';
2
- import { GetFlattenedElementByIds } from 'lib/export/export.models.js';
1
+ import type { ElementModels } from '@kontent-ai/management-sdk';
3
2
  import { match, P } from 'ts-pattern';
4
- import {
3
+ import type {
5
4
  MigrationElementModels,
6
5
  MigrationElements,
7
- parseAsMigrationReferencesArray,
8
6
  ReferencedDataInLanguageVariants,
9
7
  ReferencedDataInMigrationItems
10
8
  } from '../../core/index.js';
11
- import { GetFlattenedElementByCodenames } from '../../import/index.js';
9
+ import { isArray, isString, parseAsMigrationReferencesArray } from '../../core/index.js';
10
+ import type { GetFlattenedElementByIds } from '../../export/export.models.js';
11
+ import type { GetFlattenedElementByCodenames } from '../../import/index.js';
12
12
  import { richTextProcessor } from '../index.js';
13
13
 
14
14
  export interface ExtractItemById {
@@ -43,24 +43,24 @@ export function itemsExtractionProcessor() {
43
43
 
44
44
  match(typeElement.type)
45
45
  .with('rich_text', () => {
46
- const rteValue = itemElement.value?.toString();
46
+ const rteValue = itemElement.value && isString(itemElement.value) ? itemElement.value : '';
47
47
 
48
48
  // extract referenced items
49
49
  richTextProcessor()
50
- .processDataIds(rteValue ?? '')
50
+ .processDataIds(rteValue)
51
51
  .ids.forEach((id) => extractedIds.itemIds.add(id));
52
52
 
53
53
  richTextProcessor()
54
- .processLinkItemIds(rteValue ?? '')
54
+ .processLinkItemIds(rteValue)
55
55
  .ids.forEach((id) => extractedIds.itemIds.add(id));
56
56
 
57
57
  // extract referenced assets
58
58
  richTextProcessor()
59
- .processAssetIds(rteValue ?? '')
59
+ .processAssetIds(rteValue)
60
60
  .ids.forEach((id) => extractedIds.assetIds.add(id));
61
61
 
62
62
  richTextProcessor()
63
- .processLinkAssetIds(rteValue ?? '')
63
+ .processLinkAssetIds(rteValue)
64
64
  .ids.forEach((id) => extractedIds.assetIds.add(id));
65
65
 
66
66
  // recursively extract data from components as well because they may reference additional assets & content items
@@ -78,12 +78,12 @@ export function itemsExtractionProcessor() {
78
78
  extractedComponents.assetIds.forEach((id) => extractedIds.assetIds.add(id));
79
79
  })
80
80
  .with(P.union('modular_content', 'subpages'), () => {
81
- if (itemElement.value && Array.isArray(itemElement.value)) {
81
+ if (itemElement.value && isArray(itemElement.value)) {
82
82
  itemElement.value.forEach((value) => (value.id ? extractedIds.itemIds.add(value.id) : {}));
83
83
  }
84
84
  })
85
85
  .with('asset', () => {
86
- if (itemElement.value && Array.isArray(itemElement.value)) {
86
+ if (itemElement.value && isArray(itemElement.value)) {
87
87
  itemElement.value.forEach((value) => (value.id ? extractedIds.assetIds.add(value.id) : {}));
88
88
  }
89
89
  })