# A devfile to setup Theia project in Che. # For developers who work on Theia core. apiVersion: 1.0.0 metadata: generateName: theia-dev- projects: - name: theia source: type: git location: "https://github.com/eclipse-theia/theia.git" components: - alias: che-dev type: dockerimage image: "quay.io/eclipse/che-theia-dev:next" mountSources: true endpoints: - name: "theia-dev-flow" port: 3000 attributes: protocol: http public: "true" memoryLimit: "3.5Gi" - id: vscode/typescript-language-features/latest type: chePlugin memoryLimit: 2048M - type: cheEditor alias: theia-editor id: eclipse/che-theia/latest memoryLimit: "1Gi" commands: - name: > theia: Build Sources actions: - type: exec component: che-dev command: > killall node; npm ci && npm run build && npm run download:plugins workdir: /projects/theia - name: > theia: Launch Browser Backend actions: - type: exec component: che-dev command: > test -f /tmp/node_theiadev.pid && kill `cat /tmp/node_theiadev.pid`; mkdir -p /tmp/theiadev_projects && export NODE_ENV=development && node src-gen/backend/main.js /tmp/theiadev_projects --hostname=0.0.0.0 --port=3000 --no-cluster --plugins=/projects/theia/plugins --hosted-plugin-inspect=9339 & echo $!> /tmp/node_theiadev.pid ; wait `cat /tmp/node_theiadev.pid` workdir: /projects/theia/examples/browser - name: > theia: Watch Core Packages actions: - type: exec component: che-dev command: > npm run watch:compile workdir: /projects/theia - name: > theia: Watch Browser Example actions: - type: exec component: che-dev command: > npm run watch workdir: /projects/theia/examples/browser - name: > theia: Watch All actions: - type: exec component: che-dev command: > npm run watch workdir: ${workspaceRoot}/theia