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

Make gitlab/github/http dependencies optional (lazy loaded) #373

Open
emilebosch opened this issue Apr 12, 2020 · 2 comments
Open

Make gitlab/github/http dependencies optional (lazy loaded) #373

emilebosch opened this issue Apr 12, 2020 · 2 comments

Comments

@emilebosch
Copy link

Hi, I love pronto but I don't want the extra deps. Because:

  • It requires us to keep the dependent gems to be updated.
  • Increases the attack vector
  • and lowers the chance of this gem being approved by our security scrutiny check.
  • Lowers the overal performance

Is it maybe an idea to split things out? We can choose a migration path like this:

We make a pronto-core that includes nothing. only the local runner. This is for people that just want pronto without the gitlab/github integration.

We can then make 2 gems one for gitlab, one for GitHub. And we add then as deps to pronto gem.

It would look like this in the end:

  • pronto-core
  • pronto-github
  • pronto-gitlab
  • pronto (basically an empty shim that bundles the top ones above)

Is this maybe a path forwards? Thanks a lot! <3

@bogn83
Copy link

bogn83 commented Nov 16, 2020

That's definitely a good path forwards, I'm not a pronto contributor so this is just a user perspective, but let me add that sparing users the following 8 dependencies which are rather big gems

gitlab
octokit
httparty
faraday
sawyer
multi_xml
terminal-table
addressable

is quite something.

For that reason, I've put together a branch that's taking a stab at this. Specs are green. After I looked at it again and reviewed some things I'll likely make a pull request out of it. Note though that it's more of an easy route so far, it's not taking gem cutting into consideration.

@emilebosch
Copy link
Author

@bogn83 Good stuff its a start! Would be nice if the contributors would give this a blessing !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants