diff --git a/.nvmrc b/.nvmrc index 3c032078..209e3ef4 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18 +20 diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e3e6036..524cdf71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## Unstable + +### Chore & Maintenance +* Update Node.js to 20 [#641](https://github.com/hyperledger-labs/fablo/pull/641) + +## Documentation +* Update `README.md` to provide talk links [#637](https://github.com/hyperledger-labs/fablo/pull/637) + + ## 2.4.2 ### Bug Fixes diff --git a/Dockerfile b/Dockerfile index 14a06568..f1a25d26 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18-alpine3.16 +FROM node:20-alpine RUN apk add --no-cache sudo shfmt RUN npm install --global --silent yo diff --git a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-peer-dev-mode.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-peer-dev-mode.json.test.ts.snap index 849417a1..47bd4aac 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-peer-dev-mode.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-peer-dev-mode.json.test.ts.snap @@ -1562,7 +1562,6 @@ chaincodeList() { peerChaincodeList "cli.org1.example.com" "peer0.org1.example.com:7041" "$2" # $2 is channel name else - echo "Fail to call listChaincodes. No peer or channel found. Provided peer: $1, channel: $2" exit 1 @@ -1648,10 +1647,7 @@ channelQuery() { peerChannelList "cli.org1.example.com" "peer0.org1.example.com:7041" - elif - - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfo "my-channel1" "cli.org1.example.com" "peer0.org1.example.com:7041" @@ -1667,7 +1663,6 @@ channelQuery() { peerChannelFetchBlock "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7041" "$TARGET_FILE" else - echo "$@" echo "$1, $2, $3, $4, $5, $6, $7, $#" printChannelsHelp diff --git a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode.json.test.ts.snap index c0338b48..ba90eec5 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode.json.test.ts.snap @@ -1568,14 +1568,11 @@ chaincodeList() { peerChaincodeList "cli.org1.example.com" "peer0.org1.example.com:7041" "$2" # $2 is channel name - elif - [ "$1" = "peer1.org1.example.com" ] - then + elif [ "$1" = "peer1.org1.example.com" ]; then peerChaincodeList "cli.org1.example.com" "peer1.org1.example.com:7042" "$2" # $2 is channel name else - echo "Fail to call listChaincodes. No peer or channel found. Provided peer: $1, channel: $2" exit 1 @@ -1670,16 +1667,11 @@ channelQuery() { peerChannelList "cli.org1.example.com" "peer0.org1.example.com:7041" - elif - [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ]; then peerChannelList "cli.org1.example.com" "peer1.org1.example.com:7042" - elif - - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfo "my-channel1" "cli.org1.example.com" "peer0.org1.example.com:7041" @@ -1694,9 +1686,7 @@ channelQuery() { peerChannelFetchBlock "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7041" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ]; then peerChannelGetInfo "my-channel1" "cli.org1.example.com" "peer1.org1.example.com:7042" @@ -1712,7 +1702,6 @@ channelQuery() { peerChannelFetchBlock "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer1.org1.example.com:7042" "$TARGET_FILE" else - echo "$@" echo "$1, $2, $3, $4, $5, $6, $7, $#" printChannelsHelp diff --git a/e2e/__snapshots__/fablo-config-hlf2-1org-2chaincode-raft-ccaas.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-1org-2chaincode-raft-ccaas.json.test.ts.snap index 433f66a4..e15fe8bd 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-1org-2chaincode-raft-ccaas.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-1org-2chaincode-raft-ccaas.json.test.ts.snap @@ -1647,7 +1647,6 @@ chaincodeList() { peerChaincodeListTls "cli.org1.example.com" "peer0.org1.example.com:7041" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name else - echo "Fail to call listChaincodes. No peer or channel found. Provided peer: $1, channel: $2" exit 1 @@ -1769,10 +1768,7 @@ channelQuery() { peerChannelListTls "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel1" "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -1787,9 +1783,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel2" "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -1805,7 +1799,6 @@ channelQuery() { peerChannelFetchBlockTls "my-channel2" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" else - echo "$@" echo "$1, $2, $3, $4, $5, $6, $7, $#" printChannelsHelp diff --git a/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-private-data.yaml.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-private-data.yaml.test.ts.snap index 208613d5..46f177e0 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-private-data.yaml.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-private-data.yaml.test.ts.snap @@ -2251,20 +2251,15 @@ chaincodeList() { peerChaincodeList "cli.org1.example.com" "peer0.org1.example.com:7041" "$2" # $2 is channel name - elif - [ "$1" = "peer1.org1.example.com" ] - then + elif [ "$1" = "peer1.org1.example.com" ]; then peerChaincodeList "cli.org1.example.com" "peer1.org1.example.com:7042" "$2" # $2 is channel name - elif - [ "$1" = "peer0.org2.example.com" ] - then + elif [ "$1" = "peer0.org2.example.com" ]; then peerChaincodeList "cli.org2.example.com" "peer0.org2.example.com:7061" "$2" # $2 is channel name else - echo "Fail to call listChaincodes. No peer or channel found. Provided peer: $1, channel: $2" exit 1 @@ -2368,22 +2363,15 @@ channelQuery() { peerChannelList "cli.org1.example.com" "peer0.org1.example.com:7041" - elif - [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ]; then peerChannelList "cli.org1.example.com" "peer1.org1.example.com:7042" - elif - [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer0" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer0" ]; then peerChannelList "cli.org2.example.com" "peer0.org2.example.com:7061" - elif - - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfo "my-channel1" "cli.org1.example.com" "peer0.org1.example.com:7041" @@ -2398,9 +2386,7 @@ channelQuery() { peerChannelFetchBlock "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7041" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ]; then peerChannelGetInfo "my-channel1" "cli.org1.example.com" "peer1.org1.example.com:7042" @@ -2415,9 +2401,7 @@ channelQuery() { peerChannelFetchBlock "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer1.org1.example.com:7042" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ]; then peerChannelGetInfo "my-channel1" "cli.org2.example.com" "peer0.org2.example.com:7061" @@ -2433,7 +2417,6 @@ channelQuery() { peerChannelFetchBlock "my-channel1" "cli.org2.example.com" "\${BLOCK_NAME}" "peer0.org2.example.com:7061" "$TARGET_FILE" else - echo "$@" echo "$1, $2, $3, $4, $5, $6, $7, $#" printChannelsHelp diff --git a/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-raft.yaml.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-raft.yaml.test.ts.snap index 951bf0f9..e6b5e98f 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-raft.yaml.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-raft.yaml.test.ts.snap @@ -3623,26 +3623,19 @@ chaincodeList() { peerChaincodeListTls "cli.org1.example.com" "peer0.org1.example.com:7061" "$2" "crypto-orderer/tlsca.orderer1.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer1.org1.example.com" ] - then + elif [ "$1" = "peer1.org1.example.com" ]; then peerChaincodeListTls "cli.org1.example.com" "peer1.org1.example.com:7062" "$2" "crypto-orderer/tlsca.orderer1.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer0.org2.example.com" ] - then + elif [ "$1" = "peer0.org2.example.com" ]; then peerChaincodeListTls "cli.org2.example.com" "peer0.org2.example.com:7081" "$2" "crypto-orderer/tlsca.orderer1.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer1.org2.example.com" ] - then + elif [ "$1" = "peer1.org2.example.com" ]; then peerChaincodeListTls "cli.org2.example.com" "peer1.org2.example.com:7082" "$2" "crypto-orderer/tlsca.orderer1.com-cert.pem" # Third argument is channel name else - echo "Fail to call listChaincodes. No peer or channel found. Provided peer: $1, channel: $2" exit 1 @@ -3806,28 +3799,19 @@ channelQuery() { peerChannelListTls "cli.org1.example.com" "peer0.org1.example.com:7061" "crypto-orderer/tlsca.orderer1.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ]; then peerChannelListTls "cli.org1.example.com" "peer1.org1.example.com:7062" "crypto-orderer/tlsca.orderer1.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer0" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer0" ]; then peerChannelListTls "cli.org2.example.com" "peer0.org2.example.com:7081" "crypto-orderer/tlsca.orderer1.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer1" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer1" ]; then peerChannelListTls "cli.org2.example.com" "peer1.org2.example.com:7082" "crypto-orderer/tlsca.orderer1.com-cert.pem" - elif - - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel1" "cli.org1.example.com" "peer0.org1.example.com:7061" "crypto-orderer/tlsca.orderer1.com-cert.pem" @@ -3842,9 +3826,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7061" "crypto-orderer/tlsca.orderer1.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel1" "cli.org2.example.com" "peer0.org2.example.com:7081" "crypto-orderer/tlsca.orderer1.com-cert.pem" @@ -3859,9 +3841,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel1" "cli.org2.example.com" "\${BLOCK_NAME}" "peer0.org2.example.com:7081" "crypto-orderer/tlsca.orderer1.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel2" "cli.org1.example.com" "peer1.org1.example.com:7062" "crypto-orderer/tlsca.orderer1.com-cert.pem" @@ -3876,9 +3856,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel2" "cli.org1.example.com" "\${BLOCK_NAME}" "peer1.org1.example.com:7062" "crypto-orderer/tlsca.orderer1.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org2" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org2" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel2" "cli.org2.example.com" "peer1.org2.example.com:7082" "crypto-orderer/tlsca.orderer1.com-cert.pem" @@ -3893,9 +3871,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel2" "cli.org2.example.com" "\${BLOCK_NAME}" "peer1.org2.example.com:7082" "crypto-orderer/tlsca.orderer1.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel3" "cli.org1.example.com" "peer0.org1.example.com:7061" "crypto-orderer/tlsca.orderer2.com-cert.pem" @@ -3910,9 +3886,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel3" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7061" "crypto-orderer/tlsca.orderer2.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel3" "cli.org1.example.com" "peer1.org1.example.com:7062" "crypto-orderer/tlsca.orderer2.com-cert.pem" @@ -3927,9 +3901,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel3" "cli.org1.example.com" "\${BLOCK_NAME}" "peer1.org1.example.com:7062" "crypto-orderer/tlsca.orderer2.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel3" "cli.org2.example.com" "peer0.org2.example.com:7081" "crypto-orderer/tlsca.orderer2.com-cert.pem" @@ -3944,9 +3916,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel3" "cli.org2.example.com" "\${BLOCK_NAME}" "peer0.org2.example.com:7081" "crypto-orderer/tlsca.orderer2.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org2" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org2" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel3" "cli.org2.example.com" "peer1.org2.example.com:7082" "crypto-orderer/tlsca.orderer2.com-cert.pem" @@ -3962,7 +3932,6 @@ channelQuery() { peerChannelFetchBlockTls "my-channel3" "cli.org2.example.com" "\${BLOCK_NAME}" "peer1.org2.example.com:7082" "crypto-orderer/tlsca.orderer2.com-cert.pem" "$TARGET_FILE" else - echo "$@" echo "$1, $2, $3, $4, $5, $6, $7, $#" printChannelsHelp diff --git a/e2e/__snapshots__/fablo-config-hlf2-3orgs-1chaincode-raft-explorer.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-3orgs-1chaincode-raft-explorer.json.test.ts.snap index a4d8e5c8..38936bc5 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-3orgs-1chaincode-raft-explorer.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-3orgs-1chaincode-raft-explorer.json.test.ts.snap @@ -4054,38 +4054,27 @@ chaincodeList() { peerChaincodeListTls "cli.org1.example.com" "peer0.org1.example.com:7041" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer1.org1.example.com" ] - then + elif [ "$1" = "peer1.org1.example.com" ]; then peerChaincodeListTls "cli.org1.example.com" "peer1.org1.example.com:7042" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer0.org2.example.com" ] - then + elif [ "$1" = "peer0.org2.example.com" ]; then peerChaincodeListTls "cli.org2.example.com" "peer0.org2.example.com:7061" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer1.org2.example.com" ] - then + elif [ "$1" = "peer1.org2.example.com" ]; then peerChaincodeListTls "cli.org2.example.com" "peer1.org2.example.com:7062" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer0.org3.example.com" ] - then + elif [ "$1" = "peer0.org3.example.com" ]; then peerChaincodeListTls "cli.org3.example.com" "peer0.org3.example.com:7081" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer1.org3.example.com" ] - then + elif [ "$1" = "peer1.org3.example.com" ]; then peerChaincodeListTls "cli.org3.example.com" "peer1.org3.example.com:7082" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name else - echo "Fail to call listChaincodes. No peer or channel found. Provided peer: $1, channel: $2" exit 1 @@ -4273,40 +4262,27 @@ channelQuery() { peerChannelListTls "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ]; then peerChannelListTls "cli.org1.example.com" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer0" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer0" ]; then peerChannelListTls "cli.org2.example.com" "peer0.org2.example.com:7061" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer1" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org2" ] && [ "$3" = "peer1" ]; then peerChannelListTls "cli.org2.example.com" "peer1.org2.example.com:7062" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org3" ] && [ "$3" = "peer0" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org3" ] && [ "$3" = "peer0" ]; then peerChannelListTls "cli.org3.example.com" "peer0.org3.example.com:7081" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org3" ] && [ "$3" = "peer1" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org3" ] && [ "$3" = "peer1" ]; then peerChannelListTls "cli.org3.example.com" "peer1.org3.example.com:7082" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel1" "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -4321,9 +4297,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel1" "cli.org1.example.com" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -4338,9 +4312,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel2" "cli.org2.example.com" "peer0.org2.example.com:7061" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -4355,9 +4327,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel2" "cli.org2.example.com" "\${BLOCK_NAME}" "peer0.org2.example.com:7061" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org2" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel2" ] && [ "$3" = "org2" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel2" "cli.org2.example.com" "peer1.org2.example.com:7062" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -4372,9 +4342,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel2" "cli.org2.example.com" "\${BLOCK_NAME}" "peer1.org2.example.com:7062" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel3" "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -4389,9 +4357,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel3" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel3" "cli.org1.example.com" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -4406,9 +4372,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel3" "cli.org1.example.com" "\${BLOCK_NAME}" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org2" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel3" "cli.org2.example.com" "peer0.org2.example.com:7061" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -4423,9 +4387,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel3" "cli.org2.example.com" "\${BLOCK_NAME}" "peer0.org2.example.com:7061" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org2" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel3" ] && [ "$3" = "org2" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel3" "cli.org2.example.com" "peer1.org2.example.com:7062" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -4441,7 +4403,6 @@ channelQuery() { peerChannelFetchBlockTls "my-channel3" "cli.org2.example.com" "\${BLOCK_NAME}" "peer1.org2.example.com:7062" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" else - echo "$@" echo "$1, $2, $3, $4, $5, $6, $7, $#" printChannelsHelp diff --git a/e2e/__snapshots__/fablo-config-hlf3-1orgs-1chaincode.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf3-1orgs-1chaincode.json.test.ts.snap index bdd7de2e..7ba270bf 100644 --- a/e2e/__snapshots__/fablo-config-hlf3-1orgs-1chaincode.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf3-1orgs-1chaincode.json.test.ts.snap @@ -1765,14 +1765,11 @@ chaincodeList() { peerChaincodeListTls "cli.org1.example.com" "peer0.org1.example.com:7041" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer1.org1.example.com" ] - then + elif [ "$1" = "peer1.org1.example.com" ]; then peerChaincodeListTls "cli.org1.example.com" "peer1.org1.example.com:7042" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name else - echo "Fail to call listChaincodes. No peer or channel found. Provided peer: $1, channel: $2" exit 1 @@ -1900,16 +1897,11 @@ channelQuery() { peerChannelListTls "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ]; then peerChannelListTls "cli.org1.example.com" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel1" "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -1924,9 +1916,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel1" "cli.org1.example.com" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -1942,7 +1932,6 @@ channelQuery() { peerChannelFetchBlockTls "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" else - echo "$@" echo "$1, $2, $3, $4, $5, $6, $7, $#" printChannelsHelp diff --git a/e2e/__snapshots__/fablo-config-hlf3-bft-1orgs-1chaincode.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf3-bft-1orgs-1chaincode.json.test.ts.snap index 11a436f3..db0a4912 100644 --- a/e2e/__snapshots__/fablo-config-hlf3-bft-1orgs-1chaincode.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf3-bft-1orgs-1chaincode.json.test.ts.snap @@ -1791,14 +1791,11 @@ chaincodeList() { peerChaincodeListTls "cli.org1.example.com" "peer0.org1.example.com:7041" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name - elif - [ "$1" = "peer1.org1.example.com" ] - then + elif [ "$1" = "peer1.org1.example.com" ]; then peerChaincodeListTls "cli.org1.example.com" "peer1.org1.example.com:7042" "$2" "crypto-orderer/tlsca.orderer.example.com-cert.pem" # Third argument is channel name else - echo "Fail to call listChaincodes. No peer or channel found. Provided peer: $1, channel: $2" exit 1 @@ -1926,16 +1923,11 @@ channelQuery() { peerChannelListTls "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ] - then + elif [ "$1" = "list" ] && [ "$2" = "org1" ] && [ "$3" = "peer1" ]; then peerChannelListTls "cli.org1.example.com" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" - elif - - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer0" ]; then peerChannelGetInfoTls "my-channel1" "cli.org1.example.com" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -1950,9 +1942,7 @@ channelQuery() { peerChannelFetchBlockTls "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer0.org1.example.com:7041" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" - elif - [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ] - then + elif [ "$1" = "getinfo" ] && [ "$2" = "my-channel1" ] && [ "$3" = "org1" ] && [ "$4" = "peer1" ]; then peerChannelGetInfoTls "my-channel1" "cli.org1.example.com" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" @@ -1968,7 +1958,6 @@ channelQuery() { peerChannelFetchBlockTls "my-channel1" "cli.org1.example.com" "\${BLOCK_NAME}" "peer1.org1.example.com:7042" "crypto-orderer/tlsca.orderer.example.com-cert.pem" "$TARGET_FILE" else - echo "$@" echo "$1, $2, $3, $4, $5, $6, $7, $#" printChannelsHelp diff --git a/package-lock.json b/package-lock.json index 85a413d6..35e5e24e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -743,11 +743,10 @@ } }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -935,11 +934,10 @@ } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1966,10 +1964,9 @@ } }, "node_modules/@sigstore/sign/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -6246,11 +6243,10 @@ } }, "node_modules/eslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -9606,10 +9602,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dependencies": { "argparse": "^2.0.1" }, @@ -9845,11 +9840,10 @@ } }, "node_modules/load-yaml-file/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "devOptional": true, - "license": "MIT", "peer": true, "dependencies": { "argparse": "^1.0.7", @@ -12407,10 +12401,9 @@ } }, "node_modules/read-package-json/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -13394,10 +13387,9 @@ } }, "node_modules/sigstore/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -14842,10 +14834,9 @@ } }, "node_modules/tuf-js/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -16249,10 +16240,9 @@ } }, "node_modules/yeoman-generator/node_modules/cacache/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2",