sfdx-easy-sources 0.9.0 → 0.9.1-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commands/easysources/allmeta/minify.d.ts +1 -0
- package/lib/commands/easysources/allmeta/minify.js +17 -2
- package/lib/commands/easysources/allmeta/minify.js.map +1 -1
- package/lib/commands/easysources/objecttranslations/merge.d.ts +1 -3
- package/lib/commands/easysources/objecttranslations/merge.js +46 -17
- package/lib/commands/easysources/objecttranslations/merge.js.map +1 -1
- package/lib/commands/easysources/objecttranslations/minify.d.ts +1 -3
- package/lib/commands/easysources/objecttranslations/minify.js +50 -29
- package/lib/commands/easysources/objecttranslations/minify.js.map +1 -1
- package/lib/commands/easysources/objecttranslations/split.js +76 -52
- package/lib/commands/easysources/objecttranslations/split.js.map +1 -1
- package/lib/commands/easysources/objecttranslations/upsert.d.ts +1 -3
- package/lib/commands/easysources/objecttranslations/upsert.js +107 -75
- package/lib/commands/easysources/objecttranslations/upsert.js.map +1 -1
- package/lib/commands/easysources/permissionsets/minify.js +50 -29
- package/lib/commands/easysources/permissionsets/minify.js.map +1 -1
- package/lib/commands/easysources/profiles/minify.js +50 -29
- package/lib/commands/easysources/profiles/minify.js.map +1 -1
- package/lib/commands/easysources/profiles/split.js +1 -2
- package/lib/commands/easysources/profiles/split.js.map +1 -1
- package/lib/commands/easysources/recordtypes/merge.js +24 -9
- package/lib/commands/easysources/recordtypes/merge.js.map +1 -1
- package/lib/commands/easysources/recordtypes/split.js +56 -40
- package/lib/commands/easysources/recordtypes/split.js.map +1 -1
- package/lib/commands/easysources/recordtypes/updatekey.js +36 -20
- package/lib/commands/easysources/recordtypes/updatekey.js.map +1 -1
- package/lib/commands/easysources/recordtypes/upsert.js +88 -65
- package/lib/commands/easysources/recordtypes/upsert.js.map +1 -1
- package/lib/commands/easysources/translations/minify.js +51 -29
- package/lib/commands/easysources/translations/minify.js.map +1 -1
- package/lib/utils/commands/keyupdater.d.ts +5 -1
- package/lib/utils/commands/keyupdater.js +35 -20
- package/lib/utils/commands/keyupdater.js.map +1 -1
- package/lib/utils/commands/merger.d.ts +4 -0
- package/lib/utils/commands/merger.js +11 -5
- package/lib/utils/commands/merger.js.map +1 -1
- package/lib/utils/commands/splitter.d.ts +5 -1
- package/lib/utils/commands/splitter.js +60 -46
- package/lib/utils/commands/splitter.js.map +1 -1
- package/lib/utils/commands/upserter.d.ts +3 -3
- package/lib/utils/commands/upserter.js +126 -103
- package/lib/utils/commands/upserter.js.map +1 -1
- package/lib/utils/commands/utils.d.ts +4 -0
- package/lib/utils/commands/utils.js +9 -1
- package/lib/utils/commands/utils.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.allMetaMinify = void 0;
|
|
3
4
|
/*
|
|
4
5
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
5
6
|
* All rights reserved.
|
|
@@ -20,9 +21,9 @@ const messages = core_1.Messages.loadMessages('sfdx-easy-sources', 'all_minify')
|
|
|
20
21
|
class Merge extends command_1.SfdxCommand {
|
|
21
22
|
async run() {
|
|
22
23
|
performance_1.default.getInstance().start();
|
|
23
|
-
|
|
24
|
+
const result = await allMetaMinify(this.flags);
|
|
24
25
|
performance_1.default.getInstance().end();
|
|
25
|
-
return
|
|
26
|
+
return result;
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
exports.default = Merge;
|
|
@@ -45,4 +46,18 @@ Merge.flagsConfig = {
|
|
|
45
46
|
default: false
|
|
46
47
|
}),
|
|
47
48
|
};
|
|
49
|
+
// Export function for programmatic API
|
|
50
|
+
async function allMetaMinify(options = {}) {
|
|
51
|
+
try {
|
|
52
|
+
await (0, utils_1.bulkExecuteCommands)(options, 'minify', options.sequencial);
|
|
53
|
+
return { result: 'OK' };
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
return {
|
|
57
|
+
result: 'KO',
|
|
58
|
+
error: error.message || 'Unknown error occurred'
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.allMetaMinify = allMetaMinify;
|
|
48
63
|
//# sourceMappingURL=minify.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minify.js","sourceRoot":"","sources":["../../../../src/commands/easysources/allmeta/minify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"minify.js","sourceRoot":"","sources":["../../../../src/commands/easysources/allmeta/minify.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,4DAAqD;AACrD,kEAA4F;AAC5F,yDAAoE;AAIpE,wDAAwD;AACxD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAE5C,iGAAiG;AACjG,mFAAmF;AACnF,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAE1E,MAAqB,KAAM,SAAQ,qBAAW;IAwBnC,KAAK,CAAC,GAAG;QACZ,qBAAW,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/C,qBAAW,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEhC,OAAO,MAAM,CAAC;IAClB,CAAC;;AAhCL,wBAiCC;AAhCiB,iBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAExD,cAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAEzD,UAAI,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEvB,iBAAW,GAAG;IAC3B,uCAAuC;IACvC,QAAQ,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,8BAAkB,CAAC,CAAC;KACjF,CAAC;IACF,QAAQ,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,8BAAkB,CAAC,CAAC;KACjF,CAAC;IACF,UAAU,EAAE,eAAK,CAAC,OAAO,CAAC;QACtB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,EAAE,KAAK;KACjB,CAAC;CACL,CAAC;AAaN,yCAAyC;AAClC,KAAK,UAAU,aAAa,CAAC,UAAe,EAAE;IACjD,IAAI;QACA,MAAM,IAAA,2BAAmB,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC3B;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO;YACH,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,wBAAwB;SACnD,CAAC;KACL;AACL,CAAC;AAVD,sCAUC"}
|
|
@@ -14,9 +14,7 @@ export default class Merge extends SfdxCommand {
|
|
|
14
14
|
};
|
|
15
15
|
run(): Promise<AnyJson>;
|
|
16
16
|
}
|
|
17
|
-
export declare function objectTranslationMerge(options?: any): Promise<
|
|
18
|
-
outputString: string;
|
|
19
|
-
}>;
|
|
17
|
+
export declare function objectTranslationMerge(options?: any): Promise<any>;
|
|
20
18
|
/**
|
|
21
19
|
* Core merge logic for object translations that creates merged XML from CSV files in memory
|
|
22
20
|
* Handles main object translation (excluding fieldTranslations which are handled separately)
|
|
@@ -19,6 +19,7 @@ const filesUtils_1 = require("../../../utils/filesUtils");
|
|
|
19
19
|
const utils_1 = require("../../../utils/utils");
|
|
20
20
|
const utils_objtransl_1 = require("../../../utils/utils_objtransl");
|
|
21
21
|
const flatArrayUtils_1 = require("../../../utils/flatArrayUtils");
|
|
22
|
+
const utils_2 = require("../../../utils/commands/utils");
|
|
22
23
|
const fs = require('fs-extra');
|
|
23
24
|
const settings = (0, localSettings_1.loadSettings)();
|
|
24
25
|
// Initialize Messages with the current plugin directory
|
|
@@ -64,7 +65,14 @@ async function objectTranslationMerge(options = {}) {
|
|
|
64
65
|
const baseInputDir = (0, path_1.join)((options["es-csv"] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
65
66
|
const baseOutputDir = (0, path_1.join)((options["sf-xml"] || settings['salesforce-xml-path'] || constants_1.DEFAULT_SFXML_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
66
67
|
const inputObject = (options.input);
|
|
67
|
-
|
|
68
|
+
// Initialize result object
|
|
69
|
+
const result = { result: 'OK', items: {} };
|
|
70
|
+
try {
|
|
71
|
+
(0, filesUtils_1.checkDirOrErrorSync)(baseInputDir);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return (0, utils_2.jsonAndPrintError)(error.message);
|
|
75
|
+
}
|
|
68
76
|
var objectList = [];
|
|
69
77
|
if (inputObject) {
|
|
70
78
|
objectList = inputObject.split(',');
|
|
@@ -75,32 +83,53 @@ async function objectTranslationMerge(options = {}) {
|
|
|
75
83
|
.map(item => item.name);
|
|
76
84
|
}
|
|
77
85
|
for (const obj of objectList) {
|
|
78
|
-
if (!fs.existsSync((0, path_1.join)(baseInputDir, obj, 'csv')))
|
|
86
|
+
if (!fs.existsSync((0, path_1.join)(baseInputDir, obj, 'csv'))) {
|
|
87
|
+
result[obj] = {
|
|
88
|
+
result: 'KO',
|
|
89
|
+
error: `CSV directory does not exist for object ${obj}`
|
|
90
|
+
};
|
|
79
91
|
continue;
|
|
92
|
+
}
|
|
80
93
|
const inputXML = (0, path_1.join)(baseInputDir, obj, 'csv', obj) + constants_1.XML_PART_EXTENSION;
|
|
81
94
|
if (!fs.existsSync(inputXML)) {
|
|
82
95
|
console.log('Skipping ' + obj + '; File ' + inputXML + ' does not exist!');
|
|
96
|
+
result[obj] = {
|
|
97
|
+
result: 'KO',
|
|
98
|
+
error: `File ${inputXML} does not exist`
|
|
99
|
+
};
|
|
83
100
|
continue;
|
|
84
101
|
}
|
|
85
102
|
console.log('Merging: ' + obj);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
fs.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
try {
|
|
104
|
+
// Use the exported merge function
|
|
105
|
+
const mergedXml = await mergeObjectTranslationFromCsv(obj, (0, path_1.join)(baseInputDir, obj, 'csv'), options);
|
|
106
|
+
const outputDir = (0, path_1.join)(baseOutputDir, obj);
|
|
107
|
+
const outputFile = (0, path_1.join)(outputDir, obj + constants_objecttranslations_1.OBJTRANSL_EXTENSION);
|
|
108
|
+
if (!fs.existsSync(outputDir)) {
|
|
109
|
+
fs.mkdirSync(outputDir);
|
|
110
|
+
}
|
|
111
|
+
await (0, filesUtils_1.writeXmlToFile)(outputFile, mergedXml);
|
|
112
|
+
// Handle fieldTranslations using the exported function
|
|
113
|
+
const fieldXmlArray = await getFieldTranslationsFromCsv(obj, (0, path_1.join)(baseInputDir, obj, 'csv'));
|
|
114
|
+
if (fieldXmlArray.length > 0) {
|
|
115
|
+
deleteFieldTranslationsXmls(baseOutputDir, obj);
|
|
116
|
+
for (const entry of fieldXmlArray) {
|
|
117
|
+
await (0, filesUtils_1.writeXmlToFile)((0, path_1.join)(baseOutputDir, obj, entry.name + constants_objecttranslations_1.OBJTRANSL_FIELDTRANSL_EXTENSION), { [constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT_TAG]: entry });
|
|
118
|
+
}
|
|
100
119
|
}
|
|
120
|
+
// Object processed successfully
|
|
121
|
+
result.items[obj] = { result: 'OK' };
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
// Object processing failed
|
|
125
|
+
console.error(`Error merging object ${obj}:`, error);
|
|
126
|
+
result.items[obj] = {
|
|
127
|
+
result: 'KO',
|
|
128
|
+
error: error.message || 'Unknown error occurred'
|
|
129
|
+
};
|
|
101
130
|
}
|
|
102
131
|
}
|
|
103
|
-
return
|
|
132
|
+
return result;
|
|
104
133
|
}
|
|
105
134
|
exports.objectTranslationMerge = objectTranslationMerge;
|
|
106
135
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/commands/easysources/objecttranslations/merge.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,4DAAqD;AACrD,kEAAgH;AAChH,wGAA0Q;AAC1Q,gEAA4D;AAC5D,+BAA4B;AAC5B,0DAA+I;AAC/I,gDAAiD;AACjD,oEAA2H;AAC3H,kEAA4D;
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/commands/easysources/objecttranslations/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,4 @@ export default class Clean extends SfdxCommand {
|
|
|
14
14
|
};
|
|
15
15
|
run(): Promise<AnyJson>;
|
|
16
16
|
}
|
|
17
|
-
export declare function objectTranslationMinify(options?: any): Promise<
|
|
18
|
-
outputString: string;
|
|
19
|
-
}>;
|
|
17
|
+
export declare function objectTranslationMinify(options?: any): Promise<any>;
|
|
@@ -19,6 +19,7 @@ const constants_1 = require("../../../utils/constants/constants");
|
|
|
19
19
|
const localSettings_1 = require("../../../utils/localSettings");
|
|
20
20
|
const constants_objecttranslations_1 = require("../../../utils/constants/constants_objecttranslations");
|
|
21
21
|
const csvWriter_1 = require("../../../utils/csvWriter");
|
|
22
|
+
const utils_2 = require("../../../utils/commands/utils");
|
|
22
23
|
const settings = (0, localSettings_1.loadSettings)();
|
|
23
24
|
// Initialize Messages with the current plugin directory
|
|
24
25
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
@@ -64,8 +65,15 @@ async function objectTranslationMinify(options = {}) {
|
|
|
64
65
|
const csvDir = (0, path_1.join)((options["es-csv"] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
65
66
|
const xmlDir = (0, path_1.join)((options["sf-xml"] || settings['salesforce-xml-path'] || constants_1.DEFAULT_SFXML_PATH));
|
|
66
67
|
const inputObject = (options.input);
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
// Initialize result object
|
|
69
|
+
const result = { result: 'OK', items: {} };
|
|
70
|
+
try {
|
|
71
|
+
(0, filesUtils_1.checkDirOrErrorSync)(csvDir);
|
|
72
|
+
(0, filesUtils_1.checkDirOrErrorSync)(xmlDir);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
return (0, utils_2.jsonAndPrintError)(error.message);
|
|
76
|
+
}
|
|
69
77
|
var objTrList = [];
|
|
70
78
|
if (inputObject) {
|
|
71
79
|
objTrList = inputObject.split(',');
|
|
@@ -78,39 +86,52 @@ async function objectTranslationMinify(options = {}) {
|
|
|
78
86
|
// objTrName is the object translation name
|
|
79
87
|
for (const objTrName of objTrList) {
|
|
80
88
|
console.log('Minifying on: ' + objTrName);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
for (const boolName of (0, utils_1.toArray)(constants_objecttranslations_1.OBJTRANSL_TAG_BOOL[tag_section])) {
|
|
92
|
-
if (!(0, utils_1.isBlank)(res[boolName]))
|
|
89
|
+
try {
|
|
90
|
+
for (const tag_section in constants_objecttranslations_1.OBJTRANSL_ITEMS) {
|
|
91
|
+
// tag_section is an object translation section (fieldTranslations, layouts, etc)
|
|
92
|
+
const csvFilePath = (0, path_1.join)(csvDir, objTrName, 'csv', (0, filesUtils_1.calcCsvFilename)(objTrName, tag_section));
|
|
93
|
+
if (fs.existsSync(csvFilePath)) {
|
|
94
|
+
// get the list of resources on the csv. eg. the list of field translations
|
|
95
|
+
var resListCsv = await (0, filesUtils_1.readCsvToJsonArrayWithNulls)(csvFilePath);
|
|
96
|
+
resListCsv = resListCsv.filter(function (res) {
|
|
97
|
+
// return true to persist, false to delete
|
|
98
|
+
if (constants_objecttranslations_1.OBJTRANSL_TAG_BOOL[tag_section] == null)
|
|
93
99
|
return true;
|
|
100
|
+
for (const boolName of (0, utils_1.toArray)(constants_objecttranslations_1.OBJTRANSL_TAG_BOOL[tag_section])) {
|
|
101
|
+
if (!(0, utils_1.isBlank)(res[boolName]))
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
return false;
|
|
105
|
+
});
|
|
106
|
+
// write the cleaned csv
|
|
107
|
+
const headers = constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].headers;
|
|
108
|
+
if (options.sort === 'true' || options.sort === true || options.sort === undefined) {
|
|
109
|
+
resListCsv = (0, utils_1.sortByKey)(resListCsv);
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
const csvContent = await csvWriter.toCsv(resListCsv, headers);
|
|
113
|
+
fs.writeFileSync(csvFilePath, csvContent, { flag: 'w+' });
|
|
114
|
+
// file written successfully
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
console.error(err);
|
|
118
|
+
throw new Error(`Failed to write CSV file ${csvFilePath}: ${err.message}`);
|
|
94
119
|
}
|
|
95
|
-
return false;
|
|
96
|
-
});
|
|
97
|
-
// write the cleaned csv
|
|
98
|
-
const headers = constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].headers;
|
|
99
|
-
if (options.sort === 'true' || options.sort === true || options.sort === undefined) {
|
|
100
|
-
resListCsv = (0, utils_1.sortByKey)(resListCsv);
|
|
101
|
-
}
|
|
102
|
-
try {
|
|
103
|
-
const csvContent = await csvWriter.toCsv(resListCsv, headers);
|
|
104
|
-
fs.writeFileSync(csvFilePath, csvContent, { flag: 'w+' });
|
|
105
|
-
// file written successfully
|
|
106
|
-
}
|
|
107
|
-
catch (err) {
|
|
108
|
-
console.error(err);
|
|
109
120
|
}
|
|
121
|
+
// Object translation processed successfully
|
|
122
|
+
result.items[objTrName] = { result: 'OK' };
|
|
110
123
|
}
|
|
111
124
|
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
// Object translation processing failed
|
|
127
|
+
console.error(`Error minifying object translation ${objTrName}:`, error);
|
|
128
|
+
result.items[objTrName] = {
|
|
129
|
+
result: 'KO',
|
|
130
|
+
error: error.message || 'Unknown error occurred'
|
|
131
|
+
};
|
|
132
|
+
}
|
|
112
133
|
}
|
|
113
|
-
return
|
|
134
|
+
return result;
|
|
114
135
|
}
|
|
115
136
|
exports.objectTranslationMinify = objectTranslationMinify;
|
|
116
137
|
//# sourceMappingURL=minify.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minify.js","sourceRoot":"","sources":["../../../../src/commands/easysources/objecttranslations/minify.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,+BAA4B;AAC5B,4DAAqD;AACrD,0DAA6G;AAC7G,gDAAkE;AAClE,kEAA4F;AAC5F,gEAA4D;AAC5D,wGAA+H;AAC/H,wDAAiD;
|
|
1
|
+
{"version":3,"file":"minify.js","sourceRoot":"","sources":["../../../../src/commands/easysources/objecttranslations/minify.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,14 @@ async function objectTranslationSplit(options = {}) {
|
|
|
65
65
|
const baseInputDir = (0, path_1.join)((options["sf-xml"] || settings['salesforce-xml-path'] || constants_1.DEFAULT_SFXML_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
66
66
|
const baseOutputDir = (0, path_1.join)((options["es-csv"] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
67
67
|
const inputObject = (options.input);
|
|
68
|
-
|
|
68
|
+
// Initialize result object
|
|
69
|
+
const result = { result: 'OK', items: {} };
|
|
70
|
+
try {
|
|
71
|
+
(0, filesUtils_1.checkDirOrErrorSync)(baseInputDir);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return (0, utils_2.jsonAndPrintError)(error.message);
|
|
75
|
+
}
|
|
69
76
|
var objectTList = [];
|
|
70
77
|
if (inputObject) {
|
|
71
78
|
objectTList = inputObject.split(',');
|
|
@@ -79,67 +86,84 @@ async function objectTranslationSplit(options = {}) {
|
|
|
79
86
|
const inputFile = (0, path_1.join)(baseInputDir, objTrName, objTrName + constants_objecttranslations_1.OBJTRANSL_EXTENSION);
|
|
80
87
|
if (!fs.existsSync(inputFile)) {
|
|
81
88
|
console.log('Skipping ' + objTrName + '; File ' + inputFile + ' does not exist!');
|
|
89
|
+
result[objTrName] = {
|
|
90
|
+
result: 'KO',
|
|
91
|
+
error: `File ${inputFile} does not exist`
|
|
92
|
+
};
|
|
82
93
|
continue;
|
|
83
94
|
}
|
|
84
95
|
console.log('Splitting: ' + objTrName);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
fs.
|
|
91
|
-
|
|
92
|
-
for (const tag_section in constants_objecttranslations_1.OBJTRANSL_ITEMS) {
|
|
93
|
-
var myjson = objTranslProperties[tag_section];
|
|
94
|
-
// skip when tag is not found in the xml
|
|
95
|
-
if (myjson == undefined && tag_section !== constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT)
|
|
96
|
-
continue;
|
|
97
|
-
// fixes scenarios when the tag is one, since it would be read as object and not array
|
|
98
|
-
if (!Array.isArray(myjson))
|
|
99
|
-
myjson = [myjson];
|
|
100
|
-
if (tag_section === constants_objecttranslations_1.OBJTRANSL_LAYOUT_ROOT) {
|
|
101
|
-
myjson = (0, utils_objtransl_1.transformLayoutXMLtoCSV)(myjson);
|
|
96
|
+
try {
|
|
97
|
+
const xmlFileContent = (await (0, filesUtils_1.readXmlFromFile)(inputFile)) ?? {};
|
|
98
|
+
const objTranslProperties = xmlFileContent[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG] ?? {};
|
|
99
|
+
const outputDir = (0, path_1.join)(baseOutputDir, objTrName, 'csv');
|
|
100
|
+
// Delete outputDir if it exists to ensure a clean split
|
|
101
|
+
if (fs.existsSync(outputDir)) {
|
|
102
|
+
fs.removeSync(outputDir);
|
|
102
103
|
}
|
|
103
|
-
|
|
104
|
-
myjson = [];
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
myjson
|
|
104
|
+
for (const tag_section in constants_objecttranslations_1.OBJTRANSL_ITEMS) {
|
|
105
|
+
var myjson = objTranslProperties[tag_section];
|
|
106
|
+
// skip when tag is not found in the xml
|
|
107
|
+
if (myjson == undefined && tag_section !== constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT)
|
|
108
|
+
continue;
|
|
109
|
+
// fixes scenarios when the tag is one, since it would be read as object and not array
|
|
110
|
+
if (!Array.isArray(myjson))
|
|
111
|
+
myjson = [myjson];
|
|
112
|
+
if (tag_section === constants_objecttranslations_1.OBJTRANSL_LAYOUT_ROOT) {
|
|
113
|
+
myjson = (0, utils_objtransl_1.transformLayoutXMLtoCSV)(myjson);
|
|
111
114
|
}
|
|
115
|
+
if (tag_section === constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT) {
|
|
116
|
+
myjson = [];
|
|
117
|
+
var fieldTrList = (0, utils_objtransl_1.getFieldTranslationFiles)((0, path_1.join)(baseInputDir, objTrName));
|
|
118
|
+
for (const fieldTrFilename of fieldTrList) {
|
|
119
|
+
const fieldTrPath = (0, path_1.join)(baseInputDir, objTrName, fieldTrFilename);
|
|
120
|
+
const xmlFileContent = (await (0, filesUtils_1.readXmlFromFile)(fieldTrPath)) ?? {};
|
|
121
|
+
const fieldTr = xmlFileContent[constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT_TAG] ?? {};
|
|
122
|
+
myjson.push(...(0, utils_objtransl_1.transformFieldXMLtoCSV)(fieldTr));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// generate _tagId column
|
|
126
|
+
(0, utils_1.generateTagId)(myjson, constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].key, constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].headers);
|
|
127
|
+
if (options.sort === 'true') {
|
|
128
|
+
myjson = (0, utils_1.sortByKey)(myjson);
|
|
129
|
+
}
|
|
130
|
+
const headers = constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].headers;
|
|
131
|
+
const outputFile = (0, path_1.join)(outputDir, (0, filesUtils_1.calcCsvFilename)(objTrName, tag_section));
|
|
132
|
+
if (!fs.existsSync(outputDir)) {
|
|
133
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
const csvContent = await csvWriter.toCsv(myjson, headers);
|
|
137
|
+
fs.writeFileSync(outputFile, csvContent, { flag: 'w+' });
|
|
138
|
+
// file written successfully
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
console.error(err);
|
|
142
|
+
throw new Error(`Failed to write CSV file ${outputFile}: ${err.message}`);
|
|
143
|
+
}
|
|
144
|
+
// writes the empty tag on the part file
|
|
145
|
+
// avoid writing for fieldTranslations, since they are separated files
|
|
146
|
+
if (tag_section !== constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT)
|
|
147
|
+
xmlFileContent[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG][tag_section] = null;
|
|
112
148
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
const headers = constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].headers;
|
|
119
|
-
const outputFileCSV = (0, path_1.join)(outputDir, (0, filesUtils_1.calcCsvFilename)(objTrName, tag_section));
|
|
120
|
-
if (!fs.existsSync(outputDir)) {
|
|
121
|
-
fs.mkdirSync(outputDir, { recursive: true });
|
|
122
|
-
}
|
|
123
|
-
try {
|
|
124
|
-
const csvContent = await csvWriter.toCsv(myjson, headers);
|
|
125
|
-
fs.writeFileSync(outputFileCSV, csvContent, { flag: 'w+' });
|
|
126
|
-
// file written successfully
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
console.error(err);
|
|
149
|
+
if (fs.existsSync(outputDir)) {
|
|
150
|
+
const outputFileXML = (0, path_1.join)(outputDir, objTrName + constants_1.XML_PART_EXTENSION);
|
|
151
|
+
xmlFileContent[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG] = (0, utils_2.sortObjectKeys)(xmlFileContent[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG]);
|
|
152
|
+
(0, filesUtils_1.writeXmlToFile)(outputFileXML, xmlFileContent);
|
|
130
153
|
}
|
|
131
|
-
//
|
|
132
|
-
|
|
133
|
-
if (tag_section !== constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT)
|
|
134
|
-
xmlFileContent[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG][tag_section] = null;
|
|
154
|
+
// Object processed successfully
|
|
155
|
+
result.items[objTrName] = { result: 'OK' };
|
|
135
156
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
157
|
+
catch (error) {
|
|
158
|
+
// Object processing failed
|
|
159
|
+
console.error(`Error processing object ${objTrName}:`, error);
|
|
160
|
+
result.items[objTrName] = {
|
|
161
|
+
result: 'KO',
|
|
162
|
+
error: error.message || 'Unknown error occurred'
|
|
163
|
+
};
|
|
140
164
|
}
|
|
141
165
|
}
|
|
142
|
-
return
|
|
166
|
+
return result;
|
|
143
167
|
}
|
|
144
168
|
exports.objectTranslationSplit = objectTranslationSplit;
|
|
145
169
|
//# sourceMappingURL=split.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split.js","sourceRoot":"","sources":["../../../../src/commands/easysources/objecttranslations/split.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,4DAAqD;AACrD,kEAAgH;AAChH,wGAAyO;AACzO,gEAA4D;AAC5D,+BAA4B;AAC5B,0DAAkH;AAClH,gDAAgE;AAChE,oEAA4H;AAC5H,wDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"split.js","sourceRoot":"","sources":["../../../../src/commands/easysources/objecttranslations/split.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,4 @@ export default class Upsert extends SfdxCommand {
|
|
|
14
14
|
};
|
|
15
15
|
run(): Promise<AnyJson>;
|
|
16
16
|
}
|
|
17
|
-
export declare function objectTranslationUpsert(options?: any): Promise<
|
|
18
|
-
outputString: string;
|
|
19
|
-
}>;
|
|
17
|
+
export declare function objectTranslationUpsert(options?: any): Promise<any>;
|