@salesforce/plugin-omnistudio-migration-tool 2.0.0-beta.8 → 2.0.0-rc.11
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 +116 -20
- package/lib/commands/omnistudio/migration/assess.d.ts +1 -1
- package/lib/commands/omnistudio/migration/assess.js +46 -96
- 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 +3 -2
- package/lib/commands/omnistudio/migration/migrate.js +120 -62
- package/lib/commands/omnistudio/migration/migrate.js.map +1 -1
- package/lib/error/errorInterfaces.d.ts +14 -0
- package/lib/error/errorInterfaces.js +27 -0
- package/lib/error/errorInterfaces.js.map +1 -0
- package/lib/javascripts/reportGeneratorUtility.js +1 -3
- package/lib/mappings/GlobalAutoNumber.d.ts +10 -0
- package/lib/mappings/GlobalAutoNumber.js +14 -0
- package/lib/mappings/GlobalAutoNumber.js.map +1 -0
- package/lib/migration/base.d.ts +5 -4
- package/lib/migration/base.js +28 -7
- package/lib/migration/base.js.map +1 -1
- package/lib/migration/dataraptor.js +26 -11
- package/lib/migration/dataraptor.js.map +1 -1
- package/lib/migration/flexcard.d.ts +3 -0
- package/lib/migration/flexcard.js +161 -35
- package/lib/migration/flexcard.js.map +1 -1
- package/lib/migration/globalautonumber.d.ts +60 -0
- package/lib/migration/globalautonumber.js +318 -0
- package/lib/migration/globalautonumber.js.map +1 -0
- package/lib/migration/interfaces.d.ts +89 -0
- package/lib/migration/interfaces.js +7 -0
- package/lib/migration/interfaces.js.map +1 -1
- package/lib/migration/omniscript.d.ts +3 -0
- package/lib/migration/omniscript.js +204 -33
- package/lib/migration/omniscript.js.map +1 -1
- package/lib/migration/postMigrate.d.ts +13 -0
- package/lib/migration/postMigrate.js +58 -0
- package/lib/migration/postMigrate.js.map +1 -0
- package/lib/migration/premigrate.d.ts +12 -0
- package/lib/migration/premigrate.js +75 -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 +25 -0
- package/lib/migration/related/ExperienceSiteMigration.js +286 -0
- package/lib/migration/related/ExperienceSiteMigration.js.map +1 -0
- package/lib/migration/related/FlexipageMigration.d.ts +84 -0
- package/lib/migration/related/FlexipageMigration.js +215 -0
- package/lib/migration/related/FlexipageMigration.js.map +1 -0
- package/lib/migration/related/LwcMigration.js +13 -13
- package/lib/migration/related/LwcMigration.js.map +1 -1
- package/lib/migration/related/OmnistudioRelatedObjectMigrationFacade.d.ts +4 -0
- package/lib/migration/related/OmnistudioRelatedObjectMigrationFacade.js +34 -27
- package/lib/migration/related/OmnistudioRelatedObjectMigrationFacade.js.map +1 -1
- package/lib/styles/reportGenerator.css +46 -7
- package/lib/templates/assessmentReport.template +53 -33
- package/lib/templates/dashboard.template +7 -2
- package/lib/templates/migrationReport.template +37 -27
- package/lib/utils/OmniGlobalAutoNumberPrefManager.d.ts +40 -0
- package/lib/utils/OmniGlobalAutoNumberPrefManager.js +65 -0
- package/lib/utils/OmniGlobalAutoNumberPrefManager.js.map +1 -0
- package/lib/utils/XMLUtil.d.ts +34 -0
- package/lib/utils/XMLUtil.js +171 -0
- package/lib/utils/XMLUtil.js.map +1 -0
- package/lib/utils/constants/{callToActionMessages.d.ts → documentRegistry.d.ts} +2 -1
- package/lib/utils/constants/{callToActionMessages.js → documentRegistry.js} +6 -5
- package/lib/utils/constants/documentRegistry.js.map +1 -0
- package/lib/utils/constants/stringContants.d.ts +8 -0
- package/lib/utils/constants/stringContants.js +8 -0
- package/lib/utils/constants/stringContants.js.map +1 -1
- package/lib/utils/file/fileUtil.d.ts +3 -0
- package/lib/utils/file/fileUtil.js +36 -0
- package/lib/utils/file/fileUtil.js.map +1 -1
- package/lib/utils/flexipage/flexiPageTransformer.d.ts +17 -0
- package/lib/utils/flexipage/flexiPageTransformer.js +138 -0
- package/lib/utils/flexipage/flexiPageTransformer.js.map +1 -0
- package/lib/utils/generatePackageXml.d.ts +4 -2
- package/lib/utils/generatePackageXml.js +23 -1
- package/lib/utils/generatePackageXml.js.map +1 -1
- package/lib/utils/interfaces.d.ts +71 -0
- package/lib/utils/logger.d.ts +2 -2
- package/lib/utils/logger.js +4 -3
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/lwcparser/fileutils/FileDiffUtil.d.ts +2 -1
- package/lib/utils/lwcparser/fileutils/FileDiffUtil.js +92 -47
- 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/net/index.js +13 -16
- package/lib/utils/net/index.js.map +1 -1
- package/lib/utils/orgPreferences.d.ts +23 -0
- package/lib/utils/orgPreferences.js +73 -0
- package/lib/utils/orgPreferences.js.map +1 -1
- package/lib/utils/orgUtils/index.js +1 -2
- package/lib/utils/orgUtils/index.js.map +1 -1
- package/lib/utils/projectPathUtil.d.ts +39 -0
- package/lib/utils/projectPathUtil.js +173 -0
- package/lib/utils/projectPathUtil.js.map +1 -0
- 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 +3 -0
- package/lib/utils/reportGenerator/reportUtil.d.ts +1 -1
- package/lib/utils/reportGenerator/reportUtil.js +5 -1
- package/lib/utils/reportGenerator/reportUtil.js.map +1 -1
- package/lib/utils/resultsbuilder/ApexAssessmentReporter.js +24 -10
- package/lib/utils/resultsbuilder/ApexAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/DRAssessmentReporter.js +34 -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 +46 -10
- package/lib/utils/resultsbuilder/FlexcardAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/FlexipageAssessmentReporter.d.ts +55 -0
- package/lib/utils/resultsbuilder/FlexipageAssessmentReporter.js +137 -0
- package/lib/utils/resultsbuilder/FlexipageAssessmentReporter.js.map +1 -0
- package/lib/utils/resultsbuilder/GlobalAutoNumberAssessmentReporter.d.ts +14 -0
- package/lib/utils/resultsbuilder/GlobalAutoNumberAssessmentReporter.js +148 -0
- package/lib/utils/resultsbuilder/GlobalAutoNumberAssessmentReporter.js.map +1 -0
- package/lib/utils/resultsbuilder/IPAssessmentReporter.js +31 -11
- package/lib/utils/resultsbuilder/IPAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/LWCAssessmentReporter.d.ts +12 -0
- package/lib/utils/resultsbuilder/LWCAssessmentReporter.js +114 -139
- package/lib/utils/resultsbuilder/LWCAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/OSAssessmentReporter.js +25 -16
- package/lib/utils/resultsbuilder/OSAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/assessmentReporter.d.ts +5 -1
- package/lib/utils/resultsbuilder/assessmentReporter.js +120 -53
- package/lib/utils/resultsbuilder/assessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/index.d.ts +7 -1
- package/lib/utils/resultsbuilder/index.js +317 -48
- package/lib/utils/resultsbuilder/index.js.map +1 -1
- package/lib/utils/resultsbuilder/reportingHelper.d.ts +4 -2
- package/lib/utils/resultsbuilder/reportingHelper.js +22 -4
- package/lib/utils/resultsbuilder/reportingHelper.js.map +1 -1
- package/lib/utils/storageUtil.d.ts +10 -0
- package/lib/utils/storageUtil.js +61 -0
- package/lib/utils/storageUtil.js.map +1 -0
- 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 +102 -28
- package/messages/migrate.json +130 -24
- package/oclif.manifest.json +1 -1
- package/package.json +6 -5
- package/lib/utils/constants/callToActionMessages.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OrgPreferences = void 0;
|
|
4
|
+
const logger_1 = require("./logger");
|
|
4
5
|
/**
|
|
5
6
|
* Class to manage OmniStudio organization preferences
|
|
6
7
|
*
|
|
@@ -56,6 +57,78 @@ class OrgPreferences {
|
|
|
56
57
|
throw new Error(`Failed to check rollback flags: ${error instanceof Error ? error.message : String(error)}`);
|
|
57
58
|
}
|
|
58
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Checks if the ExperienceBundle Metadata API is already enabled
|
|
62
|
+
*
|
|
63
|
+
* @public
|
|
64
|
+
* @static
|
|
65
|
+
* @async
|
|
66
|
+
* @param {Connection} connection - Salesforce connection instance
|
|
67
|
+
* @throws {Error} If checking the setting fails
|
|
68
|
+
* @returns {Promise<boolean>} True if the ExperienceBundle Metadata API is enabled, false otherwise
|
|
69
|
+
*/
|
|
70
|
+
static async isExperienceBundleMetadataAPIEnabled(connection) {
|
|
71
|
+
try {
|
|
72
|
+
const result = await connection.metadata.read('ExperienceBundleSettings', ['ExperienceBundle']);
|
|
73
|
+
logger_1.Logger.logVerbose(`The api is returning ${JSON.stringify(result)}`);
|
|
74
|
+
// Check if the result is valid and contains the expected property
|
|
75
|
+
let settings = {
|
|
76
|
+
fullName: '',
|
|
77
|
+
enableExperienceBundleMetadata: 'false',
|
|
78
|
+
};
|
|
79
|
+
if (result && Array.isArray(result) && result.length > 0) {
|
|
80
|
+
settings = result[0];
|
|
81
|
+
}
|
|
82
|
+
else if (result && typeof result === 'object' && 'enableExperienceBundleMetadata' in result) {
|
|
83
|
+
settings = result;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
// Handle both boolean true and string "true"
|
|
89
|
+
const value = settings.enableExperienceBundleMetadata;
|
|
90
|
+
if (value === 'true') {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
// If no settings found or property is undefined, assume it's disabled
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
// If the metadata type doesn't exist or there's an error, assume it's disabled
|
|
98
|
+
logger_1.Logger.error('Unable to check ExperienceBundle Metadata API status');
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
static async toggleExperienceBundleMetadataAPI(connection, enable) {
|
|
103
|
+
await connection.metadata.update('ExperienceBundleSettings', [
|
|
104
|
+
{
|
|
105
|
+
fullName: 'ExperienceBundle',
|
|
106
|
+
enableExperienceBundleMetadata: enable,
|
|
107
|
+
},
|
|
108
|
+
]);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Sets the ExperienceBundle Metadata API setting in Digital Experience Settings
|
|
112
|
+
*
|
|
113
|
+
* @public
|
|
114
|
+
* @static
|
|
115
|
+
* @async
|
|
116
|
+
* @param {Connection} connection - Salesforce connection instance
|
|
117
|
+
* @throws {Error} If enabling the setting fails
|
|
118
|
+
* @returns {Promise<boolean>} True if successfully set, false otherwise
|
|
119
|
+
*/
|
|
120
|
+
static async setExperienceBundleMetadataAPI(connection, enable) {
|
|
121
|
+
try {
|
|
122
|
+
// Enable the setting
|
|
123
|
+
await OrgPreferences.toggleExperienceBundleMetadataAPI(connection, enable);
|
|
124
|
+
logger_1.Logger.logVerbose(`Successfully set the experienceBundleMetadata API to ${enable}`);
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
logger_1.Logger.error(`Failed to enable ExperienceBundle Metadata API: ${error instanceof Error ? error.message : String(error)}`);
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
59
132
|
}
|
|
60
133
|
exports.OrgPreferences = OrgPreferences;
|
|
61
134
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orgPreferences.js","sourceRoot":"","sources":["../../src/utils/orgPreferences.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"orgPreferences.js","sourceRoot":"","sources":["../../src/utils/orgPreferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,7 @@ class OrgUtils {
|
|
|
42
42
|
// Handle multiple packages by prompting user to select one
|
|
43
43
|
if (installedOmniPackages.length > 1) {
|
|
44
44
|
logger_1.Logger.log(messages.getMessage('multiplePackagesFound'));
|
|
45
|
+
installedOmniPackages.sort((a, b) => a.NamespacePrefix.localeCompare(b.NamespacePrefix));
|
|
45
46
|
// Display available packages
|
|
46
47
|
for (let i = 0; i < installedOmniPackages.length; i++) {
|
|
47
48
|
const pkg = installedOmniPackages[i];
|
|
@@ -60,7 +61,6 @@ class OrgUtils {
|
|
|
60
61
|
const selectedPackage = installedOmniPackages[selectedIndex];
|
|
61
62
|
packageDetails.version = `${selectedPackage.MajorVersion}.${selectedPackage.MinorVersion}`;
|
|
62
63
|
packageDetails.namespace = selectedPackage.NamespacePrefix;
|
|
63
|
-
hasValidNamespace = true;
|
|
64
64
|
logger_1.Logger.log(messages.getMessage('selectedPackage', [selectedPackage.NamespacePrefix, packageDetails.version]));
|
|
65
65
|
}
|
|
66
66
|
else if (installedOmniPackages.length === 1) {
|
|
@@ -68,7 +68,6 @@ class OrgUtils {
|
|
|
68
68
|
const pkg = installedOmniPackages[0];
|
|
69
69
|
packageDetails.version = `${pkg.MajorVersion}.${pkg.MinorVersion}`;
|
|
70
70
|
packageDetails.namespace = pkg.NamespacePrefix;
|
|
71
|
-
hasValidNamespace = true;
|
|
72
71
|
}
|
|
73
72
|
//Execute apex rest resource to get omnistudio org permission
|
|
74
73
|
const omniStudioOrgPermissionEnabled = await this.isOmniStudioOrgPermissionEnabled(connection, packageDetails.namespace);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/orgUtils/index.ts"],"names":[],"mappings":";AAAA,oBAAoB;;;AAEpB,2CAAwD;AACxD,oCAAsC;AACtC,sCAAmC;AAEnC,gBAAgB;AAChB,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,8CAA8C,EAAE,SAAS,CAAC,CAAC;AA4BlG,MAAa,QAAQ;IAwPnB;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,UAAsB,EAAE,SAAiB;QACzE,yEAAyE;QACzE,MAAM,oBAAoB,GAAG,CAAC,MAAM,kBAAU,CAAC,QAAQ,CACrD,UAAU,EACV,EAAE,EACF,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CACZ,CAAkC,CAAC;QAEpC,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,CAAC,MAAM,kBAAU,CAAC,QAAQ,CAC3C,UAAU,EACV,EAAE,EACF,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,CACf,CAA0B,CAAC;QAE5B,IAAI,cAAc,GAAkB;YAClC,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;SACd,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;YACtC,IAAI,SAAS,IAAI,SAAS,KAAK,GAAG,CAAC,eAAe,EAAE;gBAClD,cAAc,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACnE,cAAc,CAAC,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC;gBAC/C,MAAM;aACP;SACF;QACD,MAAM,qBAAqB,GAAG,EAAE,CAAC;QACjC,IAAI,cAAc,CAAC,SAAS,KAAK,EAAE,EAAE;YACnC,iBAAiB,GAAG,KAAK,CAAC;YAC1B,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;gBACtC,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;oBAChG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACjC;aACF;SACF;QAED,2DAA2D;QAC3D,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/orgUtils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Messages } from '@salesforce/core';
|
|
2
|
+
export declare const EXISTING_MODE = "existing";
|
|
3
|
+
export declare const EMPTY_MODE = "empty";
|
|
4
|
+
export declare const YES_SHORT = "y";
|
|
5
|
+
export declare const NO_SHORT = "n";
|
|
6
|
+
export declare const YES_LONG = "yes";
|
|
7
|
+
export declare const NO_LONG = "no";
|
|
8
|
+
export declare function createSfdxProject(folderPath: string): void;
|
|
9
|
+
export declare function isSfdxProject(folderPath: string): boolean;
|
|
10
|
+
export declare class ProjectPathUtil {
|
|
11
|
+
/**
|
|
12
|
+
* Gets project path with enhanced validation and user prompts
|
|
13
|
+
*
|
|
14
|
+
* @param messages - Messages object for internationalization
|
|
15
|
+
* @param enableRetrieval - Whether to enable the retrieval option for empty projects
|
|
16
|
+
* @returns Promise<string> - The validated project path
|
|
17
|
+
*/
|
|
18
|
+
static getProjectPath(messages: Messages, enableRetrieval?: boolean): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Prompts user to choose between existing or empty project
|
|
21
|
+
*/
|
|
22
|
+
private static promptForProjectType;
|
|
23
|
+
/**
|
|
24
|
+
* Prompts user to confirm if they want to retrieve APEX classes
|
|
25
|
+
*/
|
|
26
|
+
private static promptForRetrieval;
|
|
27
|
+
/**
|
|
28
|
+
* Prompts user for project path and validates it
|
|
29
|
+
*/
|
|
30
|
+
private static promptForProjectPath;
|
|
31
|
+
/**
|
|
32
|
+
* Gets folder path input from user
|
|
33
|
+
*/
|
|
34
|
+
private static getFolderPathFromUser;
|
|
35
|
+
/**
|
|
36
|
+
* Validates the folder path based on mode
|
|
37
|
+
*/
|
|
38
|
+
private static isValidFolderPath;
|
|
39
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.ProjectPathUtil = exports.isSfdxProject = exports.createSfdxProject = exports.NO_LONG = exports.YES_LONG = exports.NO_SHORT = exports.YES_SHORT = exports.EMPTY_MODE = exports.EXISTING_MODE = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const logger_1 = require("./logger");
|
|
30
|
+
const sfProject_1 = require("./sfcli/project/sfProject");
|
|
31
|
+
const promptUtil_1 = require("./promptUtil");
|
|
32
|
+
exports.EXISTING_MODE = 'existing';
|
|
33
|
+
exports.EMPTY_MODE = 'empty';
|
|
34
|
+
exports.YES_SHORT = 'y';
|
|
35
|
+
exports.NO_SHORT = 'n';
|
|
36
|
+
exports.YES_LONG = 'yes';
|
|
37
|
+
exports.NO_LONG = 'no';
|
|
38
|
+
// Helper to create SFDX project if needed
|
|
39
|
+
function createSfdxProject(folderPath) {
|
|
40
|
+
const projectName = path.basename(folderPath);
|
|
41
|
+
const parentDir = path.dirname(folderPath);
|
|
42
|
+
sfProject_1.sfProject.create(projectName, parentDir);
|
|
43
|
+
}
|
|
44
|
+
exports.createSfdxProject = createSfdxProject;
|
|
45
|
+
function isSfdxProject(folderPath) {
|
|
46
|
+
const sfdxProjectJson = path.join(folderPath, 'sfdx-project.json');
|
|
47
|
+
return fs.existsSync(sfdxProjectJson);
|
|
48
|
+
}
|
|
49
|
+
exports.isSfdxProject = isSfdxProject;
|
|
50
|
+
class ProjectPathUtil {
|
|
51
|
+
/**
|
|
52
|
+
* Gets project path with enhanced validation and user prompts
|
|
53
|
+
*
|
|
54
|
+
* @param messages - Messages object for internationalization
|
|
55
|
+
* @param enableRetrieval - Whether to enable the retrieval option for empty projects
|
|
56
|
+
* @returns Promise<string> - The validated project path
|
|
57
|
+
*/
|
|
58
|
+
static async getProjectPath(messages, enableRetrieval = true) {
|
|
59
|
+
const askWithTimeout = promptUtil_1.PromptUtil.askWithTimeOut(messages);
|
|
60
|
+
const mode = await ProjectPathUtil.promptForProjectType(messages, askWithTimeout);
|
|
61
|
+
if (mode === exports.EMPTY_MODE && enableRetrieval) {
|
|
62
|
+
await ProjectPathUtil.promptForRetrieval(messages, askWithTimeout);
|
|
63
|
+
}
|
|
64
|
+
return ProjectPathUtil.promptForProjectPath(messages, askWithTimeout, mode);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Prompts user to choose between existing or empty project
|
|
68
|
+
*/
|
|
69
|
+
static async promptForProjectType(messages, askWithTimeout) {
|
|
70
|
+
let validResponse = false;
|
|
71
|
+
let mode = exports.EXISTING_MODE;
|
|
72
|
+
while (!validResponse) {
|
|
73
|
+
try {
|
|
74
|
+
const resp = await askWithTimeout(logger_1.Logger.prompt.bind(logger_1.Logger), messages.getMessage('existingApexPrompt'));
|
|
75
|
+
const response = typeof resp === 'string' ? resp.trim().toLowerCase() : '';
|
|
76
|
+
if (response === exports.YES_SHORT || response === exports.YES_LONG) {
|
|
77
|
+
mode = exports.EXISTING_MODE;
|
|
78
|
+
validResponse = true;
|
|
79
|
+
}
|
|
80
|
+
else if (response === exports.NO_SHORT || response === exports.NO_LONG) {
|
|
81
|
+
mode = exports.EMPTY_MODE;
|
|
82
|
+
validResponse = true;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
logger_1.Logger.error(messages.getMessage('invalidYesNoResponse'));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
logger_1.Logger.error(messages.getMessage('requestTimedOut'));
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return mode;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Prompts user to confirm if they want to retrieve APEX classes
|
|
97
|
+
*/
|
|
98
|
+
static async promptForRetrieval(messages, askWithTimeout) {
|
|
99
|
+
let validResponse = false;
|
|
100
|
+
while (!validResponse) {
|
|
101
|
+
try {
|
|
102
|
+
const resp = await askWithTimeout(logger_1.Logger.prompt.bind(logger_1.Logger), messages.getMessage('retrieveApexPrompt'));
|
|
103
|
+
const response = typeof resp === 'string' ? resp.trim().toLowerCase() : '';
|
|
104
|
+
if (response === exports.YES_SHORT || response === exports.YES_LONG) {
|
|
105
|
+
validResponse = true;
|
|
106
|
+
}
|
|
107
|
+
else if (response === exports.NO_SHORT || response === exports.NO_LONG) {
|
|
108
|
+
logger_1.Logger.error(messages.getMessage('operationCancelled'));
|
|
109
|
+
process.exit(0);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
logger_1.Logger.error(messages.getMessage('invalidYesNoResponse'));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
logger_1.Logger.error(messages.getMessage('requestTimedOut'));
|
|
117
|
+
process.exit(1);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Prompts user for project path and validates it
|
|
123
|
+
*/
|
|
124
|
+
static async promptForProjectPath(messages, askWithTimeout, mode) {
|
|
125
|
+
let gotValidPath = false;
|
|
126
|
+
let folderPath = '';
|
|
127
|
+
while (!gotValidPath) {
|
|
128
|
+
folderPath = await ProjectPathUtil.getFolderPathFromUser(messages, askWithTimeout, mode);
|
|
129
|
+
if (ProjectPathUtil.isValidFolderPath(folderPath, mode, messages)) {
|
|
130
|
+
if (mode === exports.EMPTY_MODE) {
|
|
131
|
+
createSfdxProject(folderPath);
|
|
132
|
+
}
|
|
133
|
+
gotValidPath = true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return folderPath;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Gets folder path input from user
|
|
140
|
+
*/
|
|
141
|
+
static async getFolderPathFromUser(messages, askWithTimeout, mode) {
|
|
142
|
+
try {
|
|
143
|
+
const resp = await askWithTimeout(logger_1.Logger.prompt.bind(logger_1.Logger), mode === exports.EXISTING_MODE
|
|
144
|
+
? messages.getMessage('enterExistingProjectPath')
|
|
145
|
+
: messages.getMessage('enterEmptyProjectPath'));
|
|
146
|
+
return typeof resp === 'string' ? path.resolve(resp.trim()) : '';
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
logger_1.Logger.error(messages.getMessage('requestTimedOut'));
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Validates the folder path based on mode
|
|
155
|
+
*/
|
|
156
|
+
static isValidFolderPath(folderPath, mode, messages) {
|
|
157
|
+
if (!fs.existsSync(folderPath) || !fs.lstatSync(folderPath).isDirectory()) {
|
|
158
|
+
logger_1.Logger.error(messages.getMessage('invalidProjectFolderPath'));
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
if (mode === exports.EMPTY_MODE && fs.readdirSync(folderPath).length > 0) {
|
|
162
|
+
logger_1.Logger.error(messages.getMessage('notEmptyProjectFolderPath'));
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
if (mode === exports.EXISTING_MODE && !isSfdxProject(folderPath)) {
|
|
166
|
+
logger_1.Logger.error(messages.getMessage('notSfdxProjectFolderPath'));
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.ProjectPathUtil = ProjectPathUtil;
|
|
173
|
+
//# sourceMappingURL=projectPathUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectPathUtil.js","sourceRoot":"","sources":["../../src/utils/projectPathUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Messages } from '@salesforce/core';
|
|
2
|
+
export declare function askStringWithTimeout(promptFn: (message: string) => Promise<string>, question: string, timeoutMsg: string, timeoutMs?: number): Promise<string>;
|
|
3
|
+
export declare function askPromptWithTimeout<T>(promptFn: (message: string) => Promise<T>, question: string, timeoutMsg: string, timeoutMs?: number): Promise<T>;
|
|
2
4
|
export declare class PromptUtil {
|
|
3
5
|
static askWithTimeOut(messages: Messages): (promptFn: (...args: unknown[]) => Promise<unknown>, ...args: unknown[]) => Promise<string>;
|
|
4
6
|
}
|
package/lib/utils/promptUtil.js
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PromptUtil = void 0;
|
|
3
|
+
exports.PromptUtil = exports.askPromptWithTimeout = exports.askStringWithTimeout = void 0;
|
|
4
|
+
async function askStringWithTimeout(promptFn, question, timeoutMsg, timeoutMs = 5 * 60 * 1000) {
|
|
5
|
+
return askPromptWithTimeout(promptFn, question, timeoutMsg, timeoutMs);
|
|
6
|
+
}
|
|
7
|
+
exports.askStringWithTimeout = askStringWithTimeout;
|
|
8
|
+
async function askPromptWithTimeout(promptFn, question, timeoutMsg, timeoutMs = 5 * 60 * 1000) {
|
|
9
|
+
return askUserWithTimeout(() => promptFn(question), timeoutMsg, timeoutMs);
|
|
10
|
+
}
|
|
11
|
+
exports.askPromptWithTimeout = askPromptWithTimeout;
|
|
12
|
+
async function askUserWithTimeout(asyncFn, timeoutMsg, timeoutMs = 5 * 60 * 1000) {
|
|
13
|
+
let timeoutHandle;
|
|
14
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
15
|
+
timeoutHandle = setTimeout(() => {
|
|
16
|
+
reject(new Error(timeoutMsg));
|
|
17
|
+
}, timeoutMs);
|
|
18
|
+
});
|
|
19
|
+
try {
|
|
20
|
+
const result = await Promise.race([asyncFn(), timeoutPromise]);
|
|
21
|
+
clearTimeout(timeoutHandle);
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
clearTimeout(timeoutHandle);
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
4
29
|
class PromptUtil {
|
|
5
30
|
static askWithTimeOut(messages) {
|
|
6
31
|
return async (promptFn, ...args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptUtil.js","sourceRoot":"","sources":["../../src/utils/promptUtil.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"promptUtil.js","sourceRoot":"","sources":["../../src/utils/promptUtil.ts"],"names":[],"mappings":";;;AAEO,KAAK,UAAU,oBAAoB,CACxC,QAA8C,EAC9C,QAAgB,EAChB,UAAkB,EAClB,YAAoB,CAAC,GAAG,EAAE,GAAG,IAAI;IAEjC,OAAO,oBAAoB,CAAS,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AACjF,CAAC;AAPD,oDAOC;AAEM,KAAK,UAAU,oBAAoB,CACxC,QAAyC,EACzC,QAAgB,EAChB,UAAkB,EAClB,YAAoB,CAAC,GAAG,EAAE,GAAG,IAAI;IAEjC,OAAO,kBAAkB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC7E,CAAC;AAPD,oDAOC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAyB,EACzB,UAAkB,EAClB,YAAoB,CAAC,GAAG,EAAE,GAAG,IAAI;IAEjC,IAAI,aAA6B,CAAC;IAClC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACtD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAChC,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAC/D,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACd,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AAED,MAAa,UAAU;IACd,MAAM,CAAC,cAAc,CAC1B,QAAkB;QAElB,OAAO,KAAK,EAAE,QAAkD,EAAE,GAAG,IAAe,EAAmB,EAAE;YACvG,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;YAC9C,IAAI,aAA6B,CAAC;YAClC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC5D,CAAC,EAAE,UAAU,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;gBACvE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,OAAO,MAAM,CAAC;iBACf;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;iBACnD;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,MAAM,GAAG,CAAC;aACX;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AA1BD,gCA0BC"}
|
|
@@ -21,11 +21,13 @@ export interface SummaryItemDetailParam {
|
|
|
21
21
|
cssClass: string;
|
|
22
22
|
}
|
|
23
23
|
export interface DashboardParam {
|
|
24
|
+
mode: 'assess' | 'migrate';
|
|
24
25
|
title: string;
|
|
25
26
|
heading: string;
|
|
26
27
|
org: OrgParam;
|
|
27
28
|
assessmentDate: string;
|
|
28
29
|
summaryItems: SummaryItemParam[];
|
|
30
|
+
actionItems?: string[];
|
|
29
31
|
}
|
|
30
32
|
export interface ReportDataParam {
|
|
31
33
|
title: string | string[];
|
|
@@ -36,6 +38,7 @@ export interface ReportDataParam {
|
|
|
36
38
|
colspan: number;
|
|
37
39
|
isHref: boolean;
|
|
38
40
|
uri?: string;
|
|
41
|
+
customClass?: string;
|
|
39
42
|
}
|
|
40
43
|
export interface ReportRowParam {
|
|
41
44
|
data: ReportDataParam[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OmnistudioOrgDetails } from '../orgUtils';
|
|
2
2
|
import { FilterGroupParam, OrgParam, ReportDataParam } from './reportInterfaces';
|
|
3
|
-
export declare function createRowDataParam(key: string, value: string, searchable: boolean, rowspan: number, colspan: number, isHref: boolean, uri?: string, title?: string | string[]): ReportDataParam;
|
|
3
|
+
export declare function createRowDataParam(key: string, value: string, searchable: boolean, rowspan: number, colspan: number, isHref: boolean, uri?: string, title?: string | string[], customClass?: string): ReportDataParam;
|
|
4
4
|
export declare function getOrgDetailsForReport(omnistudioOrgDetails: OmnistudioOrgDetails): OrgParam;
|
|
5
5
|
export declare function createFilterGroupParam(label: string, key: string, filters: string[]): FilterGroupParam;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createFilterGroupParam = exports.getOrgDetailsForReport = exports.createRowDataParam = void 0;
|
|
4
|
-
function createRowDataParam(key, value, searchable, rowspan, colspan, isHref, uri, title) {
|
|
4
|
+
function createRowDataParam(key, value, searchable, rowspan, colspan, isHref, uri, title, customClass) {
|
|
5
|
+
if (title && Array.isArray(title)) {
|
|
6
|
+
title = title.filter((t) => { var _a; return (_a = t === null || t === void 0 ? void 0 : t.trim) === null || _a === void 0 ? void 0 : _a.call(t); });
|
|
7
|
+
}
|
|
5
8
|
return {
|
|
6
9
|
key,
|
|
7
10
|
value,
|
|
@@ -11,6 +14,7 @@ function createRowDataParam(key, value, searchable, rowspan, colspan, isHref, ur
|
|
|
11
14
|
colspan,
|
|
12
15
|
isHref,
|
|
13
16
|
uri,
|
|
17
|
+
customClass: customClass || '',
|
|
14
18
|
};
|
|
15
19
|
}
|
|
16
20
|
exports.createRowDataParam = createRowDataParam;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportUtil.js","sourceRoot":"","sources":["../../../src/utils/reportGenerator/reportUtil.ts"],"names":[],"mappings":";;;AAGA,SAAgB,kBAAkB,CAChC,GAAW,EACX,KAAa,EACb,UAAmB,EACnB,OAAe,EACf,OAAe,EACf,MAAe,EACf,GAAY,EACZ,KAAyB;
|
|
1
|
+
{"version":3,"file":"reportUtil.js","sourceRoot":"","sources":["../../../src/utils/reportGenerator/reportUtil.ts"],"names":[],"mappings":";;;AAGA,SAAgB,kBAAkB,CAChC,GAAW,EACX,KAAa,EACb,UAAmB,EACnB,OAAe,EACf,OAAe,EACf,MAAe,EACf,GAAY,EACZ,KAAyB,EACzB,WAAoB;IAEpB,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,iDAAI,CAAA,EAAA,CAAC,CAAC;KAC1C;IAED,OAAO;QACL,GAAG;QACH,KAAK;QACL,KAAK,EAAE,KAAK,KAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,CAAA,IAAI,EAAE;QACvC,UAAU;QACV,OAAO;QACP,OAAO;QACP,MAAM;QACN,GAAG;QACH,WAAW,EAAE,WAAW,IAAI,EAAE;KAC/B,CAAC;AACJ,CAAC;AA1BD,gDA0BC;AAED,SAAgB,sBAAsB,CAAC,oBAA0C;IAC/E,OAAO;QACL,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,IAAI;QAC1C,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC,EAAE;QACtC,SAAS,EAAE,oBAAoB,CAAC,cAAc,CAAC,SAAS;QACxD,SAAS,EAAE,oBAAoB,CAAC,SAAS;KAC1C,CAAC;AACJ,CAAC;AAPD,wDAOC;AAED,SAAgB,sBAAsB,CAAC,KAAa,EAAE,GAAW,EAAE,OAAiB;IAClF,OAAO;QACL,KAAK;QACL,GAAG;QACH,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChC,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AARD,wDAQC"}
|
|
@@ -9,10 +9,10 @@ class ApexAssessmentReporter {
|
|
|
9
9
|
static getApexAssessmentData(apexAssessmentInfos, omnistudioOrgDetails) {
|
|
10
10
|
logger_1.Logger.captureVerboseData('apex data:', apexAssessmentInfos);
|
|
11
11
|
return {
|
|
12
|
-
title: 'Apex
|
|
13
|
-
heading: 'Apex',
|
|
12
|
+
title: 'Apex File Assessment Report',
|
|
13
|
+
heading: 'Apex File Assessment Report',
|
|
14
14
|
org: (0, reportUtil_1.getOrgDetailsForReport)(omnistudioOrgDetails),
|
|
15
|
-
assessmentDate: new Date().
|
|
15
|
+
assessmentDate: new Date().toLocaleString(),
|
|
16
16
|
total: (apexAssessmentInfos === null || apexAssessmentInfos === void 0 ? void 0 : apexAssessmentInfos.length) || 0,
|
|
17
17
|
filterGroups: this.getFilterGroupsForReport(apexAssessmentInfos),
|
|
18
18
|
headerGroups: this.getHeaderGroupsForReport(),
|
|
@@ -32,6 +32,11 @@ class ApexAssessmentReporter {
|
|
|
32
32
|
count: apexAssessmentInfos.filter((info) => info.warnings && info.warnings.length > 0).length,
|
|
33
33
|
cssClass: 'text-warning',
|
|
34
34
|
},
|
|
35
|
+
{
|
|
36
|
+
name: 'Has Errrors',
|
|
37
|
+
count: apexAssessmentInfos.filter((info) => info.errors && info.errors.length > 0).length,
|
|
38
|
+
cssClass: 'text-error',
|
|
39
|
+
},
|
|
35
40
|
];
|
|
36
41
|
}
|
|
37
42
|
static getRowsForReport(apexAssessmentInfos) {
|
|
@@ -39,17 +44,21 @@ class ApexAssessmentReporter {
|
|
|
39
44
|
rowId: `${this.rowIdPrefix}${this.rowId++}`,
|
|
40
45
|
data: [
|
|
41
46
|
(0, reportUtil_1.createRowDataParam)('name', apexAssessmentInfo.name, true, 1, 1, false),
|
|
42
|
-
(0, reportUtil_1.createRowDataParam)('fileReference', apexAssessmentInfo.
|
|
47
|
+
(0, reportUtil_1.createRowDataParam)('fileReference', apexAssessmentInfo.name, false, 1, 1, true, apexAssessmentInfo.path, apexAssessmentInfo.name + '.cls'),
|
|
48
|
+
(0, reportUtil_1.createRowDataParam)('status', apexAssessmentInfo.warnings.length > 0 ? 'Has Warnings' : 'Can be Automated', false, 1, 1, false, undefined, apexAssessmentInfo.warnings.length > 0 ? 'Has Warnings' : 'Can be Automated', apexAssessmentInfo.warnings.length > 0 ? 'text-error' : 'text-success'),
|
|
43
49
|
(0, reportUtil_1.createRowDataParam)('diff', apexAssessmentInfo.name + 'diff', false, 1, 1, false, undefined, FileDiffUtil_1.FileDiffUtil.getDiffHTML(apexAssessmentInfo.diff, apexAssessmentInfo.name)),
|
|
44
|
-
(0, reportUtil_1.createRowDataParam)('comments', apexAssessmentInfo.infos ? apexAssessmentInfo.infos.join(', ') : '', false, 1, 1, false, undefined, apexAssessmentInfo.infos),
|
|
45
|
-
(0, reportUtil_1.createRowDataParam)('errors', apexAssessmentInfo.warnings ? apexAssessmentInfo.warnings.join(', ') : '', false, 1, 1, false, undefined, apexAssessmentInfo.warnings),
|
|
50
|
+
(0, reportUtil_1.createRowDataParam)('comments', apexAssessmentInfo.infos ? apexAssessmentInfo.infos.join(', ') : '', false, 1, 1, false, undefined, apexAssessmentInfo.infos ? reportingHelper_1.reportingHelper.decorateErrors(apexAssessmentInfo.infos) : []),
|
|
51
|
+
(0, reportUtil_1.createRowDataParam)('errors', apexAssessmentInfo.warnings ? apexAssessmentInfo.warnings.join(', ') : '', false, 1, 1, false, undefined, apexAssessmentInfo.warnings ? reportingHelper_1.reportingHelper.decorateErrors(apexAssessmentInfo.warnings) : []),
|
|
46
52
|
],
|
|
47
53
|
}));
|
|
48
54
|
}
|
|
49
55
|
static getFilterGroupsForReport(apexAssessmentInfos) {
|
|
50
56
|
return [
|
|
51
|
-
(0, reportUtil_1.createFilterGroupParam)('Filter By
|
|
52
|
-
|
|
57
|
+
(0, reportUtil_1.createFilterGroupParam)('Filter By Assessment Status', 'status', [
|
|
58
|
+
'Can be Automated',
|
|
59
|
+
'Has Warnings',
|
|
60
|
+
'Has Errors',
|
|
61
|
+
]),
|
|
53
62
|
];
|
|
54
63
|
}
|
|
55
64
|
static getHeaderGroupsForReport() {
|
|
@@ -67,12 +76,17 @@ class ApexAssessmentReporter {
|
|
|
67
76
|
rowspan: 1,
|
|
68
77
|
},
|
|
69
78
|
{
|
|
70
|
-
name: '
|
|
79
|
+
name: 'Assessment Status',
|
|
80
|
+
colspan: 1,
|
|
81
|
+
rowspan: 2,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: 'Code Difference',
|
|
71
85
|
colspan: 1,
|
|
72
86
|
rowspan: 1,
|
|
73
87
|
},
|
|
74
88
|
{
|
|
75
|
-
name: '
|
|
89
|
+
name: 'Summary',
|
|
76
90
|
colspan: 1,
|
|
77
91
|
rowspan: 1,
|
|
78
92
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApexAssessmentReporter.js","sourceRoot":"","sources":["../../../src/utils/resultsbuilder/ApexAssessmentReporter.ts"],"names":[],"mappings":";;;AACA,sCAAmC;AASnC,8DAAmH;AACnH,sEAAmE;AACnE,uDAAoD;AAEpD,MAAa,sBAAsB;IAG1B,MAAM,CAAC,qBAAqB,CACjC,mBAAyC,EACzC,oBAA0C;QAE1C,eAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAC7D,OAAO;YACL,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ApexAssessmentReporter.js","sourceRoot":"","sources":["../../../src/utils/resultsbuilder/ApexAssessmentReporter.ts"],"names":[],"mappings":"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"}
|