enso/app/ide-desktop
somebody1234 6f7a51470d
Directory management on Local (Project Manager) backend (#9353)
- Implement https://github.com/enso-org/cloud-v2/issues/961
- Allow directory management on Local backend
- Setting a custom root directory is currently *out of scope* of this PR.
- Listing directories
- Deleting directories and files
- Adjust project-related APIs to accept parent directory path (as required by PM when not interacting with root directory)
- QoL improvements related to testing this PR
- New watch script (`npm run watch2`, `npm run watch:linux`) in `app/ide-desktop/lib/client/`) for testing IDE2 on Electron without having to build the entire app
- Adjustments to `gui2`'s `vite.config.ts` to allow React HMR when doing dev in Electron

# Important Notes
- Support for deleting files and folders uses the API introduced by #9359 - so it will not work until that PR is merged in.
- Support for uploading files uses the API specified by #9360 - so it will not work until that issue is closed.
2024-03-27 14:42:23 +00:00
..
.vscode Switch to AJV for validating JSON Schema (#9191) 2024-02-29 10:36:47 +00:00
lib Directory management on Local (Project Manager) backend (#9353) 2024-03-27 14:42:23 +00:00
.example.env Refactor configuration keys out of repository (#8895) 2024-03-08 03:14:26 +00:00
.gitignore Refactor configuration keys out of repository (#8895) 2024-03-08 03:14:26 +00:00
eslint.config.js Move all user-facing text to a central location (#8831) 2024-03-25 08:13:24 +00:00
package.json Add Stripe for Billing Support (#8841) 2024-02-22 19:56:36 +03: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.