Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup theia folder with example app and config-store skeleton #389

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

lucas-koehler
Copy link
Contributor

Setup of config-store extension, example app in new theia folder

  • Create a new root-level folder theia for all theia extensions, corresponding example extensions and a test browser app.
  • Monitor Theia extension is not yet moved to new theia folder.
  • The theia folder uses a copied version of the tsconfig and eslint settings of the node folder.
  • Initial setup of config-store extension, service and client

Move monitor-theia extension to theia folder and setup Theia CI

  • Move monitor-theia extension from node/ to theia/extensions/
  • Add monitor-theia to Theia example app
  • Adapt monitor theia Demo docker file
  • Add Theia CI workflow to build all Theia extensions and the example app
  • Add reusable theia extension publish workflow
  • Adapt monitor extension workflow to only do the publishing

Add license check for theia folder

- Create a new root-level folder `theia` for all theia extensions,
  corresponding example extensions and a test browser app.
- Monitor Theia extension is not yet moved to new theia folder.
- The theia folder uses a copied version of the tsconfig and eslint settings of the node folder.
- Initial setup of config-store extension, service and client
- Move monitor-theia extension from node/ to theia/extensions/
- Add monitor-theia to Theia example app
- Adapt monitor theia Demo docker file
- Add Theia CI workflow to build all Theia extensions and the example app
- Add reusable theia extension publish workflow
- Adapt monitor extension workflow to only do the publishing
@lucas-koehler lucas-koehler requested review from jfaltermeier and sgraband and removed request for jfaltermeier December 20, 2024 11:34
@lucas-koehler
Copy link
Contributor Author

The license check ran successfully but found 3 deps that still require review from the Eclipse Foundation. They are all MIT or ISC licensed and, thus, should be fine. See https://github.com/eclipse-theia/theia-cloud/actions/runs/12430571020/job/34706262244 :

X npm/npmjs/-/glob/11.0.0, ISC
X npm/npmjs/-/nan/2.22.0, MIT
X npm/npmjs/@nx/nx-linux-arm-gnueabihf/20.1.4, MIT

Copy link
Contributor

@jfaltermeier jfaltermeier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The skeleton looks good already. I think the theia directory could use a README explaining the most important commands for building and starting the application.

When I run yarn && yarn start from the theia directory, I encounter the following error:

$ yarn start
yarn run v1.22.22
$ yarn example-app start
$ yarn --cwd examples/browser-app start
$ theia start
Failed to start the backend application:
Error: Could not unbind serviceIdentifier: LocalizationServerImpl
    at Container._removeServiceFromDictionary (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1566:19)
    at Container.unbind (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1133:14)
    at Container.rebind (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1113:14)
    at /home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1427:45
    at bindMainBackend (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_drivelist_build_Release_drivelist_node-node_modules_eclipse-theiacloud_m-4945d7.js:22985:5)
    at ContainerModule.registry (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_drivelist_build_Release_drivelist_node-node_modules_eclipse-theiacloud_m-4945d7.js:24222:53)
    at Container.load (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1033:27)
    at /home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/main.js:389:29
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async module.exports (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/main.js:427:9)
/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_drivelist_build_Release_drivelist_node-node_modules_eclipse-theiacloud_m-4945d7.js:3544
    throw reason;
    ^

Error: Could not unbind serviceIdentifier: LocalizationServerImpl
    at Container._removeServiceFromDictionary (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1566:19)
    at Container.unbind (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1133:14)
    at Container.rebind (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1113:14)
    at /home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1427:45
    at bindMainBackend (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_drivelist_build_Release_drivelist_node-node_modules_eclipse-theiacloud_m-4945d7.js:22985:5)
    at ContainerModule.registry (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_drivelist_build_Release_drivelist_node-node_modules_eclipse-theiacloud_m-4945d7.js:24222:53)
    at Container.load (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/vendors-node_modules_fuzzy_lib_fuzzy_js-node_modules_inversify_es_inversify_js-node_modules_i-9bf063.js:1033:27)
    at /home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/main.js:389:29
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async module.exports (/home/johannes/Git/theia-cloud/theia/examples/browser-app/lib/backend/main.js:427:9)

Node.js v20.10.0
Done in 0.78s.

- "theia/yarn.lock"
- "theia/extensions/monitor-theia/**"
# Publish when a workflow has changed (this is needed to detect version updates)
- ".github/workflows/cd-monitor-theia.yml"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we keep the file name as ci-? It think other ci- workflows will also deploy artifacts.

@@ -0,0 +1,3 @@
# Config Store Example

This example extension demonstrates how to register use the [@eclipse-theiacloud/config-store](../../extensions/config-store/) extension's API.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This example extension demonstrates how to register use the [@eclipse-theiacloud/config-store](../../extensions/config-store/) extension's API.
This example extension demonstrates how to register and use the [@eclipse-theiacloud/config-store](../../extensions/config-store/) extension's API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants