Nibbling Perfect Macaroni


    0.1.1 • Public • Published

    Theia Generator

    Getting started

    In the generator-theia directory:

    • yarn
    • yarn link to install generator-theia as a global module
    • yarn global add yo to install yo globally

    In the example root directory:

    • yo theia:browser to generate the browser app
    • yo theia:electron to generate the electron app

    Overwrite all existing files if any.

    Providing extensions

    A node package can declare several extensions via theiaExtensions property in package.json:

        "theiaExtensions": [{
          "frontend": "lib/myExtension/browser/myextension-frontend-module",
          "backend": "lib/myExtension/node/myextension-backend-module",
        }, {
          "frontend": "lib/myExtension2/browser/myextension2-browser-module",
          "frontendElectron": "lib/myExtension2/electron-browser/myextension2-electron-browser-module",
          "backend": "lib/myExtension2/node/myextension2-node-module",
          "backendElectron": "lib/myExtension2/electron-main/myextension2-electron-main-module"

    Each extension can consist of the following modules:

    • frontend is used in the browser env and as well in the electron if frontendElectron is not provided
    • frontendElectron is used in the electron env
    • backend is used in the node env and as well in the electron env if backendElectron is not provided
    • backendElectron is used in the electron env

    An extension module should have a default export of ContainerModule | Promise<ContainerModule> type.

    Consuming extensions

    A node package should contain theia.package.json listing node packages providing extensions as dependencies. Theia generator based on theia.package.json generates package.json as well as other artifacts corresponding to the env.


    npm i generator-theia

    DownloadsWeekly Downloads






    Last publish


    • marc.dumais
    • paul-marechal
    • bhufmann
    • vince-fugnitto
    • eclipsetheia