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

Bruno Runtime Refactor #226

Open
helloanoop opened this issue Sep 27, 2023 · 4 comments
Open

Bruno Runtime Refactor #226

helloanoop opened this issue Sep 27, 2023 · 4 comments
Labels
enhancement New feature or request long-term-goal
Milestone

Comments

@helloanoop
Copy link
Contributor

A lot of code is currently shared across bruno-cli and bruno-electron

This issue is for consolidating this logic inside a bruno-runtime package

@helloanoop helloanoop added this to the v2 milestone Oct 5, 2023
@helloanoop
Copy link
Contributor Author

helloanoop commented Oct 5, 2023

We will do this after our v1 launch.

The current approach has been in development for a long time.
At our current stage stability is more important than the slowness in dev introduced code duplication.

Pros of doing refactor before v1

  • Faster development speed
  • Avoids rework on the features across both modules

Cons of doing refactor before v1

  • This will take time (mine and contributors, we can spend that time on fixing crucial bugs and implementing features
  • Things can break since we don't have a strong test suite to test our refactor. It would be pretty frustrating for users to update and realise that things that used to work are not working anymore
  • There are nuances between CLI and GUI (which means that this can get leaked into the runtime package), and we will have to work on creating a proper abstraction - and again this will take time

In version v0.20.0, a bug was unintentionally introduced, resulting in the error message "Cannot read properties of undefined," #387 which obscured the actual underlying issue. This highlights the fact that bugs can sneak into the codebase unexpectedly, and a major refactor has the potential to introduce a multitude of bugs, causing frustration for end users. This underscores the importance of maintaining platform stability as a top priority until reaching version 1.

Once we finish v1, then we will have enough time on our hands to first setup a strong test suite and then proceed with the refactoring.

This test suite should give us the confidence to refactor with peace of mind.

cc @mirkogolze

@berlingoqc
Copy link

Do you plan on starting this soon ? I could take a look because i want to added feature to the cli but the code is in bruno-app but could be shared.

For exemple i want to add export via the cli without copy pasting the same code

@helloanoop
Copy link
Contributor Author

Hi @berlingoqc, Given our current PR and issue backlog, it looks like we won’t be able to tackle this within the next three months at least.

@berlingoqc
Copy link

@helloanoop I have time, i want to upgrade the cli tooling and i wish we could refactor it before.

if you want to shared me what your vision on it. I can tackle it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request long-term-goal
Projects
None yet
Development

No branches or pull requests

3 participants