{"id":42608294,"url":"https://github.com/zaucy/grpc-gen","last_synced_at":"2026-01-29T02:17:11.126Z","repository":{"id":53476852,"uuid":"110959159","full_name":"zaucy/grpc-gen","owner":"zaucy","description":"Simple CLI for generating stubs for gRPC Node. and grpc-web-client","archived":false,"fork":false,"pushed_at":"2022-12-02T03:36:06.000Z","size":359,"stargazers_count":2,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-24T10:29:14.636Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zaucy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-16T10:43:46.000Z","updated_at":"2020-09-04T04:06:13.000Z","dependencies_parsed_at":"2023-01-23T06:00:10.278Z","dependency_job_id":null,"html_url":"https://github.com/zaucy/grpc-gen","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/zaucy/grpc-gen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaucy%2Fgrpc-gen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaucy%2Fgrpc-gen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaucy%2Fgrpc-gen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaucy%2Fgrpc-gen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zaucy","download_url":"https://codeload.github.com/zaucy/grpc-gen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaucy%2Fgrpc-gen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28860683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"online","status_checked_at":"2026-01-29T02:00:06.714Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-29T02:17:10.441Z","updated_at":"2026-01-29T02:17:11.119Z","avatar_url":"https://github.com/zaucy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gRPC gen\n\nSimple command line for running the protoc compiler via a configuration file\n\n## Configuration\n\nExample `.grpc-gen.yml` config file\n\n```YAML\n# Root of all your sources\nsrcs_dir: ./src\n# Array of sources relative to srcs_dir\nsrcs:\n  - file.proto\n# Output object where the key is the plugin name and the value is\n# the directory for the plugins output.\noutput:\n  plugin-name: output-directory\n```\n\n### Output\n\nThe 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](#long-syntax) and a [short syntax](#short-syntax).\n\n#### Long Syntax\n\n```YAML\noutput:\n  # Name of plugin or language\n  - js:\n      # Output directory\n      dir: dist/node\n      # Options to pass to plugin\n      options:\n        import_style: commonjs\n\n  # Specify a custom plugin\n  - custom-plugin:\n      custom: true\n      # Name of plugin to look for on your PATH or npm bin directories\n      plugin: grpc_tools_node_protoc_plugin\n      # Custom plugin output directory\n      dir: dist/node\n      # Options to pass to custom plugin\n      options:\n```\n\n#### Short Syntax\n\n```YAML\noutput:\n  # Name of plugin or language as key. Output direcotry as value.\n  - php: dist/php\n```\n\n## Install\n\nInstall globally\n\n```bash\nnpm i -g grpc-gen\n```\n\nOR install locally in your project as a dev dependency and add a build script to your `package.json`.\n\n```bash\nnpm i -D grpc-gen\n```\n\n```js\n// package.json\n\"scripts\": {\n  \"build\": \"grpc-gen\"\n},\n\"devDependencies\": [\n  \"grpc-gen\": \"^1.0.2\"\n]\n```\n\n```bash\nnpm run build\n```\n\n## Usage\n\nRunning `grpc-gen` in the directory containing your configuration file will build your proto files.\n\n```bash\ngrpc-gen\n```\n\nYou can also specify a different configuration file with `--config`\n\n```bash\n# Extension can be: .yml .yaml .json .js\ngrpc-gen --config=custom-config.yml\n```\n\n`grpc-gen` may also run in *watch* mode. When your config file or proto files change compilation will re-run.\n\n```\ngrpc-gen --watch\n```\n\n## Troubleshooting\n\nIf 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`.\n\n```shell\ngrpc-gen --verbose\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaucy%2Fgrpc-gen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzaucy%2Fgrpc-gen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaucy%2Fgrpc-gen/lists"}