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

Simplifying Development: A Return to Monorepo Architecture #212

Closed
binhtran432k opened this issue Jan 31, 2024 · 2 comments
Closed

Simplifying Development: A Return to Monorepo Architecture #212

binhtran432k opened this issue Jan 31, 2024 · 2 comments
Labels
🏦 debt Tech debt

Comments

@binhtran432k
Copy link
Member

🤔 What's the problem you've observed?

The VSCode extension serves as a wrapper for the language server, while the language server, in turn, acts as a wrapper for the language service. This separation, though common, presents challenges for contributors in local development. Additionally, when a patch is applied to the language service, the current practice necessitates making corresponding patches to both VSCode and the language server in the development chain. Adopting a monorepo architecture could simplify this process, while also not compromising independent development and deployment.

✨ Do you have a proposal for making it better?

We should either create a new repository that includes all components—Cucumber VSCode, language server, and language service—or reuse the existing VSCode repository with the language server and language service integrated.

📚 Any additional context?

I notice that we have moved away from the monorepo approach, but for these packages, it may not be worthwhile. Some popular VSCode extensions follow this architecture, like robotframework-lsp and tailwindcss-intellisense.


This text was originally generated from a template, then edited by hand. You can modify the template here.

@binhtran432k binhtran432k added the 🏦 debt Tech debt label Jan 31, 2024
@kieran-ryan
Copy link
Member

kieran-ryan commented Feb 10, 2024

Thanks for the interesting perspective @binhtran432k. Can understand some of the challenges. With a monorepo architecture, some challenges could be:

  1. How to rectify issues presented by the previous monorepo architecture
  2. How to test across different source code versions of two components. For example, an in-development language-server change against an in-development language-service change of another contributor on a different branch/fork.
  3. "presents challenges for contributors in local development" - would you be able to outline some of these challenges? Can you think of any other opportunities that might mitigate or resolve these challenges?

@kieran-ryan
Copy link
Member

kieran-ryan commented Apr 10, 2024

Will close this for now @binhtran432k, had a look at alternatives and some other repositories but unfortunately haven't located a suitable mitigation for the mentioned issues. Will keep an eye on this and reopen if encounter a suitable option; will also continue to work on improving the development experience and documentation. Appreciate your support as always.

@kieran-ryan kieran-ryan closed this as not planned Won't fix, can't repro, duplicate, stale Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏦 debt Tech debt
Projects
None yet
Development

No branches or pull requests

2 participants