Packaging and Distributing Theia

Hello

I am looking into packaging and distributing Theia as an electron app on a Linux repository.

I’m not planning to use the original name and icon/logo to avoid any confusion with an official release. I will either slightly modify the name and icon/logo or change them entirely.

I’m not planning to make any significant modifications to Theia, if any at all. I might slightly tailor it to my own preferences.

I was wondering if there are any limitations on changing the name and icon/logo that I’m not aware of? And also if there is any reason for Theia IDE packages not being available on Linux repositories?

I would also like to hear any opinions about packaging and releasing Theia and if there are other considerations I should take to account.

Thanks

@po thank you for the discussion:

I was wondering if there are any limitations on changing the name and icon/logo that I’m not aware of?

No limitations, Eclipse Theia is a framework to build IDE-like applications for both the desktop and cloud.
If you require modifications and want to update the existing default behavior, you can easily do so with a custom extension if needed, else something like the application name can be updated directly in the application’s package.json:

And also if there is any reason for Theia IDE packages not being available on Linux repositories?

Theia extensions are npm dependencies, and an application is defined as a package.json file:

I would also like to hear any opinions about packaging and releasing Theia

We have used electron-builder in the past to package the desktop version of a Theia-based IDE. As for releasing the product I think that would be specific to your use-case and needs.

You can take a look at the following electron-builder as examples on what the community used to package Theia-based electron (desktop) apps:

@vince-fugnitto Thank you for the response.

I have already tried a few different combinations and formats for packaging. I find electron-builder easy to use but it lacks some customization options for a few distribution formats like snap packages.
I have managed to package for snaps with a custom snapcraft.yaml file but it’s still a work in progress.

Hopefully I will look into the extensions in the near future.

Thank you for the directions

I have already tried a few different combinations and formats for packaging. I find electron-builder easy to use but it lacks some customization options for a few distribution formats like snap packages.

I believe packaging for snap is supported?

Yes, they do support snap packages and their template is a good starting point.
However there are certain options they have not implemented yet. For instance they lack the option to use the base: core20 which is preferred to the older core18.

My workaround was, using electron-builder with the target set to dir to build the initial package and then using a custom snapcraft.yaml to build the snap package.