This document explains how to best manage Theia at ISC, in conjunction with Appsembler.
- One repo for Theia:
appsembler/theia
- One repo for all the ISC Docker Images
- Several repos for Theia extensions
This will contain a Dockerfile
and any context needed to build Theia (but
nothing more: all ISC stuff will be in other repos). Git tags will be added
to each build of theia (e.g., v0.8.0
). A HISTORY
file will show the
versions of Theia we've successfully built and tested against ISC extensions
(e.g., gcr.io/isc-dashboard/appsembler/theia:0.8.0
).
Will contain several repostories with different Dockerfile
s and context
needed to build ISC software with Theia. For example, the tryiris-theia
directory will contain a Dockerfile
that starts
FROM gcr.io/isc-dashboard/appsembler/theia:0.8.0
and goes on to install and build Iris with the configuration needed for the "try" course.
We'll mimic theiaide/theia-apps
:
https://github.com/theia-ide/theia-apps/.
We want to decouple the extensions as much as possible; this way we can
include only what is needed to build an image for a course. So, we'll
have many repos for ISC extensions. One for the default state of the editor
(i.e., the basic view for all ISC courses: the file browser is open, the
terminal is open, etc.). Then, we'll have other repos for adding more
to the image: particular syntax highlighting, etc. Each of these repos
will be a qualified npm
package so we can build and push it to a private npm
repository, then pull it in from various images.
- Create a new directory in
isc/theia-apps
- Name it: e.g.,
theia-tryiris
(Usecookiecutter
?) - Add any Theia extensions to the
package.json
@theia/preferences
@theia/python
@isc/theia-enhanced # Our default ISC setup.
@isc/objectscript
Checkout a new branch in isc/theia-apps
and modify the Dockerfile
and
context as needed. We'll build the Theia extensions locally, within this
repository, so you can make changes as needed with ease, before pushing
these changes to the npm
repository.