IntersectMBO / IntersectMBO/evolution-sdk

Package architecture decisions for a lightweight core?

Open
#449 8 comments 0 reactions 1 assignee Claimed by @emmanuel-musau View on GitHub
exploration question
Dominant language
TypeScript
Stars
22
Forks
30
Avg merge
5h 29m
Merged PRs (30d)
12

Description

I’m currently using evolution-sdk in an application (https://github.com/mpizenberg/Tessera) and I’m trying to split out of the app the re-usable core parts for other applications implementing the cip-179 (there is at least one other). This includes types and pure functions. With all side effects moved outside of the cip-179 core.

It would be really valuable for this initiative to be able to re-use cardano types and important core functions, such as cbor codec and others. But without having the heavy Effect sub-dependencies.

Currently, depending on evolution sdk, pulls in 60MB of Effect ecosystem dependencies (@effect/cluster, @effect/sql, @effect/rpc, @effect/workflow, @effect/platform-node, ...). I don’t know the evolution sdk codebase, but is it possible that all of these dependencies are only needed for the IO parts, like the providers implementations and such?

It’s already good that tree shaking get rids of all that at compilation time, but I’m still always wanting to minimize the dependency surface, both for efficiency and for op-sec reasons. Let me know your thoughts about this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.