enso/app/ide-desktop
Kaz Wesley 32e843c614
Expose backend API to IDE (#10442)
Move `Backend` and supporting APIs from `dashboard` to `enso-common`.

Closes #10400.

# Important Notes
- The utility modules required by `Backend` have been moved to `enso-common`. Those defining general-purpose helpers for working with standard types are now in a submodule `utilities/data` to match the IDE organization; in the future we can merge them with the `util/data` gui2 subtree. Moved utilities are reexported from their dashboard locations, so that moved and not-yet-moved modules can be imported consistently.
- The `text` module has been moved to `enso-common`; the IDE doesn't have any localization mechanism yet, so we can share this one.
2024-07-10 21:04:37 +00:00
..
.vscode Keyboard navigation between components (#9499) 2024-04-05 07:21:02 +00:00
lib Expose backend API to IDE (#10442) 2024-07-10 21:04:37 +00:00
.example.env Offline Mode Support (#10317) 2024-06-21 07:14:40 +00:00
.gitignore Refactor configuration keys out of repository (#8895) 2024-03-08 03:14:26 +00:00
eslint.config.js Fix importing .enso-project files (#10379) 2024-06-27 17:48:51 +00:00
package.json Migrate to pnpm (#10422) 2024-07-05 11:13:04 +00:00
README.md Use backend errors in toast notifications (#9078) 2024-02-26 14:51:44 +00:00
tsconfig.json [Gui2] Opening projects and language server connection (#7813) 2023-09-22 03:43:25 +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.
  • esbuild-plugin-copy-directories/: An ESBuild plugin for continuously copying directories from the a given location to a given subdirectory of the build output directory.
  • 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.