twitchtv / twirp

A simple RPC framework with protobuf service definitions
https://twitchtv.github.io/twirp/docs/intro.html
Apache License 2.0
7.2k stars 326 forks source link

List community-created generators on the README #61

Closed spenczar closed 6 years ago

spenczar commented 6 years ago

There has been a really incredible burst of community-written generators. I want to highlight them and send people towards them.

Let's add a bit to the README, close to the top, that lists the generators out there for different languages.

I think the standard here should be that we list generators that make valid a valid client from a protobuf file, will be actively maintained, and which are in non-go environments. It can be a pretty wide list right now. In the future, we may get more picky, but for now, let's just list what's out there.

thechriswalker commented 6 years ago

I created: https://github.com/thechriswalker/protoc-gen-twirp_js for javascript in browser and nodejs.

It takes on board the comments on https://github.com/twitchtv/twirp/pull/31 and fulfils most your criteria in this issue (except possibly the non-go one).

I write this as a comment rather than a PR for a few reasons:

  1. Given you haven't made the section of the README yet, I wasn't sure how you would format it.
  2. I copied (not-quite-vendored) the internal/gen package on which I originally based this - I wasn't sure whether you did plan to publicise them.
  3. Your requirement which are in a non-go environment, I guess is for the codegen itself, rather than the generated code? (the generated code will almost certainly not be go!). This generator is written in go, so doesn't fulfil that bit.

Given the above: should I submit the repo as something for this list, or the code in my fork of twirp for this repo?

spenczar commented 6 years ago

@thechriswalker Right, I wasn't super clear. I'll make the initial list.

internal/gen will get its own repo very soon. I just need to get a thumbs-up from lawyers on naming the new repo properly.

Heh, I meant that the generated code should not be in go - I mostly mean "we don't want to direct people towards alternate Go generators; instead we want to make the official go generator really good." You're right that this was probably obvious :)

I'll include your repo in the initial list.

spenczar commented 6 years ago

Done in #62.