GithubHelp home page GithubHelp logo

vladarama / theia-blueprint Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eclipse-theia/theia-blueprint

0.0 0.0 0.0 3.75 MB

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.

Home Page: https://theia-ide.org/docs/blueprint_download

License: MIT License

Shell 3.63% JavaScript 12.59% TypeScript 68.19% CSS 1.74% HTML 9.69% Dockerfile 4.17%

theia-blueprint's Introduction


The Eclipse Theia IDE is built with this project.
Eclipse Theia IDE/Blueprint also serves as a template for building desktop-based products based on the Eclipse Theia platform.

Installers Build Status

Main Theia Repository

Visit the Theia website for more documentation: Using the Theia IDE, Packaging Theia as a Desktop Product.

License

Trademark

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

What is this?

The Eclipse IDE is a modern and open IDE for cloud and desktop. The Theia IDE is based on the Theia platform. The Theia IDE is available as a downloadable desktop application. You can also try the latest version of the Theia IDE online. The online test version is limited to 30 minutes per session and hosted via Theia.cloud.

The Eclipse Theia IDE also serves as 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. Documentation is available to help you customize and build your own Eclipse Theia-based product.

Theia IDE vs Theia Blueprint

The Theia IDE has been rebranded from its original name “Theia Blueprint”. To avoid any confusion, the repository and code artifacts will keep the name “Blueprint”. You can therefore assume the terms “Theia IDE” and “Theia Blueprint” to be synonymous.

Development

Requirements

Please check Theia's prerequisites, and keep node versions aligned between Theia IDE 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 IDE 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 the Eclipse Theia IDE
    • product contains a Theia extension contributing the product branding (about dialogue and welcome page).
    • updater contains a Theia extension contributing the update mechanism and corresponding UI elements (based on the electron updater).
    • launcher contains a Theia extension contributing, for AppImage applications, the option to create a script that allows to start the Eclipse Theia IDE from the command line by calling the 'theia' command.

Build

For development and casual testing of the Eclipse Theia IDE, one can build it in "dev" mode. This permits building the IDE on systems with less resources, like a Raspberry Pi 4B with 4GB of RAM.

# Build "dev" version of the app. Its quicker, uses less resources, 
# but the front end app is not "minified"
yarn && yarn build:dev && yarn download:plugins

Production applications:

# Build production version of the Eclipse Theia IDE app
yarn && yarn build && yarn download:plugins

Package the Applications

ATM we only produce packages for the Electron application.

yarn package:applications
# or
yarn electron package

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

Create a Preview Electron 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

yarn browser start

and connect to http://localhost:3000/

Troubleshooting

Reporting Feature Requests and Bugs

The features in the Eclipse Theia IDE are based on Theia and the included extensions/plugins. For bugs in Theia please consider opening an issue in the Theia project on Github. The Eclipse Theia IDE 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 the Eclipse Theia IDE based on the browser app with the following build command:

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

You may then run this with

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

and connect to http://localhost:3000/

theia-blueprint's People

Contributors

alexandrabuzila avatar atharva321 avatar danepowell avatar dannaf avatar dependabot[bot] avatar ducngn avatar duncdrum avatar erikmallbergstm avatar goekce avatar jfaltermeier avatar jonashelming avatar lucas-koehler avatar marcdumais-work avatar martin-fleck-at avatar msujew avatar niklas-dahlquist avatar paul-marechal avatar planger avatar thegecko avatar tortmayr avatar tsmaeder avatar vince-fugnitto avatar vladarama avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.