@kontent-ai/migration-toolkit 2.2.2 → 2.3.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 (80) hide show
  1. package/README.md +10 -9
  2. package/dist/es2022/core/logs/loggers.js +4 -1
  3. package/dist/es2022/core/logs/loggers.js.map +1 -1
  4. package/dist/es2022/core/models/core.models.d.ts +12 -0
  5. package/dist/es2022/core/models/log.models.d.ts +1 -1
  6. package/dist/es2022/core/models/migration.schema.d.ts +12 -12
  7. package/dist/es2022/core/models/migration.schema.js +2 -2
  8. package/dist/es2022/core/models/migration.schema.js.map +1 -1
  9. package/dist/es2022/core/utils/binary-data.utils.d.ts +4 -4
  10. package/dist/es2022/core/utils/binary-data.utils.js +2 -2
  11. package/dist/es2022/core/utils/binary-data.utils.js.map +1 -1
  12. package/dist/es2022/core/utils/global.utils.d.ts +3 -3
  13. package/dist/es2022/core/utils/global.utils.js +1 -1
  14. package/dist/es2022/core/utils/global.utils.js.map +1 -1
  15. package/dist/es2022/core/utils/http.utils.js +0 -3
  16. package/dist/es2022/core/utils/http.utils.js.map +1 -1
  17. package/dist/es2022/core/utils/processing-utils.d.ts +3 -3
  18. package/dist/es2022/core/utils/processing-utils.js +31 -4
  19. package/dist/es2022/core/utils/processing-utils.js.map +1 -1
  20. package/dist/es2022/export/context/export-context-fetcher.js +13 -7
  21. package/dist/es2022/export/context/export-context-fetcher.js.map +1 -1
  22. package/dist/es2022/export/export-manager.js +5 -4
  23. package/dist/es2022/export/export-manager.js.map +1 -1
  24. package/dist/es2022/file/file-manager.d.ts +3 -2
  25. package/dist/es2022/file/file-manager.js.map +1 -1
  26. package/dist/es2022/import/context/import-context-fetcher.js +14 -8
  27. package/dist/es2022/import/context/import-context-fetcher.js.map +1 -1
  28. package/dist/es2022/import/import-manager.d.ts +4 -0
  29. package/dist/es2022/import/import-manager.js +133 -4
  30. package/dist/es2022/import/import-manager.js.map +1 -1
  31. package/dist/es2022/import/import.models.d.ts +15 -5
  32. package/dist/es2022/import/importers/assets-importer.js.map +1 -1
  33. package/dist/es2022/import/importers/content-items-importer.d.ts +3 -3
  34. package/dist/es2022/import/importers/content-items-importer.js +11 -5
  35. package/dist/es2022/import/importers/content-items-importer.js.map +1 -1
  36. package/dist/es2022/import/importers/language-variant-importer.d.ts +4 -4
  37. package/dist/es2022/import/importers/language-variant-importer.js +4 -4
  38. package/dist/es2022/import/importers/language-variant-importer.js.map +1 -1
  39. package/dist/es2022/metadata.js +2 -2
  40. package/dist/es2022/node/cli/actions/import-action.js +3 -1
  41. package/dist/es2022/node/cli/actions/import-action.js.map +1 -1
  42. package/dist/es2022/toolkit/file.js +2 -2
  43. package/dist/es2022/toolkit/file.js.map +1 -1
  44. package/dist/es2022/toolkit/import.js +14 -2
  45. package/dist/es2022/toolkit/import.js.map +1 -1
  46. package/dist/es2022/translation/extraction/items-extraction.processor.d.ts +1 -1
  47. package/dist/es2022/translation/extraction/items-extraction.processor.js.map +1 -1
  48. package/dist/es2022/zip/zip-manager.d.ts +2 -2
  49. package/dist/es2022/zip/zip-manager.js.map +1 -1
  50. package/dist/es2022/zip/zip-packager.js +3 -4
  51. package/dist/es2022/zip/zip-packager.js.map +1 -1
  52. package/dist/es2022/zip/zip-transformer.js.map +1 -1
  53. package/dist/es2022/zip/zip.models.d.ts +4 -4
  54. package/lib/core/logs/loggers.ts +5 -1
  55. package/lib/core/models/core.models.ts +16 -0
  56. package/lib/core/models/log.models.ts +1 -1
  57. package/lib/core/models/migration.schema.ts +2 -2
  58. package/lib/core/utils/binary-data.utils.ts +6 -6
  59. package/lib/core/utils/global.utils.ts +8 -5
  60. package/lib/core/utils/http.utils.ts +1 -4
  61. package/lib/core/utils/processing-utils.ts +48 -18
  62. package/lib/export/context/export-context-fetcher.ts +67 -60
  63. package/lib/export/export-manager.ts +58 -56
  64. package/lib/file/file-manager.ts +4 -3
  65. package/lib/import/context/import-context-fetcher.ts +18 -13
  66. package/lib/import/import-manager.ts +174 -10
  67. package/lib/import/import.models.ts +20 -4
  68. package/lib/import/importers/assets-importer.ts +3 -9
  69. package/lib/import/importers/content-items-importer.ts +18 -17
  70. package/lib/import/importers/language-variant-importer.ts +32 -34
  71. package/lib/metadata.ts +2 -2
  72. package/lib/node/cli/actions/import-action.ts +3 -1
  73. package/lib/toolkit/file.ts +2 -2
  74. package/lib/toolkit/import.ts +16 -2
  75. package/lib/translation/extraction/items-extraction.processor.ts +3 -3
  76. package/lib/zip/zip-manager.ts +2 -2
  77. package/lib/zip/zip-packager.ts +3 -4
  78. package/lib/zip/zip-transformer.ts +1 -1
  79. package/lib/zip/zip.models.ts +3 -3
  80. package/package.json +13 -13
@@ -1,5 +1,7 @@
1
+ import chalk from 'chalk';
2
+ import { writeFile } from 'fs/promises';
1
3
  import { executeWithTrackingAsync } from '../core/index.js';
2
- import { importManager } from '../import/index.js';
4
+ import { importManager as _importManager } from '../import/index.js';
3
5
  import { libMetadata } from '../metadata.js';
4
6
  export async function importAsync(config) {
5
7
  return await executeWithTrackingAsync({
@@ -14,7 +16,17 @@ export async function importAsync(config) {
14
16
  details: {}
15
17
  },
16
18
  func: async () => {
17
- return await importManager(config).importAsync();
19
+ const importManager = _importManager(config);
20
+ const importResult = await importManager.importAsync();
21
+ if (config.createReportFile) {
22
+ const reportFile = importManager.getReportFile(importResult);
23
+ await writeFile(reportFile.filename, reportFile.content);
24
+ config.logger?.log({
25
+ type: 'writeFs',
26
+ message: `Report '${chalk.yellow(reportFile.filename)}' was created`
27
+ });
28
+ }
29
+ return importResult;
18
30
  },
19
31
  logger: config.logger
20
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../lib/toolkit/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAA8B,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAoB;IAClD,OAAO,MAAM,wBAAwB,CAAC;QAClC,KAAK,EAAE;YACH,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE;gBACL,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;aAC/B;YACD,MAAM,EAAE,QAAQ;YAChB,oBAAoB,EAAE,SAAS;YAC/B,OAAO,EAAE,EAAE;SACd;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACb,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,CAAC;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;KACxB,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../lib/toolkit/import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAA8B,aAAa,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAoB;IAClD,OAAO,MAAM,wBAAwB,CAAC;QAClC,KAAK,EAAE;YACH,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE;gBACL,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;aAC/B;YACD,MAAM,EAAE,QAAQ;YAChB,oBAAoB,EAAE,SAAS;YAC/B,OAAO,EAAE,EAAE;SACd;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACb,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;YAEvD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC7D,MAAM,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,WAAW,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe;iBACvE,CAAC,CAAC;YACP,CAAC;YAED,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;KACxB,CAAC,CAAC;AACP,CAAC"}
@@ -3,7 +3,7 @@ import { GetFlattenedElementByIds } from 'lib/export/export.models.js';
3
3
  import { MigrationElements, ReferencedDataInLanguageVariants, ReferencedDataInMigrationItems } from '../../core/index.js';
4
4
  import { GetFlattenedElementByCodenames } from '../../import/index.js';
5
5
  export interface ExtractItemById {
6
- readonly elements: Readonly<ElementModels.ContentItemElement>[];
6
+ readonly elements: readonly Readonly<ElementModels.ContentItemElement>[];
7
7
  readonly contentTypeId: string;
8
8
  }
9
9
  export interface ExtractItemByCodename {
@@ -1 +1 @@
1
- {"version":3,"file":"items-extraction.processor.js","sourceRoot":"","sources":["../../../../lib/translation/extraction/items-extraction.processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"items-extraction.processor.js","sourceRoot":"","sources":["../../../../lib/translation/extraction/items-extraction.processor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { Buffer } from 'buffer';
1
+ import { Buffer as BufferProxy } from 'buffer';
2
2
  import { Logger, MigrationData } from '../core/index.js';
3
3
  import { FileBinaryData } from './zip.models.js';
4
4
  export declare function zipManager(logger?: Logger): {
5
5
  createZipAsync: (migrationData: MigrationData) => Promise<FileBinaryData>;
6
- parseZipAsync: (zipFile: Buffer) => Promise<MigrationData>;
6
+ parseZipAsync: (zipFile: BufferProxy) => Promise<MigrationData>;
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"zip-manager.js","sourceRoot":"","sources":["../../../lib/zip/zip-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAyB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,MAAM,UAAU,UAAU,CAAC,MAAe;IACtC,MAAM,WAAW,GAAG,MAAM,IAAI,gBAAgB,EAAE,CAAC;IAEjD,MAAM,cAAc,GAAG,KAAK,EAAE,aAA4B,EAA2B,EAAE;QACnF,WAAW,CAAC,GAAG,CAAC;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,sBAAsB;SAClC,CAAC,CAAC;QAEH,OAAO,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACrG,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,OAAe,EAA0B,EAAE;QACpE,WAAW,CAAC,GAAG,CAAC;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,kBAAkB;SAC9B,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,MAAM,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;IACtE,CAAC,CAAC;IAEF,OAAO;QACH,cAAc;QACd,aAAa;KAChB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"zip-manager.js","sourceRoot":"","sources":["../../../lib/zip/zip-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAyB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,MAAM,UAAU,UAAU,CAAC,MAAe;IACtC,MAAM,WAAW,GAAG,MAAM,IAAI,gBAAgB,EAAE,CAAC;IAEjD,MAAM,cAAc,GAAG,KAAK,EAAE,aAA4B,EAA2B,EAAE;QACnF,WAAW,CAAC,GAAG,CAAC;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,sBAAsB;SAClC,CAAC,CAAC;QAEH,OAAO,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACrG,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,OAAoB,EAA0B,EAAE;QACzE,WAAW,CAAC,GAAG,CAAC;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,kBAAkB;SAC9B,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,MAAM,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;IACtE,CAAC,CAAC;IAEF,OAAO;QACH,cAAc;QACd,aAAa;KAChB,CAAC;AACN,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Buffer } from 'buffer';
1
+ import { Buffer as BufferProxy } from 'buffer';
2
2
  import chalk from 'chalk';
3
3
  import { match } from 'ts-pattern';
4
4
  import { exitProgram, formatBytes, getCurrentEnvironment, getDefaultLogger } from '../core/index.js';
@@ -13,7 +13,7 @@ export function zipPackager(jsZip) {
13
13
  const getZipSizeInBytes = (zipData) => {
14
14
  return match(zipData)
15
15
  .when((data) => data instanceof Blob, (data) => data.size)
16
- .when((data) => data instanceof Buffer, (data) => data.byteLength)
16
+ .when((data) => data instanceof BufferProxy, (data) => data.byteLength)
17
17
  .otherwise(() => {
18
18
  exitProgram({
19
19
  message: `Unrecognized zip data type '${typeof zipData}'`
@@ -54,8 +54,7 @@ export function zipPackager(jsZip) {
54
54
  return result;
55
55
  },
56
56
  async getBinaryDataAsync(filePath) {
57
- const binaryData = await jsZip.file(filePath)?.async(getZipOutputType());
58
- return binaryData;
57
+ return await jsZip.file(filePath)?.async(getZipOutputType());
59
58
  },
60
59
  async getFileContentAsync(filePath) {
61
60
  return await jsZip.file(filePath)?.async('string');
@@ -1 +1 @@
1
- {"version":3,"file":"zip-packager.js","sourceRoot":"","sources":["../../../lib/zip/zip-packager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zip-packager.js","sourceRoot":"","sources":["../../../lib/zip/zip-packager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zip-transformer.js","sourceRoot":"","sources":["../../../lib/zip/zip-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zip-transformer.js","sourceRoot":"","sources":["../../../lib/zip/zip-transformer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { Buffer } from 'buffer';
1
+ import { Buffer as BufferProxy } from 'buffer';
2
2
  import { Logger } from '../core/index.js';
3
- export type FileBinaryData = Buffer | Blob;
3
+ export type FileBinaryData = BufferProxy | Blob;
4
4
  export type ZipCompressionLevel = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
5
5
  export type ZipPackager = {
6
6
  addFile(filePath: string, data: string | FileBinaryData): void;
7
7
  addFolder(name: string): ZipPackager;
8
8
  generateZipAsync(config: {
9
- logger?: Logger;
10
- compressionLevel?: ZipCompressionLevel;
9
+ readonly logger?: Logger;
10
+ readonly compressionLevel?: ZipCompressionLevel;
11
11
  }): Promise<FileBinaryData>;
12
12
  getBinaryDataAsync(filePath: string): Promise<FileBinaryData | undefined>;
13
13
  getFileContentAsync(filePath: string): Promise<string | undefined>;
@@ -1,7 +1,7 @@
1
1
  import chalk, { ChalkInstance } from 'chalk';
2
+ import { match, P } from 'ts-pattern';
2
3
  import { Logger, LogSpinnerMessage } from '../models/log.models.js';
3
4
  import { getCurrentEnvironment } from '../utils/global.utils.js';
4
- import { match, P } from 'ts-pattern';
5
5
 
6
6
  const originalWarn = console.warn;
7
7
 
@@ -55,6 +55,10 @@ const defaultBrowserLogger: Logger = {
55
55
  };
56
56
 
57
57
  function getLogDataMessage(data: LogSpinnerMessage): string {
58
+ if (!data.type) {
59
+ return data.message;
60
+ }
61
+
58
62
  const color = match(data.type)
59
63
  .returnType<ChalkInstance>()
60
64
  .with('info', () => chalk.cyan)
@@ -145,3 +145,19 @@ export interface OriginalManagementError {
145
145
  };
146
146
  };
147
147
  }
148
+
149
+ export type ItemProcessingResult<InputItem, OutputItem> =
150
+ | {
151
+ readonly state: 'valid';
152
+ readonly inputItem: InputItem;
153
+ readonly outputItem: OutputItem;
154
+ }
155
+ | {
156
+ readonly state: 'error';
157
+ readonly inputItem: InputItem;
158
+ readonly error: unknown;
159
+ }
160
+ | {
161
+ readonly state: '404';
162
+ readonly inputItem: InputItem;
163
+ };
@@ -17,7 +17,7 @@ export type DebugType =
17
17
  | MapiAction;
18
18
 
19
19
  export interface LogMessage {
20
- readonly type: DebugType;
20
+ readonly type?: DebugType;
21
21
  readonly message: string;
22
22
  }
23
23
 
@@ -1,4 +1,4 @@
1
- import { Buffer } from 'buffer';
1
+ import { Buffer as BufferProxy } from 'buffer';
2
2
  import { z } from 'zod';
3
3
 
4
4
  interface Elements {
@@ -145,7 +145,7 @@ const BaseMigrationAssetSchema = z.strictObject({
145
145
  });
146
146
 
147
147
  export const MigrationAssetSchema = BaseMigrationAssetSchema.extend({
148
- binary_data: z.union([z.instanceof(Buffer), z.instanceof(Blob)])
148
+ binary_data: z.union([z.instanceof(BufferProxy), z.instanceof(Blob)])
149
149
  }).readonly();
150
150
 
151
151
  export const ZipMigrationAssetSchema = BaseMigrationAssetSchema.extend({
@@ -1,13 +1,13 @@
1
- import { Buffer } from 'buffer';
1
+ import { FileBinaryData } from '../../zip/index.js';
2
2
  import { defaultHttpService, defaultRetryStrategy } from './http.utils.js';
3
3
 
4
- export async function getBinaryDataFromUrlAsync(url: string): Promise<{ data: Buffer | Blob; contentLength: number }> {
4
+ export async function getBinaryDataFromUrlAsync(url: string): Promise<{ readonly data: FileBinaryData; readonly contentLength: number }> {
5
5
  // temp fix for Kontent.ai Repository not validating url
6
- url = url.replace('#', '%23');
6
+ const fixedUrl = url.replace('#', '%23');
7
7
 
8
- const response = await defaultHttpService.getAsync<Buffer | Blob>(
8
+ const response = await defaultHttpService.getAsync<FileBinaryData>(
9
9
  {
10
- url
10
+ url: fixedUrl
11
11
  },
12
12
  {
13
13
  responseType: 'arraybuffer',
@@ -20,6 +20,6 @@ export async function getBinaryDataFromUrlAsync(url: string): Promise<{ data: Bu
20
20
  return { data: response.data, contentLength: contentLength };
21
21
  }
22
22
 
23
- export function geSizeInBytes(data: Blob | Buffer): number {
23
+ export function geSizeInBytes(data: FileBinaryData): number {
24
24
  return data instanceof Blob ? data.size : data.byteLength;
25
25
  }
@@ -11,7 +11,7 @@ export type Writeable<T> = { -readonly [P in keyof T]: T[P] };
11
11
  export const isNotUndefined = <T>(item: T | undefined): item is T => item !== undefined;
12
12
 
13
13
  export function formatBytes(bytes: number): string {
14
- return format(bytes);
14
+ return format(bytes) ?? 'n/a';
15
15
  }
16
16
 
17
17
  export function sleepAsync(ms: number): Promise<void> {
@@ -36,9 +36,9 @@ export function getCurrentEnvironment(): EnvContext {
36
36
  export const defaultZipFilename: string = 'data.zip';
37
37
 
38
38
  export async function executeWithTrackingAsync<TResult>(data: {
39
- func: () => Promise<TResult extends void ? void : Readonly<TResult>>;
40
- event: Readonly<ITrackingEventData>;
41
- logger?: Logger;
39
+ readonly func: () => Promise<TResult extends void ? void : Readonly<TResult>>;
40
+ readonly event: Readonly<ITrackingEventData>;
41
+ readonly logger?: Logger;
42
42
  }): Promise<TResult extends void ? void : Readonly<TResult>> {
43
43
  const trackingService = getTrackingService();
44
44
  const logger = data.logger ?? getDefaultLogger();
@@ -83,7 +83,10 @@ export async function executeWithTrackingAsync<TResult>(data: {
83
83
  }
84
84
  }
85
85
 
86
- async function runTrackingFuncWithErrorHadlingAsync<T>(data: { func: () => Promise<T>; logger: Logger }): Promise<T | void> {
86
+ async function runTrackingFuncWithErrorHadlingAsync<T>(data: {
87
+ readonly func: () => Promise<T>;
88
+ readonly logger: Logger;
89
+ }): Promise<T | void> {
87
90
  try {
88
91
  return await data.func();
89
92
  } catch (trackingError) {
@@ -1,9 +1,8 @@
1
1
  import { HttpService, IRetryStrategyOptions } from '@kontent-ai/core-sdk';
2
- import { OriginalManagementError } from '../models/core.models.js';
3
2
  import { match } from 'ts-pattern';
3
+ import { OriginalManagementError } from '../models/core.models.js';
4
4
 
5
5
  const rateExceededErrorCode: number = 10000;
6
- const notFoundErrorCode: number = 10000;
7
6
 
8
7
  export const defaultHttpService: Readonly<HttpService> = new HttpService({
9
8
  logErrorsToConsole: false
@@ -19,8 +18,6 @@ export const defaultRetryStrategy: Readonly<IRetryStrategyOptions> = {
19
18
  match(errorCode)
20
19
  // retry rate exceeded error
21
20
  .with(rateExceededErrorCode, () => true)
22
- // do not retry errors indicating resource does not exist
23
- .with(notFoundErrorCode, () => false)
24
21
  // if error code is set, do not retry the request
25
22
  .when(
26
23
  (errorCode) => errorCode >= 0,
@@ -1,6 +1,6 @@
1
1
  import chalk from 'chalk';
2
2
  import pLimit from 'p-limit';
3
- import { ItemInfo } from '../models/core.models.js';
3
+ import { ItemInfo, ItemProcessingResult } from '../models/core.models.js';
4
4
  import { LogSpinnerData, Logger } from '../models/log.models.js';
5
5
 
6
6
  type ProcessSetAction =
@@ -19,9 +19,9 @@ export async function processItemsAsync<InputItem, OutputItem>(data: {
19
19
  readonly logger: Logger;
20
20
  readonly items: Readonly<InputItem[]>;
21
21
  readonly parallelLimit: number;
22
- readonly processAsync: (item: Readonly<InputItem>, logSpinner: LogSpinnerData) => Promise<Readonly<OutputItem>>;
22
+ readonly processAsync: (item: Readonly<InputItem>, logSpinner: LogSpinnerData) => Promise<Readonly<OutputItem> | '404'>;
23
23
  readonly itemInfo: (item: Readonly<InputItem>) => ItemInfo;
24
- }): Promise<readonly OutputItem[]> {
24
+ }): Promise<readonly ItemProcessingResult<InputItem, OutputItem>[]> {
25
25
  if (!data.items.length) {
26
26
  return [];
27
27
  }
@@ -32,21 +32,43 @@ export async function processItemsAsync<InputItem, OutputItem>(data: {
32
32
  const limit = pLimit(data.parallelLimit);
33
33
  let processedItemsCount: number = 1;
34
34
 
35
- const requests: Promise<OutputItem>[] = data.items.map((item) =>
35
+ const requests: Promise<ItemProcessingResult<InputItem, OutputItem>>[] = data.items.map((item) =>
36
36
  limit(() => {
37
- return data.processAsync(item, logSpinner).then((output) => {
38
- const itemInfo = data.itemInfo(item);
39
- const prefix = getPercentagePrefix(processedItemsCount, data.items.length);
37
+ return data
38
+ .processAsync(item, logSpinner)
39
+ .then<OutputItem | '404'>((output) => {
40
+ const itemInfo = data.itemInfo(item);
41
+ const prefix = getPercentagePrefix(processedItemsCount, data.items.length);
40
42
 
41
- logSpinner({
42
- prefix: prefix,
43
- message: itemInfo.title,
44
- type: itemInfo.itemType
45
- });
43
+ logSpinner({
44
+ prefix: prefix,
45
+ message: itemInfo.title,
46
+ type: itemInfo.itemType
47
+ });
46
48
 
47
- processedItemsCount++;
48
- return output;
49
- });
49
+ processedItemsCount++;
50
+ return output;
51
+ })
52
+ .then<ItemProcessingResult<InputItem, OutputItem>>((outputItem) => {
53
+ if (outputItem === '404') {
54
+ return {
55
+ state: '404',
56
+ inputItem: item
57
+ };
58
+ }
59
+ return {
60
+ inputItem: item,
61
+ outputItem: outputItem,
62
+ state: 'valid'
63
+ };
64
+ })
65
+ .catch<ItemProcessingResult<InputItem, OutputItem>>((error) => {
66
+ return {
67
+ state: 'error',
68
+ inputItem: item,
69
+ error: error
70
+ };
71
+ });
50
72
  })
51
73
  );
52
74
 
@@ -58,11 +80,19 @@ export async function processItemsAsync<InputItem, OutputItem>(data: {
58
80
  });
59
81
 
60
82
  // Only '<parallelLimit>' promises at a time
61
- const outputItems = await Promise.all(requests);
83
+ const resultItems = await Promise.all(requests);
84
+
85
+ const failedItemsCount = resultItems.filter((m) => m.state === 'error').length;
86
+ const failedText = failedItemsCount ? ` Failed '${chalk.red(failedItemsCount)}' items` : ``;
62
87
 
63
- logSpinner({ type: 'info', message: `Completed '${chalk.yellow(data.action)}' (${outputItems.length})` });
88
+ logSpinner({
89
+ type: 'info',
90
+ message: `Completed '${chalk.yellow(data.action)}'. Successfully processed '${chalk.green(
91
+ resultItems.filter((m) => m.state === 'valid').length
92
+ )}' items.${failedText}`
93
+ });
64
94
 
65
- return outputItems;
95
+ return resultItems;
66
96
  });
67
97
  }
68
98
 
@@ -1,23 +1,22 @@
1
1
  import {
2
- WorkflowModels,
3
- LanguageVariantModels,
4
- ContentItemModels,
5
2
  AssetModels,
6
3
  CollectionModels,
7
- LanguageModels
4
+ ContentItemModels,
5
+ LanguageModels,
6
+ LanguageVariantModels,
7
+ WorkflowModels
8
8
  } from '@kontent-ai/management-sdk';
9
9
  import chalk from 'chalk';
10
10
  import {
11
- processItemsAsync,
12
- runMapiRequestAsync,
13
- is404Error,
14
- ItemStateInSourceEnvironmentById,
15
11
  AssetStateInSourceEnvironmentById,
12
+ findRequired,
16
13
  FlattenedContentType,
17
- isNotUndefined,
18
- managementClientUtils,
14
+ is404Error,
15
+ ItemStateInSourceEnvironmentById,
19
16
  LogSpinnerData,
20
- findRequired,
17
+ managementClientUtils,
18
+ processItemsAsync,
19
+ runMapiRequestAsync,
21
20
  workflowHelper
22
21
  } from '../../core/index.js';
23
22
  import { itemsExtractionProcessor } from '../../translation/index.js';
@@ -25,10 +24,10 @@ import {
25
24
  DefaultExportContextConfig,
26
25
  ExportContext,
27
26
  ExportContextEnvironmentData,
28
- SourceExportItem,
29
27
  ExportItem,
28
+ ExportItemVersion,
30
29
  GetFlattenedElementByIds,
31
- ExportItemVersion
30
+ SourceExportItem
32
31
  } from '../export.models.js';
33
32
  import { throwErrorForItemRequest } from '../utils/export.utils.js';
34
33
 
@@ -173,11 +172,11 @@ export async function exportContextFetcherAsync(config: DefaultExportContextConf
173
172
  readonly contentItem: Readonly<ContentItemModels.ContentItem>;
174
173
  readonly languageVariant: Readonly<LanguageVariantModels.ContentItemLanguageVariant>;
175
174
  }): {
176
- collection: Readonly<CollectionModels.Collection>;
177
- language: Readonly<LanguageModels.LanguageModel>;
178
- workflow: Readonly<WorkflowModels.Workflow>;
179
- contentType: Readonly<FlattenedContentType>;
180
- workflowStepCodename: string;
175
+ readonly collection: Readonly<CollectionModels.Collection>;
176
+ readonly language: Readonly<LanguageModels.LanguageModel>;
177
+ readonly workflow: Readonly<WorkflowModels.Workflow>;
178
+ readonly contentType: Readonly<FlattenedContentType>;
179
+ readonly workflowStepCodename: string;
181
180
  } => {
182
181
  const collection = findRequired(
183
182
  environmentData.collections,
@@ -234,49 +233,53 @@ export async function exportContextFetcherAsync(config: DefaultExportContextConf
234
233
  message: `Preparing '${chalk.yellow(config.exportItems.length.toString())}' items for export`
235
234
  });
236
235
 
237
- return await processItemsAsync<SourceExportItem, ExportItem>({
238
- logger: config.logger,
239
- action: 'Preparing content items & language variants',
240
- parallelLimit: 1,
241
- itemInfo: (input) => {
242
- return {
243
- title: `${input.itemCodename} (${input.languageCodename})`,
244
- itemType: 'exportItem'
245
- };
246
- },
247
- items: exportItems,
248
- processAsync: async (requestItem, logSpinner) => {
249
- const contentItem = await getContentItemAsync(requestItem, logSpinner);
250
- const versions = await getExportItemVersionsAsync(requestItem, contentItem, logSpinner);
251
-
252
- // get shared attributes from any version
253
- const anyVersion = versions[0];
254
- if (!anyVersion) {
255
- throwErrorForItemRequest(requestItem, `Expected at least 1 version of the content item`);
256
- }
236
+ return (
237
+ await processItemsAsync<SourceExportItem, ExportItem>({
238
+ logger: config.logger,
239
+ action: 'Preparing content items & language variants',
240
+ parallelLimit: 1,
241
+ itemInfo: (input) => {
242
+ return {
243
+ title: `${input.itemCodename} (${input.languageCodename})`,
244
+ itemType: 'exportItem'
245
+ };
246
+ },
247
+ items: exportItems,
248
+ processAsync: async (requestItem, logSpinner) => {
249
+ const contentItem = await getContentItemAsync(requestItem, logSpinner);
250
+ const versions = await getExportItemVersionsAsync(requestItem, contentItem, logSpinner);
251
+
252
+ // get shared attributes from any version
253
+ const anyVersion = versions[0];
254
+ if (!anyVersion) {
255
+ throwErrorForItemRequest(requestItem, `Expected at least 1 version of the content item`);
256
+ }
257
257
 
258
- const { collection, contentType, language, workflow } = validateExportItem({
259
- sourceItem: requestItem,
260
- contentItem: contentItem,
261
- languageVariant: anyVersion.languageVariant
262
- });
258
+ const { collection, contentType, language, workflow } = validateExportItem({
259
+ sourceItem: requestItem,
260
+ contentItem: contentItem,
261
+ languageVariant: anyVersion.languageVariant
262
+ });
263
263
 
264
- return {
265
- contentItem,
266
- versions,
267
- contentType,
268
- requestItem,
269
- workflow,
270
- collection,
271
- language
272
- };
273
- }
274
- });
264
+ return {
265
+ contentItem,
266
+ versions,
267
+ contentType,
268
+ requestItem,
269
+ workflow,
270
+ collection,
271
+ language
272
+ };
273
+ }
274
+ })
275
+ )
276
+ .filter((m) => m.state === 'valid')
277
+ .map((m) => m.outputItem);
275
278
  };
276
279
 
277
280
  const getContentItemsByIdsAsync = async (itemIds: ReadonlySet<string>): Promise<readonly Readonly<ContentItemModels.ContentItem>[]> => {
278
281
  return (
279
- await processItemsAsync<string, Readonly<ContentItemModels.ContentItem> | undefined>({
282
+ await processItemsAsync<string, Readonly<ContentItemModels.ContentItem>>({
280
283
  logger: config.logger,
281
284
  action: 'Fetching content items',
282
285
  parallelLimit: 1,
@@ -302,16 +305,18 @@ export async function exportContextFetcherAsync(config: DefaultExportContextConf
302
305
  throw error;
303
306
  }
304
307
 
305
- return undefined;
308
+ return '404';
306
309
  }
307
310
  }
308
311
  })
309
- ).filter(isNotUndefined);
312
+ )
313
+ .filter((m) => m.state === 'valid')
314
+ .map((m) => m.outputItem);
310
315
  };
311
316
 
312
317
  const getAssetsByIdsAsync = async (itemIds: ReadonlySet<string>): Promise<readonly Readonly<AssetModels.Asset>[]> => {
313
318
  return (
314
- await processItemsAsync<string, Readonly<AssetModels.Asset> | undefined>({
319
+ await processItemsAsync<string, Readonly<AssetModels.Asset>>({
315
320
  logger: config.logger,
316
321
  action: 'Fetching assets',
317
322
  parallelLimit: 1,
@@ -337,11 +342,13 @@ export async function exportContextFetcherAsync(config: DefaultExportContextConf
337
342
  throw error;
338
343
  }
339
344
 
340
- return undefined;
345
+ return '404';
341
346
  }
342
347
  }
343
348
  })
344
- ).filter(isNotUndefined);
349
+ )
350
+ .filter((m) => m.state === 'valid')
351
+ .map((m) => m.outputItem);
345
352
  };
346
353
 
347
354
  const getItemStatesAsync = async (itemIds: ReadonlySet<string>): Promise<readonly ItemStateInSourceEnvironmentById[]> => {