Gathering detailed insights and metrics for @connectrpc/connect
Gathering detailed insights and metrics for @connectrpc/connect
Gathering detailed insights and metrics for @connectrpc/connect
Gathering detailed insights and metrics for @connectrpc/connect
The TypeScript implementation of Connect: Protobuf RPC that works.
npm install @connectrpc/connect
97.6
Supply Chain
90.1
Quality
95.6
Maintenance
100
Vulnerability
99.6
License
Module System
Min. Node Version
Typescript Support
Node Version
NPM Version
1,395 Stars
742 Commits
82 Forks
19 Watching
6 Branches
35 Contributors
Updated on 29 Nov 2024
Minified
Minified + Gzipped
TypeScript (97.96%)
JavaScript (1.87%)
CSS (0.1%)
HTML (0.07%)
Cumulative downloads
Total Downloads
Last day
-34.3%
24,740
Compared to previous day
Last week
-4.1%
187,687
Compared to previous week
Last month
3.9%
791,013
Compared to previous month
Last year
2,170.5%
5,260,387
Compared to previous year
1
4
Connect is a family of libraries for building type-safe APIs with different languages and platforms. @connectrpc/connect brings them to TypeScript, the web browser, and to Node.js.
With Connect, you define your schema first:
service ElizaService {
rpc Say(SayRequest) returns (SayResponse) {}
}
And with the magic of code generation, this schema produces servers and clients:
1const answer = await eliza.say({ sentence: "I feel happy." }); 2console.log(answer); 3// {sentence: 'When you feel happy, what do you do?'}
Unlike REST, the Remote Procedure Call are type-safe, but they are regular HTTP
under the hood. You can see all requests in the network inspector, and you
can curl
them if you want:
1curl \ 2 --header 'Content-Type: application/json' \ 3 --data '{"sentence": "I feel happy."}' \ 4 https://demo.connectrpc.com/connectrpc.eliza.v1.ElizaService/Say
Connect uses Protobuf-ES, the only fully-compliant Protobuf JavaScript library.
Connect implements RPC three protocols: The widely available gRPC and gRPC-web protocols, and Connect's own protocol, optimized for the web. This gives you unparalleled interoperability across many platforms and languages, with type-safety end-to-end.
Follow our 10 minute tutorial where we use Vite and React to create a web interface for ELIZA.
React, Svelte, Vue, Next.js and Angular are supported (see examples), and we have an expansion pack for TanStack Query. We support all modern web browsers that implement the widely available fetch API and the Encoding API.
Follow our 10 minute tutorial to spin up a service in Node.js, and call it from the web, and from a gRPC client in your terminal.
You can serve your Connect RPCs with vanilla Node.js, or use our server plugins
for Fastify, Next.js, and Express. We support Node.js v18.14.1 and later with
the builtin http
and http2
modules.
If you are migrating from v1 to v2, check out our migration guide;
Would you like to use Connect on other platforms like Bun, Deno, Vercel’s Edge Runtime, or Cloudflare Workers? We’d love to learn about your use cases and what you’d like to do with Connect. You can reach us either through the Buf Slack or by filing a GitHub issue and we’d be more than happy to chat!
The libraries and the generated code are compatible with ES2017 and TypeScript 4.9.5.
Offered under the Apache 2 license.
No vulnerabilities found.
No security vulnerabilities found.