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 <[email protected]>
@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 <[email protected]>
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 <[email protected]>
@alanshaw
Copy link
Contributor

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

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

No branches or pull requests

5 participants