Files
theia-code-os/doc/code-organization.md
mawkone 8bb5110148
Some checks failed
Playwright Tests / Playwright Tests (ubuntu-22.04, Node.js 22.x) (push) Has been cancelled
3PP License Check / 3PP License Check (11, 22.x, ubuntu-22.04) (push) Has been cancelled
Publish packages to NPM / Perform Publishing (push) Has been cancelled
deploy: current vibn theia state
Made-with: Cursor
2026-02-27 12:01:08 -08:00

18 lines
1.3 KiB
Markdown

# Code Organization
The code is fully implemented in [TypeScript](https://github.com/microsoft/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`](https://nodejs.org) APIs.
- May use code from: `common`.
- `electron-node/*`: Electron specific source code that requires [`nodejs`](https://nodejs.org) APIs.
- May use code from: `common`, `node`.
- `electron-browser/*`: Source code that requires the [Electron renderer process](https://github.com/atom/electron/tree/master/docs#modules-for-the-renderer-process-web-page) APIs.
- May use code from: `common`, `browser`.
- `electron-main/*`: Source code that requires the [Electron main process](https://github.com/atom/electron/tree/master/docs#modules-for-the-main-process) APIs.
- May use code from: `electron-node`, `common`, `node`.