Open VSX is a vendor-neutral open-source alternative to the Visual Studio Marketplace. It provides a server application that manages VS Code extensions in a database, a web application similar to the VS Code Marketplace, and a command-line tool for publishing extensions similar to vsce.
The easiest way to get a development environment for this project is to open it in Gitpod.
Click Open Browser on port 3000 to see the running web application.
yarn build
— build the library andovsx
commandyarn watch
— watch (build continuously)
The command line tool is available at cli/lib/ovsx
.
yarn build
— build the libraryyarn watch
— watch (build continuously)yarn build:dev
— build the dev frontend (run webpack)yarn watch:dev
— run webpack in watch modeyarn start:dev
— start Express to serve the frontend on port 3000
The Express server is started automatically in Gitpod. A restart is usually not necessary.
./gradlew build
— build and test the server./gradlew assemble -t
— build continuously (the server is restarted after every change)./gradlew runServer
— start the Spring server on port 8080
The Spring server is started automatically in Gitpod. It includes spring-boot-devtools
which detects changes in the compiled class files and restarts the server.
If you would like to test authorization through GitHub, you need to create an OAuth app with a callback URL pointing to the exposed port 8080 of your Gitpod workspace. You can get it by printing a predefined variable in the "Server" terminal in Gitpod:
echo $GITHUB_CALLBACK_URL
Note that the callback URL needs to be updated on GitHub whenever you create a fresh Gitpod workspace.
After you created the GitHub OAuth app, the next step is to copy the Client ID and Client Secret into Gitpod environment variables named GITHUB_CLIENT_ID
and GITHUB_CLIENT_SECRET
and bound to this repository.
With these settings in place, you should be able to log in by authorizing your OAuth app.