You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The exports from the core package are getting a bit crowded and there's a lot of imports you probably never need if you just use the agent provided modules
Some ideas:
For public modules we export in the index only the public services and apis, and create a separate /internal import (@credo-ts/anoncreds/internal) for internal APIs
We create a new package (let's call it agent for now, but name would be TBD) and this is the main package the end-user interacts with. If you're implementing custom plugins or protocols etc.. you would import from core still.
Creating a sort of namespace structure. (see example)
2
This would also allow basically the following dependency tree:
agent
core
kms
core
It's very complex to extract a module out of core at the moment if we also want to enable that module by default in the agent. By extracting it we can split modules into separate packages while still keeping access to the all the core functionality, as well as making the modules available in the default agent.
i think approach 2 / 3 both seem interesting to me (and maybe a combination of both). There's a lot of type utils that shouldn't exposed in core, but they are because extension modules depend on it.
@genaris i think this is also relevant for the work of extracting DIDComm out of core to some extent
The text was updated successfully, but these errors were encountered:
The exports from the
core
package are getting a bit crowded and there's a lot of imports you probably never need if you just use the agent provided modulesSome ideas:
/internal
import (@credo-ts/anoncreds/internal
) for internal APIs2
This would also allow basically the following dependency tree:
It's very complex to extract a module out of core at the moment if we also want to enable that module by default in the agent. By extracting it we can split modules into separate packages while still keeping access to the all the core functionality, as well as making the modules available in the default agent.
3
i think approach 2 / 3 both seem interesting to me (and maybe a combination of both). There's a lot of type utils that shouldn't exposed in core, but they are because extension modules depend on it.
@genaris i think this is also relevant for the work of extracting DIDComm out of core to some extent
The text was updated successfully, but these errors were encountered: