feat: support generating TypeScript definitions to be used with @grpc/proto-loader
				
					
				
			This commit is contained in:
		
							parent
							
								
									6b2c291f27
								
							
						
					
					
						commit
						6839c4f573
					
				| @ -14,7 +14,8 @@ Download the [Protocol Buffers compiler](https://github.com/protocolbuffers/prot | |||||||
| your platform and add `protoc` to `PATH` environment variable | your platform and add `protoc` to `PATH` environment variable | ||||||
| 
 | 
 | ||||||
| For generating Go code, install `protoc-gen-go` (v1.27.1+): | For generating Go code, install `protoc-gen-go` (v1.27.1+): | ||||||
| ```bash | 
 | ||||||
|  | ```shell | ||||||
| GIT_TAG="v1.27.1" | GIT_TAG="v1.27.1" | ||||||
| go get -d -u google.golang.org/protobuf/cmd/protoc-gen-go | go get -d -u google.golang.org/protobuf/cmd/protoc-gen-go | ||||||
| git -C "$(go env GOPATH)"/src/google.golang.org/protobuf checkout $GIT_TAG | git -C "$(go env GOPATH)"/src/google.golang.org/protobuf checkout $GIT_TAG | ||||||
| @ -22,38 +23,46 @@ go install google.golang.org/protobuf/cmd/protoc-gen-go | |||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| Also install `protoc-gen-go-grpc` v1.1.0+: | Also install `protoc-gen-go-grpc` v1.1.0+: | ||||||
| ```bash | 
 | ||||||
|  | ```shell | ||||||
| go get -u google.golang.org/grpc/cmd/protoc-gen-go-grpc | go get -u google.golang.org/grpc/cmd/protoc-gen-go-grpc | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| Or install using [gobin](https://github.com/myitcv/gobin): | Or install using [gobin](https://github.com/myitcv/gobin): | ||||||
| ```bash | 
 | ||||||
|  | ```shell | ||||||
| gobin google.golang.org/protobuf/cmd/protoc-gen-go | gobin google.golang.org/protobuf/cmd/protoc-gen-go | ||||||
| gobin google.golang.org/grpc/cmd/protoc-gen-go-grpc | gobin google.golang.org/grpc/cmd/protoc-gen-go-grpc | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| For generating HTTP JSON APIs with [grpc-gateway](https://grpc-ecosystem.github.io/grpc-gateway/), follow the [documentation](https://github.com/grpc-ecosystem/grpc-gateway/tree/v2#installation). | For generating HTTP JSON APIs with [grpc-gateway](https://grpc-ecosystem.github.io/grpc-gateway/), follow | ||||||
|  | the [documentation](https://github.com/grpc-ecosystem/grpc-gateway/tree/v2#installation). | ||||||
| 
 | 
 | ||||||
| For generating validators install [go-proto-validators](https://github.com/mwitkow/go-proto-validators/tree/master/protoc-gen-govalidators): | For generating validators | ||||||
| ```bash | install [go-proto-validators](https://github.com/mwitkow/go-proto-validators/tree/master/protoc-gen-govalidators): | ||||||
|  | 
 | ||||||
|  | ```shell | ||||||
| go get github.com/mwitkow/go-proto-validators/protoc-gen-govalidators | go get github.com/mwitkow/go-proto-validators/protoc-gen-govalidators | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| For generating Java code: From `bdledger-sdk-java` run `gradle generateProto` | For generating Java code: From `bdledger-sdk-java` run `gradle generateProto` | ||||||
| 
 | 
 | ||||||
| For generating Node.js code (and TypeScript definitions), install Node.js then run: | For generating Node.js code and/or TypeScript definitions), install Node.js then run: | ||||||
| ```bash | 
 | ||||||
|  | ```shell | ||||||
| npm install | npm install | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| For frontend JavaScript: | For frontend JavaScript: | ||||||
| ```bash | 
 | ||||||
|  | ```shell | ||||||
| git clone https://github.com/grpc/grpc-web | git clone https://github.com/grpc/grpc-web | ||||||
| cd grpc-web | cd grpc-web | ||||||
| sudo make install-plugin | sudo make install-plugin | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| References: | References: | ||||||
|  | 
 | ||||||
| - [Go Quick Start](https://grpc.io/docs/quickstart/go.html#prerequisites) | - [Go Quick Start](https://grpc.io/docs/quickstart/go.html#prerequisites) | ||||||
| - [gRPC Go FAQ](https://github.com/grpc/grpc-go#faq) | - [gRPC Go FAQ](https://github.com/grpc/grpc-go#faq) | ||||||
| 
 | 
 | ||||||
| @ -63,16 +72,27 @@ References: | |||||||
| ##### Generating code | ##### Generating code | ||||||
| 
 | 
 | ||||||
| Run: | Run: | ||||||
| ```bash | 
 | ||||||
|  | ```shell | ||||||
| ./scripts/gen [-a, --async] [go] [gohttp] [nodejs] [docs] | ./scripts/gen [-a, --async] [go] [gohttp] [nodejs] [docs] | ||||||
| ``` | ``` | ||||||
| Use `-a` or `--async` to speed up generation by asynchronously and concurrently generating all code and documentation (script will exit without waiting for completion) | 
 | ||||||
|  | `nodejs`: For generating static Node.js code and TypeScript definitions | ||||||
|  | 
 | ||||||
|  | Use `-a` or `--async` to speed up generation by asynchronously and concurrently generating all code and documentation ( | ||||||
|  | script will exit without waiting for completion) | ||||||
|  | 
 | ||||||
|  | For generating TypeScript definitions to be used with `@grpc/proto-loader`, run: | ||||||
|  | 
 | ||||||
|  | ```shell | ||||||
|  | invoke gen -t types | ||||||
|  | ``` | ||||||
| 
 | 
 | ||||||
| #### Generateing documentation | #### Generateing documentation | ||||||
| 
 | 
 | ||||||
| Install Go then run: | Install Go then run: | ||||||
| 
 | 
 | ||||||
| ```bash | ```shell | ||||||
| go get -u github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc | go get -u github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc | ||||||
| ./scripts/gen [-a, --async] docs | ./scripts/gen [-a, --async] docs | ||||||
| ``` | ``` | ||||||
|  | |||||||
							
								
								
									
										717
									
								
								grpc/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										717
									
								
								grpc/package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -8,10 +8,30 @@ | |||||||
|       "name": "@bdledger/api-grpc", |       "name": "@bdledger/api-grpc", | ||||||
|       "version": "0.0.1-alpha.0", |       "version": "0.0.1-alpha.0", | ||||||
|       "devDependencies": { |       "devDependencies": { | ||||||
|  |         "@grpc/proto-loader": "^0.6.4", | ||||||
|         "grpc_tools_node_protoc_ts": "^5.3.0", |         "grpc_tools_node_protoc_ts": "^5.3.0", | ||||||
|         "grpc-tools": "^1.11.2" |         "grpc-tools": "^1.11.2" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@grpc/proto-loader": { | ||||||
|  |       "version": "0.6.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.4.tgz", | ||||||
|  |       "integrity": "sha512-7xvDvW/vJEcmLUltCUGOgWRPM8Oofv0eCFSVMuKqaqWJaXSzmB+m9hiyqe34QofAl4WAzIKUZZlinIF9FOHyTQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/long": "^4.0.1", | ||||||
|  |         "lodash.camelcase": "^4.3.0", | ||||||
|  |         "long": "^4.0.0", | ||||||
|  |         "protobufjs": "^6.10.0", | ||||||
|  |         "yargs": "^16.1.1" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@mapbox/node-pre-gyp": { |     "node_modules/@mapbox/node-pre-gyp": { | ||||||
|       "version": "1.0.5", |       "version": "1.0.5", | ||||||
|       "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", |       "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", | ||||||
| @ -32,6 +52,82 @@ | |||||||
|         "node-pre-gyp": "bin/node-pre-gyp" |         "node-pre-gyp": "bin/node-pre-gyp" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@protobufjs/aspromise": { | ||||||
|  |       "version": "1.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", | ||||||
|  |       "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobufjs/base64": { | ||||||
|  |       "version": "1.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", | ||||||
|  |       "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobufjs/codegen": { | ||||||
|  |       "version": "2.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", | ||||||
|  |       "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobufjs/eventemitter": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobufjs/fetch": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@protobufjs/aspromise": "^1.1.1", | ||||||
|  |         "@protobufjs/inquire": "^1.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobufjs/float": { | ||||||
|  |       "version": "1.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", | ||||||
|  |       "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobufjs/inquire": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobufjs/path": { | ||||||
|  |       "version": "1.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", | ||||||
|  |       "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobufjs/pool": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobufjs/utf8": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@types/long": { | ||||||
|  |       "version": "4.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", | ||||||
|  |       "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@types/node": { | ||||||
|  |       "version": "16.3.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.2.tgz", | ||||||
|  |       "integrity": "sha512-jJs9ErFLP403I+hMLGnqDRWT0RYKSvArxuBVh2veudHV7ifEC1WAmjJADacZ7mRbA2nWgHtn8xyECMAot0SkAw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/abbrev": { |     "node_modules/abbrev": { | ||||||
|       "version": "1.1.1", |       "version": "1.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", |       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", | ||||||
| @ -59,6 +155,21 @@ | |||||||
|         "node": ">=0.10.0" |         "node": ">=0.10.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/ansi-styles": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | ||||||
|  |       "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "color-convert": "^2.0.1" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/chalk/ansi-styles?sponsor=1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/aproba": { |     "node_modules/aproba": { | ||||||
|       "version": "1.2.0", |       "version": "1.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", |       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", | ||||||
| @ -100,6 +211,61 @@ | |||||||
|         "node": ">=10" |         "node": ">=10" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/cliui": { | ||||||
|  |       "version": "7.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", | ||||||
|  |       "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "string-width": "^4.2.0", | ||||||
|  |         "strip-ansi": "^6.0.0", | ||||||
|  |         "wrap-ansi": "^7.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/cliui/node_modules/ansi-regex": { | ||||||
|  |       "version": "5.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||||||
|  |       "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/cliui/node_modules/is-fullwidth-code-point": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||||||
|  |       "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/cliui/node_modules/string-width": { | ||||||
|  |       "version": "4.2.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||||||
|  |       "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "emoji-regex": "^8.0.0", | ||||||
|  |         "is-fullwidth-code-point": "^3.0.0", | ||||||
|  |         "strip-ansi": "^6.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/cliui/node_modules/strip-ansi": { | ||||||
|  |       "version": "6.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||||||
|  |       "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ansi-regex": "^5.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/code-point-at": { |     "node_modules/code-point-at": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", | ||||||
| @ -109,6 +275,24 @@ | |||||||
|         "node": ">=0.10.0" |         "node": ">=0.10.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/color-convert": { | ||||||
|  |       "version": "2.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||||||
|  |       "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "color-name": "~1.1.4" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=7.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/color-name": { | ||||||
|  |       "version": "1.1.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||||||
|  |       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/concat-map": { |     "node_modules/concat-map": { | ||||||
|       "version": "0.0.1", |       "version": "0.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||||||
| @ -162,6 +346,21 @@ | |||||||
|         "node": ">=0.10" |         "node": ">=0.10" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/emoji-regex": { | ||||||
|  |       "version": "8.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", | ||||||
|  |       "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/escalade": { | ||||||
|  |       "version": "3.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", | ||||||
|  |       "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/fs-minipass": { |     "node_modules/fs-minipass": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", |       "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", | ||||||
| @ -196,6 +395,15 @@ | |||||||
|         "wide-align": "^1.1.0" |         "wide-align": "^1.1.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/get-caller-file": { | ||||||
|  |       "version": "2.0.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", | ||||||
|  |       "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "6.* || 8.* || >= 10.*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/glob": { |     "node_modules/glob": { | ||||||
|       "version": "7.1.7", |       "version": "7.1.7", | ||||||
|       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", |       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", | ||||||
| @ -323,6 +531,18 @@ | |||||||
|       "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", |       "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/lodash.camelcase": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", | ||||||
|  |       "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/long": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/lru-cache": { |     "node_modules/lru-cache": { | ||||||
|       "version": "6.0.0", |       "version": "6.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", |       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||||||
| @ -504,6 +724,32 @@ | |||||||
|       "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", |       "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/protobufjs": { | ||||||
|  |       "version": "6.11.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", | ||||||
|  |       "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "hasInstallScript": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@protobufjs/aspromise": "^1.1.2", | ||||||
|  |         "@protobufjs/base64": "^1.1.2", | ||||||
|  |         "@protobufjs/codegen": "^2.0.4", | ||||||
|  |         "@protobufjs/eventemitter": "^1.1.0", | ||||||
|  |         "@protobufjs/fetch": "^1.1.0", | ||||||
|  |         "@protobufjs/float": "^1.0.2", | ||||||
|  |         "@protobufjs/inquire": "^1.1.0", | ||||||
|  |         "@protobufjs/path": "^1.1.2", | ||||||
|  |         "@protobufjs/pool": "^1.1.0", | ||||||
|  |         "@protobufjs/utf8": "^1.1.0", | ||||||
|  |         "@types/long": "^4.0.1", | ||||||
|  |         "@types/node": ">=13.7.0", | ||||||
|  |         "long": "^4.0.0" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "pbjs": "bin/pbjs", | ||||||
|  |         "pbts": "bin/pbts" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/readable-stream": { |     "node_modules/readable-stream": { | ||||||
|       "version": "2.3.7", |       "version": "2.3.7", | ||||||
|       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", |       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||||||
| @ -519,6 +765,15 @@ | |||||||
|         "util-deprecate": "~1.0.1" |         "util-deprecate": "~1.0.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/require-directory": { | ||||||
|  |       "version": "2.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", | ||||||
|  |       "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/rimraf": { |     "node_modules/rimraf": { | ||||||
|       "version": "3.0.2", |       "version": "3.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", |       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", | ||||||
| @ -662,20 +917,174 @@ | |||||||
|       "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", |       "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/wrap-ansi": { | ||||||
|  |       "version": "7.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", | ||||||
|  |       "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ansi-styles": "^4.0.0", | ||||||
|  |         "string-width": "^4.1.0", | ||||||
|  |         "strip-ansi": "^6.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/chalk/wrap-ansi?sponsor=1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/wrap-ansi/node_modules/ansi-regex": { | ||||||
|  |       "version": "5.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||||||
|  |       "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||||||
|  |       "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/wrap-ansi/node_modules/string-width": { | ||||||
|  |       "version": "4.2.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||||||
|  |       "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "emoji-regex": "^8.0.0", | ||||||
|  |         "is-fullwidth-code-point": "^3.0.0", | ||||||
|  |         "strip-ansi": "^6.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/wrap-ansi/node_modules/strip-ansi": { | ||||||
|  |       "version": "6.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||||||
|  |       "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ansi-regex": "^5.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/wrappy": { |     "node_modules/wrappy": { | ||||||
|       "version": "1.0.2", |       "version": "1.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", |       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | ||||||
|       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", |       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/y18n": { | ||||||
|  |       "version": "5.0.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", | ||||||
|  |       "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/yallist": { |     "node_modules/yallist": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", |       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||||||
|       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", |       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", | ||||||
|       "dev": true |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/yargs": { | ||||||
|  |       "version": "16.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", | ||||||
|  |       "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "cliui": "^7.0.2", | ||||||
|  |         "escalade": "^3.1.1", | ||||||
|  |         "get-caller-file": "^2.0.5", | ||||||
|  |         "require-directory": "^2.1.1", | ||||||
|  |         "string-width": "^4.2.0", | ||||||
|  |         "y18n": "^5.0.5", | ||||||
|  |         "yargs-parser": "^20.2.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/yargs-parser": { | ||||||
|  |       "version": "20.2.9", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", | ||||||
|  |       "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/yargs/node_modules/ansi-regex": { | ||||||
|  |       "version": "5.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||||||
|  |       "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/yargs/node_modules/is-fullwidth-code-point": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||||||
|  |       "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/yargs/node_modules/string-width": { | ||||||
|  |       "version": "4.2.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||||||
|  |       "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "emoji-regex": "^8.0.0", | ||||||
|  |         "is-fullwidth-code-point": "^3.0.0", | ||||||
|  |         "strip-ansi": "^6.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/yargs/node_modules/strip-ansi": { | ||||||
|  |       "version": "6.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||||||
|  |       "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ansi-regex": "^5.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|  |     "@grpc/proto-loader": { | ||||||
|  |       "version": "0.6.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.4.tgz", | ||||||
|  |       "integrity": "sha512-7xvDvW/vJEcmLUltCUGOgWRPM8Oofv0eCFSVMuKqaqWJaXSzmB+m9hiyqe34QofAl4WAzIKUZZlinIF9FOHyTQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/long": "^4.0.1", | ||||||
|  |         "lodash.camelcase": "^4.3.0", | ||||||
|  |         "long": "^4.0.0", | ||||||
|  |         "protobufjs": "^6.10.0", | ||||||
|  |         "yargs": "^16.1.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@mapbox/node-pre-gyp": { |     "@mapbox/node-pre-gyp": { | ||||||
|       "version": "1.0.5", |       "version": "1.0.5", | ||||||
|       "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", |       "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", | ||||||
| @ -693,6 +1102,82 @@ | |||||||
|         "tar": "^6.1.0" |         "tar": "^6.1.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@protobufjs/aspromise": { | ||||||
|  |       "version": "1.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", | ||||||
|  |       "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@protobufjs/base64": { | ||||||
|  |       "version": "1.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", | ||||||
|  |       "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@protobufjs/codegen": { | ||||||
|  |       "version": "2.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", | ||||||
|  |       "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@protobufjs/eventemitter": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@protobufjs/fetch": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@protobufjs/aspromise": "^1.1.1", | ||||||
|  |         "@protobufjs/inquire": "^1.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@protobufjs/float": { | ||||||
|  |       "version": "1.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", | ||||||
|  |       "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@protobufjs/inquire": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@protobufjs/path": { | ||||||
|  |       "version": "1.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", | ||||||
|  |       "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@protobufjs/pool": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@protobufjs/utf8": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@types/long": { | ||||||
|  |       "version": "4.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", | ||||||
|  |       "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@types/node": { | ||||||
|  |       "version": "16.3.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.2.tgz", | ||||||
|  |       "integrity": "sha512-jJs9ErFLP403I+hMLGnqDRWT0RYKSvArxuBVh2veudHV7ifEC1WAmjJADacZ7mRbA2nWgHtn8xyECMAot0SkAw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "abbrev": { |     "abbrev": { | ||||||
|       "version": "1.1.1", |       "version": "1.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", |       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", | ||||||
| @ -714,6 +1199,15 @@ | |||||||
|       "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", |       "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "ansi-styles": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | ||||||
|  |       "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "color-convert": "^2.0.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "aproba": { |     "aproba": { | ||||||
|       "version": "1.2.0", |       "version": "1.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", |       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", | ||||||
| @ -752,12 +1246,72 @@ | |||||||
|       "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", |       "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "cliui": { | ||||||
|  |       "version": "7.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", | ||||||
|  |       "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "string-width": "^4.2.0", | ||||||
|  |         "strip-ansi": "^6.0.0", | ||||||
|  |         "wrap-ansi": "^7.0.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ansi-regex": { | ||||||
|  |           "version": "5.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||||||
|  |           "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "is-fullwidth-code-point": { | ||||||
|  |           "version": "3.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||||||
|  |           "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "string-width": { | ||||||
|  |           "version": "4.2.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||||||
|  |           "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "emoji-regex": "^8.0.0", | ||||||
|  |             "is-fullwidth-code-point": "^3.0.0", | ||||||
|  |             "strip-ansi": "^6.0.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "strip-ansi": { | ||||||
|  |           "version": "6.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||||||
|  |           "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "ansi-regex": "^5.0.0" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "code-point-at": { |     "code-point-at": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", | ||||||
|       "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", |       "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "color-convert": { | ||||||
|  |       "version": "2.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||||||
|  |       "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "color-name": "~1.1.4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "color-name": { | ||||||
|  |       "version": "1.1.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||||||
|  |       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "concat-map": { |     "concat-map": { | ||||||
|       "version": "0.0.1", |       "version": "0.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||||||
| @ -797,6 +1351,18 @@ | |||||||
|       "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", |       "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "emoji-regex": { | ||||||
|  |       "version": "8.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", | ||||||
|  |       "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "escalade": { | ||||||
|  |       "version": "3.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", | ||||||
|  |       "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "fs-minipass": { |     "fs-minipass": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", |       "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", | ||||||
| @ -828,6 +1394,12 @@ | |||||||
|         "wide-align": "^1.1.0" |         "wide-align": "^1.1.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "get-caller-file": { | ||||||
|  |       "version": "2.0.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", | ||||||
|  |       "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "glob": { |     "glob": { | ||||||
|       "version": "7.1.7", |       "version": "7.1.7", | ||||||
|       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", |       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", | ||||||
| @ -927,6 +1499,18 @@ | |||||||
|       "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", |       "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "lodash.camelcase": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", | ||||||
|  |       "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "long": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "lru-cache": { |     "lru-cache": { | ||||||
|       "version": "6.0.0", |       "version": "6.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", |       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||||||
| @ -1065,6 +1649,27 @@ | |||||||
|       "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", |       "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "protobufjs": { | ||||||
|  |       "version": "6.11.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", | ||||||
|  |       "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@protobufjs/aspromise": "^1.1.2", | ||||||
|  |         "@protobufjs/base64": "^1.1.2", | ||||||
|  |         "@protobufjs/codegen": "^2.0.4", | ||||||
|  |         "@protobufjs/eventemitter": "^1.1.0", | ||||||
|  |         "@protobufjs/fetch": "^1.1.0", | ||||||
|  |         "@protobufjs/float": "^1.0.2", | ||||||
|  |         "@protobufjs/inquire": "^1.1.0", | ||||||
|  |         "@protobufjs/path": "^1.1.2", | ||||||
|  |         "@protobufjs/pool": "^1.1.0", | ||||||
|  |         "@protobufjs/utf8": "^1.1.0", | ||||||
|  |         "@types/long": "^4.0.1", | ||||||
|  |         "@types/node": ">=13.7.0", | ||||||
|  |         "long": "^4.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "readable-stream": { |     "readable-stream": { | ||||||
|       "version": "2.3.7", |       "version": "2.3.7", | ||||||
|       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", |       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||||||
| @ -1080,6 +1685,12 @@ | |||||||
|         "util-deprecate": "~1.0.1" |         "util-deprecate": "~1.0.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "require-directory": { | ||||||
|  |       "version": "2.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", | ||||||
|  |       "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "rimraf": { |     "rimraf": { | ||||||
|       "version": "3.0.2", |       "version": "3.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", |       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", | ||||||
| @ -1193,17 +1804,123 @@ | |||||||
|       "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", |       "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "wrap-ansi": { | ||||||
|  |       "version": "7.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", | ||||||
|  |       "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "ansi-styles": "^4.0.0", | ||||||
|  |         "string-width": "^4.1.0", | ||||||
|  |         "strip-ansi": "^6.0.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ansi-regex": { | ||||||
|  |           "version": "5.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||||||
|  |           "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "is-fullwidth-code-point": { | ||||||
|  |           "version": "3.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||||||
|  |           "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "string-width": { | ||||||
|  |           "version": "4.2.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||||||
|  |           "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "emoji-regex": "^8.0.0", | ||||||
|  |             "is-fullwidth-code-point": "^3.0.0", | ||||||
|  |             "strip-ansi": "^6.0.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "strip-ansi": { | ||||||
|  |           "version": "6.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||||||
|  |           "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "ansi-regex": "^5.0.0" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "wrappy": { |     "wrappy": { | ||||||
|       "version": "1.0.2", |       "version": "1.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", |       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | ||||||
|       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", |       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "y18n": { | ||||||
|  |       "version": "5.0.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", | ||||||
|  |       "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "yallist": { |     "yallist": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", |       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||||||
|       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", |       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", | ||||||
|       "dev": true |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "yargs": { | ||||||
|  |       "version": "16.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", | ||||||
|  |       "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "cliui": "^7.0.2", | ||||||
|  |         "escalade": "^3.1.1", | ||||||
|  |         "get-caller-file": "^2.0.5", | ||||||
|  |         "require-directory": "^2.1.1", | ||||||
|  |         "string-width": "^4.2.0", | ||||||
|  |         "y18n": "^5.0.5", | ||||||
|  |         "yargs-parser": "^20.2.2" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ansi-regex": { | ||||||
|  |           "version": "5.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||||||
|  |           "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "is-fullwidth-code-point": { | ||||||
|  |           "version": "3.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||||||
|  |           "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "string-width": { | ||||||
|  |           "version": "4.2.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||||||
|  |           "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "emoji-regex": "^8.0.0", | ||||||
|  |             "is-fullwidth-code-point": "^3.0.0", | ||||||
|  |             "strip-ansi": "^6.0.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "strip-ansi": { | ||||||
|  |           "version": "6.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||||||
|  |           "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "ansi-regex": "^5.0.0" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "yargs-parser": { | ||||||
|  |       "version": "20.2.9", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", | ||||||
|  |       "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", | ||||||
|  |       "dev": true | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -14,6 +14,7 @@ | |||||||
|     "Node.js" |     "Node.js" | ||||||
|   ], |   ], | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|  |     "@grpc/proto-loader": "^0.6.4", | ||||||
|     "grpc_tools_node_protoc_ts": "^5.3.0", |     "grpc_tools_node_protoc_ts": "^5.3.0", | ||||||
|     "grpc-tools": "^1.11.2" |     "grpc-tools": "^1.11.2" | ||||||
|   } |   } | ||||||
|  | |||||||
							
								
								
									
										39
									
								
								grpc/tasks.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								grpc/tasks.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | |||||||
|  | from invoke import task | ||||||
|  | from pathlib import Path | ||||||
|  | 
 | ||||||
|  | ROOT = Path(__file__).parent | ||||||
|  | PB_ROOT = ROOT / "pb" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # @task | ||||||
|  | # def clean(c, docs=False, bytecode=False, extra=""): | ||||||
|  | #     patterns = ["build"] | ||||||
|  | #     if docs: | ||||||
|  | #         patterns.append("docs/_build") | ||||||
|  | #     if bytecode: | ||||||
|  | #         patterns.append("**/*.pyc") | ||||||
|  | #     if extra: | ||||||
|  | #         patterns.append(extra) | ||||||
|  | #     for pattern in patterns: | ||||||
|  | #         c.run("rm -rf {}".format(pattern)) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @task( | ||||||
|  |     help={ | ||||||
|  |         "target": "Target gRPC licent code to generate.", | ||||||
|  |     } | ||||||
|  | ) | ||||||
|  | def gen(c, target="types"): | ||||||
|  |     """ | ||||||
|  |     Generate gRPC client code. | ||||||
|  |     """ | ||||||
|  |     outDir = "gen/types" | ||||||
|  |     paths = Path(PB_ROOT).glob('**/*.proto') | ||||||
|  |     for path in paths: | ||||||
|  |         # because path is object not string | ||||||
|  |         pathStr = str(path) | ||||||
|  |         print("Generating f or", pathStr) | ||||||
|  |         c.run( | ||||||
|  |             "npx proto-loader-gen-types --includeComments --grpcLib @grpc/grpc-js -I pb -O {} {}" | ||||||
|  |                 .format(outDir, pathStr) | ||||||
|  |         ) | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user