Skip to content

Eclipse Theia Blueprint is a template for building desktop-based products based on the Eclipse Theia platform, as well as to showcase Eclipse Theia capabilities. It is made up of a subset of existing Eclipse Theia features and extensions and can be easily downloaded and installed on all major operating system platforms.

License

Notifications You must be signed in to change notification settings

seltzered/theia-blueprint

 
 

Repository files navigation


Eclipse Theia Blueprint is a template for building desktop-based products based on the Eclipse Theia platform.

Installers Build Status Build Status

Main Theia Repository

Visit the Theia website for more documentation.

License

Trademark

"Theia" is a trademark of the Eclipse Foundation https://www.eclipse.org/theia

What is this?

Eclipse Theia Blueprint is a template for building desktop-based products based on the Eclipse Theia platform, as well as to showcase Eclipse Theia capabilities. It is made up of a subset of existing Eclipse Theia features and extensions and can be easily downloaded and installed on all major operating system platforms (see below). Documentation is available to help you customize and build your own Eclipse Theia-based product.

What is it not?

Eclipse Theia Blueprint is not a production-ready product. Therefore, it is also not meant to be a replacement for Visual Studio Code or any other IDE.

Development

Requirements

Please check Theia's prerequisites, and keep node versions aligned between Theia Blueprint and that of the referenced Theia version.

Documentation

Documentation on how to package Theia as a Desktop Product may be found here

Repository Structure

  • Root level configures mono-repo build with lerna
  • applications groups the different app targets
    • browser contains a browser based version of Eclipse Theia Blueprint that may be packaged as a Docker image
    • electron contains the electron app to package, packaging configuration, and E2E tests for the electron target.
  • theia-extensions groups the various custom theia extensions for Blueprint
    • theia-blueprint-product contains a Theia extension contributing the product branding (about dialogue and welcome page).
    • theia-blueprint-updater contains a Theia extension contributing the update mechanism and corresponding UI elements (based on the electron updater).

Build

yarn

Package the Electron Application

yarn electron package

The packaged application is located in applications/electron/dist.

Create a Preview Electron Application (without packaging it)

yarn electron package:preview

The packaged application is located in applications/electron/dist.

Running E2E Tests on Electron

The E2E tests basic UI tests of the actual application. This is done based on the preview of the packaged application.

yarn electron package:preview
yarn electron test

Running Browser app

The browser app may be started with

# Download Plugins for browser app
yarn browser download:plugins

# Start browser app
yarn browser start

and connect to http://localhost:3000/

Troubleshooting

Reporting Feature Requests and Bugs

The features in Eclipse Theia Blueprint are based on Theia and the included extensions/plugins. For bugs in Theia please consider opening an issue in the Theia project on Github. Eclipse Theia Blueprint only packages existing functionality into a product and installers for the product. If you believe there is a mistake in packaging, something needs to be added to the packaging or the installers do not work properly, please open an issue on Github to let us know.

Docker Build

You can create a Docker Image for Blueprint based on the browser app with the following build command:

docker build -t theia-blueprint -f browser.Dockerfile .

You may then run this with

docker run -p=3000:3000 --rm theia-blueprint

and connect to http://localhost:3000/

About

Eclipse Theia Blueprint is a template for building desktop-based products based on the Eclipse Theia platform, as well as to showcase Eclipse Theia capabilities. It is made up of a subset of existing Eclipse Theia features and extensions and can be easily downloaded and installed on all major operating system platforms.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 73.0%
  • JavaScript 10.0%
  • HTML 8.2%
  • Dockerfile 3.7%
  • Shell 3.2%
  • CSS 1.9%