aboutsummaryrefslogtreecommitdiffstats
path: root/packages/main/src/controllers
Commit message (Collapse)AuthorAge
* refactor: Coding conventionsLibravatar Kristóf Marussy2022-02-08
| | | | | | | | | Make sure that files have a default import with the same name as the file whenever possible to reduce surprise. Also shuffles around some file names for better legibility. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Move runtime state into shared modelsLibravatar Kristóf Marussy2022-02-08
| | | | | | | | | | | Now the runtime state lives inside the model (instead of being associated to the static settings via a map), which simplifies state management. Static settings are now located inside the runtime models, so we must create tests to make sure that the settings are being persisted correctly. The contents of the config file are now generated as a view of store (instead of a snapshot), which adds flexibility. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Rename main services to infrastructureLibravatar Kristóf Marussy2022-02-08
| | | | | | | | Makes it clear that we are talking about wrappers for nodejs and electron functionality, and not the services being displayed by the application. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Rewrite the config if new details are addedLibravatar Kristóf Marussy2022-02-08
| | | | | | | If we generate a new ID or a new profile, it should be added to the config file immediately. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Add Profile and Service storesLibravatar Kristóf Marussy2022-02-08
| | | | | | | | | | In the main process, it is optional to specify the ID of a Profile or a Service. The missing ID will be filled in with a randomly generated one. Moreover, services without a profile will get a profile generated with the same name. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Add eslint-plugin-unicornLibravatar Kristóf Marussy2022-01-09
| | | | Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Add eslint-plugin-jestLibravatar Kristóf Marussy2022-01-09
| | | | Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Add prettierLibravatar Kristóf Marussy2022-01-09
| | | | | | | eslint will also enforce prettier rules, so there is no need to call prettier separately in CI. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Eslint fixes for multi-module projectLibravatar Kristóf Marussy2022-01-09
| | | | Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* New configurations based on review comments (WIP)Libravatar Vijay A2022-01-09
| | | | Signed-off-by: Vijay A <vraravam@users.noreply.github.com>
* build: Use nodenext module resolutionLibravatar Kristóf Marussy2021-12-31
| | | | | The renderer package still has to use node module resolution to be able to find MUI packages.
* chore: Add import extensions preparing for ts 4.6 nodenextLibravatar Kristóf Marussy2021-12-31
|
* test: Add tests for main packageLibravatar Kristóf Marussy2021-12-31
| | | | | | | | | | | | | - Changed jest to run from the root package and reference the packages as projects. This required moving the base jest config file away from the project root. - Module isolation seems to prevent ts-jest from loading the shared package, so we disabled it for now. - To better facilitate mocking, services should be split into interfaces and implementation - Had to downgrade to chald 4.1.2 as per https://github.com/chalk/chalk/releases/tag/v5.0.0 at least until https://github.com/microsoft/TypeScript/issues/46452 is resolved.
* refactor: Improve loggingLibravatar Kristóf Marussy2021-12-30
|
* build: Switch to esbuildLibravatar Kristóf Marussy2021-12-30
| | | | | | | | | | We will build all packages except the frontend (where vite remains in use) with esbuild. For some reason, the @yarnpkg/esbuild-plugin-pnp doesn't allow esbuild to load esm modules and we fall back to commonjs for dependencies. Hence we had to switch back to node_modules (but still rely on yarn hardlinking for a more efficient install).
* Revert "refactor: Switch back to consola for prettyness"Libravatar Kristóf Marussy2021-12-29
| | | | This reverts commit 5c38af061348ec604337280009775832edc66270.
* refactor: Switch back to consola for prettynessLibravatar Kristóf Marussy2021-12-28
|
* refactor: Simpler logging with loglevelLibravatar Kristóf Marussy2021-12-28
|
* feat: Add consola loggingLibravatar Kristóf Marussy2021-12-28
|
* refactor: Functional design for controllersLibravatar Kristóf Marussy2021-12-28
|
* refactor: Get rid of dependency injectorLibravatar Kristóf Marussy2021-12-28
|
* refactor: Inversion of control with typed-injectLibravatar Kristóf Marussy2021-12-27
|
* refactor: Clarify main process architectureLibravatar Kristóf Marussy2021-12-26
* stores: reactive data structures to hold application state * controllers: subscribe to store changes and call store actions in response to external events from services * services: integrate with the nodejs and electron environment (should be mocked for unit testing)