{"id":17134722,"url":"https://github.com/robojones/protoc-dart","last_synced_at":"2025-07-25T12:31:37.629Z","repository":{"id":40366731,"uuid":"392689485","full_name":"robojones/protoc-dart","owner":"robojones","description":"Always up-to-date Docker image with protoc and the dart-protoc-plugin","archived":false,"fork":false,"pushed_at":"2025-01-14T01:54:08.000Z","size":29,"stargazers_count":2,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T06:51:17.724Z","etag":null,"topics":["dart","docker","docker-image","flutter","null-safe","null-safety","protobuf","protoc","protocol-buffers"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/robojones/protoc-dart","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robojones.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-04T12:59:24.000Z","updated_at":"2025-01-14T01:54:12.000Z","dependencies_parsed_at":"2024-12-02T02:38:23.059Z","dependency_job_id":null,"html_url":"https://github.com/robojones/protoc-dart","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/robojones/protoc-dart","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robojones%2Fprotoc-dart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robojones%2Fprotoc-dart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robojones%2Fprotoc-dart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robojones%2Fprotoc-dart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robojones","download_url":"https://codeload.github.com/robojones/protoc-dart/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robojones%2Fprotoc-dart/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267007463,"owners_count":24020257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"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":["dart","docker","docker-image","flutter","null-safe","null-safety","protobuf","protoc","protocol-buffers"],"created_at":"2024-10-14T19:45:34.996Z","updated_at":"2025-07-25T12:31:37.580Z","avatar_url":"https://github.com/robojones.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# protoc-dart\n\n\nDocker image with [protoc](https://github.com/protocolbuffers/protobuf) and the [dart-protoc-plugin](https://pub.dev/packages/protoc_plugin).\n\n\u003e **INFO** This image is updated automatically. A nightly build job checks for new versions of dart, protoc and the dart-protoc-plugin every day.\n\n## Usage\n\nConsider you have a project structure like this:\n\n```\nmy-project\n |- lib\n |   |- src\n |   |   |- generated \u003c- the generated protobuf libraries will be here\n |   |   |...\n |   |\n |   |- my-project.dart\n |\n |- protos\n |   |- api_spec.proto \u003c- we want to compile this\n |\n |- pubspec.yaml\n |...\n```\n\nWe want to compile the `protos/api_spec.proto` and write the output files to the `lib/src/generated` directory.\nThis can be done using the following command:\n\n```bash\ndocker run --rm -v=${PWD}:/project robojones/protoc-dart:latest protoc -I=protos --dart_out=lib/src/generated protos/api_spec.proto\n```\n\nThat's a really long command – Let's break this down!\n1. First, we make our project accessible inside the docker container.\n   We mount it to /project, which is the default working directory inside the container.\n   ```bash\n   docker run --rm -v=${PWD}:/project\n   ```\n2. Next, we specify what version of the image we want to use. We use the latest version.\n   ```bash\n   robojones/protoc-dart:latest\n   ```\n3. Finally, we run protoc inside the container.\n   `-I=protos` tells protoc that `protos/` is the root directory for our *.proto files.\n   `--dart_out=lib/src/generated` means that we want our output files to be in the Dart language\n   and that it should write those files into `lib/src/generated`.\n   The last parameter, `protos/api_spec.proto`, tells protoc that we want to compile that specific file.  \n   ```bash\n   protoc -I=protos --dart_out=lib/src/generated protos/api_spec.proto\n   ```\n\n## License\n\nThis repository (build script, Dockerfile, etc.) is published unter the [MIT license](/LICENSE). This project is not affiliated with the owners and publishers of protoc, the dart docker image or the protoc-plugin-dart plugin. Please inform yourself regarding the license terms of protoc, the dart docker image and the protoc-plugin-dart plugin. Their sources can be found here:\n\n- Base image: [dart](https://hub.docker.com/_/dart)\n- protoc is downloaded from the Github release [github.com/protocolbuffers/protobuf](https://github.com/protocolbuffers/protobuf)\n- protoc-plugin-dart is installed from [pub.dev/packages/protoc_plugin](https://pub.dev/packages/protoc_plugin)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobojones%2Fprotoc-dart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobojones%2Fprotoc-dart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobojones%2Fprotoc-dart/lists"}