@hugorcd - Split into separate packages in a monorepo.
- Make it also available as a single dependency.
- Make it all tree-shakeable.
This way you can start with a single dependency for simplicity, then before deploying to production use only the packages needed.