nevi-me / grpc-gen

Simple CLI for generating stubs for gRPC Node. and grpc-web-client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gRPC gen

Simple command line for running the protoc compiler via a configuration file

Configuration

Example .grpc-gen.yml config file

# Root of all your sources
srcs_dir: ./src
# Array of sources relative to srcs_dir
srcs:
  - file.proto
# Output object where the key is the plugin name and the value is
# the directory for the plugins output.
output:
  plugin-name: output-directory

Output

The output configuration can either be an array or an object. Each element must be an object with exactly one key. The one key must be the plugin/language name. The value has a long syntax and a short syntax.

Long Syntax

output:
  # Name of plugin or language
  - js:
      # Output directory
      dir: dist/node
      # Options to pass to plugin
      options:
        import_style: commonjs

  # Specify a custom plugin
  - custom-plugin:
      custom: true
      # Name of plugin to look for on your PATH or npm bin directories
      plugin: grpc_tools_node_protoc_plugin
      # Custom plugin output directory
      dir: dist/node
      # Options to pass to custom plugin
      options:

Short Syntax

output:
  # Name of plugin or language as key. Output direcotry as value.
  - php: dist/php

Install

Install globally

npm i -g grpc-gen

OR install locally in your project as a dev dependency and add a build script to your package.json.

npm i -D grpc-gen
// package.json
"scripts": {
  "build": "grpc-gen"
},
"devDependencies": [
  "grpc-gen": "^1.0.2"
]
npm run build

Usage

Running grpc-gen in the directory containing your configuration file will build your proto files.

grpc-gen

You can also specify a different configuration file with --config

# Extension can be: .yml .yaml .json .js
grpc-gen --config=custom-config.yml

grpc-gen may also run in watch mode. When your config file or proto files change compilation will re-run.

grpc-gen --watch

Troubleshooting

If grpc-gen is not behaving the way you expect and want to dive into the issue you can run grpc-gen in verbose mode. Just pass --verbose or -v.

grpc-gen --verbose

About

Simple CLI for generating stubs for gRPC Node. and grpc-web-client


Languages

Language:JavaScript 99.9%Language:Shell 0.1%Language:Batchfile 0.0%