@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
86 lines • 6.43 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const fs = __importStar(require("fs-extra"));
const yaml = __importStar(require("js-yaml"));
const source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
const SfpPackage_1 = require("../SfpPackage");
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
class FTAnalyser {
getName() {
return "Feed Tracking Analyzer";
}
async analyze(sfpPackage, componentSet, logger) {
try {
let ftFields = {};
//read the yaml
let ftYamlPath = path_1.default.join(sfpPackage.workingDirectory, sfpPackage.projectDirectory, sfpPackage.packageDirectory, '/postDeploy/feed-tracking.yml');
//read components mentioned in yaml
if (fs.existsSync(ftYamlPath)) {
//convert yaml to json
ftFields = yaml.load(fs.readFileSync(ftYamlPath, { encoding: 'utf-8' }));
}
//filter the components in the package
ftFields = await this.addFieldsFromComponentSet(ftFields, componentSet);
if (Object.keys(ftFields).length > 0) {
sfpPackage['isFTFieldFound'] = true;
sfpPackage['ftFields'] = ftFields;
}
}
catch (error) {
//Ignore error for now
sfp_logger_1.default.log(`Unable to process Feed Tracking due to ${error.message}`, sfp_logger_1.LoggerLevel.TRACE, logger);
}
return sfpPackage;
}
async addFieldsFromComponentSet(ftFields, componentSet) {
let sourceComponents = componentSet.getSourceComponents().toArray();
for (const sourceComponent of sourceComponents) {
if (sourceComponent.type.name !== source_deploy_retrieve_1.registry.types.customobject.children.types.customfield.name) {
continue;
}
let customField = sourceComponent.parseXmlSync().CustomField;
if (customField['trackFeedHistory'] == 'true') {
let objName = sourceComponent.parent.fullName;
if (!ftFields[objName])
ftFields[objName] = [];
ftFields[objName].push(sourceComponent.name);
}
}
return ftFields;
}
async isEnabled(sfpPackage, logger) {
if (sfpPackage.packageType != SfpPackage_1.PackageType.Data)
return true;
else
return false;
}
}
exports.default = FTAnalyser;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRlRBbmFseXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3BhY2thZ2UvYW5hbHlzZXIvRlRBbmFseXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLDZDQUErQjtBQUMvQiw4Q0FBZ0M7QUFDaEMsK0VBQTRFO0FBQzVFLDhDQUF3RDtBQUV4RCxtRUFBc0U7QUFFdEUsTUFBcUIsVUFBVTtJQUVwQixPQUFPO1FBQ1YsT0FBTyx3QkFBd0IsQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFzQixFQUFFLFlBQXlCLEVBQUUsTUFBYTtRQUNqRixJQUFJLENBQUM7WUFFRCxJQUFJLFFBQVEsR0FBcUMsRUFBRSxDQUFDO1lBRXBELGVBQWU7WUFDZixJQUFJLFVBQVUsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUN0QixVQUFVLENBQUMsZ0JBQWdCLEVBQzNCLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDM0IsVUFBVSxDQUFDLGdCQUFnQixFQUMzQiwrQkFBK0IsQ0FDbEMsQ0FBQztZQUVGLG1DQUFtQztZQUNuQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsc0JBQXNCO2dCQUN0QixRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUE4QixDQUFDO1lBQzFHLENBQUM7WUFHRCxzQ0FBc0M7WUFDdEMsUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUV4RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ3BDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdEMsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2Isc0JBQXNCO1lBQ3RCLG9CQUFTLENBQUMsR0FBRyxDQUFDLDBDQUEwQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUMsd0JBQVcsQ0FBQyxLQUFLLEVBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEcsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxLQUFLLENBQUMseUJBQXlCLENBQ25DLFFBQTBDLEVBQzFDLFlBQTBCO1FBRTFCLElBQUksZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFcEUsS0FBSyxNQUFNLGVBQWUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssaUNBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM1RixTQUFTO1lBQ2IsQ0FBQztZQUVELElBQUksV0FBVyxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLENBQUM7WUFDN0QsSUFBSSxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxPQUFPLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO29CQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQy9DLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pELENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBc0IsRUFBQyxNQUFhO1FBQ3ZELElBQUksVUFBVSxDQUFDLFdBQVcsSUFBSSx3QkFBVyxDQUFDLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQzs7WUFDdkQsT0FBTyxLQUFLLENBQUM7SUFDdEIsQ0FBQztDQUNKO0FBakVELDZCQWlFQyJ9