Skip to content

Package architecture decisions for a lightweight core? #449

Description

@mpizenberg

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

explorationInteresting paths and ideas to revisitquestionFurther information is requested

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions