Skip to content

Commit

Permalink
Unify Frontend App (#11287)
Browse files Browse the repository at this point in the history
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`.
  • Loading branch information
farmaazon authored Oct 11, 2024
1 parent 204b37c commit 4a24968
Show file tree
Hide file tree
Showing 1,130 changed files with 2,786 additions and 4,484 deletions.
31 changes: 18 additions & 13 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,30 @@ Cargo.toml
/lib/rust/parser/ @farmaazon @kazcw @vitvakatu @Frizi @jaroslavtulach @AdRiley
/tools/build-performance/ @kazcw @Akirathan

# Global JS configuration
esling.config.mjs
tsconfig.json

# Scala Libraries
/lib/scala/ @4e6 @jaroslavtulach @hubertp @Akirathan

# Java libraries
/lib/java/ @4e6 @jaroslavtulach @hubertp @Akirathan

# GUI
/app/gui2/ @Frizi @farmaazon @vitvakatu @kazcw @AdRiley
# GUI/Dashboard
/app @Frizi @farmaazon @vitvakatu @kazcw @AdRiley @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount
/app/gui/e2e/dashboard @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount
/app/gui/e2e/project-view @Frizi @farmaazon @vitvakatu @kazcw @AdRiley
/app/gui/src/dashboard @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount
/app/gui/src/project-view @Frizi @farmaazon @vitvakatu @kazcw @AdRiley
/app/ide-desktop/ @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount
/app/ydoc-server/ @Frizi @farmaazon @vitvakatu @kazcw @AdRiley
/app/ydoc-server-nodejs/ @Frizi @farmaazon @vitvakatu @kazcw @AdRiley
/app/ydoc-server-polyglot/ @Frizi @farmaazon @vitvakatu @kazcw @AdRiley
/app/ydoc-shared/ @Frizi @farmaazon @vitvakatu @kazcw @AdRiley
# The data-link schema is owned by the libraries team
/app/gui/src/dashboard/data/datalinkSchema.json @radeusgd @jdunkerley @GregoryTravis @AdRiley @marthasharkey
/app/gui/src/dashboard/data/__tests__ @radeusgd @jdunkerley @GregoryTravis @AdRiley @marthasharkey @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount

# Engine (old)
# This section should be removed once the engine moves to /app/engine
Expand All @@ -45,14 +61,3 @@ Cargo.toml

# The default project template is owned by the libraries team
/lib/scala/pkg/src/main/resources/default/src/ @radeusgd @jdunkerley @GregoryTravis @AdRiley @marthasharkey

# Dashboard, Cloud, Authentication & Electron
/app/ide-desktop/ @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount
/app/dashboard/ @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount
# The data-link schema is owned by the libraries team
/app/dashboard/src/data/datalinkSchema.json @radeusgd @jdunkerley @GregoryTravis @AdRiley @marthasharkey
/app/dashboard/src/data/__tests__ @radeusgd @jdunkerley @GregoryTravis @AdRiley @marthasharkey @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount

# GUI / Dashboard shared
/app/*.* @Frizi @farmaazon @vitvakatu @kazcw @AdRiley @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount
/app/ide-desktop/common @PabloBuchu @indiv0 @somebody1234 @MrFlashAccount @Frizi @farmaazon @vitvakatu @kazcw @AdRiley
4 changes: 2 additions & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ app/ide-desktop/lib/dashboard/playwright/.cache/
app/ide-desktop/lib/dashboard/dist/
app/gui/view/documentation/assets/stylesheet.css
app/rust-ffi/pkg
app/gui2/src/assets/font-*.css
app/gui/src/project-view/assets/font-*.css
Cargo.lock
build.json
app/gui2/playwright-report/
app/gui/playwright-report/

# Engine Builds can leave these nested working copies.
# TODO [mwu]: Adjust Engine build to not leave them.
Expand Down
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
}
],
"typescript.tsdk": "node_modules/typescript/lib",
"eslint.experimental.useFlatConfig": true,
"eslint.useFlatConfig": true,
"eslint.useESLintClass": true,
"[javascript][typescript][typescriptreact][vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<img src="https://img.shields.io/static/v1?label=Compiler%20License&message=Apache%20v2&color=2ec352&labelColor=2c3239"
alt="License">
</a>
<a href="https://github.com/enso-org/enso/blob/develop/app/gui2/LICENSE">
<a href="https://github.com/enso-org/enso/blob/develop/app/gui/LICENSE">
<img src="https://img.shields.io/static/v1?label=GUI%20License&message=AGPL%20v3&color=2ec352&labelColor=2c3239"
alt="License">
</a>
Expand Down Expand Up @@ -207,11 +207,11 @@ Enso consists of several sub projects:
command line tools.

- **Enso IDE:** The
[Enso IDE](https://github.com/enso-org/enso/tree/develop/app/gui2) is a
desktop application that allows working with the visual form of Enso. It
consists of an Electron application, a high performance WebGL UI framework,
and the searcher which provides contextual search, hints, and documentation
for all of Enso's functionality.
[Enso IDE](https://github.com/enso-org/enso/tree/develop/app/gui) is a desktop
application that allows working with the visual form of Enso. It consists of
an Electron application, a high performance WebGL UI framework, and the
searcher which provides contextual search, hints, and documentation for all of
Enso's functionality.

<br/>

Expand All @@ -222,7 +222,7 @@ The Enso Engine is licensed under the
[LICENSE](https://github.com/enso-org/enso/blob/develop/LICENSE) file. The Enso
IDE is licensed under the [AGPL 3.0](https://opensource.org/licenses/AGPL-3.0),
as specified in the
[LICENSE](https://github.com/enso-org/enso/blob/develop/app/gui2/LICENSE) file.
[LICENSE](https://github.com/enso-org/enso/blob/develop/app/gui/LICENSE) file.

This license set was chosen to provide you with complete freedom to use Enso,
create libraries, and release them under any license of your choice, while also
Expand Down
10 changes: 5 additions & 5 deletions app/.vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"request": "launch",
"name": "GUI (Storybook)",
"runtimeExecutable": "pnpm",
"runtimeArgs": ["run", "--filter", "enso-gui2", "story:dev"],
"runtimeArgs": ["run", "--filter", "enso-gui", "story:dev"],
"outputCapture": "std"
},
{
Expand All @@ -70,7 +70,7 @@
"request": "launch",
"name": "GUI (E2E UI)",
"runtimeExecutable": "pnpm",
"runtimeArgs": ["run", "--filter", "enso-gui2", "test:e2e", "--", "--ui"],
"runtimeArgs": ["run", "--filter", "enso-gui", "test:e2e", "--", "--ui"],
"outputCapture": "std"
},
{
Expand Down Expand Up @@ -102,22 +102,22 @@
"request": "launch",
"name": "GUI (All tests)",
"runtimeExecutable": "pnpm",
"runtimeArgs": ["run", "--filter", "enso-gui2", "test"]
"runtimeArgs": ["run", "--filter", "enso-gui", "test"]
},
{
"type": "node",
"request": "launch",
"name": "GUI (E2E tests)",
"runtimeExecutable": "pnpm",
"runtimeArgs": ["run", "--filter", "enso-gui2", "test:e2e"],
"runtimeArgs": ["run", "--filter", "enso-gui", "test:e2e"],
"outputCapture": "std"
},
{
"type": "node",
"request": "launch",
"name": "GUI (Unit tests)",
"runtimeExecutable": "pnpm",
"runtimeArgs": ["run", "--filter", "enso-gui2", "test:unit", "--", "run"],
"runtimeArgs": ["run", "--filter", "enso-gui", "test:unit", "--", "run"],
"outputCapture": "std"
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"exports": {
".": "./src/index.js",
"./src/config.json": "./src/config.json",
"./src/accessToken": "./src/accessToken.ts",
"./src/appConfig": "./src/appConfig.js",
"./src/buildUtils": "./src/buildUtils.js",
"./src/detect": "./src/detect.ts",
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -445,8 +445,7 @@ export interface CheckoutSessionStatus {
/** Status of the payment for the checkout session. */
readonly paymentStatus: string
/** Status of the checkout session. */
// eslint-disable-next-line @typescript-eslint/ban-types
readonly status: 'active' | 'trialing' | (string & {})
readonly status: 'active' | 'trialing' | (string & NonNullable<unknown>)
}

/** Resource usage of a VM. */
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 0 additions & 4 deletions app/dashboard/.prettierignore

This file was deleted.

44 changes: 0 additions & 44 deletions app/dashboard/404.html

This file was deleted.

76 changes: 0 additions & 76 deletions app/dashboard/README.md

This file was deleted.

Binary file removed app/dashboard/favicon.ico
Binary file not shown.
Loading

0 comments on commit 4a24968

Please sign in to comment.