I’d love to see an answer to this one … more useful would be some kind of table showing what key features are present/absent in the different apps, for example the absence of IPNS in js-ipfs and absence of pubsub in js-api-ipfs (if I understood another email correctly) make full implementation of much functionality hard or impossible as neither JS approach works.
I feel like I saw a table comparing the feature sets of go-ipfs and js-ipfs in one of the github repositories. @daviddias does that exist or was I just imagining it?
I think the closest you’ll get is the implementation table on the website (https://libp2p.io/implementations/) but it doesn’t lists features of libp2p but rather the implementations used by the end-bundles, so can be a bit hard to figure out what exists where.
For example, libp2p-floodsub is the implementation that gives us pubsub, but it’s not obvious unless you already knew that floodsub => pubsub support.
Following on that question, I understand the canonical implementation is go-ipfs, and js-ipfs does not have all the features. In this case, in which context people use js-ipfs?