UNPKG

@decaf-ts/fabric-weaver

Version:
51 lines 5.97 kB
"use strict"; 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=