enso/app
Adam Obuchowicz 4a249688e8
Unify Frontend App (#11287)
Fixes #10668
Fixes #8484

Summary of changes:
* `gui2` and `dashboard` are merged to `gui` directory. Various configs were merged (package.json, playwrigth, TS...). The src and e2e directories are split to `dashboard` and `project-view` for now.
* E2E tests run two servers on different ports. The tests are organized in projects. This is also to be changed soon, as we plan to [use better mocking in GUI/ProjectView](#9726)
* ESlint configs were merged to central `eslint.config.mjs`, and that file was moved to repository root. We kept the dashboard lints, but they can be relaxed. The dashboard code was changed to meet GUI lints.
* Also, the versions of linter plugins were bumped, and code fixed.
* The ide-desktop/client no longer has `dashboard` dependency - the only type used there was moved to common package.
* `common` package moved to `app`.
2024-10-11 18:23:02 +00:00
..
.vscode Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
common Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
gui Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
ide-desktop Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
rust-ffi Split ydoc server into separate module (#10735) 2024-08-08 12:12:05 +00:00
ydoc-server Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
ydoc-server-nodejs Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
ydoc-server-polyglot Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
ydoc-shared Unify Frontend App (#11287) 2024-10-11 18:23:02 +00:00
.example.env Debug Ydoc/LS interaction without making code changes (#10687) 2024-08-06 19:53:36 +02:00
.gitignore Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00
modules.d.ts Format TS code (#10648) 2024-07-26 17:47:59 +10:00
README.md Inline modules in app/ide-desktop/ (#10305) 2024-07-17 09:10:42 +00:00

Desktop app

This folder contains projects related to the desktop app.

Folder structure

Refer to the README.md in each individual module (if it exists) for the internal folder structure of the module.

  • assets/: Icons and images used by other modules. Currently these are only used by dashboard/.
  • client/: The code for the Electron desktop app.
  • common/: Utility functions required by multiple other modules.
  • content/: The entry point for the GUI1 web app. This is the main page for the desktop app.
  • content-config/: The statically-typed configuration object for content/.
  • dashboard/: The dashboard, used to manage projects. It launches the GUI (located in content/ for GUI1, or /app/gui2/ for GUI2) when a project is opened.
  • icons/: Generates the logo for the app.
  • ts-plugin-namespace-auto-import/: (WIP) A TypeScript plugin to change auto-import to use import * as moduleName rather than import {}.
  • types/: Miscellaneous types used by multiple modules.