@salesforce/plugin-omnistudio-migration-tool 2.0.0-rc.2 → 2.0.0-rc.20
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 +14 -26
- package/lib/commands/omnistudio/migration/assess.d.ts +0 -1
- package/lib/commands/omnistudio/migration/assess.js +64 -30
- package/lib/commands/omnistudio/migration/assess.js.map +1 -1
- package/lib/commands/omnistudio/migration/info.js +2 -3
- package/lib/commands/omnistudio/migration/info.js.map +1 -1
- package/lib/commands/omnistudio/migration/migrate.d.ts +35 -5
- package/lib/commands/omnistudio/migration/migrate.js +250 -102
- package/lib/commands/omnistudio/migration/migrate.js.map +1 -1
- package/lib/javascripts/reportGeneratorUtility.js +1 -3
- package/lib/migration/NameMappingRegistry.d.ts +130 -0
- package/lib/migration/NameMappingRegistry.js +376 -0
- package/lib/migration/NameMappingRegistry.js.map +1 -0
- package/lib/migration/base.d.ts +4 -2
- package/lib/migration/base.js +8 -1
- package/lib/migration/base.js.map +1 -1
- package/lib/migration/dataraptor.js +32 -13
- package/lib/migration/dataraptor.js.map +1 -1
- package/lib/migration/deployer.d.ts +11 -0
- package/lib/migration/deployer.js +59 -0
- package/lib/migration/deployer.js.map +1 -0
- package/lib/migration/flexcard.d.ts +44 -2
- package/lib/migration/flexcard.js +680 -112
- package/lib/migration/flexcard.js.map +1 -1
- package/lib/migration/globalautonumber.js +43 -53
- package/lib/migration/globalautonumber.js.map +1 -1
- package/lib/migration/interfaces.d.ts +5 -0
- package/lib/migration/interfaces.js +7 -0
- package/lib/migration/interfaces.js.map +1 -1
- package/lib/migration/omniscript.d.ts +10 -1
- package/lib/migration/omniscript.js +399 -78
- package/lib/migration/omniscript.js.map +1 -1
- package/lib/migration/postMigrate.d.ts +22 -3
- package/lib/migration/postMigrate.js +146 -12
- package/lib/migration/postMigrate.js.map +1 -1
- package/lib/migration/premigrate.d.ts +16 -0
- package/lib/migration/premigrate.js +114 -0
- package/lib/migration/premigrate.js.map +1 -0
- package/lib/migration/related/ApexMigration.js +23 -15
- package/lib/migration/related/ApexMigration.js.map +1 -1
- package/lib/migration/related/ExperienceSiteMigration.d.ts +12 -4
- package/lib/migration/related/ExperienceSiteMigration.js +121 -53
- package/lib/migration/related/ExperienceSiteMigration.js.map +1 -1
- package/lib/migration/related/FlexipageMigration.js +2 -7
- package/lib/migration/related/FlexipageMigration.js.map +1 -1
- package/lib/migration/related/LwcMigration.js +13 -13
- package/lib/migration/related/LwcMigration.js.map +1 -1
- package/lib/migration/related/OmnistudioRelatedObjectMigrationFacade.js +23 -29
- package/lib/migration/related/OmnistudioRelatedObjectMigrationFacade.js.map +1 -1
- package/lib/styles/reportGenerator.css +10 -11
- package/lib/templates/assessmentReport.template +29 -17
- package/lib/templates/dashboard.template +7 -2
- package/lib/templates/migrationReport.template +14 -12
- package/lib/utils/OmnistudioSettingsPrefManager.d.ts +12 -0
- package/lib/utils/OmnistudioSettingsPrefManager.js +82 -0
- package/lib/utils/OmnistudioSettingsPrefManager.js.map +1 -0
- package/lib/utils/constants/documentRegistry.d.ts +1 -1
- package/lib/utils/constants/documentRegistry.js +3 -3
- package/lib/utils/constants/documentRegistry.js.map +1 -1
- package/lib/utils/constants/stringContants.d.ts +2 -0
- package/lib/utils/constants/stringContants.js +3 -1
- package/lib/utils/constants/stringContants.js.map +1 -1
- package/lib/utils/file/fileUtil.d.ts +3 -1
- package/lib/utils/file/fileUtil.js +13 -4
- package/lib/utils/file/fileUtil.js.map +1 -1
- package/lib/utils/flexipage/flexiPageTransformer.js +12 -8
- package/lib/utils/flexipage/flexiPageTransformer.js.map +1 -1
- package/lib/utils/generatePackageXml.d.ts +4 -2
- package/lib/utils/generatePackageXml.js +20 -22
- package/lib/utils/generatePackageXml.js.map +1 -1
- package/lib/utils/interfaces.d.ts +29 -0
- package/lib/utils/logger.d.ts +1 -1
- package/lib/utils/logger.js +7 -2
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/lwcparser/fileutils/FileDiffUtil.js +78 -61
- package/lib/utils/lwcparser/fileutils/FileDiffUtil.js.map +1 -1
- package/lib/utils/lwcparser/jsParser/JavaScriptParser.js +1 -1
- package/lib/utils/lwcparser/jsParser/JavaScriptParser.js.map +1 -1
- package/lib/utils/lwcparser/xmlParser/XmlParser.js +1 -1
- package/lib/utils/lwcparser/xmlParser/XmlParser.js.map +1 -1
- package/lib/utils/orgPreferences.d.ts +1 -0
- package/lib/utils/orgPreferences.js +9 -6
- package/lib/utils/orgPreferences.js.map +1 -1
- package/lib/utils/orgUtils/index.d.ts +1 -1
- package/lib/utils/orgUtils/index.js +4 -14
- package/lib/utils/orgUtils/index.js.map +1 -1
- package/lib/utils/promptUtil.d.ts +2 -0
- package/lib/utils/promptUtil.js +26 -1
- package/lib/utils/promptUtil.js.map +1 -1
- package/lib/utils/reportGenerator/reportInterfaces.d.ts +2 -0
- package/lib/utils/resultsbuilder/ApexAssessmentReporter.js +27 -10
- package/lib/utils/resultsbuilder/ApexAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/DRAssessmentReporter.js +27 -11
- package/lib/utils/resultsbuilder/DRAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/ExperienceSiteAssessmentReporter.d.ts +12 -0
- package/lib/utils/resultsbuilder/ExperienceSiteAssessmentReporter.js +93 -0
- package/lib/utils/resultsbuilder/ExperienceSiteAssessmentReporter.js.map +1 -0
- package/lib/utils/resultsbuilder/FlexcardAssessmentReporter.js +35 -13
- package/lib/utils/resultsbuilder/FlexcardAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/FlexipageAssessmentReporter.d.ts +1 -0
- package/lib/utils/resultsbuilder/FlexipageAssessmentReporter.js +3 -2
- package/lib/utils/resultsbuilder/FlexipageAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/IPAssessmentReporter.js +31 -12
- package/lib/utils/resultsbuilder/IPAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/LWCAssessmentReporter.d.ts +12 -0
- package/lib/utils/resultsbuilder/LWCAssessmentReporter.js +117 -139
- package/lib/utils/resultsbuilder/LWCAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/OSAssessmentReporter.js +19 -20
- package/lib/utils/resultsbuilder/OSAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/assessmentReporter.d.ts +3 -1
- package/lib/utils/resultsbuilder/assessmentReporter.js +106 -67
- package/lib/utils/resultsbuilder/assessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/index.d.ts +5 -1
- package/lib/utils/resultsbuilder/index.js +186 -71
- package/lib/utils/resultsbuilder/index.js.map +1 -1
- package/lib/utils/resultsbuilder/reportingHelper.js +1 -1
- package/lib/utils/resultsbuilder/reportingHelper.js.map +1 -1
- package/lib/utils/sfcli/project/sfProject.d.ts +4 -0
- package/lib/utils/sfcli/project/sfProject.js +56 -1
- package/lib/utils/sfcli/project/sfProject.js.map +1 -1
- package/lib/utils/shell/cli.js +3 -7
- package/lib/utils/shell/cli.js.map +1 -1
- package/lib/utils/storageUtil.d.ts +1 -0
- package/lib/utils/storageUtil.js +3 -0
- package/lib/utils/storageUtil.js.map +1 -1
- package/lib/utils/stringUtils.d.ts +1 -0
- package/lib/utils/stringUtils.js +22 -1
- package/lib/utils/stringUtils.js.map +1 -1
- package/messages/assess.json +79 -38
- package/messages/migrate.json +117 -32
- package/oclif.manifest.json +1 -1
- package/package.json +8 -6
- package/lib/utils/OmniGlobalAutoNumberPrefManager.d.ts +0 -39
- package/lib/utils/OmniGlobalAutoNumberPrefManager.js +0 -64
- package/lib/utils/OmniGlobalAutoNumberPrefManager.js.map +0 -1
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
export interface ComponentNameMapping {
|
|
2
|
+
originalName: string;
|
|
3
|
+
cleanedName: string;
|
|
4
|
+
componentType: 'DataMapper' | 'OmniScript' | 'IntegrationProcedure' | 'FlexCard';
|
|
5
|
+
recordId: string;
|
|
6
|
+
migratedId?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface DependencyReference {
|
|
9
|
+
parentComponentId: string;
|
|
10
|
+
parentComponentType: string;
|
|
11
|
+
fieldPath: string;
|
|
12
|
+
referencedOriginalName: string;
|
|
13
|
+
referencedComponentType: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Centralized registry for tracking name mappings and managing dependency updates
|
|
17
|
+
* during Omnistudio component migration.
|
|
18
|
+
*/
|
|
19
|
+
export declare class NameMappingRegistry {
|
|
20
|
+
private static instance;
|
|
21
|
+
private nameMappings;
|
|
22
|
+
private dependencyReferences;
|
|
23
|
+
private dataMapperMappings;
|
|
24
|
+
private omniScriptMappings;
|
|
25
|
+
private integrationProcedureMappings;
|
|
26
|
+
private flexCardMappings;
|
|
27
|
+
private angularOmniScriptRefs;
|
|
28
|
+
private constructor();
|
|
29
|
+
static getInstance(): NameMappingRegistry;
|
|
30
|
+
/**
|
|
31
|
+
* Register a component name mapping before migration
|
|
32
|
+
*/
|
|
33
|
+
registerNameMapping(mapping: ComponentNameMapping): void;
|
|
34
|
+
/**
|
|
35
|
+
* Register a dependency reference that needs to be updated
|
|
36
|
+
*/
|
|
37
|
+
registerDependencyReference(reference: DependencyReference): void;
|
|
38
|
+
/**
|
|
39
|
+
* Get the cleaned name for a component
|
|
40
|
+
*/
|
|
41
|
+
getCleanedName(originalName: string, componentType: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Check if a DataMapper mapping exists in the registry
|
|
44
|
+
*/
|
|
45
|
+
hasDataMapperMapping(originalName: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Check if an Integration Procedure mapping exists in the registry
|
|
48
|
+
*/
|
|
49
|
+
hasIntegrationProcedureMapping(originalName: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Check if an OmniScript mapping exists in the registry
|
|
52
|
+
*/
|
|
53
|
+
hasOmniScriptMapping(originalName: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Check if a FlexCard mapping exists in the registry
|
|
56
|
+
*/
|
|
57
|
+
hasFlexCardMapping(originalName: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Get available Integration Procedure mapping keys for debugging
|
|
60
|
+
*/
|
|
61
|
+
getIntegrationProcedureMappingKeys(): string[];
|
|
62
|
+
/**
|
|
63
|
+
* Get available OmniScript mapping keys for debugging
|
|
64
|
+
*/
|
|
65
|
+
getOmniScriptMappingKeys(): string[];
|
|
66
|
+
/**
|
|
67
|
+
* Get DataMapper cleaned name
|
|
68
|
+
*/
|
|
69
|
+
getDataMapperCleanedName(originalName: string): string;
|
|
70
|
+
/**
|
|
71
|
+
* Get OmniScript cleaned name (Type_SubType_Language format)
|
|
72
|
+
*/
|
|
73
|
+
getOmniScriptCleanedName(type: string, subType: string, language: string | 'English'): string;
|
|
74
|
+
/**
|
|
75
|
+
* Get Integration Procedure cleaned name
|
|
76
|
+
*/
|
|
77
|
+
getIntegrationProcedureCleanedName(originalName: string): string;
|
|
78
|
+
/**
|
|
79
|
+
* Get FlexCard cleaned name
|
|
80
|
+
*/
|
|
81
|
+
getFlexCardCleanedName(originalName: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* Get all name mappings for reporting
|
|
84
|
+
*/
|
|
85
|
+
getAllNameMappings(): ComponentNameMapping[];
|
|
86
|
+
/**
|
|
87
|
+
* Get warnings for name changes
|
|
88
|
+
*/
|
|
89
|
+
getNameChangeWarnings(): string[];
|
|
90
|
+
/**
|
|
91
|
+
* Get warnings for a specific component type
|
|
92
|
+
*/
|
|
93
|
+
getNameChangeWarningsForType(componentType: string): string[];
|
|
94
|
+
/**
|
|
95
|
+
* Get count of components with name changes by type
|
|
96
|
+
*/
|
|
97
|
+
getNameChangeCountByType(): Record<string, number>;
|
|
98
|
+
/**
|
|
99
|
+
* Clear all mappings (for testing or new migration runs)
|
|
100
|
+
*/
|
|
101
|
+
clear(): void;
|
|
102
|
+
/**
|
|
103
|
+
* Register an Angular OmniScript that should be skipped during migration
|
|
104
|
+
*/
|
|
105
|
+
registerAngularOmniScript(omniScriptRef: string): void;
|
|
106
|
+
/**
|
|
107
|
+
* Check if an OmniScript reference is Angular (should be skipped)
|
|
108
|
+
*/
|
|
109
|
+
isAngularOmniScript(omniScriptRef: string): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Get all Angular OmniScript references
|
|
112
|
+
*/
|
|
113
|
+
getAngularOmniScriptRefs(): Set<string>;
|
|
114
|
+
/**
|
|
115
|
+
* Pre-process all components to register their name mappings
|
|
116
|
+
*/
|
|
117
|
+
preProcessComponents(dataMappers: any[], lwcOmniScripts: any[], angularOmniScripts: any[], integrationProcedures: any[], flexCards: any[]): void;
|
|
118
|
+
/**
|
|
119
|
+
* Update all dependency references with cleaned names
|
|
120
|
+
*/
|
|
121
|
+
updateDependencyReferences<T>(componentDefinition: T): T;
|
|
122
|
+
/**
|
|
123
|
+
* Recursively update references in an object
|
|
124
|
+
*/
|
|
125
|
+
private updateObjectReferences;
|
|
126
|
+
/**
|
|
127
|
+
* Update a string reference if it matches a known component name
|
|
128
|
+
*/
|
|
129
|
+
private updateStringReference;
|
|
130
|
+
}
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.NameMappingRegistry = void 0;
|
|
10
|
+
const stringutil_1 = require("../utils/StringValue/stringutil");
|
|
11
|
+
/**
|
|
12
|
+
* Centralized registry for tracking name mappings and managing dependency updates
|
|
13
|
+
* during Omnistudio component migration.
|
|
14
|
+
*/
|
|
15
|
+
class NameMappingRegistry {
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
17
|
+
constructor() {
|
|
18
|
+
this.nameMappings = new Map();
|
|
19
|
+
this.dependencyReferences = [];
|
|
20
|
+
// Type-specific mappings for quick lookup
|
|
21
|
+
this.dataMapperMappings = new Map(); // original -> cleaned
|
|
22
|
+
this.omniScriptMappings = new Map(); // original -> cleaned
|
|
23
|
+
this.integrationProcedureMappings = new Map(); // original -> cleaned
|
|
24
|
+
this.flexCardMappings = new Map(); // original -> cleaned
|
|
25
|
+
// Track Angular OmniScripts that should be skipped (Type_SubType_Language format)
|
|
26
|
+
this.angularOmniScriptRefs = new Set();
|
|
27
|
+
}
|
|
28
|
+
static getInstance() {
|
|
29
|
+
if (!NameMappingRegistry.instance) {
|
|
30
|
+
NameMappingRegistry.instance = new NameMappingRegistry();
|
|
31
|
+
}
|
|
32
|
+
return NameMappingRegistry.instance;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Register a component name mapping before migration
|
|
36
|
+
*/
|
|
37
|
+
registerNameMapping(mapping) {
|
|
38
|
+
const key = `${mapping.componentType}:${mapping.originalName}`;
|
|
39
|
+
this.nameMappings.set(key, mapping);
|
|
40
|
+
// Store in type-specific maps for quick lookup
|
|
41
|
+
switch (mapping.componentType) {
|
|
42
|
+
case 'DataMapper':
|
|
43
|
+
this.dataMapperMappings.set(mapping.originalName, mapping.cleanedName);
|
|
44
|
+
break;
|
|
45
|
+
case 'OmniScript':
|
|
46
|
+
this.omniScriptMappings.set(mapping.originalName, mapping.cleanedName);
|
|
47
|
+
break;
|
|
48
|
+
case 'IntegrationProcedure':
|
|
49
|
+
this.integrationProcedureMappings.set(mapping.originalName, mapping.cleanedName);
|
|
50
|
+
break;
|
|
51
|
+
case 'FlexCard':
|
|
52
|
+
this.flexCardMappings.set(mapping.originalName, mapping.cleanedName);
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Register a dependency reference that needs to be updated
|
|
58
|
+
*/
|
|
59
|
+
registerDependencyReference(reference) {
|
|
60
|
+
this.dependencyReferences.push(reference);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get the cleaned name for a component
|
|
64
|
+
*/
|
|
65
|
+
getCleanedName(originalName, componentType) {
|
|
66
|
+
const key = `${componentType}:${originalName}`;
|
|
67
|
+
const mapping = this.nameMappings.get(key);
|
|
68
|
+
if (mapping) {
|
|
69
|
+
return mapping.cleanedName;
|
|
70
|
+
}
|
|
71
|
+
// Fallback to direct cleaning if not registered
|
|
72
|
+
return stringutil_1.Stringutil.cleanName(originalName);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Check if a DataMapper mapping exists in the registry
|
|
76
|
+
*/
|
|
77
|
+
hasDataMapperMapping(originalName) {
|
|
78
|
+
return this.dataMapperMappings.has(originalName);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Check if an Integration Procedure mapping exists in the registry
|
|
82
|
+
*/
|
|
83
|
+
hasIntegrationProcedureMapping(originalName) {
|
|
84
|
+
return this.integrationProcedureMappings.has(originalName);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if an OmniScript mapping exists in the registry
|
|
88
|
+
*/
|
|
89
|
+
hasOmniScriptMapping(originalName) {
|
|
90
|
+
return this.omniScriptMappings.has(originalName);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Check if a FlexCard mapping exists in the registry
|
|
94
|
+
*/
|
|
95
|
+
hasFlexCardMapping(originalName) {
|
|
96
|
+
return this.flexCardMappings.has(originalName);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get available Integration Procedure mapping keys for debugging
|
|
100
|
+
*/
|
|
101
|
+
getIntegrationProcedureMappingKeys() {
|
|
102
|
+
return Array.from(this.integrationProcedureMappings.keys());
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get available OmniScript mapping keys for debugging
|
|
106
|
+
*/
|
|
107
|
+
getOmniScriptMappingKeys() {
|
|
108
|
+
return Array.from(this.omniScriptMappings.keys());
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Get DataMapper cleaned name
|
|
112
|
+
*/
|
|
113
|
+
getDataMapperCleanedName(originalName) {
|
|
114
|
+
return this.dataMapperMappings.get(originalName) || stringutil_1.Stringutil.cleanName(originalName);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get OmniScript cleaned name (Type_SubType_Language format)
|
|
118
|
+
*/
|
|
119
|
+
getOmniScriptCleanedName(type, subType, language) {
|
|
120
|
+
const originalName = `${type}_${subType}_${language}`;
|
|
121
|
+
// Check if we have a mapping for this OmniScript first
|
|
122
|
+
if (this.omniScriptMappings.has(originalName)) {
|
|
123
|
+
return this.omniScriptMappings.get(originalName);
|
|
124
|
+
}
|
|
125
|
+
// Fallback to cleaning individual parts
|
|
126
|
+
const cleanedType = stringutil_1.Stringutil.cleanName(type);
|
|
127
|
+
const cleanedSubType = stringutil_1.Stringutil.cleanName(subType);
|
|
128
|
+
return `${cleanedType}_${cleanedSubType}_${language}`;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get Integration Procedure cleaned name
|
|
132
|
+
*/
|
|
133
|
+
getIntegrationProcedureCleanedName(originalName) {
|
|
134
|
+
return this.integrationProcedureMappings.get(originalName) || stringutil_1.Stringutil.cleanName(originalName, true);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get FlexCard cleaned name
|
|
138
|
+
*/
|
|
139
|
+
getFlexCardCleanedName(originalName) {
|
|
140
|
+
return this.flexCardMappings.get(originalName) || stringutil_1.Stringutil.cleanName(originalName);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get all name mappings for reporting
|
|
144
|
+
*/
|
|
145
|
+
getAllNameMappings() {
|
|
146
|
+
return Array.from(this.nameMappings.values());
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Get warnings for name changes
|
|
150
|
+
*/
|
|
151
|
+
getNameChangeWarnings() {
|
|
152
|
+
const warnings = [];
|
|
153
|
+
for (const mapping of this.nameMappings.values()) {
|
|
154
|
+
if (mapping.originalName !== mapping.cleanedName) {
|
|
155
|
+
warnings.push(`${mapping.componentType} name will change: "${mapping.originalName}" → "${mapping.cleanedName}"`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return warnings;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Get warnings for a specific component type
|
|
162
|
+
*/
|
|
163
|
+
getNameChangeWarningsForType(componentType) {
|
|
164
|
+
const warnings = [];
|
|
165
|
+
for (const mapping of this.nameMappings.values()) {
|
|
166
|
+
if (mapping.componentType === componentType && mapping.originalName !== mapping.cleanedName) {
|
|
167
|
+
warnings.push(`"${mapping.originalName}" → "${mapping.cleanedName}"`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return warnings;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get count of components with name changes by type
|
|
174
|
+
*/
|
|
175
|
+
getNameChangeCountByType() {
|
|
176
|
+
const counts = {};
|
|
177
|
+
for (const mapping of this.nameMappings.values()) {
|
|
178
|
+
if (mapping.originalName !== mapping.cleanedName) {
|
|
179
|
+
counts[mapping.componentType] = (counts[mapping.componentType] || 0) + 1;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return counts;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Clear all mappings (for testing or new migration runs)
|
|
186
|
+
*/
|
|
187
|
+
clear() {
|
|
188
|
+
this.nameMappings.clear();
|
|
189
|
+
this.dependencyReferences = [];
|
|
190
|
+
this.dataMapperMappings.clear();
|
|
191
|
+
this.omniScriptMappings.clear();
|
|
192
|
+
this.integrationProcedureMappings.clear();
|
|
193
|
+
this.flexCardMappings.clear();
|
|
194
|
+
this.angularOmniScriptRefs.clear();
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Register an Angular OmniScript that should be skipped during migration
|
|
198
|
+
*/
|
|
199
|
+
registerAngularOmniScript(omniScriptRef) {
|
|
200
|
+
this.angularOmniScriptRefs.add(omniScriptRef);
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Check if an OmniScript reference is Angular (should be skipped)
|
|
204
|
+
*/
|
|
205
|
+
isAngularOmniScript(omniScriptRef) {
|
|
206
|
+
return this.angularOmniScriptRefs.has(omniScriptRef);
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Get all Angular OmniScript references
|
|
210
|
+
*/
|
|
211
|
+
getAngularOmniScriptRefs() {
|
|
212
|
+
return new Set(this.angularOmniScriptRefs);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Pre-process all components to register their name mappings
|
|
216
|
+
*/
|
|
217
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
218
|
+
preProcessComponents(
|
|
219
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
220
|
+
dataMappers,
|
|
221
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
222
|
+
lwcOmniScripts,
|
|
223
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
224
|
+
angularOmniScripts,
|
|
225
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
226
|
+
integrationProcedures,
|
|
227
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
228
|
+
flexCards) {
|
|
229
|
+
// Register DataMapper mappings
|
|
230
|
+
for (const dr of dataMappers) {
|
|
231
|
+
this.registerNameMapping({
|
|
232
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
233
|
+
originalName: dr.Name,
|
|
234
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
235
|
+
cleanedName: stringutil_1.Stringutil.cleanName(dr.Name),
|
|
236
|
+
componentType: 'DataMapper',
|
|
237
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
238
|
+
recordId: dr.Id,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
// Register OmniScript mappings
|
|
242
|
+
for (const os of lwcOmniScripts) {
|
|
243
|
+
// Extract namespace from field names (e.g., vlocity_ins__Type__c -> vlocity_ins)
|
|
244
|
+
const fieldNames = Object.keys(os);
|
|
245
|
+
const typeField = fieldNames.find((field) => field.endsWith('__Type__c')) || 'Type__c';
|
|
246
|
+
const subTypeField = fieldNames.find((field) => field.endsWith('__SubType__c')) || 'SubType__c';
|
|
247
|
+
const languageField = fieldNames.find((field) => field.endsWith('__Language__c')) || 'Language__c';
|
|
248
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
249
|
+
const type = os[typeField];
|
|
250
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
251
|
+
const subType = os[subTypeField];
|
|
252
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
253
|
+
const language = os[languageField] || 'English';
|
|
254
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
255
|
+
const originalName = `${type}_${subType}_${language}`;
|
|
256
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
257
|
+
const cleanedName = `${stringutil_1.Stringutil.cleanName(type)}_${stringutil_1.Stringutil.cleanName(subType)}_${language}`;
|
|
258
|
+
this.registerNameMapping({
|
|
259
|
+
originalName,
|
|
260
|
+
cleanedName,
|
|
261
|
+
componentType: 'OmniScript',
|
|
262
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
263
|
+
recordId: os.Id,
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
// Register Angular OmniScript references (to be skipped during migration)
|
|
267
|
+
for (const angularOs of angularOmniScripts) {
|
|
268
|
+
// Extract namespace from field names (e.g., vlocity_ins__Type__c -> vlocity_ins)
|
|
269
|
+
const fieldNames = Object.keys(angularOs);
|
|
270
|
+
const typeField = fieldNames.find((field) => field.endsWith('__Type__c')) || 'Type__c';
|
|
271
|
+
const subTypeField = fieldNames.find((field) => field.endsWith('__SubType__c')) || 'SubType__c';
|
|
272
|
+
const languageField = fieldNames.find((field) => field.endsWith('__Language__c')) || 'Language__c';
|
|
273
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
274
|
+
const type = angularOs[typeField];
|
|
275
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
276
|
+
const subType = angularOs[subTypeField];
|
|
277
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
278
|
+
const language = angularOs[languageField] || 'English';
|
|
279
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
280
|
+
const angularRef = `${type}_${subType}_${language}`;
|
|
281
|
+
this.registerAngularOmniScript(angularRef);
|
|
282
|
+
}
|
|
283
|
+
// Register Integration Procedure mappings
|
|
284
|
+
for (const ip of integrationProcedures) {
|
|
285
|
+
// Extract namespace from field names (e.g., vlocity_ins__Type__c -> vlocity_ins)
|
|
286
|
+
const fieldNames = Object.keys(ip);
|
|
287
|
+
const typeField = fieldNames.find((field) => field.endsWith('__Type__c')) || 'Type__c';
|
|
288
|
+
const subTypeField = fieldNames.find((field) => field.endsWith('__SubType__c')) || 'SubType__c';
|
|
289
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
290
|
+
const type = ip[typeField];
|
|
291
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
292
|
+
const subType = ip[subTypeField];
|
|
293
|
+
// Integration Procedures use only Type_SubType format (no language)
|
|
294
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
295
|
+
const originalName = `${type}_${subType}`;
|
|
296
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
297
|
+
const cleanedName = `${stringutil_1.Stringutil.cleanName(type)}_${stringutil_1.Stringutil.cleanName(subType)}`;
|
|
298
|
+
this.registerNameMapping({
|
|
299
|
+
originalName,
|
|
300
|
+
cleanedName,
|
|
301
|
+
componentType: 'IntegrationProcedure',
|
|
302
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
303
|
+
recordId: ip.Id,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
// Register FlexCard mappings
|
|
307
|
+
for (const fc of flexCards) {
|
|
308
|
+
this.registerNameMapping({
|
|
309
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
310
|
+
originalName: fc.Name,
|
|
311
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
312
|
+
cleanedName: stringutil_1.Stringutil.cleanName(fc.Name),
|
|
313
|
+
componentType: 'FlexCard',
|
|
314
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
315
|
+
recordId: fc.Id,
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Update all dependency references with cleaned names
|
|
321
|
+
*/
|
|
322
|
+
updateDependencyReferences(componentDefinition) {
|
|
323
|
+
// This will be called for each component to update its dependencies
|
|
324
|
+
// Implementation depends on the specific structure of each component type
|
|
325
|
+
return this.updateObjectReferences(componentDefinition);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Recursively update references in an object
|
|
329
|
+
*/
|
|
330
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
331
|
+
updateObjectReferences(obj) {
|
|
332
|
+
if (typeof obj === 'string') {
|
|
333
|
+
return this.updateStringReference(obj);
|
|
334
|
+
}
|
|
335
|
+
if (Array.isArray(obj)) {
|
|
336
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
337
|
+
return obj.map((item) => this.updateObjectReferences(item));
|
|
338
|
+
}
|
|
339
|
+
if (obj && typeof obj === 'object') {
|
|
340
|
+
const updated = {};
|
|
341
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
342
|
+
updated[key] = this.updateObjectReferences(value);
|
|
343
|
+
}
|
|
344
|
+
return updated;
|
|
345
|
+
}
|
|
346
|
+
return obj;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Update a string reference if it matches a known component name
|
|
350
|
+
*/
|
|
351
|
+
updateStringReference(str) {
|
|
352
|
+
// Check if this string might be a DataMapper reference
|
|
353
|
+
if (this.dataMapperMappings.has(str)) {
|
|
354
|
+
return this.dataMapperMappings.get(str);
|
|
355
|
+
}
|
|
356
|
+
// Check if this string might be an Integration Procedure reference
|
|
357
|
+
if (this.integrationProcedureMappings.has(str)) {
|
|
358
|
+
return this.integrationProcedureMappings.get(str);
|
|
359
|
+
}
|
|
360
|
+
// Check if this string might be a FlexCard reference
|
|
361
|
+
if (this.flexCardMappings.has(str)) {
|
|
362
|
+
return this.flexCardMappings.get(str);
|
|
363
|
+
}
|
|
364
|
+
// Check if this string might be an OmniScript reference (Type_SubType_Language)
|
|
365
|
+
for (const [originalName, cleanedName] of this.omniScriptMappings.entries()) {
|
|
366
|
+
if (str === originalName) {
|
|
367
|
+
return cleanedName;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
// Return original string unchanged if no mapping found
|
|
371
|
+
// Only registered component names should be cleaned
|
|
372
|
+
return str;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
exports.NameMappingRegistry = NameMappingRegistry;
|
|
376
|
+
//# sourceMappingURL=NameMappingRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NameMappingRegistry.js","sourceRoot":"","sources":["../../src/migration/NameMappingRegistry.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gEAA6D;AAkB7D;;;GAGG;AACH,MAAa,mBAAmB;IAc9B,gEAAgE;IAChE;QAbQ,iBAAY,GAAsC,IAAI,GAAG,EAAE,CAAC;QAC5D,yBAAoB,GAA0B,EAAE,CAAC;QAEzD,0CAA0C;QAClC,uBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,sBAAsB;QAC3E,uBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,sBAAsB;QAC3E,iCAA4B,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,sBAAsB;QACrF,qBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,sBAAsB;QAEjF,kFAAkF;QAC1E,0BAAqB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAGhC,CAAC;IAEjB,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;YACjC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;SAC1D;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,OAA6B;QACtD,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEpC,+CAA+C;QAC/C,QAAQ,OAAO,CAAC,aAAa,EAAE;YAC7B,KAAK,YAAY;gBACf,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,sBAAsB;gBACzB,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBACjF,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBACrE,MAAM;SACT;IACH,CAAC;IAED;;OAEG;IACI,2BAA2B,CAAC,SAA8B;QAC/D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,YAAoB,EAAE,aAAqB;QAC/D,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,YAAY,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,CAAC,WAAW,CAAC;SAC5B;QAED,gDAAgD;QAChD,OAAO,uBAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,YAAoB;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,8BAA8B,CAAC,YAAoB;QACxD,OAAO,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,YAAoB;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,YAAoB;QAC5C,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,kCAAkC;QACvC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACI,wBAAwB;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,wBAAwB,CAAC,YAAoB;QAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,uBAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED;;OAEG;IACI,wBAAwB,CAAC,IAAY,EAAE,OAAe,EAAE,QAA4B;QACzF,MAAM,YAAY,GAAG,GAAG,IAAI,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACtD,uDAAuD;QACvD,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;SACnD;QACD,wCAAwC;QACxC,MAAM,WAAW,GAAG,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,uBAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO,GAAG,WAAW,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;IACxD,CAAC;IAED;;OAEG;IACI,kCAAkC,CAAC,YAAoB;QAC5D,OAAO,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,uBAAU,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACzG,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,YAAoB;QAChD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,uBAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE;YAChD,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,WAAW,EAAE;gBAChD,QAAQ,CAAC,IAAI,CACX,GAAG,OAAO,CAAC,aAAa,uBAAuB,OAAO,CAAC,YAAY,QAAQ,OAAO,CAAC,WAAW,GAAG,CAClG,CAAC;aACH;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,4BAA4B,CAAC,aAAqB;QACvD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE;YAChD,IAAI,OAAO,CAAC,aAAa,KAAK,aAAa,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,WAAW,EAAE;gBAC3F,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,YAAY,QAAQ,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;aACvE;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,wBAAwB;QAC7B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE;YAChD,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,WAAW,EAAE;gBAChD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;aAC1E;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,yBAAyB,CAAC,aAAqB;QACpD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,aAAqB;QAC9C,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,wBAAwB;QAC7B,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,8DAA8D;IACvD,oBAAoB;IACzB,8DAA8D;IAC9D,WAAkB;IAClB,8DAA8D;IAC9D,cAAqB;IACrB,8DAA8D;IAC9D,kBAAyB;IACzB,8DAA8D;IAC9D,qBAA4B;IAC5B,8DAA8D;IAC9D,SAAgB;QAEhB,+BAA+B;QAC/B,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC;gBACvB,+GAA+G;gBAC/G,YAAY,EAAE,EAAE,CAAC,IAAI;gBACrB,sEAAsE;gBACtE,WAAW,EAAE,uBAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC1C,aAAa,EAAE,YAAY;gBAC3B,+GAA+G;gBAC/G,QAAQ,EAAE,EAAE,CAAC,EAAE;aAChB,CAAC,CAAC;SACJ;QAED,+BAA+B;QAC/B,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE;YAC/B,iFAAiF;YACjF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC;YACvF,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,YAAY,CAAC;YAChG,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,aAAa,CAAC;YAEnG,+GAA+G;YAC/G,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3B,+GAA+G;YAC/G,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;YACjC,+GAA+G;YAC/G,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;YAEhD,4EAA4E;YAC5E,MAAM,YAAY,GAAG,GAAG,IAAI,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACtD,4EAA4E;YAC5E,MAAM,WAAW,GAAG,GAAG,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YAEjG,IAAI,CAAC,mBAAmB,CAAC;gBACvB,YAAY;gBACZ,WAAW;gBACX,aAAa,EAAE,YAAY;gBAC3B,+GAA+G;gBAC/G,QAAQ,EAAE,EAAE,CAAC,EAAE;aAChB,CAAC,CAAC;SACJ;QAED,0EAA0E;QAC1E,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE;YAC1C,iFAAiF;YACjF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC;YACvF,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,YAAY,CAAC;YAChG,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,aAAa,CAAC;YAEnG,+GAA+G;YAC/G,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YAClC,+GAA+G;YAC/G,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YACxC,+GAA+G;YAC/G,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;YAEvD,4EAA4E;YAC5E,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACpD,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;SAC5C;QAED,0CAA0C;QAC1C,KAAK,MAAM,EAAE,IAAI,qBAAqB,EAAE;YACtC,iFAAiF;YACjF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC;YACvF,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,YAAY,CAAC;YAEhG,+GAA+G;YAC/G,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3B,+GAA+G;YAC/G,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;YAEjC,oEAAoE;YACpE,4EAA4E;YAC5E,MAAM,YAAY,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;YAC1C,4EAA4E;YAC5E,MAAM,WAAW,GAAG,GAAG,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAErF,IAAI,CAAC,mBAAmB,CAAC;gBACvB,YAAY;gBACZ,WAAW;gBACX,aAAa,EAAE,sBAAsB;gBACrC,+GAA+G;gBAC/G,QAAQ,EAAE,EAAE,CAAC,EAAE;aAChB,CAAC,CAAC;SACJ;QAED,6BAA6B;QAC7B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE;YAC1B,IAAI,CAAC,mBAAmB,CAAC;gBACvB,+GAA+G;gBAC/G,YAAY,EAAE,EAAE,CAAC,IAAI;gBACrB,sEAAsE;gBACtE,WAAW,EAAE,uBAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC1C,aAAa,EAAE,UAAU;gBACzB,+GAA+G;gBAC/G,QAAQ,EAAE,EAAE,CAAC,EAAE;aAChB,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;OAEG;IACI,0BAA0B,CAAI,mBAAsB;QACzD,oEAAoE;QACpE,0EAA0E;QAC1E,OAAO,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAM,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,8DAA8D;IACtD,sBAAsB,CAAC,GAAQ;QACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;SACxC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,+DAA+D;YAC/D,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAc,CAAC;SAC1E;QAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAClC,MAAM,OAAO,GAA4B,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;aACnD;YACD,OAAO,OAAO,CAAC;SAChB;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,GAAW;QACvC,uDAAuD;QACvD,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACzC;QAED,mEAAmE;QACnE,IAAI,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC9C,OAAO,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACnD;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,gFAAgF;QAChF,KAAK,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;YAC3E,IAAI,GAAG,KAAK,YAAY,EAAE;gBACxB,OAAO,WAAW,CAAC;aACpB;SACF;QAED,uDAAuD;QACvD,oDAAoD;QACpD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAlaD,kDAkaC"}
|
package/lib/migration/base.d.ts
CHANGED
|
@@ -3,8 +3,9 @@ import { Connection, Messages } from '@salesforce/core';
|
|
|
3
3
|
import * as cliProgress from 'cli-progress';
|
|
4
4
|
import { Logger } from '../utils/logger';
|
|
5
5
|
import { TransformData, UploadRecordResult } from './interfaces';
|
|
6
|
-
|
|
7
|
-
export type
|
|
6
|
+
import { NameMappingRegistry } from './NameMappingRegistry';
|
|
7
|
+
export type ComponentType = 'DataMappers' | 'Flexcards' | 'Omniscripts' | 'Integration Procedures' | 'GlobalAutoNumber';
|
|
8
|
+
export type RelatedObjectType = 'Flexipage' | 'ExperienceSites' | 'Lightning Web Components' | 'Apex Classes';
|
|
8
9
|
/**
|
|
9
10
|
* Creates a progress bar for migration/assessment operations
|
|
10
11
|
*
|
|
@@ -21,6 +22,7 @@ export declare class BaseMigrationTool {
|
|
|
21
22
|
protected readonly logger: Logger;
|
|
22
23
|
protected readonly messages: Messages;
|
|
23
24
|
protected readonly ux: UX;
|
|
25
|
+
protected readonly nameRegistry: NameMappingRegistry;
|
|
24
26
|
constructor(namespace: string, connection: Connection, logger: Logger, messages: Messages, ux: UX);
|
|
25
27
|
protected uploadTransformedData(objectName: string, transformedData: TransformData): Promise<Map<string, UploadRecordResult>>;
|
|
26
28
|
protected updateData(transformedData: TransformData): Promise<Map<string, UploadRecordResult>>;
|
package/lib/migration/base.js
CHANGED
|
@@ -28,6 +28,7 @@ const cliProgress = __importStar(require("cli-progress"));
|
|
|
28
28
|
const utils_1 = require("../utils");
|
|
29
29
|
const net_1 = require("../utils/net");
|
|
30
30
|
const stringutil_1 = require("../utils/StringValue/stringutil");
|
|
31
|
+
const NameMappingRegistry_1 = require("./NameMappingRegistry");
|
|
31
32
|
/**
|
|
32
33
|
* Creates a progress bar for migration/assessment operations
|
|
33
34
|
*
|
|
@@ -36,8 +37,13 @@ const stringutil_1 = require("../utils/StringValue/stringutil");
|
|
|
36
37
|
* @returns A configured cliProgress.SingleBar instance
|
|
37
38
|
*/
|
|
38
39
|
const createProgressBar = (action, type) => {
|
|
40
|
+
// Normalize type to string for comparison
|
|
41
|
+
const typeStr = String(type);
|
|
42
|
+
// Determine if space should be empty or tabs
|
|
43
|
+
const noSpaceTypes = ['Omniscript', 'Integration Procedure', 'ExperienceSites'];
|
|
44
|
+
const space = noSpaceTypes.includes(typeStr) ? '' : '\t\t\t\t';
|
|
39
45
|
return new cliProgress.SingleBar({
|
|
40
|
-
format: `${action} ${type}
|
|
46
|
+
format: `${action} ${type} | ${space} {bar} | {percentage}% || {value}/{total} Tasks`,
|
|
41
47
|
barCompleteChar: '\u2588',
|
|
42
48
|
barIncompleteChar: '\u2591',
|
|
43
49
|
hideCursor: true,
|
|
@@ -52,6 +58,7 @@ class BaseMigrationTool {
|
|
|
52
58
|
this.logger = logger;
|
|
53
59
|
this.messages = messages;
|
|
54
60
|
this.ux = ux;
|
|
61
|
+
this.nameRegistry = NameMappingRegistry_1.NameMappingRegistry.getInstance();
|
|
55
62
|
this.namespacePrefix = namespace ? namespace + '__' : '';
|
|
56
63
|
}
|
|
57
64
|
async uploadTransformedData(objectName, transformedData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/migration/base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,0DAA4C;AAC5C,oCAAkD;AAClD,sCAAwC;AACxC,gEAA6D;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/migration/base.ts"],"names":[],"mappings":"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"}
|