@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
80 lines • 6.75 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 sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
const fs = require('fs-extra');
const MetadataFetcher_1 = __importDefault(require("./MetadataFetcher"));
const source_deploy_retrieve_1 = require("@salesforce/source-deploy-retrieve");
const path_1 = __importDefault(require("path"));
const core_1 = require("@salesforce/core");
class CustomFieldFetcher extends MetadataFetcher_1.default {
constructor(logger) {
super(logger);
}
async getCustomFields(org, fields) {
sfp_logger_1.default.log(`Fetching Custom Fields from Org`, sfp_logger_1.LoggerLevel.INFO, this.logger);
let retriveLocation = await this.fetchPackageFromOrg(org, {
types: { name: 'CustomField', members: fields.length > 1 ? fields : fields[0] },
});
const sfProjectJson = {
packageDirectories: [
{
path: 'source',
default: true,
},
],
name: 'retrieve',
namespace: '',
sourceApiVersion: await org.retrieveMaxApiVersion()
};
fs.mkdirpSync(path_1.default.join(retriveLocation.unzippedLocation, 'source'));
fs.writeFileSync(path_1.default.join(retriveLocation.unzippedLocation, 'sfdx-project.json'), JSON.stringify(sfProjectJson));
//Write a force ignore file as its required for component set resolution
fs.writeFileSync(path_1.default.resolve(retriveLocation.unzippedLocation, '.forceignore'), '# .forceignore v2');
let sfProject = await core_1.SfProject.resolve(retriveLocation.unzippedLocation);
let metadataConverter = new source_deploy_retrieve_1.MetadataConverter(new source_deploy_retrieve_1.RegistryAccess(undefined, sfProject.getPath()));
let componentSet = await source_deploy_retrieve_1.ComponentSetBuilder.build({
sourcepath: [path_1.default.resolve(retriveLocation.unzippedLocation)],
manifest: undefined,
metadata: undefined,
projectDir: sfProject.getPath(),
});
await metadataConverter.convert(componentSet, 'source', {
type: 'directory',
outputDirectory: path_1.default.join(retriveLocation.unzippedLocation, sfProject.getDefaultPackage().path),
genUniqueDir: false,
});
let sourceBackedComponents = source_deploy_retrieve_1.ComponentSet.fromSource(path_1.default.resolve(retriveLocation.unzippedLocation, 'source'));
return {
components: sourceBackedComponents,
location: path_1.default.join(retriveLocation.unzippedLocation, 'source'),
};
}
}
exports.default = CustomFieldFetcher;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tRmllbGRGZXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvbWV0YWRhdGEvQ3VzdG9tRmllbGRGZXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtRUFBc0U7QUFFdEUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRS9CLHdFQUFnRDtBQUNoRCwrRUFLNEM7QUFDNUMsZ0RBQXdCO0FBQ3hCLDJDQUE2QztBQUU3QyxNQUFxQixrQkFBbUIsU0FBUSx5QkFBZTtJQUMzRCxZQUFZLE1BQWM7UUFDdEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQVcsRUFBRSxNQUFnQjtRQUN0RCxvQkFBUyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsRUFBRSx3QkFBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEYsSUFBSSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFO1lBQ3RELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNsRixDQUFDLENBQUM7UUFDSCxNQUFNLGFBQWEsR0FBRztZQUNsQixrQkFBa0IsRUFBRTtnQkFDaEI7b0JBQ0ksSUFBSSxFQUFFLFFBQVE7b0JBQ2QsT0FBTyxFQUFFLElBQUk7aUJBQ2hCO2FBQ0o7WUFDRCxJQUFJLEVBQUUsVUFBVTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLGdCQUFnQixFQUFFLE1BQU0sR0FBRyxDQUFDLHFCQUFxQixFQUFFO1NBQ3RELENBQUM7UUFDRixFQUFFLENBQUMsVUFBVSxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDckUsRUFBRSxDQUFDLGFBQWEsQ0FDWixjQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxFQUNoRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUNoQyxDQUFDO1FBQ0Ysd0VBQXdFO1FBQ3hFLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUV0RyxJQUFJLFNBQVMsR0FBRyxNQUFNLGdCQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFFLElBQUksaUJBQWlCLEdBQUcsSUFBSSwwQ0FBaUIsQ0FBQyxJQUFJLHVDQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEcsSUFBSSxZQUFZLEdBQUcsTUFBTSw0Q0FBbUIsQ0FBQyxLQUFLLENBQUM7WUFDL0MsVUFBVSxFQUFFLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM1RCxRQUFRLEVBQUUsU0FBUztZQUNuQixRQUFRLEVBQUcsU0FBUztZQUNwQixVQUFVLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRTtTQUNsQyxDQUFDLENBQUM7UUFDSCxNQUFNLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFO1lBQ3BELElBQUksRUFBRSxXQUFXO1lBQ2pCLGVBQWUsRUFBRSxjQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDL0YsWUFBWSxFQUFFLEtBQUs7U0FDdEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxzQkFBc0IsR0FBRyxxQ0FBWSxDQUFDLFVBQVUsQ0FBQyxjQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQy9HLE9BQU87WUFDSCxVQUFVLEVBQUUsc0JBQXNCO1lBQ2xDLFFBQVEsRUFBRSxjQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUM7U0FDbEUsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQWhERCxxQ0FnREMifQ==