Ideas/ Feature Requests for Keploy Cross Platform Extensions #1654
Replies: 11 comments 20 replies
-
Hey @Akash-Singh04 ! The above goals seems to be VS Code specific. From couple of initial few lines. Overall we have to make extensions for other popular IDEs also like Jetbrain's IntelliJ. For the UI/UX we can have a figma to outline of how the extension would look across the IDE's! Additionally, for the IntelliJ, the pre-requisite would be basic knowledge of JAVA. |
Beta Was this translation helpful? Give feedback.
-
I think since a proof of concept for Vscode is now ready,i can move onto building a sample deliverable for Intellij Plugin as well. It would better help me understand the challenges we will face during this project |
Beta Was this translation helpful? Give feedback.
-
On top of IntelliJ extensions, Do you think this project scope can be expanded to include extension for NeoVIm as well? In which case the prerequisite would be Lua. What do you guys think? |
Beta Was this translation helpful? Give feedback.
-
I had a doubt regarding the implementation of this. When the extension makes an API Call to Keploy, would we want to have the terminal instance run in the development environment's terminal (Such as Vscode's terminal) or in a separate terminal window? Deciding this would be crucial as to how we design the workflow of the extension. In my prototype, we are runnning it on Vscode's native terminal but it has certain limitations such as having to develop separate bash scripts for getting terminal output, performance issues etc. Moreover, if we plan on using a separate terminal window, a uniform Golang backend can be made that serves API endpoints, which would help us developing cross-platform extensions much more easily. As a matter of fact, developing a backend script using Golang here would help us develop more extensions on various platforms without having to worry about platform specific requirements on each one as it would require only API calls to the server. Let me know your thoughts on this, @Sarthak160 @Sonichigo |
Beta Was this translation helpful? Give feedback.
-
Hey @Akash-Singh04, For now we can implement the record and replay functionality using CLI only. Later we can create a graphQL server which will send api calls to keploy for record and replay. Even now for coverage purposes we initialise a graphQL server which receives the api calls from different SDKs which start a test run along with native unit testing framework. But implementing graphql server before Gsoc might be overkill. So for now you can implement a UI/UX first and then run the cli commands instead. |
Beta Was this translation helpful? Give feedback.
-
Hey @Sarthak160 @Sonichigo , I have prepared Figma Designs for the Vscode extension. Please have a look at it |
Beta Was this translation helpful? Give feedback.
-
Also, According to my research we can use Java Chromium Embedded Framework (JCEF) in combination with Scala for building our IntelliJ plugin with Webviews similar to how we built our vscode extension. Currently looking for a similar library/framework for Neovim! |
Beta Was this translation helpful? Give feedback.
-
I also prepared a design for the IntelliJ Plugin, Please have a look |
Beta Was this translation helpful? Give feedback.
-
@Sarthak160 @Sonichigo The new Extension UI is finished and Deployed! Do have a look and let me know about necessary improvements! |
Beta Was this translation helpful? Give feedback.
-
Hey @Akash-Singh04, Currently I saw that record and replay functionality of extension is disabled for now. Can you please add them back so that I can check the functionality ? |
Beta Was this translation helpful? Give feedback.
-
Hey people! This discussion thread is to serve as Ideas/Features request for Keploy's VsCode Extension.
Here is a link to the prototype extension: https://marketplace.visualstudio.com/items?itemName=Akash-Singh04.heykeploy
Note: It is a prototype extension to serve as a proof of concept to better understand the challenges we can face while developing this.
Project Goals
DEVELOP CROSS-PLATFORM EXTENSIONS
The objective of this proposal is to develop and deploy VS Code and IntelliJ plugins amongst other IDE plugins which are compatible across different operating systems and architectures via adapting to Docker functionality to facilitate deployment and operations in environments where native support for Keploy is not available yet.
STREAMLINED KEPLOY CLI OPERATIONS
The primary goal of the cross-platform extensions is to enhance user experience by integrating and managing Keploy’s CLI actions directly from the extension. This can be achieved via user generated config files, an implementation of which is given in the proposal using a Golang backend for unified CLI command execution.
The cross platform extensions are to serve as a client for seamless CLI actions of Keploy such as Recording and Testing directly from their preferred development environment via API calls to a custom GraphQL Server built using Golang.
The goal is to develop a user-friendly interface using the latest web technologies such as Svelte and Tailwind for Vs Code and using Java with Java Chromium Embedded Framework (JCEF) in combination with Native IDE Widgets to develop a maintainable UI for interacting with Keploy.
The goal is to deploy extensions to various Marketplaces and implement a CI pipeline for automated testing, versioning, and releases. This goal has already been completed using Github Actions and the implementation is further elaborated upon below.
This thread will also contain Figma Designs to better improve the UI/UX. We can use the information gathered from this discussion to further build an IntelliJ Plugin for the same.
We can look at developing extensions for the following platforms:
Please feel free to drop in suggestions/ references to developing extensions for these platforms.
Feel free to drop in UI improvements / Feature Requests / Idea suggestions to improve upon this.
Beta Was this translation helpful? Give feedback.
All reactions