@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
75 lines • 6.14 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 source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
const path_1 = __importDefault(require("path"));
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
class SourceToMDAPIConvertor {
constructor(projectDirectory, sourceDirectory, sourceApiVersion, logger) {
this.projectDirectory = projectDirectory;
this.sourceDirectory = sourceDirectory;
this.sourceApiVersion = sourceApiVersion;
this.logger = logger;
}
async convert() {
let mdapiDir = `.sfpowerscripts/${this.makefolderid(5)}_mdapi`;
//Create destination directory
if (this.projectDirectory != null)
mdapiDir = path_1.default.resolve(this.projectDirectory, mdapiDir);
//Source Directory is nested inside project directory when used with artifacts
//TODO: projectDirectory nomenclature is incorrect, should be parentDirectory perhaps?
let resolvedSourceDirectory = this.sourceDirectory;
if (this.projectDirectory != null)
resolvedSourceDirectory = path_1.default.resolve(this.projectDirectory, this.sourceDirectory);
//Build component set from provided source directory
let componentSet = source_deploy_retrieve_1.ComponentSet.fromSource({
fsPaths: [resolvedSourceDirectory],
});
if (this.sourceApiVersion)
componentSet.sourceApiVersion = this.sourceApiVersion;
const converter = new source_deploy_retrieve_1.MetadataConverter();
let convertResult = await converter.convert(componentSet, 'metadata', {
type: 'directory',
outputDirectory: mdapiDir,
});
sfp_logger_1.default.log(`Source converted successfully to ${mdapiDir}`, sfp_logger_1.LoggerLevel.TRACE, this.logger);
sfp_logger_1.default.log(`ConvertResult:` + JSON.stringify(convertResult), sfp_logger_1.LoggerLevel.TRACE, this.logger);
return convertResult;
}
makefolderid(length) {
let result = '';
let characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let charactersLength = characters.length;
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
}
exports.default = SourceToMDAPIConvertor;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU291cmNlVG9NREFQSUNvbnZlcnRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3BhY2thZ2UvcGFja2FnZUZvcm1hdENvbnZlcnRvcnMvU291cmNlVG9NREFQSUNvbnZlcnRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0VBQXFGO0FBQ3JGLGdEQUF3QjtBQUN4QixtRUFBc0U7QUFFdEUsTUFBcUIsc0JBQXNCO0lBQ3ZDLFlBQ1ksZ0JBQXdCLEVBQ3hCLGVBQXVCLEVBQ3ZCLGdCQUF3QixFQUN4QixNQUFlO1FBSGYscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO1FBQ3hCLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBQ3ZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQ3hCLENBQUM7SUFFRyxLQUFLLENBQUMsT0FBTztRQUNoQixJQUFJLFFBQVEsR0FBRyxtQkFBbUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQy9ELDhCQUE4QjtRQUM5QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJO1lBQUUsUUFBUSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTVGLDhFQUE4RTtRQUM5RSxzRkFBc0Y7UUFDdEYsSUFBSSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUk7WUFDN0IsdUJBQXVCLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhGLG9EQUFvRDtRQUNwRCxJQUFJLFlBQVksR0FBRyxxQ0FBWSxDQUFDLFVBQVUsQ0FBQztZQUN2QyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztTQUNyQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxZQUFZLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBRWpGLE1BQU0sU0FBUyxHQUFHLElBQUksMENBQWlCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLGFBQWEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRTtZQUNsRSxJQUFJLEVBQUUsV0FBVztZQUNqQixlQUFlLEVBQUUsUUFBUTtTQUM1QixDQUFDLENBQUM7UUFDSCxvQkFBUyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsUUFBUSxFQUFFLEVBQUUsd0JBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlGLG9CQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUUsd0JBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhHLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxZQUFZLENBQUMsTUFBTTtRQUN2QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxVQUFVLEdBQ1YsOEhBQThILENBQUM7UUFDbkksSUFBSSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSjtBQS9DRCx5Q0ErQ0MifQ==