Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split out providers into sub packages #21

Open
zephraph opened this issue Oct 3, 2021 · 2 comments
Open

Split out providers into sub packages #21

zephraph opened this issue Oct 3, 2021 · 2 comments
Labels
help wanted Extra attention is needed

Comments

@zephraph
Copy link
Contributor

zephraph commented Oct 3, 2021

Perceived Problem

Shipping providers inside the main package means consumers pay the cost of the dependencies of those providers even if they're not using said provider. For some things it's may not be a big deal, but for dependencies like playwright it absolutely makes a difference.

Ideas / Proposed Solution(s)

Break the library down into a monorepo. Ship providers as stand along packages in a shared scoped namespace on npm. This will allow supporting things like playwright (and beyond) while not incurring the dependency cost for consumers that don't need it. Having it in one repo but published as different packages means the community can also contribute back to the main repo when adding other useful providers without consumers paying the cost of a new provider.


The biggest challenge with this specific approach is dripip doesn't seem to support monorepos. Setting up automatic deployments of monorepos is non-trivial. Historically I've leaned heavily into using auto. There is a conventional commits plugin to map to the current usage.

Obviously that's one potentially solution among many. The tool used is less important than the ultimate result.

@jasonkuhrt
Copy link
Member

jasonkuhrt commented Oct 4, 2021

Agreed with this in principal. Not sure when we'll do it. I might also go a slightly different way. A mega package that bundles all deps, the existing kont. For users that care, letting them install @kont/core @kont/provider-foo @kont/provider-bar .... Not sure though, at some point, the providers will be too niche. Need to find a balance.

CleanShot 2021-10-04 at 16 30 52@2x

Not that bad for now. TypeScript is twice that for example.

@jasonkuhrt
Copy link
Member

But it does seem to drag down CI install times

CleanShot 2022-05-03 at 13 40 43@2x

@jasonkuhrt jasonkuhrt added the help wanted Extra attention is needed label May 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants