Skip to content
Snippets Groups Projects

Deadlock Theia projet basé sur notre propre image de Theia https://git.e-biz.fr/deadlock-public/theia. Plusieurs éléments ajoutés à l'image de base :

  1. Deadlock plugins (deadlock-plugins/)
  2. Outil d'enregistrment, qui permet d'enregistrer le code quand un utilisateur exécute du code (deadlock(plugins/recorder))
  3. Gestion du CORS (*.deadlock.io) dans server.js

Deux images de deadlock-theia sont build ici, code et kube.

Setup

Afin d'installer les éléments requis pour le développement, vous pouvez lancer le script ./setup.sh.

Construire les plugins :

./build-plugins.sh

Tous les plugins qui se trouvent dans deadlock-public vont être construit en .vsix puis placés dans plugins/ (ex: deadlock-plugins/deadlock-extension).
Il est aussi possible d'ajouter directement des plugins .vsix en ajoutant le fichier dans plugins/

Recorder :

Le recorder permet de sauvegarder régulièrement le code de l'utilisateur. Pour se faire il écoute les commandes exécutées par l'utilisateur et si une contient java|npm|yarn alors un snapshot du code est réalisé.

Build

./build-recorder.sh

Construire l'image Deadlock Theia avec le recorder et les plugins

./build.sh $TAG (code|kube)

Requirements:

  1. NodeJS > ^14.X
  2. Vscode ou Vscodium
  3. Docker

Ce projet contient le minimum pour construire une image Docker Theia avec Blueprint (https://theia-ide.org/docs/composing_applications/)