Skip to content
This repository has been archived by the owner on Mar 10, 2020. It is now read-only.

Consider per-language core-interface repos #423

Closed
magik6k opened this issue Dec 20, 2018 · 13 comments
Closed

Consider per-language core-interface repos #423

magik6k opened this issue Dec 20, 2018 · 13 comments

Comments

@magik6k
Copy link
Contributor

magik6k commented Dec 20, 2018

Go implementation of core-interface (CoreAPI) is getting to the stage where it can be extracted from go-ipfs repo, and afaik it's supposed to live it this repo together with js interface definitions / tests.

But there are problems:

  • Both NPM and GX use package.json
  • Many tools expect package.json to live in repository root (things like gx-workspace, our Jenkins pipelines)
  • Packages will carry unnecessary bloat (this can probably be mitigated)
  • This will only get worse with more languages

I'd say that this repo should stay focused on JS, and interface repos should be called [lang]-ipfs-interface

@alanshaw @Stebalien @daviddias (+others) Thoughts?

@Stebalien
Copy link
Contributor

I tend to agree. It may make sense to have a single repo for interface design/documentation but having multiple implementations in a single repo seems a bit odd.

@alanshaw
Copy link
Contributor

+1

@daviddias
Copy link
Contributor

Sounds good to me. Can we do instead

interface-[lang]-[name] so that then we can apply it to all the libp2p interfaces as well?

@daviddias
Copy link
Contributor

Seems that we have consensus. Wanna take this on?

Pinging @vasco-santos @jacobheun to update the libp2p ones as well (note, we can keep the package name)

@magik6k
Copy link
Contributor Author

magik6k commented Feb 5, 2019

So interface-go-ipfs? I'll handle Go side soon, after ipfs/kubo#5969 and one other PR with minor fixes.

@daviddias
Copy link
Contributor

interface-go-ipfs-core to be exact (HTTP API and CLI are the other APIs)

@jacobheun
Copy link
Contributor

@daviddias just to clarify, the goal is to have, for example, interface-stream-muxer be a language agnostic repo for design/docs and we would create interface-js-stream-muxer with the current content, except the go information?

alanshaw pushed a commit that referenced this issue Feb 5, 2019
In response to #423

License: MIT
Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
@alanshaw
Copy link
Contributor

alanshaw commented Feb 5, 2019

Repo renamed and PR here for moving stuff in js/ dir back to root: #435

@Stebalien
Copy link
Contributor

@daviddias any reason to do interface-[lang]-[name] instead of [lang]-[name]-interface? We have quite a few packages following the latter convention.

@alanshaw
Copy link
Contributor

I'm ok with that also, in fact I think I prefer it - so it would be js-interface-ipfs-core and go-interface-ipfs-core for example.

alanshaw pushed a commit that referenced this issue Feb 19, 2019
@Stebalien
Copy link
Contributor

Yes but @daviddias asked for the current naming scheme so I'd like to get his reasoning before we rename again.

@daviddias
Copy link
Contributor

We've been using interface-* since 2015 in multiple places https://github.com/libp2p?utf8=%E2%9C%93&q=interface-&type=&language=, that's pretty much my reasoning.

alanshaw pushed a commit that referenced this issue Feb 19, 2019
Tidy up the API docs by removing refs to Go as well as JavaScript (since this is the JS interface repo).

refs #423
refs #435

License: MIT
Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
alanshaw pushed a commit that referenced this issue Feb 19, 2019
Tidy up the API docs by removing refs to Go as well as JavaScript (since this is the JS interface repo).

refs #423
refs #435

License: MIT
Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
@alanshaw
Copy link
Contributor

Shall we close this? https://github.com/ipfs/interface-go-ipfs-core exists now.

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants