@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
80 lines • 5.99 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;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FetchAnArtifactFromNPM = void 0;
const fs = __importStar(require("fs-extra"));
const child_process = require("child_process");
const path = require("path");
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
class FetchAnArtifactFromNPM {
constructor(scope, npmrcPath) {
this.scope = scope;
this.npmrcPath = npmrcPath;
//Check whether the user has already passed in @, and remove it
this.scope = this.scope.replace(/@/g, '').toLowerCase();
if (this.npmrcPath) {
try {
fs.copyFileSync(this.npmrcPath, path.resolve('.npmrc'));
}
catch (error) {
throw new Error('We were unable to find or copy the .npmrc file as provided due to ' + error.message);
}
if (!fs.existsSync('package.json')) {
// package json is required in the same directory as .npmrc
fs.writeFileSync('package.json', '{}');
}
}
else {
if (fs.existsSync('.npmrc') && !fs.existsSync('package.json')) {
fs.writeFileSync('package.json', '{}');
}
}
}
fetchArtifact(packageName, artifactDirectory, version, isToContinueOnMissingArtifact) {
try {
// NPM package names must be lowercase
packageName = packageName.toLowerCase();
let cmd;
if (this.scope)
cmd = `npm pack @${this.scope.toLowerCase()}/${packageName}_sfpowerscripts_artifact`;
else
cmd = `npm pack ${packageName}_sfpowerscripts_artifact`;
cmd += `@${version}`;
sfp_logger_1.default.log(`Fetching ${packageName} using ${cmd}`, sfp_logger_1.LoggerLevel.INFO);
child_process.execSync(cmd, {
cwd: artifactDirectory,
stdio: 'pipe',
});
}
catch (error) {
sfp_logger_1.default.log((0, sfp_logger_1.COLOR_WARNING)(`Artifact for ${packageName} not found in the NPM Registry provided, This might result in deployment failures, Try running with trace log level for more information`), sfp_logger_1.LoggerLevel.INFO);
sfp_logger_1.default.log(error, sfp_logger_1.LoggerLevel.TRACE);
if (!isToContinueOnMissingArtifact)
throw error;
}
}
}
exports.FetchAnArtifactFromNPM = FetchAnArtifactFromNPM;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmV0Y2hBbkFydGlmYWN0RnJvbU5QTS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL2FydGlmYWN0cy9GZXRjaEFuQXJ0aWZhY3RGcm9tTlBNLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQStCO0FBQy9CLCtDQUFnRDtBQUNoRCw2QkFBOEI7QUFFOUIsbUVBQTZFO0FBRTdFLE1BQWEsc0JBQXNCO0lBQy9CLFlBQW9CLEtBQWEsRUFBVSxTQUFpQjtRQUF4QyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUN4RCwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFeEQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDO2dCQUNELEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxvRUFBb0UsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUcsQ0FBQztZQUVELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLDJEQUEyRDtnQkFDM0QsRUFBRSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUM1RCxFQUFFLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhLENBQ2hCLFdBQW1CLEVBQ25CLGlCQUF5QixFQUN6QixPQUFlLEVBQ2YsNkJBQXNDO1FBRXRDLElBQUksQ0FBQztZQUNELHNDQUFzQztZQUN0QyxXQUFXLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRXhDLElBQUksR0FBVyxDQUFDO1lBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUs7Z0JBQUUsR0FBRyxHQUFHLGFBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxXQUFXLDBCQUEwQixDQUFDOztnQkFDaEcsR0FBRyxHQUFHLFlBQVksV0FBVywwQkFBMEIsQ0FBQztZQUU3RCxHQUFHLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUVyQixvQkFBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLFdBQVcsVUFBVSxHQUFHLEVBQUUsRUFBQyx3QkFBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXZFLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFO2dCQUN4QixHQUFHLEVBQUUsaUJBQWlCO2dCQUN0QixLQUFLLEVBQUUsTUFBTTthQUNoQixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLG9CQUFTLENBQUMsR0FBRyxDQUNULElBQUEsMEJBQWEsRUFDVCxpQkFBaUIsV0FBVywySUFBMkksQ0FDMUssRUFDRCx3QkFBVyxDQUFDLElBQUksQ0FDbkIsQ0FBQztZQUVGLG9CQUFTLENBQUMsR0FBRyxDQUNULEtBQUssRUFDTCx3QkFBVyxDQUFDLEtBQUssQ0FDcEIsQ0FBQztZQUdGLElBQUksQ0FBQyw2QkFBNkI7Z0JBQUUsTUFBTSxLQUFLLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQTlERCx3REE4REMifQ==