jankeromnes / openvsx

An open-source registry for VS Code extensions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Eclipse Open VSX

Gitpod - Code Now Join the chat at https://gitter.im/eclipse/openvsx CI

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.

Development

The easiest way to get a development environment for this project is to open it in Gitpod.

Open in Gitpod

Click Open Browser on port 3000 to see the running web application.

cli

  • yarn build — build the library and ovsx command
  • yarn watch — watch (build continuously)

The command line tool is available at cli/lib/ovsx.

webui

  • yarn build — build the library
  • yarn watch — watch (build continuously)
  • yarn build:dev — build the dev frontend (run webpack)
  • yarn watch:dev — run webpack in watch mode
  • yarn 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.

server

  • ./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.

OAuth Setup

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.

License

Eclipse Public License 2.0

About

An open-source registry for VS Code extensions

License:Eclipse Public License 2.0


Languages

Language:Java 52.1%Language:TypeScript 42.0%Language:TSQL 4.9%Language:JavaScript 0.7%Language:Dockerfile 0.3%Language:HTML 0.1%