UNPKG

@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
"use strict"; 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==