UNPKG

@decaf-ts/fabric-weaver

Version:
44 lines 5.67 kB
import { Logging } from "@decaf-ts/logging"; import path from "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. */ export function resolvePath(inputPath) { return path.isAbsolute(inputPath) ? inputPath : path.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 */ export function addFabricToPath(binPath) { const log = Logging.for(addFabricToPath); const fabricBinPath = binPath || path.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy1vbGQvcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLFNBQWlCO0lBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDL0IsQ0FBQyxDQUFDLFNBQVM7UUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQWdCO0lBQzlDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsTUFBTSxhQUFhLEdBQVcsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRTNFLEdBQUcsQ0FBQyxJQUFJLENBQUMsMkNBQTJDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxhQUFhLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2luZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuLyoqXG4gKiBSZXNvbHZlcyBhIHByb3ZpZGVkIHBhdGggdG8gYW4gYWJzb2x1dGUgcGF0aC5cbiAqIElmIHRoZSBpbnB1dCBwYXRoIGlzIGFscmVhZHkgYWJzb2x1dGUsIGl0IHJldHVybnMgaXQgdW5jaGFuZ2VkLlxuICogSWYgaXQncyByZWxhdGl2ZSwgaXQgcmVzb2x2ZXMgaXQgYmFzZWQgb24gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gKlxuICogQHBhcmFtIGlucHV0UGF0aCAtIFRoZSBwYXRoIHRvIGV2YWx1YXRlLlxuICogQHJldHVybnMgQW4gYWJzb2x1dGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQYXRoKGlucHV0UGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGguaXNBYnNvbHV0ZShpbnB1dFBhdGgpXG4gICAgPyBpbnB1dFBhdGhcbiAgICA6IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBpbnB1dFBhdGgpO1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IEFkZHMgdGhlIEZhYnJpYyBiaW4gZGlyZWN0b3J5IHRvIHRoZSBzeXN0ZW0ncyBgUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBkeW5hbWljYWxseSBkZXRlcm1pbmVzIHRoZSBwYXRoIHRvIHRoZSBGYWJyaWMgYmluIGRpcmVjdG9yeSAocmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgZmlsZSdzXG4gKiBsb2NhdGlvbikgYW5kIGFwcGVuZHMgaXQgdG8gdGhlIGBQQVRIYCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gVGhpcyBhbGxvd3MgY29tbWFuZC1saW5lIHRvb2xzIGluIHRoZSBGYWJyaWMgYmluXG4gKiBmb2xkZXIgdG8gYmUgYWNjZXNzaWJsZSBmcm9tIGFueXdoZXJlIHdpdGhpbiB0aGUgZW52aXJvbm1lbnQuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGUgZnVuY3Rpb24gY2FsY3VsYXRlcyB0aGUgcGF0aCB0byB0aGUgRmFicmljIGJpbiBkaXJlY3RvcnksIHdoaWNoIGlzIGxvY2F0ZWQgdHdvIGxldmVscyB1cCBmcm9tIHRoZSBjdXJyZW50XG4gKiBkaXJlY3RvcnkgKGBfX2Rpcm5hbWVgKSBhbmQgaW5zaWRlIGEgYGJpbmAgZm9sZGVyLiBBZnRlciBjYWxjdWxhdGluZyB0aGUgcGF0aCwgaXQgbG9ncyB0aGUgcGF0aCBiZWluZyBhZGRlZFxuICogYW5kIHVwZGF0ZXMgdGhlIGBQQVRIYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBzbyB0aGF0IGV4ZWN1dGFibGUgZmlsZXMgZnJvbSB0aGUgRmFicmljIGJpbiBmb2xkZXIgY2FuIGJlIHJ1blxuICogZGlyZWN0bHkgZnJvbSB0aGUgY29tbWFuZCBsaW5lLlxuICpcbiAqIFRoaXMgb3BlcmF0aW9uIGVuc3VyZXMgdGhhdCBjb21tYW5kcyBzdWNoIGFzIGBmYWJyaWMtY2EtY2xpZW50YCwgYHBlZXJgLCBgb3JkZXJlcmAsIGFuZCBvdGhlciBGYWJyaWMtcmVsYXRlZFxuICogYmluYXJpZXMgYXJlIGF2YWlsYWJsZSB0byBleGVjdXRlIGdsb2JhbGx5LCBpbXByb3ZpbmcgZWFzZSBvZiBhY2Nlc3MgYW5kIGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTpmYWJyaWMtaW50ZWdyYXRpb24uVXRpbHNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRXhhbXBsZSBvZiBhZGRpbmcgRmFicmljIGJpbiBwYXRoXG4gKiBhZGRGYWJyaWNUb1BhdGgoKTsgLy8gQWRkcyBGYWJyaWMgYmluIGZvbGRlciB0byBQQVRIXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRGYWJyaWNUb1BhdGgoYmluUGF0aD86IHN0cmluZykge1xuICBjb25zdCBsb2cgPSBMb2dnaW5nLmZvcihhZGRGYWJyaWNUb1BhdGgpO1xuICBjb25zdCBmYWJyaWNCaW5QYXRoOiBzdHJpbmcgPSBiaW5QYXRoIHx8IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vLi4vYmluXCIpO1xuXG4gIGxvZy5pbmZvKGBBZGRpbmcgRmFicmljIGJpbiBmb2xkZXIgdG8gcGF0aC4gUGF0aDogJHtmYWJyaWNCaW5QYXRofWApO1xuXG4gIHByb2Nlc3MuZW52LlBBVEggPSBgJHtmYWJyaWNCaW5QYXRofToke3Byb2Nlc3MuZW52LlBBVEh9YDtcbn1cbiJdfQ==