@kontent-ai/migration-toolkit 2.9.1 → 3.0.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -17
- package/dist/core/config.js +3 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/helpers/workflow-helper.d.ts +1 -1
- package/dist/core/helpers/workflow-helper.js +28 -26
- package/dist/core/helpers/workflow-helper.js.map +1 -1
- package/dist/core/logs/loggers.d.ts +1 -1
- package/dist/core/logs/loggers.js +15 -15
- package/dist/core/logs/loggers.js.map +1 -1
- package/dist/core/models/core.models.d.ts +29 -22
- package/dist/core/models/error.models.d.ts +26 -0
- package/dist/core/models/error.models.js +104 -0
- package/dist/core/models/error.models.js.map +1 -0
- package/dist/core/models/log.models.d.ts +2 -2
- package/dist/core/models/migration.models.d.ts +17 -19
- package/dist/core/models/migration.schema.d.ts +9 -9
- package/dist/core/models/migration.schema.js +28 -28
- package/dist/core/models/migration.schema.js.map +1 -1
- package/dist/core/utils/array.utils.d.ts +1 -1
- package/dist/core/utils/array.utils.js +4 -3
- package/dist/core/utils/array.utils.js.map +1 -1
- package/dist/core/utils/binary-data.utils.d.ts +1 -1
- package/dist/core/utils/binary-data.utils.js +6 -6
- package/dist/core/utils/binary-data.utils.js.map +1 -1
- package/dist/core/utils/confirm.utils.d.ts +3 -1
- package/dist/core/utils/confirm.utils.js +92 -24
- package/dist/core/utils/confirm.utils.js.map +1 -1
- package/dist/core/utils/error.utils.d.ts +1 -1
- package/dist/core/utils/error.utils.js +16 -14
- package/dist/core/utils/error.utils.js.map +1 -1
- package/dist/core/utils/external-id.utils.js +1 -1
- package/dist/core/utils/external-id.utils.js.map +1 -1
- package/dist/core/utils/global.utils.d.ts +3 -3
- package/dist/core/utils/global.utils.js +20 -18
- package/dist/core/utils/global.utils.js.map +1 -1
- package/dist/core/utils/http.utils.d.ts +2 -2
- package/dist/core/utils/http.utils.js +4 -4
- package/dist/core/utils/http.utils.js.map +1 -1
- package/dist/core/utils/management-client-utils.d.ts +4 -4
- package/dist/core/utils/management-client-utils.js +37 -34
- package/dist/core/utils/management-client-utils.js.map +1 -1
- package/dist/core/utils/processing-utils.d.ts +4 -4
- package/dist/core/utils/processing-utils.js +13 -13
- package/dist/core/utils/processing-utils.js.map +1 -1
- package/dist/core/utils/run.utils.d.ts +2 -2
- package/dist/core/utils/run.utils.js +7 -7
- package/dist/core/utils/run.utils.js.map +1 -1
- package/dist/core/utils/try.utils.d.ts +14 -0
- package/dist/core/utils/try.utils.js +18 -0
- package/dist/core/utils/try.utils.js.map +1 -0
- package/dist/export/context/export-context-fetcher.d.ts +1 -1
- package/dist/export/context/export-context-fetcher.js +92 -62
- package/dist/export/context/export-context-fetcher.js.map +1 -1
- package/dist/export/export-manager.d.ts +2 -2
- package/dist/export/export-manager.js +73 -59
- package/dist/export/export-manager.js.map +1 -1
- package/dist/export/export.models.d.ts +21 -2
- package/dist/export/utils/export.utils.d.ts +1 -1
- package/dist/export/utils/export.utils.js +3 -2
- package/dist/export/utils/export.utils.js.map +1 -1
- package/dist/file/file-manager.d.ts +2 -2
- package/dist/file/file-manager.js +7 -7
- package/dist/file/file-manager.js.map +1 -1
- package/dist/import/comparers/asset-comparer.d.ts +2 -2
- package/dist/import/comparers/asset-comparer.js +12 -11
- package/dist/import/comparers/asset-comparer.js.map +1 -1
- package/dist/import/context/import-context-fetcher.d.ts +1 -1
- package/dist/import/context/import-context-fetcher.js +77 -73
- package/dist/import/context/import-context-fetcher.js.map +1 -1
- package/dist/import/import-manager.d.ts +1 -1
- package/dist/import/import-manager.js +59 -56
- package/dist/import/import-manager.js.map +1 -1
- package/dist/import/import.models.d.ts +6 -2
- package/dist/import/importers/assets-importer.d.ts +3 -3
- package/dist/import/importers/assets-importer.js +46 -43
- package/dist/import/importers/assets-importer.js.map +1 -1
- package/dist/import/importers/content-items-importer.d.ts +3 -3
- package/dist/import/importers/content-items-importer.js +28 -25
- package/dist/import/importers/content-items-importer.js.map +1 -1
- package/dist/import/importers/language-variant-importer.d.ts +3 -3
- package/dist/import/importers/language-variant-importer.js +45 -45
- package/dist/import/importers/language-variant-importer.js.map +1 -1
- package/dist/import/importers/workflow-importer.d.ts +3 -2
- package/dist/import/importers/workflow-importer.js +58 -54
- package/dist/import/importers/workflow-importer.js.map +1 -1
- package/dist/import/utils/import.utils.d.ts +1 -1
- package/dist/import/utils/import.utils.js +3 -2
- package/dist/import/utils/import.utils.js.map +1 -1
- package/dist/index.d.ts +11 -7
- package/dist/index.js +10 -8
- package/dist/index.js.map +1 -1
- package/dist/metadata.js +3 -3
- package/dist/metadata.js.map +1 -1
- package/dist/node/cli/actions/export-action.d.ts +1 -1
- package/dist/node/cli/actions/export-action.js +29 -23
- package/dist/node/cli/actions/export-action.js.map +1 -1
- package/dist/node/cli/actions/import-action.d.ts +1 -1
- package/dist/node/cli/actions/import-action.js +15 -12
- package/dist/node/cli/actions/import-action.js.map +1 -1
- package/dist/node/cli/actions/migrate-action.d.ts +1 -1
- package/dist/node/cli/actions/migrate-action.js +26 -22
- package/dist/node/cli/actions/migrate-action.js.map +1 -1
- package/dist/node/cli/app.js +13 -12
- package/dist/node/cli/app.js.map +1 -1
- package/dist/node/cli/args/args-fetcher.d.ts +1 -1
- package/dist/node/cli/args/args-fetcher.js +14 -13
- package/dist/node/cli/args/args-fetcher.js.map +1 -1
- package/dist/node/cli/args/args-setter.d.ts +1 -1
- package/dist/node/cli/args/args-setter.js +8 -6
- package/dist/node/cli/args/args-setter.js.map +1 -1
- package/dist/node/cli/cli.models.d.ts +2 -2
- package/dist/node/cli/commands.js +68 -56
- package/dist/node/cli/commands.js.map +1 -1
- package/dist/toolkit/elements-builder.d.ts +1 -1
- package/dist/toolkit/elements-builder.js +12 -12
- package/dist/toolkit/elements-builder.js.map +1 -1
- package/dist/toolkit/export.d.ts +2 -2
- package/dist/toolkit/export.js +8 -8
- package/dist/toolkit/export.js.map +1 -1
- package/dist/toolkit/file.d.ts +2 -1
- package/dist/toolkit/file.js +18 -16
- package/dist/toolkit/file.js.map +1 -1
- package/dist/toolkit/import.d.ts +1 -1
- package/dist/toolkit/import.js +12 -12
- package/dist/toolkit/import.js.map +1 -1
- package/dist/toolkit/migrate.d.ts +13 -4
- package/dist/toolkit/migrate.js +15 -13
- package/dist/toolkit/migrate.js.map +1 -1
- package/dist/translation/extraction/items-extraction.processor.d.ts +5 -4
- package/dist/translation/extraction/items-extraction.processor.js +73 -35
- package/dist/translation/extraction/items-extraction.processor.js.map +1 -1
- package/dist/translation/helpers/export-placeholder.utils.d.ts +11 -0
- package/dist/translation/helpers/export-placeholder.utils.js +11 -0
- package/dist/translation/helpers/export-placeholder.utils.js.map +1 -0
- package/dist/translation/helpers/rich-text.processor.d.ts +6 -6
- package/dist/translation/helpers/rich-text.processor.js +38 -38
- package/dist/translation/helpers/rich-text.processor.js.map +1 -1
- package/dist/translation/transforms/export-transforms.d.ts +2 -2
- package/dist/translation/transforms/export-transforms.js +93 -67
- package/dist/translation/transforms/export-transforms.js.map +1 -1
- package/dist/translation/transforms/import-transforms.d.ts +2 -2
- package/dist/translation/transforms/import-transforms.js +38 -40
- package/dist/translation/transforms/import-transforms.js.map +1 -1
- package/dist/zip/zip-manager.d.ts +4 -3
- package/dist/zip/zip-manager.js +9 -9
- package/dist/zip/zip-manager.js.map +1 -1
- package/dist/zip/zip-packager.d.ts +2 -2
- package/dist/zip/zip-packager.js +19 -17
- package/dist/zip/zip-packager.js.map +1 -1
- package/dist/zip/zip-transformer.d.ts +3 -2
- package/dist/zip/zip-transformer.js +16 -15
- package/dist/zip/zip-transformer.js.map +1 -1
- package/dist/zip/zip.models.d.ts +2 -2
- package/lib/core/config.ts +6 -6
- package/lib/core/helpers/workflow-helper.ts +190 -185
- package/lib/core/logs/loggers.ts +52 -52
- package/lib/core/models/core.models.ts +130 -119
- package/lib/core/models/error.models.ts +148 -0
- package/lib/core/models/log.models.ts +20 -20
- package/lib/core/models/migration.models.ts +54 -57
- package/lib/core/models/migration.schema.ts +108 -108
- package/lib/core/utils/array.utils.ts +43 -42
- package/lib/core/utils/binary-data.utils.ts +16 -16
- package/lib/core/utils/confirm.utils.ts +184 -106
- package/lib/core/utils/error.utils.ts +69 -72
- package/lib/core/utils/external-id.utils.ts +4 -4
- package/lib/core/utils/global.utils.ts +81 -75
- package/lib/core/utils/http.utils.ts +23 -23
- package/lib/core/utils/management-client-utils.ts +189 -186
- package/lib/core/utils/processing-utils.ts +82 -82
- package/lib/core/utils/run.utils.ts +50 -50
- package/lib/core/utils/try.utils.ts +30 -0
- package/lib/export/context/export-context-fetcher.ts +472 -447
- package/lib/export/export-manager.ts +250 -232
- package/lib/export/export.models.ts +71 -56
- package/lib/export/utils/export.utils.ts +9 -7
- package/lib/file/file-manager.ts +28 -28
- package/lib/import/comparers/asset-comparer.ts +107 -106
- package/lib/import/context/import-context-fetcher.ts +462 -462
- package/lib/import/import-manager.ts +243 -240
- package/lib/import/import.models.ts +69 -67
- package/lib/import/importers/assets-importer.ts +240 -236
- package/lib/import/importers/content-items-importer.ts +126 -122
- package/lib/import/importers/language-variant-importer.ts +324 -328
- package/lib/import/importers/workflow-importer.ts +372 -367
- package/lib/import/utils/import.utils.ts +9 -7
- package/lib/index.ts +12 -8
- package/lib/metadata.ts +3 -4
- package/lib/node/cli/actions/export-action.ts +44 -38
- package/lib/node/cli/actions/import-action.ts +32 -29
- package/lib/node/cli/actions/migrate-action.ts +50 -46
- package/lib/node/cli/app.ts +21 -21
- package/lib/node/cli/args/args-fetcher.ts +55 -54
- package/lib/node/cli/args/args-setter.ts +34 -32
- package/lib/node/cli/cli.models.ts +17 -17
- package/lib/node/cli/commands.ts +165 -153
- package/lib/toolkit/elements-builder.ts +69 -69
- package/lib/toolkit/export.ts +21 -21
- package/lib/toolkit/file.ts +59 -53
- package/lib/toolkit/import.ts +32 -32
- package/lib/toolkit/migrate.ts +60 -49
- package/lib/translation/extraction/items-extraction.processor.ts +203 -173
- package/lib/translation/helpers/export-placeholder.utils.ts +10 -0
- package/lib/translation/helpers/rich-text.processor.ts +311 -311
- package/lib/translation/transforms/export-transforms.ts +313 -279
- package/lib/translation/transforms/import-transforms.ts +188 -191
- package/lib/zip/zip-manager.ts +28 -27
- package/lib/zip/zip-packager.ts +75 -73
- package/lib/zip/zip-transformer.ts +112 -107
- package/lib/zip/zip.models.ts +7 -7
- package/package.json +91 -84
- package/dist/core/index.d.ts +0 -16
- package/dist/core/index.js +0 -17
- package/dist/core/index.js.map +0 -1
- package/dist/export/index.d.ts +0 -2
- package/dist/export/index.js +0 -3
- package/dist/export/index.js.map +0 -1
- package/dist/file/index.d.ts +0 -1
- package/dist/file/index.js +0 -2
- package/dist/file/index.js.map +0 -1
- package/dist/import/index.d.ts +0 -2
- package/dist/import/index.js +0 -3
- package/dist/import/index.js.map +0 -1
- package/dist/toolkit/index.d.ts +0 -5
- package/dist/toolkit/index.js +0 -6
- package/dist/toolkit/index.js.map +0 -1
- package/dist/translation/index.d.ts +0 -4
- package/dist/translation/index.js +0 -5
- package/dist/translation/index.js.map +0 -1
- package/dist/zip/index.d.ts +0 -4
- package/dist/zip/index.js +0 -5
- package/dist/zip/index.js.map +0 -1
- package/lib/core/index.ts +0 -18
- package/lib/export/index.ts +0 -2
- package/lib/file/index.ts +0 -1
- package/lib/import/index.ts +0 -2
- package/lib/toolkit/index.ts +0 -5
- package/lib/translation/index.ts +0 -4
- package/lib/zip/index.ts +0 -4
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import chalk from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { getDefaultLogger } from "../core/logs/loggers.js";
|
|
3
|
+
import { InvalidValueError, MigrationToolkitError } from "../core/models/error.models.js";
|
|
4
|
+
import { MigrationAssetsSchema, MigrationItemsSchema } from "../core/models/migration.schema.js";
|
|
5
|
+
import { findRequired } from "../core/utils/array.utils.js";
|
|
6
|
+
import { getBinaryDataFromUrlAsync } from "../core/utils/binary-data.utils.js";
|
|
7
|
+
import { extractErrorData } from "../core/utils/error.utils.js";
|
|
8
|
+
import { isNotUndefined } from "../core/utils/global.utils.js";
|
|
9
|
+
import { getMigrationManagementClient } from "../core/utils/management-client-utils.js";
|
|
10
|
+
import { processItemsAsync } from "../core/utils/processing-utils.js";
|
|
11
|
+
import { tryCatch } from "../core/utils/try.utils.js";
|
|
12
|
+
import { exportTransforms } from "../translation/transforms/export-transforms.js";
|
|
13
|
+
import { exportContextFetcherAsync } from "./context/export-context-fetcher.js";
|
|
5
14
|
export function exportManager(config) {
|
|
6
15
|
const logger = config.logger ?? getDefaultLogger();
|
|
7
16
|
const managementClient = getMigrationManagementClient(config);
|
|
@@ -17,43 +26,44 @@ export function exportManager(config) {
|
|
|
17
26
|
type: { codename: exportItem.contentType.contentTypeCodename },
|
|
18
27
|
collection: { codename: exportItem.collection.codename },
|
|
19
28
|
workflow: {
|
|
20
|
-
codename: exportItem.workflow.codename
|
|
21
|
-
}
|
|
29
|
+
codename: exportItem.workflow.codename,
|
|
30
|
+
},
|
|
22
31
|
},
|
|
23
32
|
versions: exportItem.versions.map((version) => {
|
|
24
|
-
|
|
25
|
-
elements: getMigrationElements(context, exportItem.contentType, version.languageVariant.elements),
|
|
33
|
+
const migrationItemVersion = {
|
|
34
|
+
elements: getMigrationElements(exportItem, version, context, exportItem.contentType, version.languageVariant.elements),
|
|
26
35
|
schedule: {
|
|
27
36
|
publish_time: version.languageVariant.schedule.publishTime ?? undefined,
|
|
28
37
|
publish_display_timezone: version.languageVariant.schedule.publishDisplayTimezone ?? undefined,
|
|
29
38
|
unpublish_display_timezone: version.languageVariant.schedule.unpublishDisplayTimezone ?? undefined,
|
|
30
|
-
unpublish_time: version.languageVariant.schedule.unpublishTime ?? undefined
|
|
39
|
+
unpublish_time: version.languageVariant.schedule.unpublishTime ?? undefined,
|
|
31
40
|
},
|
|
32
41
|
workflow_step: {
|
|
33
|
-
codename: version.workflowStepCodename
|
|
34
|
-
}
|
|
42
|
+
codename: version.workflowStepCodename,
|
|
43
|
+
},
|
|
35
44
|
};
|
|
36
|
-
|
|
45
|
+
return migrationItemVersion;
|
|
46
|
+
}),
|
|
37
47
|
};
|
|
38
48
|
return migrationItem;
|
|
39
49
|
};
|
|
40
|
-
const mapToMigrationComponent = (context, component) => {
|
|
50
|
+
const mapToMigrationComponent = (exportItem, exportItemVersion, context, component) => {
|
|
41
51
|
const componentType = context.environmentData.contentTypes.find((m) => m.contentTypeId === component.type.id);
|
|
42
52
|
if (!componentType) {
|
|
43
|
-
throw
|
|
53
|
+
throw new MigrationToolkitError("missingContentType", `Could not find content type with id '${chalk.red(component.type.id)}' for component '${chalk.red(component.id)}'`);
|
|
44
54
|
}
|
|
45
55
|
const migrationItem = {
|
|
46
56
|
system: {
|
|
47
57
|
id: component.id,
|
|
48
58
|
type: {
|
|
49
|
-
codename: componentType.contentTypeCodename
|
|
50
|
-
}
|
|
59
|
+
codename: componentType.contentTypeCodename,
|
|
60
|
+
},
|
|
51
61
|
},
|
|
52
|
-
elements: getMigrationElements(context, componentType, component.elements)
|
|
62
|
+
elements: getMigrationElements(exportItem, exportItemVersion, context, componentType, component.elements),
|
|
53
63
|
};
|
|
54
64
|
return migrationItem;
|
|
55
65
|
};
|
|
56
|
-
const getMigrationElements = (context, contentType, elements) => {
|
|
66
|
+
const getMigrationElements = (exportItem, exportItemVersion, context, contentType, elements) => {
|
|
57
67
|
return contentType.elements
|
|
58
68
|
.toSorted((a, b) => {
|
|
59
69
|
if (a.codename < b.codename) {
|
|
@@ -69,59 +79,62 @@ export function exportManager(config) {
|
|
|
69
79
|
model[typeElement.codename] = {
|
|
70
80
|
type: typeElement.type,
|
|
71
81
|
...getMigrationElementToStore({
|
|
82
|
+
exportItem: exportItem,
|
|
83
|
+
exportItemVersion: exportItemVersion,
|
|
72
84
|
context: context,
|
|
73
85
|
contentType: contentType,
|
|
74
86
|
exportElement: itemElement,
|
|
75
|
-
typeElement: typeElement
|
|
76
|
-
})
|
|
87
|
+
typeElement: typeElement,
|
|
88
|
+
}),
|
|
77
89
|
};
|
|
78
90
|
return model;
|
|
79
91
|
}, {});
|
|
80
92
|
};
|
|
81
93
|
const getMigrationElementToStore = (data) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
94
|
+
const { success, data: migrationElement, error, } = tryCatch(() => exportTransforms[data.typeElement.type]({
|
|
95
|
+
context: data.context,
|
|
96
|
+
typeElement: data.typeElement,
|
|
97
|
+
exportElement: {
|
|
98
|
+
components: data.exportElement.components.map((component) => {
|
|
99
|
+
return mapToMigrationComponent(data.exportItem, data.exportItemVersion, data.context, component);
|
|
100
|
+
}),
|
|
101
|
+
value: data.exportElement.value,
|
|
102
|
+
urlSlugMode: data.exportElement.mode,
|
|
103
|
+
displayTimezone: data.exportElement.display_timezone ?? undefined,
|
|
104
|
+
},
|
|
105
|
+
}));
|
|
106
|
+
if (!success) {
|
|
95
107
|
const errorData = extractErrorData(error);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
108
|
+
throw new InvalidValueError({
|
|
109
|
+
element: data.typeElement,
|
|
110
|
+
contentType: data.contentType,
|
|
111
|
+
exportItem: data.exportItem,
|
|
112
|
+
exportItemVersion: data.exportItemVersion,
|
|
113
|
+
value: data.exportElement.value,
|
|
114
|
+
errorData: errorData,
|
|
115
|
+
});
|
|
104
116
|
}
|
|
117
|
+
return migrationElement;
|
|
105
118
|
};
|
|
106
119
|
const exportAssetsAsync = async (context) => {
|
|
107
120
|
const assets = Array.from(context.referencedData.assetIds)
|
|
108
|
-
.map((assetId) => context.getAssetStateInSourceEnvironment(assetId).
|
|
121
|
+
.map((assetId) => context.getAssetStateInSourceEnvironment(assetId).data)
|
|
109
122
|
.filter(isNotUndefined);
|
|
110
123
|
return await getMigrationAssetsWithBinaryDataAsync(assets, context);
|
|
111
124
|
};
|
|
112
125
|
const getMigrationAssetsWithBinaryDataAsync = async (assets, context) => {
|
|
113
126
|
logger.log({
|
|
114
|
-
type:
|
|
115
|
-
message: `Preparing to download '${chalk.yellow(assets.length.toString())}' assets
|
|
127
|
+
type: "info",
|
|
128
|
+
message: `Preparing to download '${chalk.yellow(assets.length.toString())}' assets`,
|
|
116
129
|
});
|
|
117
130
|
return (await processItemsAsync({
|
|
118
|
-
action:
|
|
131
|
+
action: "Downloading assets",
|
|
119
132
|
logger: logger,
|
|
120
133
|
parallelLimit: 5,
|
|
121
134
|
itemInfo: (input) => {
|
|
122
135
|
return {
|
|
123
136
|
title: input.codename,
|
|
124
|
-
itemType:
|
|
137
|
+
itemType: "asset",
|
|
125
138
|
};
|
|
126
139
|
},
|
|
127
140
|
items: assets,
|
|
@@ -129,12 +142,12 @@ export function exportManager(config) {
|
|
|
129
142
|
const assetCollection = context.environmentData.collections.find((m) => m.id === asset.collection?.reference?.id);
|
|
130
143
|
const assetFolder = context.environmentData.assetFolders.find((m) => m.id === asset.folder?.id);
|
|
131
144
|
logSpinner({
|
|
132
|
-
type:
|
|
133
|
-
message: `${asset.url}
|
|
145
|
+
type: "download",
|
|
146
|
+
message: `${asset.url}`,
|
|
134
147
|
});
|
|
135
148
|
const migrationAsset = {
|
|
136
149
|
filename: asset.fileName,
|
|
137
|
-
title: asset.title ??
|
|
150
|
+
title: asset.title ?? "",
|
|
138
151
|
codename: asset.codename,
|
|
139
152
|
binary_data: (await getBinaryDataFromUrlAsync(asset.url)).data,
|
|
140
153
|
collection: assetCollection ? { codename: assetCollection.codename } : undefined,
|
|
@@ -144,15 +157,15 @@ export function exportManager(config) {
|
|
|
144
157
|
return {
|
|
145
158
|
description: description.description ?? undefined,
|
|
146
159
|
language: {
|
|
147
|
-
codename: language.codename
|
|
148
|
-
}
|
|
160
|
+
codename: language.codename,
|
|
161
|
+
},
|
|
149
162
|
};
|
|
150
|
-
})
|
|
163
|
+
}),
|
|
151
164
|
};
|
|
152
165
|
return migrationAsset;
|
|
153
|
-
}
|
|
166
|
+
},
|
|
154
167
|
}))
|
|
155
|
-
.filter((m) => m.state ===
|
|
168
|
+
.filter((m) => m.state === "valid")
|
|
156
169
|
.map((m) => m.outputItem);
|
|
157
170
|
};
|
|
158
171
|
return {
|
|
@@ -160,18 +173,19 @@ export function exportManager(config) {
|
|
|
160
173
|
const exportContext = await (await exportContextFetcherAsync({
|
|
161
174
|
exportItems: config.exportItems,
|
|
162
175
|
logger: logger,
|
|
163
|
-
managementClient: managementClient
|
|
176
|
+
managementClient: managementClient,
|
|
177
|
+
skipMissingReferences: config.skipMissingReferences ?? false,
|
|
164
178
|
})).getExportContextAsync();
|
|
165
179
|
const migrationData = {
|
|
166
180
|
items: MigrationItemsSchema.parse(getMigrationItems(exportContext)),
|
|
167
|
-
assets: MigrationAssetsSchema.parse(await exportAssetsAsync(exportContext))
|
|
181
|
+
assets: MigrationAssetsSchema.parse(await exportAssetsAsync(exportContext)),
|
|
168
182
|
};
|
|
169
183
|
logger.log({
|
|
170
|
-
type:
|
|
171
|
-
message: `Finished export
|
|
184
|
+
type: "completed",
|
|
185
|
+
message: `Finished export`,
|
|
172
186
|
});
|
|
173
187
|
return migrationData;
|
|
174
|
-
}
|
|
188
|
+
},
|
|
175
189
|
};
|
|
176
190
|
}
|
|
177
191
|
//# sourceMappingURL=export-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-manager.js","sourceRoot":"","sources":["../../lib/export/export-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"export-manager.js","sourceRoot":"","sources":["../../lib/export/export-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import type { AssetFolderModels, CollectionModels, ContentItemModels, LanguageModels, LanguageVariantModels, ManagementClient, SharedModels, TaxonomyModels, WorkflowModels } from
|
|
2
|
-
import type { AssetStateInSourceEnvironmentById, FlattenedContentType, FlattenedContentTypeElement, ItemStateInSourceEnvironmentById,
|
|
1
|
+
import type { AssetFolderModels, CollectionModels, ContentItemModels, LanguageModels, LanguageVariantModels, ManagementClient, SharedModels, TaxonomyModels, WorkflowModels } from "@kontent-ai/management-sdk";
|
|
2
|
+
import type { AssetStateInSourceEnvironmentById, FlattenedContentType, FlattenedContentTypeElement, ItemStateInSourceEnvironmentById, ReferencedDataInLanguageVariants } from "../core/models/core.models.js";
|
|
3
|
+
import type { Logger } from "../core/models/log.models.js";
|
|
4
|
+
import type { MigrationComponent, MigrationElementTransformData, MigrationUrlSlugMode } from "../core/models/migration.models.js";
|
|
5
|
+
import type { ManagementClientConfig } from "../core/utils/management-client-utils.js";
|
|
3
6
|
export interface ExportContextEnvironmentData {
|
|
4
7
|
readonly languages: readonly Readonly<LanguageModels.LanguageModel>[];
|
|
5
8
|
readonly contentTypes: readonly Readonly<FlattenedContentType>[];
|
|
@@ -27,19 +30,35 @@ export interface ExportContext {
|
|
|
27
30
|
readonly getAssetStateInSourceEnvironment: (id: string) => AssetStateInSourceEnvironmentById;
|
|
28
31
|
readonly exportItems: readonly ExportItem[];
|
|
29
32
|
readonly getElement: GetFlattenedElementByIds;
|
|
33
|
+
readonly exportContextOptions: ExportContextOptions;
|
|
30
34
|
}
|
|
31
35
|
export interface SourceExportItem {
|
|
32
36
|
readonly itemCodename: string;
|
|
33
37
|
readonly languageCodename: string;
|
|
34
38
|
}
|
|
39
|
+
export interface ExportContextOptions {
|
|
40
|
+
/**
|
|
41
|
+
* When enabled, the export process will skip missing items and assets instead of throwing errors.
|
|
42
|
+
* Missing references will be filtered out from the exported data.
|
|
43
|
+
* Default: false
|
|
44
|
+
*/
|
|
45
|
+
readonly skipMissingReferences?: boolean;
|
|
46
|
+
}
|
|
35
47
|
export interface ExportConfig extends ManagementClientConfig {
|
|
36
48
|
readonly exportItems: readonly SourceExportItem[];
|
|
37
49
|
readonly logger?: Logger;
|
|
50
|
+
/**
|
|
51
|
+
* When enabled, the export process will skip missing items and assets instead of throwing errors.
|
|
52
|
+
* Missing references will be filtered out from the exported data.
|
|
53
|
+
* Default: false
|
|
54
|
+
*/
|
|
55
|
+
readonly skipMissingReferences?: boolean;
|
|
38
56
|
}
|
|
39
57
|
export interface DefaultExportContextConfig {
|
|
40
58
|
readonly logger: Logger;
|
|
41
59
|
readonly exportItems: readonly SourceExportItem[];
|
|
42
60
|
readonly managementClient: Readonly<ManagementClient>;
|
|
61
|
+
readonly skipMissingReferences: boolean;
|
|
43
62
|
}
|
|
44
63
|
export type GetFlattenedElementByIds = (contentTypeId: string, elementId: string) => FlattenedContentTypeElement;
|
|
45
64
|
export interface ExportItemVersion {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { SourceExportItem } from
|
|
1
|
+
import type { SourceExportItem } from "../export.models.js";
|
|
2
2
|
export declare function throwErrorForItemRequest(itemRequest: SourceExportItem, message: string): never;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import chalk from
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { MigrationToolkitError } from "../../core/models/error.models.js";
|
|
2
3
|
export function throwErrorForItemRequest(itemRequest, message) {
|
|
3
|
-
throw
|
|
4
|
+
throw new MigrationToolkitError("exportFailedForItem", `Export failed for item '${chalk.yellow(itemRequest.itemCodename)}' in language '${chalk.cyan(itemRequest.languageCodename)}'. Reason: ${message}`);
|
|
4
5
|
}
|
|
5
6
|
//# sourceMappingURL=export.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.utils.js","sourceRoot":"","sources":["../../../lib/export/utils/export.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"export.utils.js","sourceRoot":"","sources":["../../../lib/export/utils/export.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,MAAM,UAAU,wBAAwB,CAAC,WAA6B,EAAE,OAAe;IACtF,MAAM,IAAI,qBAAqB,CAC9B,qBAAqB,EACrB,2BAA2B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAC5F,WAAW,CAAC,gBAAgB,CAC5B,cAAc,OAAO,EAAE,CACxB,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Buffer as BufferProxy } from
|
|
2
|
-
import type { Logger } from
|
|
1
|
+
import type { Buffer as BufferProxy } from "buffer";
|
|
2
|
+
import type { Logger } from "../core/models/log.models.js";
|
|
3
3
|
export declare function fileManager(logger: Logger): {
|
|
4
4
|
loadFileAsync: (filename: string) => Promise<BufferProxy>;
|
|
5
5
|
writeFileAsync: (fileNameWithoutExtension: string, content: string | BufferProxy) => Promise<void>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { promises } from "node:fs";
|
|
2
|
+
import chalk from "chalk";
|
|
3
3
|
export function fileManager(logger) {
|
|
4
4
|
const getFilePath = (filename) => {
|
|
5
5
|
return `./${filename}`;
|
|
@@ -7,8 +7,8 @@ export function fileManager(logger) {
|
|
|
7
7
|
const loadFileAsync = async (filename) => {
|
|
8
8
|
const filePath = getFilePath(filename);
|
|
9
9
|
logger.log({
|
|
10
|
-
type:
|
|
11
|
-
message: `Reading file '${chalk.yellow(filePath)}'
|
|
10
|
+
type: "readFs",
|
|
11
|
+
message: `Reading file '${chalk.yellow(filePath)}'`,
|
|
12
12
|
});
|
|
13
13
|
const file = await promises.readFile(filePath);
|
|
14
14
|
return file;
|
|
@@ -16,14 +16,14 @@ export function fileManager(logger) {
|
|
|
16
16
|
const writeFileAsync = async (fileNameWithoutExtension, content) => {
|
|
17
17
|
const filePath = getFilePath(fileNameWithoutExtension);
|
|
18
18
|
logger.log({
|
|
19
|
-
type:
|
|
20
|
-
message: `Storing file '${chalk.yellow(filePath)}'
|
|
19
|
+
type: "writeFs",
|
|
20
|
+
message: `Storing file '${chalk.yellow(filePath)}'`,
|
|
21
21
|
});
|
|
22
22
|
await promises.writeFile(filePath, content);
|
|
23
23
|
};
|
|
24
24
|
return {
|
|
25
25
|
loadFileAsync,
|
|
26
|
-
writeFileAsync
|
|
26
|
+
writeFileAsync,
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
//# sourceMappingURL=file-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../lib/file/file-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../lib/file/file-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,UAAU,WAAW,CAAC,MAAc;IACzC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE;QAChD,OAAO,KAAK,QAAQ,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,QAAgB,EAAwB,EAAE;QACtE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,CAAC,GAAG,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iBAAiB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;SACnD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,EAAE,wBAAgC,EAAE,OAA6B,EAAiB,EAAE;QAC/G,MAAM,QAAQ,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAEvD,MAAM,CAAC,GAAG,CAAC;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,iBAAiB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;SACnD,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,OAAO;QACN,aAAa;QACb,cAAc;KACd,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AssetFolderModels, AssetModels, CollectionModels, LanguageModels } from
|
|
2
|
-
import type { MigrationAsset } from
|
|
1
|
+
import type { AssetFolderModels, AssetModels, CollectionModels, LanguageModels } from "@kontent-ai/management-sdk";
|
|
2
|
+
import type { MigrationAsset } from "../../core/models/migration.models.js";
|
|
3
3
|
export declare function shouldUpdateAsset(data: {
|
|
4
4
|
readonly migrationAsset: MigrationAsset;
|
|
5
5
|
readonly targetAsset: Readonly<AssetModels.Asset>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import deepEqual from
|
|
2
|
-
import { findRequired
|
|
1
|
+
import deepEqual from "deep-equal";
|
|
2
|
+
import { findRequired } from "../../core/utils/array.utils.js";
|
|
3
|
+
import { geSizeInBytes } from "../../core/utils/binary-data.utils.js";
|
|
3
4
|
export function shouldUpdateAsset(data) {
|
|
4
|
-
return (
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
return !(isInSameCollection(data) &&
|
|
6
|
+
areDescriptionsIdentical(data) &&
|
|
7
|
+
isTitleIdentical(data) &&
|
|
8
|
+
isFolderIdentical(data) &&
|
|
9
|
+
isBinaryFileIdentical(data));
|
|
9
10
|
}
|
|
10
11
|
export function shouldReplaceBinaryFile(data) {
|
|
11
12
|
return !isBinaryFileIdentical(data);
|
|
@@ -35,8 +36,8 @@ function areDescriptionsIdentical(data) {
|
|
|
35
36
|
return {
|
|
36
37
|
description: description.description?.length ? description.description : undefined,
|
|
37
38
|
language: {
|
|
38
|
-
codename: description.language.codename
|
|
39
|
-
}
|
|
39
|
+
codename: description.language.codename,
|
|
40
|
+
},
|
|
40
41
|
};
|
|
41
42
|
})
|
|
42
43
|
.toSorted();
|
|
@@ -49,8 +50,8 @@ function mapToMigrationDescriptions(data) {
|
|
|
49
50
|
return {
|
|
50
51
|
description: description.description?.length ? description.description : undefined,
|
|
51
52
|
language: {
|
|
52
|
-
codename: findRequired(data.languages, (language) => language.id === languageId, `Could not find language with id '${languageId}'`).codename
|
|
53
|
-
}
|
|
53
|
+
codename: findRequired(data.languages, (language) => language.id === languageId, `Could not find language with id '${languageId}'`).codename,
|
|
54
|
+
},
|
|
54
55
|
};
|
|
55
56
|
});
|
|
56
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-comparer.js","sourceRoot":"","sources":["../../../lib/import/comparers/asset-comparer.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"asset-comparer.js","sourceRoot":"","sources":["../../../lib/import/comparers/asset-comparer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ImportContext, ImportContextConfig } from
|
|
1
|
+
import type { ImportContext, ImportContextConfig } from "../import.models.js";
|
|
2
2
|
export declare function importContextFetcherAsync(config: ImportContextConfig): Promise<{
|
|
3
3
|
getImportContextAsync: () => Promise<ImportContext>;
|
|
4
4
|
}>;
|