Closed petermetz closed 1 year ago
$ yarn why grpc
├─ @hyperledger/cacti-weaver-protos-js@workspace:weaver/common/protos-js
│ └─ grpc@npm:1.24.11 (via npm:^1.24.3)
│
├─ @hyperledger/cactus-plugin-ledger-connector-fabric-socketio@workspace:packages/cactus-plugin-ledger-connector-fabric-socketio
│ └─ grpc@npm:1.24.11 (via npm:1.24.11)
│
├─ @hyperledger/cactus-plugin-ledger-connector-iroha@workspace:packages/cactus-plugin-ledger-connector-iroha
│ └─ grpc@npm:1.24.11 (via npm:1.24.11)
│
├─ fabric-ca-client@npm:1.4.19
│ └─ grpc@npm:1.24.11 (via npm:1.24.11)
│
└─ fabric-client@npm:1.4.19
└─ grpc@npm:1.24.11 (via npm:1.24.11)
A more complete list of native code dependencies that are forcing code compilation of their own (on top of our own code's compilation)
Cactus_CI/build-dev] ❓ ::group::Link step
| ➤ YN0007: │ @nestjs/core@npm:8.2.0 [4e575] must be built because it never has been before or the last one failed
| ➤ YN0007: │ electron@npm:18.3.7 must be built because it never has been before or the last one failed
| ➤ YN0007: │ grpc-tools@npm:1.11.2 must be built because it never has been before or the last one failed
| ➤ YN0007: │ secp256k1@npm:4.0.2 must be built because it never has been before or the last one failed
| ➤ YN0007: │ keccak@npm:3.0.3 must be built because it never has been before or the last one failed
| ➤ YN0007: │ pkcs11js@npm:1.3.1 must be built because it never has been before or the last one failed
| ➤ YN0007: │ protobufjs@npm:7.2.4 must be built because it never has been before or the last one failed
| ➤ YN0007: │ protobufjs@npm:6.11.3 must be built because it never has been before or the last one failed
| ➤ YN0007: │ secp256k1@npm:4.0.3 must be built because it never has been before or the last one failed
| ➤ YN0007: │ classic-level@npm:1.3.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ bufferutil@npm:4.0.7 must be built because it never has been before or the last one failed
| ➤ YN0007: │ es5-ext@npm:0.10.62 must be built because it never has been before or the last one failed
| ➤ YN0007: │ utf-8-validate@npm:5.0.10 must be built because it never has been before or the last one failed
| ➤ YN0007: │ esbuild@npm:0.15.5 must be built because it never has been before or the last one failed
| ➤ YN0007: │ nice-napi@npm:1.0.2 must be built because it never has been before or the last one failed
| ➤ YN0007: │ grpc@npm:1.24.11 must be built because it never has been before or the last one failed
| ➤ YN0007: │ web3-bzz@npm:1.8.1 must be built because it never has been before or the last one failed
| ➤ YN0007: │ web3-bzz@npm:1.7.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ web3-bzz@npm:1.5.2 must be built because it never has been before or the last one failed
| ➤ YN0007: │ cpu-features@npm:0.0.8 must be built because it never has been before or the last one failed
| ➤ YN0007: │ keccak@npm:1.4.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ secp256k1@npm:3.8.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ web3-bzz@npm:1.6.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ deasync@npm:0.1.28 must be built because it never has been before or the last one failed
| ➤ YN0007: │ aws-sdk@npm:2.965.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ keytar@npm:7.9.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ cbor@npm:6.0.1 must be built because it never has been before or the last one failed
| ➤ YN0007: │ sqlite3@npm:5.1.5 [aa907] must be built because it never has been before or the last one failed
| ➤ YN0007: │ iso-constants@npm:0.1.2 must be built because it never has been before or the last one failed
| ➤ YN0007: │ web3-bzz@npm:1.7.3 must be built because it never has been before or the last one failed
| ➤ YN0007: │ grpc-tools@npm:1.12.4 must be built because it never has been before or the last one failed
| ➤ YN0007: │ web3-bzz@npm:1.10.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ keccak@npm:3.0.2 must be built because it never has been before or the last one failed
| ➤ YN0007: │ leveldown@npm:6.1.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ @trufflesuite/bigint-buffer@npm:1.1.10 must be built because it never has been before or the last one failed
| ➤ YN0007: │ bufferutil@npm:4.0.5 must be built because it never has been before or the last one failed
| ➤ YN0007: │ utf-8-validate@npm:5.0.7 must be built because it never has been before or the last one failed
| ➤ YN0007: │ leveldown@npm:5.6.0 must be built because it never has been before or the last one failed
| ➤ YN0007: │ @apollo/protobufjs@npm:1.2.6 must be built because it never has been before or the last one failed
| ➤ YN0007: │ @apollo/protobufjs@npm:1.2.7 must be built because it never has been before or the last one failed
| ➤ YN0007: │ grpc-tools@npm:1.9.1 must be built because it never has been before or the last one failed
| ➤ YN0007: │ core-js@npm:2.6.12 must be built because it never has been before or the last one failed
See the containing epic for more context and the scope of packages that are being affected: https://github.com/hyperledger/cactus/issues/1497
Description
The older edition of grpc increases the configure script's runtime 10 fold due to it requiring native dependencies to be compiled as part of the dependency resolutions. Recommending to upgrade to @grpc/grpc-js instead to avoid this issue (the latter is written fully in JS/TS)
The old C implementation of gRPC is now officially deprecated and will not receive updates going forward. This makes it a must have for us to upgrade.