@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.
- package/README.md +10 -9
- package/dist/es2022/core/logs/loggers.js +4 -1
- package/dist/es2022/core/logs/loggers.js.map +1 -1
- package/dist/es2022/core/models/core.models.d.ts +12 -0
- package/dist/es2022/core/models/log.models.d.ts +1 -1
- package/dist/es2022/core/models/migration.schema.d.ts +12 -12
- package/dist/es2022/core/models/migration.schema.js +2 -2
- package/dist/es2022/core/models/migration.schema.js.map +1 -1
- package/dist/es2022/core/utils/binary-data.utils.d.ts +4 -4
- package/dist/es2022/core/utils/binary-data.utils.js +2 -2
- package/dist/es2022/core/utils/binary-data.utils.js.map +1 -1
- package/dist/es2022/core/utils/global.utils.d.ts +3 -3
- package/dist/es2022/core/utils/global.utils.js +1 -1
- package/dist/es2022/core/utils/global.utils.js.map +1 -1
- package/dist/es2022/core/utils/http.utils.js +0 -3
- package/dist/es2022/core/utils/http.utils.js.map +1 -1
- package/dist/es2022/core/utils/processing-utils.d.ts +3 -3
- package/dist/es2022/core/utils/processing-utils.js +31 -4
- package/dist/es2022/core/utils/processing-utils.js.map +1 -1
- package/dist/es2022/export/context/export-context-fetcher.js +13 -7
- package/dist/es2022/export/context/export-context-fetcher.js.map +1 -1
- package/dist/es2022/export/export-manager.js +5 -4
- package/dist/es2022/export/export-manager.js.map +1 -1
- package/dist/es2022/file/file-manager.d.ts +3 -2
- package/dist/es2022/file/file-manager.js.map +1 -1
- package/dist/es2022/import/context/import-context-fetcher.js +14 -8
- package/dist/es2022/import/context/import-context-fetcher.js.map +1 -1
- package/dist/es2022/import/import-manager.d.ts +4 -0
- package/dist/es2022/import/import-manager.js +133 -4
- package/dist/es2022/import/import-manager.js.map +1 -1
- package/dist/es2022/import/import.models.d.ts +15 -5
- package/dist/es2022/import/importers/assets-importer.js.map +1 -1
- package/dist/es2022/import/importers/content-items-importer.d.ts +3 -3
- package/dist/es2022/import/importers/content-items-importer.js +11 -5
- package/dist/es2022/import/importers/content-items-importer.js.map +1 -1
- package/dist/es2022/import/importers/language-variant-importer.d.ts +4 -4
- package/dist/es2022/import/importers/language-variant-importer.js +4 -4
- package/dist/es2022/import/importers/language-variant-importer.js.map +1 -1
- package/dist/es2022/metadata.js +2 -2
- package/dist/es2022/node/cli/actions/import-action.js +3 -1
- package/dist/es2022/node/cli/actions/import-action.js.map +1 -1
- package/dist/es2022/toolkit/file.js +2 -2
- package/dist/es2022/toolkit/file.js.map +1 -1
- package/dist/es2022/toolkit/import.js +14 -2
- package/dist/es2022/toolkit/import.js.map +1 -1
- package/dist/es2022/translation/extraction/items-extraction.processor.d.ts +1 -1
- package/dist/es2022/translation/extraction/items-extraction.processor.js.map +1 -1
- package/dist/es2022/zip/zip-manager.d.ts +2 -2
- package/dist/es2022/zip/zip-manager.js.map +1 -1
- package/dist/es2022/zip/zip-packager.js +3 -4
- package/dist/es2022/zip/zip-packager.js.map +1 -1
- package/dist/es2022/zip/zip-transformer.js.map +1 -1
- package/dist/es2022/zip/zip.models.d.ts +4 -4
- package/lib/core/logs/loggers.ts +5 -1
- package/lib/core/models/core.models.ts +16 -0
- package/lib/core/models/log.models.ts +1 -1
- package/lib/core/models/migration.schema.ts +2 -2
- package/lib/core/utils/binary-data.utils.ts +6 -6
- package/lib/core/utils/global.utils.ts +8 -5
- package/lib/core/utils/http.utils.ts +1 -4
- package/lib/core/utils/processing-utils.ts +48 -18
- package/lib/export/context/export-context-fetcher.ts +67 -60
- package/lib/export/export-manager.ts +58 -56
- package/lib/file/file-manager.ts +4 -3
- package/lib/import/context/import-context-fetcher.ts +18 -13
- package/lib/import/import-manager.ts +174 -10
- package/lib/import/import.models.ts +20 -4
- package/lib/import/importers/assets-importer.ts +3 -9
- package/lib/import/importers/content-items-importer.ts +18 -17
- package/lib/import/importers/language-variant-importer.ts +32 -34
- package/lib/metadata.ts +2 -2
- package/lib/node/cli/actions/import-action.ts +3 -1
- package/lib/toolkit/file.ts +2 -2
- package/lib/toolkit/import.ts +16 -2
- package/lib/translation/extraction/items-extraction.processor.ts +3 -3
- package/lib/zip/zip-manager.ts +2 -2
- package/lib/zip/zip-packager.ts +3 -4
- package/lib/zip/zip-transformer.ts +1 -1
- package/lib/zip/zip.models.ts +3 -3
- 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
|
-
|
|
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;
|
|
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":"AAEA,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAGH,+BAA+B,EAGlC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAsBhD,MAAM,UAAU,wBAAwB;IACpC,MAAM,qCAAqC,GAAG,CAC1C,KAAiC,EACjC,UAAoC,EACJ,EAAE;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE;YACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAwC,CAAC,iBAAiB,EAAE,WAAW,EAAE,EAAE;gBAClG,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEjF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;qBAClB,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;oBACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;oBAE/C,2BAA2B;oBAC3B,iBAAiB,EAAE;yBACd,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;yBAC9B,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEvD,iBAAiB,EAAE;yBACd,kBAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC;yBAClC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEvD,4BAA4B;oBAC5B,iBAAiB,EAAE;yBACd,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC;yBAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAExD,iBAAiB,EAAE;yBACd,mBAAmB,CAAC,QAAQ,IAAI,EAAE,CAAC;yBACnC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAExD,gHAAgH;oBAChH,MAAM,mBAAmB,GAAG,qCAAqC,CAC7D,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;wBACrC,OAAO;4BACH,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE;4BACtC,QAAQ,EAAE,SAAS,CAAC,QAAQ;yBAC/B,CAAC;oBACN,CAAC,CAAC,EACF,UAAU,CACb,CAAC;oBAEF,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1E,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChF,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE;oBAC/C,IAAI,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxD,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/F,CAAC;gBACL,CAAC,CAAC;qBACD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBAChB,IAAI,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxD,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChG,CAAC;gBACL,CAAC,CAAC;qBACD,SAAS,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAEzB,OAAO,iBAAiB,CAAC;YAC7B,CAAC,EAAE,YAAY,CAAC,CAAC;QACrB,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAC9C,CAAC;QAEF,
|
|
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:
|
|
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,
|
|
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
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAKH,oBAAoB,EAEpB,wBAAwB,EACxB,gBAAgB,EAChB,QAAQ,EACX,MAAM,kBAAkB,CAAC;AAK1B,MAAM,UAAU,cAAc,CAAC,GAAgB,EAAE,MAAe;IAC5D,MAAM,WAAW,GAAW,MAAM,IAAI,gBAAgB,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAW,YAAY,CAAC;IACtC,MAAM,cAAc,GAAW,aAAa,CAAC;IAC7C,MAAM,sBAAsB,GAAW,aAAa,CAAC;IAErD,MAAM,oBAAoB,GAAG,CAAC,KAAqB,
|
|
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 =
|
|
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>;
|
package/lib/core/logs/loggers.ts
CHANGED
|
@@ -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
|
+
};
|
|
@@ -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(
|
|
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 {
|
|
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:
|
|
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
|
-
|
|
6
|
+
const fixedUrl = url.replace('#', '%23');
|
|
7
7
|
|
|
8
|
-
const response = await defaultHttpService.getAsync<
|
|
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:
|
|
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: {
|
|
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
|
|
35
|
+
const requests: Promise<ItemProcessingResult<InputItem, OutputItem>>[] = data.items.map((item) =>
|
|
36
36
|
limit(() => {
|
|
37
|
-
return data
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
logSpinner({
|
|
44
|
+
prefix: prefix,
|
|
45
|
+
message: itemInfo.title,
|
|
46
|
+
type: itemInfo.itemType
|
|
47
|
+
});
|
|
46
48
|
|
|
47
|
-
|
|
48
|
-
|
|
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
|
|
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({
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
18
|
-
|
|
14
|
+
is404Error,
|
|
15
|
+
ItemStateInSourceEnvironmentById,
|
|
19
16
|
LogSpinnerData,
|
|
20
|
-
|
|
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
|
-
|
|
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
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
258
|
+
const { collection, contentType, language, workflow } = validateExportItem({
|
|
259
|
+
sourceItem: requestItem,
|
|
260
|
+
contentItem: contentItem,
|
|
261
|
+
languageVariant: anyVersion.languageVariant
|
|
262
|
+
});
|
|
263
263
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
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
|
|
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
|
|
308
|
+
return '404';
|
|
306
309
|
}
|
|
307
310
|
}
|
|
308
311
|
})
|
|
309
|
-
)
|
|
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
|
|
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
|
|
345
|
+
return '404';
|
|
341
346
|
}
|
|
342
347
|
}
|
|
343
348
|
})
|
|
344
|
-
)
|
|
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[]> => {
|