sfdx-easy-sources 0.8.3 → 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 +52 -32
- package/lib/commands/easysources/objecttranslations/minify.js.map +1 -1
- package/lib/commands/easysources/objecttranslations/split.js +79 -55
- 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 +109 -75
- package/lib/commands/easysources/objecttranslations/upsert.js.map +1 -1
- package/lib/commands/easysources/permissionsets/clean.js +4 -5
- package/lib/commands/easysources/permissionsets/clean.js.map +1 -1
- package/lib/commands/easysources/permissionsets/delete.js +4 -5
- package/lib/commands/easysources/permissionsets/delete.js.map +1 -1
- package/lib/commands/easysources/permissionsets/minify.js +52 -32
- package/lib/commands/easysources/permissionsets/minify.js.map +1 -1
- package/lib/commands/easysources/profiles/clean.js +4 -5
- package/lib/commands/easysources/profiles/clean.js.map +1 -1
- package/lib/commands/easysources/profiles/delete.js +4 -5
- package/lib/commands/easysources/profiles/delete.js.map +1 -1
- package/lib/commands/easysources/profiles/minify.js +52 -32
- package/lib/commands/easysources/profiles/minify.js.map +1 -1
- package/lib/commands/easysources/profiles/split.js +1 -1
- package/lib/commands/easysources/recordtypes/clean.js +5 -5
- package/lib/commands/easysources/recordtypes/clean.js.map +1 -1
- package/lib/commands/easysources/recordtypes/delete.js +5 -5
- package/lib/commands/easysources/recordtypes/delete.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 +58 -40
- package/lib/commands/easysources/recordtypes/split.js.map +1 -1
- package/lib/commands/easysources/recordtypes/updatekey.js +38 -22
- package/lib/commands/easysources/recordtypes/updatekey.js.map +1 -1
- package/lib/commands/easysources/recordtypes/upsert.js +90 -64
- package/lib/commands/easysources/recordtypes/upsert.js.map +1 -1
- package/lib/commands/easysources/translations/minify.js +53 -31
- 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 +37 -23
- 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 +62 -48
- package/lib/utils/commands/splitter.js.map +1 -1
- package/lib/utils/commands/upserter.d.ts +3 -3
- package/lib/utils/commands/upserter.js +128 -102
- package/lib/utils/commands/upserter.js.map +1 -1
- package/lib/utils/commands/utils.d.ts +11 -0
- package/lib/utils/commands/utils.js +35 -1
- package/lib/utils/commands/utils.js.map +1 -1
- package/lib/utils/constants/constants_applications.d.ts +2 -8
- package/lib/utils/constants/constants_globalvaluesets.d.ts +2 -8
- package/lib/utils/constants/constants_globalvaluesettranslations.d.ts +2 -8
- package/lib/utils/constants/constants_labels.d.ts +2 -8
- package/lib/utils/constants/constants_objecttranslations.d.ts +14 -56
- package/lib/utils/constants/constants_permissionsets.d.ts +2 -8
- package/lib/utils/constants/constants_profiles.d.ts +4 -16
- package/lib/utils/constants/constants_translations.d.ts +12 -48
- package/lib/utils/csvWriter.d.ts +9 -0
- package/lib/utils/csvWriter.js +53 -0
- package/lib/utils/csvWriter.js.map +1 -0
- package/lib/utils/utils.d.ts +1 -4
- package/lib/utils/utils.js +8 -1
- package/lib/utils/utils.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +3 -2
|
@@ -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>;
|
|
@@ -13,12 +13,13 @@ const core_1 = require("@salesforce/core");
|
|
|
13
13
|
const fs = require('fs-extra');
|
|
14
14
|
const path_1 = require("path");
|
|
15
15
|
const performance_1 = require("../../../utils/performance");
|
|
16
|
-
const { Parser, transforms: { unwind } } = require('json2csv');
|
|
17
16
|
const filesUtils_1 = require("../../../utils/filesUtils");
|
|
18
17
|
const utils_1 = require("../../../utils/utils");
|
|
19
18
|
const constants_1 = require("../../../utils/constants/constants");
|
|
20
19
|
const localSettings_1 = require("../../../utils/localSettings");
|
|
21
20
|
const constants_objecttranslations_1 = require("../../../utils/constants/constants_objecttranslations");
|
|
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);
|
|
@@ -60,11 +61,19 @@ Clean.flagsConfig = {
|
|
|
60
61
|
};
|
|
61
62
|
// Export object translation-specific minify function for programmatic API
|
|
62
63
|
async function objectTranslationMinify(options = {}) {
|
|
64
|
+
const csvWriter = new csvWriter_1.default();
|
|
63
65
|
const csvDir = (0, path_1.join)((options["es-csv"] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
64
66
|
const xmlDir = (0, path_1.join)((options["sf-xml"] || settings['salesforce-xml-path'] || constants_1.DEFAULT_SFXML_PATH));
|
|
65
67
|
const inputObject = (options.input);
|
|
66
|
-
|
|
67
|
-
|
|
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
|
+
}
|
|
68
77
|
var objTrList = [];
|
|
69
78
|
if (inputObject) {
|
|
70
79
|
objTrList = inputObject.split(',');
|
|
@@ -77,41 +86,52 @@ async function objectTranslationMinify(options = {}) {
|
|
|
77
86
|
// objTrName is the object translation name
|
|
78
87
|
for (const objTrName of objTrList) {
|
|
79
88
|
console.log('Minifying on: ' + objTrName);
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
for (const boolName of (0, utils_1.toArray)(constants_objecttranslations_1.OBJTRANSL_TAG_BOOL[tag_section])) {
|
|
91
|
-
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)
|
|
92
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}`);
|
|
93
119
|
}
|
|
94
|
-
return false;
|
|
95
|
-
});
|
|
96
|
-
// write the cleaned csv
|
|
97
|
-
const headers = constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].headers;
|
|
98
|
-
const transforms = [unwind({ paths: headers })];
|
|
99
|
-
const parser = new Parser({ fields: [...headers, '_tagid'], transforms });
|
|
100
|
-
if (options.sort === 'true' || options.sort === true || options.sort === undefined) {
|
|
101
|
-
resListCsv = (0, utils_1.sortByKey)(resListCsv);
|
|
102
|
-
}
|
|
103
|
-
const csv = parser.parse(resListCsv);
|
|
104
|
-
try {
|
|
105
|
-
fs.writeFileSync(csvFilePath, csv, { flag: 'w+' });
|
|
106
|
-
// file written successfully
|
|
107
|
-
}
|
|
108
|
-
catch (err) {
|
|
109
|
-
console.error(err);
|
|
110
120
|
}
|
|
121
|
+
// Object translation processed successfully
|
|
122
|
+
result.items[objTrName] = { result: 'OK' };
|
|
111
123
|
}
|
|
112
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
|
+
}
|
|
113
133
|
}
|
|
114
|
-
return
|
|
134
|
+
return result;
|
|
115
135
|
}
|
|
116
136
|
exports.objectTranslationMinify = objectTranslationMinify;
|
|
117
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,
|
|
1
|
+
{"version":3,"file":"minify.js","sourceRoot":"","sources":["../../../../src/commands/easysources/objecttranslations/minify.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,8 @@ const path_1 = require("path");
|
|
|
18
18
|
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
|
-
const
|
|
21
|
+
const csvWriter_1 = require("../../../utils/csvWriter");
|
|
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
|
|
@@ -60,10 +61,18 @@ Split.flagsConfig = {
|
|
|
60
61
|
};
|
|
61
62
|
// Export function for programmatic API
|
|
62
63
|
async function objectTranslationSplit(options = {}) {
|
|
64
|
+
const csvWriter = new csvWriter_1.default();
|
|
63
65
|
const baseInputDir = (0, path_1.join)((options["sf-xml"] || settings['salesforce-xml-path'] || constants_1.DEFAULT_SFXML_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
64
66
|
const baseOutputDir = (0, path_1.join)((options["es-csv"] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH), constants_objecttranslations_1.OBJTRANSL_SUBPATH);
|
|
65
67
|
const inputObject = (options.input);
|
|
66
|
-
|
|
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
|
+
}
|
|
67
76
|
var objectTList = [];
|
|
68
77
|
if (inputObject) {
|
|
69
78
|
objectTList = inputObject.split(',');
|
|
@@ -77,69 +86,84 @@ async function objectTranslationSplit(options = {}) {
|
|
|
77
86
|
const inputFile = (0, path_1.join)(baseInputDir, objTrName, objTrName + constants_objecttranslations_1.OBJTRANSL_EXTENSION);
|
|
78
87
|
if (!fs.existsSync(inputFile)) {
|
|
79
88
|
console.log('Skipping ' + objTrName + '; File ' + inputFile + ' does not exist!');
|
|
89
|
+
result[objTrName] = {
|
|
90
|
+
result: 'KO',
|
|
91
|
+
error: `File ${inputFile} does not exist`
|
|
92
|
+
};
|
|
80
93
|
continue;
|
|
81
94
|
}
|
|
82
95
|
console.log('Splitting: ' + objTrName);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
fs.
|
|
89
|
-
|
|
90
|
-
for (const tag_section in constants_objecttranslations_1.OBJTRANSL_ITEMS) {
|
|
91
|
-
var myjson = objTranslProperties[tag_section];
|
|
92
|
-
// skip when tag is not found in the xml
|
|
93
|
-
if (myjson == undefined && tag_section !== constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT)
|
|
94
|
-
continue;
|
|
95
|
-
// fixes scenarios when the tag is one, since it would be read as object and not array
|
|
96
|
-
if (!Array.isArray(myjson))
|
|
97
|
-
myjson = [myjson];
|
|
98
|
-
if (tag_section === constants_objecttranslations_1.OBJTRANSL_LAYOUT_ROOT) {
|
|
99
|
-
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);
|
|
100
103
|
}
|
|
101
|
-
|
|
102
|
-
myjson = [];
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
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);
|
|
109
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;
|
|
110
148
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
const headers = constants_objecttranslations_1.OBJTRANSL_ITEMS[tag_section].headers;
|
|
117
|
-
const transforms = [unwind({ paths: headers })];
|
|
118
|
-
var fields = [...headers, '_tagid'];
|
|
119
|
-
const parser = new Parser({ fields: fields, transforms });
|
|
120
|
-
const csv = parser.parse(myjson);
|
|
121
|
-
const outputFileCSV = (0, path_1.join)(outputDir, (0, filesUtils_1.calcCsvFilename)(objTrName, tag_section));
|
|
122
|
-
if (!fs.existsSync(outputDir)) {
|
|
123
|
-
fs.mkdirSync(outputDir, { recursive: true });
|
|
124
|
-
}
|
|
125
|
-
try {
|
|
126
|
-
fs.writeFileSync(outputFileCSV, csv, { flag: 'w+' });
|
|
127
|
-
// file written successfully
|
|
128
|
-
}
|
|
129
|
-
catch (err) {
|
|
130
|
-
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);
|
|
131
153
|
}
|
|
132
|
-
//
|
|
133
|
-
|
|
134
|
-
if (tag_section !== constants_objecttranslations_1.OBJTRANSL_CFIELDTRANSL_ROOT)
|
|
135
|
-
xmlFileContent[constants_objecttranslations_1.OBJTRANSL_ROOT_TAG][tag_section] = null;
|
|
154
|
+
// Object processed successfully
|
|
155
|
+
result.items[objTrName] = { result: 'OK' };
|
|
136
156
|
}
|
|
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,
|
|
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>;
|