{"id":15012859,"url":"https://github.com/connectrpc/examples-es","last_synced_at":"2025-04-04T19:07:51.206Z","repository":{"id":53258616,"uuid":"507057078","full_name":"connectrpc/examples-es","owner":"connectrpc","description":"Examples for using Connect with various TypeScript web frameworks and tooling.","archived":false,"fork":false,"pushed_at":"2025-03-25T14:16:27.000Z","size":523711,"stargazers_count":140,"open_issues_count":16,"forks_count":26,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-28T18:11:49.658Z","etag":null,"topics":["angular","buf","connect","esbuild","express","fastify","nextjs","nodejs","parcel","playwright","protobuf","react","react-native","remix","rollup","svelte","typescript","vite","vue","webpack"],"latest_commit_sha":null,"homepage":"https://connectrpc.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/connectrpc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-24T15:22:17.000Z","updated_at":"2025-03-24T07:47:18.000Z","dependencies_parsed_at":"2023-02-19T11:45:34.648Z","dependency_job_id":"4cafe154-1995-4aeb-9762-aec902c2d7dc","html_url":"https://github.com/connectrpc/examples-es","commit_stats":{"total_commits":568,"total_committers":16,"mean_commits":35.5,"dds":0.3644366197183099,"last_synced_commit":"2613843de2d2f25dac0b5d5f476f7c31fc800cef"},"previous_names":["connectrpc/examples-es"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connectrpc%2Fexamples-es","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connectrpc%2Fexamples-es/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connectrpc%2Fexamples-es/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connectrpc%2Fexamples-es/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/connectrpc","download_url":"https://codeload.github.com/connectrpc/examples-es/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234921,"owners_count":20905854,"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","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":["angular","buf","connect","esbuild","express","fastify","nextjs","nodejs","parcel","playwright","protobuf","react","react-native","remix","rollup","svelte","typescript","vite","vue","webpack"],"created_at":"2024-09-24T19:43:20.300Z","updated_at":"2025-04-04T19:07:51.180Z","avatar_url":"https://github.com/connectrpc.png","language":"TypeScript","readme":"examples-es\n===========\n\n[![Build](https://github.com/connectrpc/examples-es/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/connectrpc/examples-es/actions/workflows/ci.yaml)\n\n`examples-es` is a repository of example projects using Connect with various TypeScript web frameworks and tooling.\nIt provides numerous examples for integrating Connect into a project, using both Connect for Web and Connect for Node.\n\n## Web\n\n### Angular\n\nThe [Angular](https://angular.io) application was generated with the [Angular CLI](https://github.com/angular/angular-cli).\n\n### Astro\n\nThe [Astro](astro) application was generated with `npm create astro@latest -- --template basics` and all suggested defaults.\n\n### Next.js\n\nThe [Next.js](nextjs) application was generated with `npx create-next-app buf-nextjs --use-npm --ts` and all suggested defaults.\n\n### Plain\n\nThe [Plain](plain) application was built from scratch with no frameworks at all using just vanilla JavaScript.\n\n### React\n\nAll applications underneath this directory use [React](https://reactjs.org) as the framework.  Each is divided by the various\ntooling differences the related projects were constructed with:\n\n* [esbuild](react/esbuild) - Built from scratch with [esbuild](https://esbuild.github.io) as the bundler.\n* [parcel](react/parcel) - Built from scratch with [Parcel](https://parceljs.org) as the bundler.\n* [rollup](react/rollup) - Built from scratch with [Rollup](https://rollupjs.org) as the bundler.\n* [vite](react/vite) - Generated with [Vite](https://github.com/vitejs/vite) and all associated defaults.\n* [webpack](react/webpack) - Built from scratch with [Webpack](https://webpack.js.org) as the bundler.\n* [webpack-cjs](react/webpack-cjs) - Built from scratch with [Webpack](https://webpack.js.org) as the bundler, using CommonJS import syntax.\n\nEach project also uses various tools for testing, linting, etc.  These variances are noted in each project README.\n\n### Remix\n\nThe [Remix](remix) application was generated with `npx create-remix@latest` and all suggested defaults.\n\n### Svelte\n\nThe [Svelte](svelte) application was generated with `npm create svelte \u003capp name\u003e` and all suggested defaults.\n\n### Vue\n\nThe [Vue](vue) application was generated with `npm init vue@latest` and all suggested defaults.\n\n## Mobile\n\n### React Native\n\nThe [React Native](react-native) application was generated with the [Expo CLI](https://docs.expo.dev/workflow/expo-cli/) and all suggested defaults.\n\n## Servers\n\nThe server examples make use of Connect for Node.js using various frameworks. All servers serve both Connect endpoints\nand the Eliza frontend interface. There are multiple kinds of clients available that can be used to interact with the\nserver such as a terminal client and browser clients using both a full-stack setup as well as a CORS setup.\n\n### Express\n\nThe [express](express) directory contains an example involving Connect for Node.js with the [Express](https://expressjs.com)\nframework.\n\n### Fastify\n\nThe [fastify](fastify) directory contains an example involving Connect for Node.js with the [Fastify](https://fastify.io)\nframework.\n\n### Vanilla Node.js\n\nThe [vanilla-node](vanilla-node) directory contains an example involving Connect for Node.js with vanilla Node.js using\nthe `http` package.\n\n### Cloudflare Workers\n\nThe [cloudflare-workers](cloudflare-workers) directory contains an example involving Connect running on [Cloudflare Workers](https://workers.cloudflare.com).\n\n## Misc\n\n### Custom Client Signature\n\nThe [custom-client](custom-client) directory contains an example demonstrating how to create a custom client signature.\n\n## Legal\n\nOffered under the [Apache 2 license][license].\n\n[license]: https://github.com/connectrpc/examples-es/blob/main/LICENSE.txt\n","funding_links":[],"categories":["TypeScript","TypeScript and JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnectrpc%2Fexamples-es","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconnectrpc%2Fexamples-es","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnectrpc%2Fexamples-es/lists"}