@decaf-ts/fabric-weaver
Version:
template for ts projects
51 lines • 5.97 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolvePath = resolvePath;
exports.addFabricToPath = addFabricToPath;
const logging_1 = require("@decaf-ts/logging");
const path_1 = __importDefault(require("path"));
/**
* Resolves a provided path to an absolute path.
* If the input path is already absolute, it returns it unchanged.
* If it's relative, it resolves it based on the current working directory.
*
* @param inputPath - The path to evaluate.
* @returns An absolute path.
*/
function resolvePath(inputPath) {
return path_1.default.isAbsolute(inputPath)
? inputPath
: path_1.default.resolve(process.cwd(), inputPath);
}
/**
* @summary Adds the Fabric bin directory to the system's `PATH` environment variable.
*
* This function dynamically determines the path to the Fabric bin directory (relative to the current file's
* location) and appends it to the `PATH` environment variable. This allows command-line tools in the Fabric bin
* folder to be accessible from anywhere within the environment.
*
* @description
* The function calculates the path to the Fabric bin directory, which is located two levels up from the current
* directory (`__dirname`) and inside a `bin` folder. After calculating the path, it logs the path being added
* and updates the `PATH` environment variable so that executable files from the Fabric bin folder can be run
* directly from the command line.
*
* This operation ensures that commands such as `fabric-ca-client`, `peer`, `orderer`, and other Fabric-related
* binaries are available to execute globally, improving ease of access and functionality.
*
* @memberOf module:fabric-integration.Utils
*
* @example
* // Example of adding Fabric bin path
* addFabricToPath(); // Adds Fabric bin folder to PATH
*/
function addFabricToPath(binPath) {
const log = logging_1.Logging.for(addFabricToPath);
const fabricBinPath = binPath || path_1.default.join(__dirname, "../../bin");
log.info(`Adding Fabric bin folder to path. Path: ${fabricBinPath}`);
process.env.PATH = `${fabricBinPath}:${process.env.PATH}`;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy1vbGQvcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVdBLGtDQUlDO0FBd0JELDBDQU9DO0FBOUNELCtDQUE0QztBQUM1QyxnREFBd0I7QUFFeEI7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxTQUFpQjtJQUMzQyxPQUFPLGNBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLE9BQWdCO0lBQzlDLE1BQU0sR0FBRyxHQUFHLGlCQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sYUFBYSxHQUFXLE9BQU8sSUFBSSxjQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUUzRSxHQUFHLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBRXJFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsYUFBYSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dpbmcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBwcm92aWRlZCBwYXRoIHRvIGFuIGFic29sdXRlIHBhdGguXG4gKiBJZiB0aGUgaW5wdXQgcGF0aCBpcyBhbHJlYWR5IGFic29sdXRlLCBpdCByZXR1cm5zIGl0IHVuY2hhbmdlZC5cbiAqIElmIGl0J3MgcmVsYXRpdmUsIGl0IHJlc29sdmVzIGl0IGJhc2VkIG9uIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICpcbiAqIEBwYXJhbSBpbnB1dFBhdGggLSBUaGUgcGF0aCB0byBldmFsdWF0ZS5cbiAqIEByZXR1cm5zIEFuIGFic29sdXRlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUGF0aChpbnB1dFBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXRoLmlzQWJzb2x1dGUoaW5wdXRQYXRoKVxuICAgID8gaW5wdXRQYXRoXG4gICAgOiBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgaW5wdXRQYXRoKTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBBZGRzIHRoZSBGYWJyaWMgYmluIGRpcmVjdG9yeSB0byB0aGUgc3lzdGVtJ3MgYFBBVEhgIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gZHluYW1pY2FsbHkgZGV0ZXJtaW5lcyB0aGUgcGF0aCB0byB0aGUgRmFicmljIGJpbiBkaXJlY3RvcnkgKHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IGZpbGUnc1xuICogbG9jYXRpb24pIGFuZCBhcHBlbmRzIGl0IHRvIHRoZSBgUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGUuIFRoaXMgYWxsb3dzIGNvbW1hbmQtbGluZSB0b29scyBpbiB0aGUgRmFicmljIGJpblxuICogZm9sZGVyIHRvIGJlIGFjY2Vzc2libGUgZnJvbSBhbnl3aGVyZSB3aXRoaW4gdGhlIGVudmlyb25tZW50LlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogVGhlIGZ1bmN0aW9uIGNhbGN1bGF0ZXMgdGhlIHBhdGggdG8gdGhlIEZhYnJpYyBiaW4gZGlyZWN0b3J5LCB3aGljaCBpcyBsb2NhdGVkIHR3byBsZXZlbHMgdXAgZnJvbSB0aGUgY3VycmVudFxuICogZGlyZWN0b3J5IChgX19kaXJuYW1lYCkgYW5kIGluc2lkZSBhIGBiaW5gIGZvbGRlci4gQWZ0ZXIgY2FsY3VsYXRpbmcgdGhlIHBhdGgsIGl0IGxvZ3MgdGhlIHBhdGggYmVpbmcgYWRkZWRcbiAqIGFuZCB1cGRhdGVzIHRoZSBgUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGUgc28gdGhhdCBleGVjdXRhYmxlIGZpbGVzIGZyb20gdGhlIEZhYnJpYyBiaW4gZm9sZGVyIGNhbiBiZSBydW5cbiAqIGRpcmVjdGx5IGZyb20gdGhlIGNvbW1hbmQgbGluZS5cbiAqXG4gKiBUaGlzIG9wZXJhdGlvbiBlbnN1cmVzIHRoYXQgY29tbWFuZHMgc3VjaCBhcyBgZmFicmljLWNhLWNsaWVudGAsIGBwZWVyYCwgYG9yZGVyZXJgLCBhbmQgb3RoZXIgRmFicmljLXJlbGF0ZWRcbiAqIGJpbmFyaWVzIGFyZSBhdmFpbGFibGUgdG8gZXhlY3V0ZSBnbG9iYWxseSwgaW1wcm92aW5nIGVhc2Ugb2YgYWNjZXNzIGFuZCBmdW5jdGlvbmFsaXR5LlxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZmFicmljLWludGVncmF0aW9uLlV0aWxzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEV4YW1wbGUgb2YgYWRkaW5nIEZhYnJpYyBiaW4gcGF0aFxuICogYWRkRmFicmljVG9QYXRoKCk7IC8vIEFkZHMgRmFicmljIGJpbiBmb2xkZXIgdG8gUEFUSFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkRmFicmljVG9QYXRoKGJpblBhdGg/OiBzdHJpbmcpIHtcbiAgY29uc3QgbG9nID0gTG9nZ2luZy5mb3IoYWRkRmFicmljVG9QYXRoKTtcbiAgY29uc3QgZmFicmljQmluUGF0aDogc3RyaW5nID0gYmluUGF0aCB8fCBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uLy4uL2JpblwiKTtcblxuICBsb2cuaW5mbyhgQWRkaW5nIEZhYnJpYyBiaW4gZm9sZGVyIHRvIHBhdGguIFBhdGg6ICR7ZmFicmljQmluUGF0aH1gKTtcblxuICBwcm9jZXNzLmVudi5QQVRIID0gYCR7ZmFicmljQmluUGF0aH06JHtwcm9jZXNzLmVudi5QQVRIfWA7XG59XG4iXX0=