@kontent-ai/migration-toolkit 3.0.1 → 3.1.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/dist/core/logs/loggers.js.map +1 -1
- package/dist/core/models/core.models.d.ts +28 -28
- package/dist/core/models/error.models.js +2 -2
- package/dist/core/models/error.models.js.map +1 -1
- package/dist/core/models/log.models.d.ts +6 -6
- package/dist/core/models/migration.schema.d.ts +2 -2
- package/dist/core/utils/array.utils.d.ts +1 -2
- package/dist/core/utils/array.utils.js.map +1 -1
- package/dist/core/utils/confirm.utils.d.ts +9 -2
- package/dist/core/utils/confirm.utils.js +42 -4
- package/dist/core/utils/confirm.utils.js.map +1 -1
- package/dist/core/utils/error.utils.js +6 -0
- package/dist/core/utils/error.utils.js.map +1 -1
- package/dist/core/utils/external-id.utils.d.ts +2 -2
- package/dist/core/utils/global.utils.d.ts +1 -1
- package/dist/core/utils/global.utils.js.map +1 -1
- package/dist/core/utils/http.utils.d.ts +1 -2
- package/dist/core/utils/http.utils.js.map +1 -1
- package/dist/core/utils/management-client-utils.d.ts +3 -3
- package/dist/core/utils/management-client-utils.js +1 -1
- package/dist/core/utils/management-client-utils.js.map +1 -1
- package/dist/core/utils/processing-utils.js +2 -2
- package/dist/core/utils/processing-utils.js.map +1 -1
- package/dist/export/export.models.d.ts +18 -18
- package/dist/import/comparers/asset-comparer.js +5 -2
- package/dist/import/comparers/asset-comparer.js.map +1 -1
- package/dist/import/context/import-context-fetcher.js.map +1 -1
- package/dist/import/import.models.d.ts +14 -14
- package/dist/import/importers/workflow-importer.d.ts +1 -1
- package/dist/import/importers/workflow-importer.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/node/cli/actions/export-action.js +13 -14
- package/dist/node/cli/actions/export-action.js.map +1 -1
- package/dist/node/cli/actions/import-action.js +13 -4
- package/dist/node/cli/actions/import-action.js.map +1 -1
- package/dist/node/cli/actions/migrate-action.js +1 -1
- package/dist/node/cli/actions/migrate-action.js.map +1 -1
- package/dist/node/cli/cli.models.d.ts +4 -4
- package/dist/toolkit/file.d.ts +4 -4
- package/dist/toolkit/migrate.d.ts +6 -6
- package/dist/translation/extraction/items-extraction.processor.d.ts +8 -8
- package/dist/translation/transforms/import-transforms.js.map +1 -1
- package/lib/core/logs/loggers.ts +1 -2
- package/lib/core/models/core.models.ts +28 -28
- package/lib/core/models/error.models.ts +2 -2
- package/lib/core/models/log.models.ts +6 -6
- package/lib/core/models/migration.schema.ts +2 -2
- package/lib/core/utils/array.utils.ts +0 -2
- package/lib/core/utils/confirm.utils.ts +70 -5
- package/lib/core/utils/error.utils.ts +6 -0
- package/lib/core/utils/external-id.utils.ts +2 -2
- package/lib/core/utils/global.utils.ts +1 -2
- package/lib/core/utils/http.utils.ts +1 -2
- package/lib/core/utils/management-client-utils.ts +13 -13
- package/lib/core/utils/processing-utils.ts +3 -3
- package/lib/export/export.models.ts +18 -18
- package/lib/import/comparers/asset-comparer.ts +6 -2
- package/lib/import/context/import-context-fetcher.ts +3 -4
- package/lib/import/import.models.ts +14 -14
- package/lib/import/importers/workflow-importer.ts +1 -2
- package/lib/index.ts +2 -1
- package/lib/metadata.ts +2 -2
- package/lib/node/cli/actions/export-action.ts +14 -14
- package/lib/node/cli/actions/import-action.ts +15 -6
- package/lib/node/cli/actions/migrate-action.ts +1 -1
- package/lib/node/cli/cli.models.ts +4 -4
- package/lib/toolkit/file.ts +4 -4
- package/lib/toolkit/migrate.ts +6 -6
- package/lib/translation/extraction/items-extraction.processor.ts +8 -8
- package/lib/translation/transforms/import-transforms.ts +1 -2
- package/package.json +20 -27
|
@@ -29,20 +29,20 @@ import type {
|
|
|
29
29
|
import type { ExternalIdGenerator } from "../core/utils/external-id.utils.js";
|
|
30
30
|
import type { ManagementClientConfig } from "../core/utils/management-client-utils.js";
|
|
31
31
|
|
|
32
|
-
export
|
|
32
|
+
export type ImportContextConfig = {
|
|
33
33
|
readonly logger: Logger;
|
|
34
34
|
readonly managementClient: Readonly<ManagementClient>;
|
|
35
35
|
readonly externalIdGenerator: ExternalIdGenerator;
|
|
36
36
|
readonly migrationData: MigrationData;
|
|
37
|
-
}
|
|
37
|
+
};
|
|
38
38
|
|
|
39
|
-
export
|
|
39
|
+
export type ImportContextEnvironmentData = {
|
|
40
40
|
readonly languages: readonly Readonly<LanguageModels.LanguageModel>[];
|
|
41
41
|
readonly assetFolders: readonly Readonly<AssetFolderModels.AssetFolder>[];
|
|
42
42
|
readonly collections: readonly Readonly<CollectionModels.Collection>[];
|
|
43
43
|
readonly workflows: readonly Readonly<WorkflowModels.Workflow>[];
|
|
44
44
|
readonly types: readonly Readonly<FlattenedContentType>[];
|
|
45
|
-
}
|
|
45
|
+
};
|
|
46
46
|
|
|
47
47
|
export type GetFlattenedElementByCodenames = (
|
|
48
48
|
contentTypeCodename: string,
|
|
@@ -50,12 +50,12 @@ export type GetFlattenedElementByCodenames = (
|
|
|
50
50
|
expectedElementType: MigrationElementType,
|
|
51
51
|
) => FlattenedContentTypeElement;
|
|
52
52
|
|
|
53
|
-
export
|
|
53
|
+
export type CategorizedImportData = {
|
|
54
54
|
readonly assets: readonly MigrationAsset[];
|
|
55
55
|
readonly contentItems: readonly MigrationItem[];
|
|
56
|
-
}
|
|
56
|
+
};
|
|
57
57
|
|
|
58
|
-
export
|
|
58
|
+
export type ImportContext = {
|
|
59
59
|
readonly categorizedImportData: CategorizedImportData;
|
|
60
60
|
readonly referencedData: ReferencedDataInMigrationItems;
|
|
61
61
|
readonly environmentData: ImportContextEnvironmentData;
|
|
@@ -66,7 +66,7 @@ export interface ImportContext {
|
|
|
66
66
|
) => LanguageVariantStateInTargetEnvironmentByCodename;
|
|
67
67
|
readonly getAssetStateInTargetEnvironment: (assetCodename: string) => AssetStateInTargetEnvironmentByCodename;
|
|
68
68
|
readonly getElement: GetFlattenedElementByCodenames;
|
|
69
|
-
}
|
|
69
|
+
};
|
|
70
70
|
|
|
71
71
|
export type ImportTransformFunc = (data: {
|
|
72
72
|
readonly elementData: MigrationElementTransformData;
|
|
@@ -75,18 +75,18 @@ export type ImportTransformFunc = (data: {
|
|
|
75
75
|
readonly migrationItems: readonly MigrationItem[];
|
|
76
76
|
}) => LanguageVariantElements.ILanguageVariantElementBase;
|
|
77
77
|
|
|
78
|
-
export
|
|
78
|
+
export type ImportConfig = ManagementClientConfig & {
|
|
79
79
|
readonly data: MigrationData;
|
|
80
80
|
readonly externalIdGenerator?: ExternalIdGenerator;
|
|
81
81
|
readonly createReportFile?: boolean;
|
|
82
82
|
readonly logger?: Logger;
|
|
83
|
-
}
|
|
83
|
+
};
|
|
84
84
|
|
|
85
|
-
export
|
|
85
|
+
export type AssetToEdit = {
|
|
86
86
|
readonly migrationAsset: MigrationAsset;
|
|
87
87
|
readonly targetAsset: Readonly<AssetModels.Asset>;
|
|
88
88
|
readonly replaceBinaryFile: boolean;
|
|
89
|
-
}
|
|
89
|
+
};
|
|
90
90
|
|
|
91
91
|
export type ImportedItem = ItemProcessingResult<MigrationItem, Readonly<ContentItemModels.ContentItem>>;
|
|
92
92
|
export type ImportedLanguageVariant = ItemProcessingResult<
|
|
@@ -96,9 +96,9 @@ export type ImportedLanguageVariant = ItemProcessingResult<
|
|
|
96
96
|
export type EditedAsset = ItemProcessingResult<AssetToEdit, Readonly<AssetModels.Asset>>;
|
|
97
97
|
export type ImportedAsset = ItemProcessingResult<MigrationAsset, Readonly<AssetModels.Asset>>;
|
|
98
98
|
|
|
99
|
-
export
|
|
99
|
+
export type ImportResult = {
|
|
100
100
|
readonly uploadedAssets: readonly ImportedAsset[];
|
|
101
101
|
readonly editedAssets: readonly EditedAsset[];
|
|
102
102
|
readonly contentItems: readonly ImportedItem[];
|
|
103
103
|
readonly languageVariants: readonly ImportedLanguageVariant[];
|
|
104
|
-
}
|
|
104
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { SharedModels } from "@kontent-ai/management-sdk";
|
|
1
|
+
import { type LanguageVariantModels, type ManagementClient, SharedModels, type WorkflowModels } from "@kontent-ai/management-sdk";
|
|
3
2
|
import { match } from "ts-pattern";
|
|
4
3
|
import { type ShortestPathResult, type WorkflowStep, workflowHelper as workflowHelperInit } from "../../core/helpers/workflow-helper.js";
|
|
5
4
|
import type { Logger, LogSpinnerData } from "../../core/models/log.models.js";
|
package/lib/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// biome-ignore lint/performance/noBarrelFile:
|
|
1
|
+
// biome-ignore lint/performance/noBarrelFile: Ok for Public API
|
|
2
2
|
export { getDefaultLogger } from "./core/logs/loggers.js";
|
|
3
3
|
export { MigrationToolkitError, MissingAssetError, MissingItemError } from "./core/models/error.models.js";
|
|
4
4
|
export type { Logger, LogMessage, LogSpinnerData, LogSpinnerMessage } from "./core/models/log.models.js";
|
|
@@ -10,3 +10,4 @@ export { exportAsync } from "./toolkit/export.js";
|
|
|
10
10
|
export { extractAsync, storeAsync } from "./toolkit/file.js";
|
|
11
11
|
export { importAsync } from "./toolkit/import.js";
|
|
12
12
|
export { migrateAsync } from "./toolkit/migrate.js";
|
|
13
|
+
export type { FileBinaryData } from "./zip/zip.models.js";
|
package/lib/metadata.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getDefaultLogger } from "../../../core/logs/loggers.js";
|
|
2
2
|
import { confirmExportAsync } from "../../../core/utils/confirm.utils.js";
|
|
3
3
|
import { defaultZipFilename } from "../../../core/utils/global.utils.js";
|
|
4
|
+
import type { SourceExportItem } from "../../../export/export.models.js";
|
|
4
5
|
import { exportAsync } from "../../../toolkit/export.js";
|
|
5
6
|
import { storeAsync } from "../../../toolkit/file.js";
|
|
6
7
|
import type { CliArgumentsFetcher } from "../cli.models.js";
|
|
@@ -15,30 +16,29 @@ export async function exportActionAsync(cliFetcher: CliArgumentsFetcher): Promis
|
|
|
15
16
|
const force = cliFetcher.getBooleanArgumentValue("force", false);
|
|
16
17
|
const skipMissingReferences = cliFetcher.getBooleanArgumentValue("skipMissingReferences", false);
|
|
17
18
|
const filename = cliFetcher.getOptionalArgumentValue("filename") ?? defaultZipFilename;
|
|
19
|
+
const exportItems: readonly SourceExportItem[] = items.map((item) => {
|
|
20
|
+
return {
|
|
21
|
+
itemCodename: item,
|
|
22
|
+
languageCodename: language,
|
|
23
|
+
};
|
|
24
|
+
});
|
|
18
25
|
|
|
19
26
|
await confirmExportAsync({
|
|
20
27
|
force,
|
|
21
28
|
apiKey,
|
|
22
29
|
environmentId,
|
|
23
30
|
logger,
|
|
24
|
-
dataToExport: {
|
|
25
|
-
itemsCount: items.length,
|
|
26
|
-
},
|
|
31
|
+
dataToExport: { exportItems },
|
|
27
32
|
skipMissingReferences,
|
|
28
33
|
});
|
|
29
34
|
|
|
30
35
|
const exportedData = await exportAsync({
|
|
31
|
-
logger,
|
|
32
|
-
environmentId,
|
|
33
|
-
apiKey,
|
|
34
|
-
baseUrl,
|
|
35
|
-
exportItems:
|
|
36
|
-
|
|
37
|
-
itemCodename: m,
|
|
38
|
-
languageCodename: language,
|
|
39
|
-
};
|
|
40
|
-
}),
|
|
41
|
-
skipMissingReferences,
|
|
36
|
+
logger: logger,
|
|
37
|
+
environmentId: environmentId,
|
|
38
|
+
apiKey: apiKey,
|
|
39
|
+
baseUrl: baseUrl,
|
|
40
|
+
exportItems: exportItems,
|
|
41
|
+
skipMissingReferences: skipMissingReferences,
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
await storeAsync({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getDefaultLogger } from "../../../core/logs/loggers.js";
|
|
2
|
-
import { confirmImportAsync } from "../../../core/utils/confirm.utils.js";
|
|
2
|
+
import { confirmImportAsync, type ItemPreview } from "../../../core/utils/confirm.utils.js";
|
|
3
3
|
import { defaultZipFilename } from "../../../core/utils/global.utils.js";
|
|
4
4
|
import { extractAsync } from "../../../toolkit/file.js";
|
|
5
5
|
import { importAsync } from "../../../toolkit/import.js";
|
|
@@ -14,16 +14,25 @@ export async function importActionAsync(argsFetcher: CliArgumentsFetcher): Promi
|
|
|
14
14
|
const force = argsFetcher.getBooleanArgumentValue("force", false);
|
|
15
15
|
const filename = argsFetcher.getOptionalArgumentValue("filename") ?? defaultZipFilename;
|
|
16
16
|
|
|
17
|
+
const importData = await extractAsync({
|
|
18
|
+
logger: log,
|
|
19
|
+
filename: filename,
|
|
20
|
+
});
|
|
21
|
+
const importItems: readonly ItemPreview[] = importData.items.map((item) => {
|
|
22
|
+
return {
|
|
23
|
+
itemCodename: item.system.codename,
|
|
24
|
+
languageCodename: item.system.language.codename,
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
|
|
17
28
|
await confirmImportAsync({
|
|
18
29
|
force: force,
|
|
19
30
|
apiKey: apiKey,
|
|
20
31
|
environmentId: environmentId,
|
|
21
32
|
logger: log,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
logger: log,
|
|
26
|
-
filename: filename,
|
|
33
|
+
dataToImport: {
|
|
34
|
+
importItems: importItems,
|
|
35
|
+
},
|
|
27
36
|
});
|
|
28
37
|
|
|
29
38
|
await importAsync({
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { CliAction } from "../../core/models/core.models.js";
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export type Command = {
|
|
4
4
|
readonly name: string;
|
|
5
5
|
readonly description: string;
|
|
6
6
|
readonly options: readonly CommandOption[];
|
|
7
7
|
readonly examples: string[];
|
|
8
|
-
}
|
|
8
|
+
};
|
|
9
9
|
|
|
10
|
-
export
|
|
10
|
+
export type CommandOption = {
|
|
11
11
|
readonly name: string;
|
|
12
12
|
readonly isRequired: boolean;
|
|
13
13
|
readonly alias?: string;
|
|
14
14
|
readonly description?: string;
|
|
15
15
|
readonly type?: "boolean" | "number" | "string";
|
|
16
|
-
}
|
|
16
|
+
};
|
|
17
17
|
|
|
18
18
|
export type CliArgumentsSetter = {
|
|
19
19
|
withCommand(command: Command): CliArgumentsSetter;
|
package/lib/toolkit/file.ts
CHANGED
|
@@ -8,16 +8,16 @@ import { fileManager } from "../file/file-manager.js";
|
|
|
8
8
|
import { libMetadata } from "../metadata.js";
|
|
9
9
|
import { zipManager } from "../zip/zip-manager.js";
|
|
10
10
|
|
|
11
|
-
export
|
|
11
|
+
export type StoreConfig = {
|
|
12
12
|
readonly data: MigrationData;
|
|
13
13
|
readonly filename?: string;
|
|
14
14
|
readonly logger?: Logger;
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
16
|
|
|
17
|
-
export
|
|
17
|
+
export type ExtractConfig = {
|
|
18
18
|
readonly filename?: string;
|
|
19
19
|
readonly logger?: Logger;
|
|
20
|
-
}
|
|
20
|
+
};
|
|
21
21
|
|
|
22
22
|
export async function storeAsync(config: StoreConfig): Promise<void> {
|
|
23
23
|
const logger = config.logger ?? getDefaultLogger();
|
package/lib/toolkit/migrate.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { libMetadata } from "../metadata.js";
|
|
|
11
11
|
import { exportAsync } from "./export.js";
|
|
12
12
|
import { importAsync } from "./import.js";
|
|
13
13
|
|
|
14
|
-
export
|
|
14
|
+
export type MigrationSource = ManagementClientConfig & {
|
|
15
15
|
readonly items: readonly SourceExportItem[];
|
|
16
16
|
/**
|
|
17
17
|
* When enabled, the export process will skip missing items and assets instead of throwing errors.
|
|
@@ -19,20 +19,20 @@ export interface MigrationSource extends ManagementClientConfig {
|
|
|
19
19
|
* Default: false
|
|
20
20
|
*/
|
|
21
21
|
readonly skipMissingReferences?: boolean;
|
|
22
|
-
}
|
|
22
|
+
};
|
|
23
23
|
|
|
24
|
-
export
|
|
24
|
+
export type MigrationConfig = {
|
|
25
25
|
readonly retryStrategy?: IRetryStrategyOptions;
|
|
26
26
|
readonly externalIdGenerator?: ExternalIdGenerator;
|
|
27
27
|
readonly logger?: Logger;
|
|
28
28
|
readonly sourceEnvironment: MigrationSource;
|
|
29
29
|
readonly targetEnvironment: ManagementClientConfig;
|
|
30
|
-
}
|
|
30
|
+
};
|
|
31
31
|
|
|
32
|
-
export
|
|
32
|
+
export type MigrationResult = {
|
|
33
33
|
readonly migrationData: MigrationData;
|
|
34
34
|
readonly importResult: ImportResult;
|
|
35
|
-
}
|
|
35
|
+
};
|
|
36
36
|
|
|
37
37
|
export async function migrateAsync(config: MigrationConfig): Promise<MigrationResult> {
|
|
38
38
|
const logger = config.logger ?? getDefaultLogger();
|
|
@@ -9,25 +9,25 @@ import type { GetFlattenedElementByIds } from "../../export/export.models.js";
|
|
|
9
9
|
import type { GetFlattenedElementByCodenames } from "../../import/import.models.js";
|
|
10
10
|
import { richTextProcessor } from "../helpers/rich-text.processor.js";
|
|
11
11
|
|
|
12
|
-
export
|
|
12
|
+
export type ExtractItemById = {
|
|
13
13
|
readonly elements: readonly Readonly<ElementModels.ContentItemElement>[];
|
|
14
14
|
readonly contentTypeId: string;
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
16
|
|
|
17
|
-
export
|
|
17
|
+
export type ExtractItemByCodename = {
|
|
18
18
|
readonly elements: MigrationElements;
|
|
19
19
|
readonly contentTypeCodename: string;
|
|
20
|
-
}
|
|
20
|
+
};
|
|
21
21
|
|
|
22
|
-
export
|
|
22
|
+
export type ReferencedDataInMigrationItemsLocal = {
|
|
23
23
|
readonly itemCodenames: Set<string>;
|
|
24
24
|
readonly assetCodenames: Set<string>;
|
|
25
|
-
}
|
|
25
|
+
};
|
|
26
26
|
|
|
27
|
-
export
|
|
27
|
+
export type ReferencedDataInLanguageVariantsLocal = {
|
|
28
28
|
readonly itemIds: Set<string>;
|
|
29
29
|
readonly assetIds: Set<string>;
|
|
30
|
-
}
|
|
30
|
+
};
|
|
31
31
|
|
|
32
32
|
export function itemsExtractionProcessor() {
|
|
33
33
|
const extractReferencedDataFromExtractItems = (
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { LanguageVariantElementsBuilder } from "@kontent-ai/management-sdk";
|
|
1
|
+
import { type LanguageVariantElements, LanguageVariantElementsBuilder, type SharedContracts } from "@kontent-ai/management-sdk";
|
|
3
2
|
import type { MigrationElementTransformData, MigrationElementType, MigrationItem } from "../../core/models/migration.models.js";
|
|
4
3
|
import { parseAsMigrationReferencesArray } from "../../core/utils/array.utils.js";
|
|
5
4
|
import { isString } from "../../core/utils/global.utils.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kontent-ai/migration-toolkit",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "This program can be used to import content related data into Kontent.ai from various sources. The included functionality enables the content & asset export/import from Kontent.ai environments.",
|
|
5
5
|
"preferGlobal": true,
|
|
6
6
|
"private": false,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
12
|
-
"url": "https://github.com/
|
|
12
|
+
"url": "https://github.com/kontent-ai/migration-toolkit"
|
|
13
13
|
},
|
|
14
14
|
"engines": {
|
|
15
15
|
"node": ">=20"
|
|
@@ -19,31 +19,25 @@
|
|
|
19
19
|
"types": "./dist/index.d.ts",
|
|
20
20
|
"type": "module",
|
|
21
21
|
"scripts": {
|
|
22
|
+
"prepublishOnly": "npm run build",
|
|
23
|
+
"build": "npm run lint && npm run clean && tsc --p tsconfig.build.json && npm run update:version",
|
|
24
|
+
"lint": "npm run biome:check && npm run eslint",
|
|
22
25
|
"test": "npm run test:unit",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
26
|
+
"test:unit": "vitest run --config=vitest-unit.config.ts",
|
|
27
|
+
"test:integration": "vitest run --config=vitest-integration.config.ts",
|
|
28
|
+
"eslint": "eslint lib samples scripts tests",
|
|
29
|
+
"eslint:fix": "eslint lib samples scripts tests --fix",
|
|
30
|
+
"biome:check": "biome check",
|
|
31
|
+
"biome:fix": "biome check --write",
|
|
32
|
+
"biome:fix:unsafe": "biome check --write --unsafe",
|
|
33
|
+
"clean": "tsx scripts/clean.ts",
|
|
34
|
+
"update:version": "tsx ./scripts/version/update-version.ts && npm run biome:fix",
|
|
30
35
|
"test:migrate": "cd scripts/test && tsx test-migrate.ts",
|
|
31
36
|
"test:import": "cd scripts/test && tsx test-import.ts",
|
|
32
37
|
"test:export": "cd scripts/test && tsx test-export.ts",
|
|
33
38
|
"test:export:cli": "tsx lib/node/cli/app export --language=x --items=x --sourceEnvironmentId=x --sourceApiKey=x",
|
|
34
39
|
"test:help": "tsx lib/node/cli/app --help",
|
|
35
|
-
"test:help:command": "tsx lib/node/cli/app migrate --help"
|
|
36
|
-
"test:unit": "vitest run --config=vitest.config.js",
|
|
37
|
-
"lint": "npm run biome:check && npm run eslint",
|
|
38
|
-
"lint:fix": "npm run biome:fix && npm run eslint:fix",
|
|
39
|
-
"clean": "tsx scripts/clean.ts",
|
|
40
|
-
"push:tags": "git push --tags",
|
|
41
|
-
"update:version": "tsx ./scripts/version/update-version.ts",
|
|
42
|
-
"biome:check": "biome check",
|
|
43
|
-
"biome:fix": "biome check --write",
|
|
44
|
-
"biome:fix:unsafe": "biome check --write --unsafe",
|
|
45
|
-
"eslint": "eslint lib samples scripts tests",
|
|
46
|
-
"eslint:fix": "eslint lib samples scripts tests --fix"
|
|
40
|
+
"test:help:command": "tsx lib/node/cli/app migrate --help"
|
|
47
41
|
},
|
|
48
42
|
"keywords": [
|
|
49
43
|
"Kontent.ai",
|
|
@@ -73,21 +67,20 @@
|
|
|
73
67
|
"zod": "4.3.6"
|
|
74
68
|
},
|
|
75
69
|
"devDependencies": {
|
|
76
|
-
"@
|
|
77
|
-
"@kontent-ai/
|
|
78
|
-
"@
|
|
70
|
+
"@kontent-ai/biome-config": "0.7.0",
|
|
71
|
+
"@kontent-ai/eslint-config": "2.3.0",
|
|
72
|
+
"@biomejs/biome": "2.4.0",
|
|
73
|
+
"@eslint/js": "10.0.1",
|
|
79
74
|
"@types/browser-or-node": "1.3.2",
|
|
80
75
|
"@types/bytes": "3.1.5",
|
|
81
76
|
"@types/deep-equal": "1.0.4",
|
|
82
77
|
"@types/node": "25.2.3",
|
|
83
78
|
"@types/prompts": "2.4.9",
|
|
84
79
|
"@types/yargs": "17.0.35",
|
|
85
|
-
"eslint": "
|
|
86
|
-
"standard-version": "9.5.0",
|
|
80
|
+
"eslint": "10.0.0",
|
|
87
81
|
"tslib": "2.8.1",
|
|
88
82
|
"tsx": "4.21.0",
|
|
89
83
|
"typescript": "5.9.3",
|
|
90
|
-
"typescript-eslint": "8.48.0",
|
|
91
84
|
"vitest": "4.0.18"
|
|
92
85
|
}
|
|
93
86
|
}
|