{"id":15992736,"url":"https://github.com/pmlopes/es4x-grpc-graphql","last_synced_at":"2026-02-15T03:03:10.635Z","repository":{"id":142726094,"uuid":"220496810","full_name":"pmlopes/es4x-grpc-graphql","owner":"pmlopes","description":null,"archived":false,"fork":false,"pushed_at":"2019-11-08T15:39:07.000Z","size":51,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-07T01:29:37.422Z","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/pmlopes.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-11-08T15:38:52.000Z","updated_at":"2021-02-27T17:22:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"34c17e1d-e11c-4786-a384-c2c9e064c29f","html_url":"https://github.com/pmlopes/es4x-grpc-graphql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pmlopes/es4x-grpc-graphql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fes4x-grpc-graphql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fes4x-grpc-graphql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fes4x-grpc-graphql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fes4x-grpc-graphql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmlopes","download_url":"https://codeload.github.com/pmlopes/es4x-grpc-graphql/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fes4x-grpc-graphql/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29466925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T01:01:38.065Z","status":"online","status_checked_at":"2026-02-15T02:00:07.449Z","response_time":118,"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-08T06:40:45.484Z","updated_at":"2026-02-15T03:03:10.619Z","avatar_url":"https://github.com/pmlopes.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GraphQL and gRPC with ES4X DEMO\n\nThis is a quick demo mixing graphql and grpc with es4x. In order to keep things simple, there are 2 projects.\n\n1. The JS project that you're currently looking at\n2. A Java gRPC server under [grpc/hello](grpc/hello)\n\nMixing Java and JS in ES4X is easy, for this project to work, first build the server part:\n\n```shell script\ncd grpc/hello\n./mvnw clean package\n```\n\nThis will produce a `jar` that contains the proto buffers compiled classes. Now we can build the JS project\n\n```shell script\nyarn install\n```\n\nYou will notice that the npm packages will be downloaded, plus maven packages will be downloaded too, there will be\neven more packages downloaded that are not npm related. See the entry `mvnDependencies` in [package.json](package.json).\n\nAlso notice that the post install calls `es4x` with `-v` which stands for `vendor libs`. This extra jars will be added\nto the classpath of the es4x application.\n\nAs this is a quick a dirty demo, start the java server with:\n\n```shell script\ncd grpc/hello\n./mvnw exec:java -Dexec.mainClass=\"com.example.hello.MainVerticle\" \n```\n\nThis is just a helper server to showcase the interop between services...\n\nLets get back to JavaScript:\n\n```shell script\nyarn start\n```\n\nYou should see that the verticle was deployed successfuly, how open a browser to: [http://localhost:8080/graphiql/](http://localhost:8080/graphiql/)\n\nYou can now run 2 queries:\n\n```graphql\n{\n  allLinks {\n    url\n    description\n  }\n}\n```\n\nWhich will run the JS defined graphql code...\n\nAnd the second query:\n\n```graphql\n{helloworld}\n```\n\nWhich goes over GraphQL to gRPC over the wire to the java server and return back to the browser.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmlopes%2Fes4x-grpc-graphql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmlopes%2Fes4x-grpc-graphql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmlopes%2Fes4x-grpc-graphql/lists"}