{"id":16014867,"url":"https://github.com/thheller/cljs-protobuf","last_synced_at":"2025-07-31T11:05:17.079Z","repository":{"id":140236581,"uuid":"214535940","full_name":"thheller/cljs-protobuf","owner":"thheller","description":"Example using protobuf in a CLJS project","archived":false,"fork":false,"pushed_at":"2019-10-11T22:05:44.000Z","size":131,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T02:43:12.203Z","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/thheller.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-11T22:05:32.000Z","updated_at":"2020-08-15T23:19:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c6a3eff-a44f-4a44-9ee8-8b085a8d1422","html_url":"https://github.com/thheller/cljs-protobuf","commit_stats":{"total_commits":1,"total_committers":1,"mean_commits":1.0,"dds":0.0,"last_synced_commit":"4f2aefb30aed6e911a43e3e843779fd2e09815b8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thheller/cljs-protobuf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fcljs-protobuf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fcljs-protobuf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fcljs-protobuf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fcljs-protobuf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thheller","download_url":"https://codeload.github.com/thheller/cljs-protobuf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fcljs-protobuf/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268025820,"owners_count":24183264,"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-31T02:00:08.723Z","response_time":66,"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":"2024-10-08T15:05:23.143Z","updated_at":"2025-07-31T11:05:16.975Z","avatar_url":"https://github.com/thheller.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Generating the `.js` files from `.proto` files was done via `make protos`.\n\nThe generated files are kept in `src/generated`. That directory would usually be in `.gitignore` but for demo purposes the generated files are kept in this repo.\n\nThe files in `src/protobuf/jspb` were taken from the main [protobuf](https://github.com/protocolbuffers/protobuf) repo since there doesn't seem to be an official distribution for those.\n\nThe files in `src/protobuf/google` were taken from the `protoc` [binary dist](https://github.com/protocolbuffers/protobuf/releases). The binary file was not included in this repo.\n\nThe dummy `:node-script` was used for demo purposes but it can be used in any build.\n\nThe trick is just generated all required files properly and including them in the build somehow.\n\nOnce the protobuf stuff is done just build as normal via\n\n```\nshadow-cljs watch script\n# or\nshadow-cljs release script\n```\n\nThe advantage of using this output instead of the commonjs output is that all output is fully `:advanced` compatible.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthheller%2Fcljs-protobuf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthheller%2Fcljs-protobuf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthheller%2Fcljs-protobuf/lists"}