diff --git a/packages/proto-signing/package.json b/packages/proto-signing/package.json index 6d3d2295..142f148c 100644 --- a/packages/proto-signing/package.json +++ b/packages/proto-signing/package.json @@ -37,8 +37,9 @@ "test": "yarn build-or-skip && yarn test-node", "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js", + "preget-proto": "rm -rf proto", "get-proto": "REF=master ./scripts/get-proto.sh", - "predefine-proto": "mkdir -p src/generated && pbjs -t static-module -w commonjs -o src/generated/codecimpl.tmp.js --sparse --no-beautify --no-delimited --no-verify --no-convert ./proto/cosmos/cosmos-sdk/{x/bank/types/types.proto,types/types.proto,types/tx/types.proto,types/tx/signing/types.proto,third_party/proto/tendermint/**/*.proto,crypto/types/types.proto}", + "predefine-proto": "./scripts/predefine-proto.sh", "define-proto": "pbts src/generated/codecimpl.tmp.js -o src/generated/codecimpl.d.ts && tsc --removeComments --outFile src/generated/codecimpl.js --allowJs src/generated/codecimpl.tmp.js && rm src/generated/codecimpl.tmp.js", "postdefine-proto": "prettier --write \"src/generated/codecimpl.*\"" }, diff --git a/packages/proto-signing/scripts/predefine-proto.sh b/packages/proto-signing/scripts/predefine-proto.sh new file mode 100755 index 00000000..7d4814cd --- /dev/null +++ b/packages/proto-signing/scripts/predefine-proto.sh @@ -0,0 +1,30 @@ +#!/bin/bash +set -o errexit -o nounset -o pipefail +command -v shellcheck > /dev/null && shellcheck "$0" + +GENERATED_DIR="./tmp" +ROOT_PROTO_DIR="./proto/cosmos/cosmos-sdk" +COSMOS_PROTO_DIR="$ROOT_PROTO_DIR/proto/cosmos" +TENDERMINT_PROTO_DIR="$ROOT_PROTO_DIR/third_party/proto/tendermint" +GOOGLE_PROTO_DIR="$ROOT_PROTO_DIR/third_party/proto/google" + +mkdir -p "$GENERATED_DIR" +pbjs \ + -t static-module \ + --es6 \ + -w commonjs \ + -o "$GENERATED_DIR/codecimpl.js" \ + --sparse \ + --no-beautify \ + --no-delimited \ + --no-verify \ + --no-convert \ + "$COSMOS_PROTO_DIR/cosmos.proto" \ + "$COSMOS_PROTO_DIR/bank/bank.proto" \ + "$COSMOS_PROTO_DIR/crypto/crypto.proto" \ + "$COSMOS_PROTO_DIR/tx/tx.proto" \ + "$COSMOS_PROTO_DIR/tx/signing/signing.proto" \ + "$TENDERMINT_PROTO_DIR/abci/types/types.proto" \ + "$TENDERMINT_PROTO_DIR/crypto/merkle/merkle.proto" \ + "$TENDERMINT_PROTO_DIR/libs/kv/types.proto" \ + "$GOOGLE_PROTO_DIR/protobuf/any.proto"