Back to Theia

Code Organization

doc/code-organization.md

1.71.01.3 KB
Original Source

Code Organization

The code is fully implemented in TypeScript. Within the top level folders, which organize code by functional package, we separate between the following platforms:

  • common/*: Source code that only requires basic JavaScript APIs and runs in all target environments.
  • browser/*: Source code that requires the browser APIs like access to the DOM.
    • May use code from: common.
  • browser-only/*: Source code that requires the browser APIs like access to the DOM and does not rely on a Node backend.
    • May use code from: common.
  • node/*: Source code that requires nodejs APIs.
    • May use code from: common.
  • electron-node/*: Electron specific source code that requires nodejs APIs.
    • May use code from: common, node.
  • electron-browser/*: Source code that requires the Electron renderer process APIs.
    • May use code from: common, browser.
  • electron-main/*: Source code that requires the Electron main process APIs.
    • May use code from: electron-node, common, node.