Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert to a new architecture and build system #730

Open
ximenabb opened this issue Jun 28, 2023 · 1 comment
Open

Convert to a new architecture and build system #730

ximenabb opened this issue Jun 28, 2023 · 1 comment
Assignees
Labels

Comments

@ximenabb
Copy link

ximenabb commented Jun 28, 2023

Description

To simplify and enable new features that will help with mapeo core next integration, there are a couple of big architectural pieces that we want to address beforehand.

  1. move from Electron Builder + Webpack to Electron Forge + Vite. Electron Forge seems to have gained momentum in terms of the best supported packaging tool to use. it includes a relatively approachable Vite plugin that allows straightforward usage of Vite, which is easier to work with and extend than Webpack for our cases. @gmaclennan has a pretty nice base to work with in https://github.com/digidem/electron-rpc-reflector-example

  2. Use node processes (via https://www.electronjs.org/docs/latest/api/utility-process) for long-running services where possible. This includes the map server, mapeo core, and eventually the map printer, to start. the "background process" via a windowless renderer requires complexity that can probably be avoided and most likely uses up more computing resources. Initially, the map printer will most likely stay as a windowless renderer because of its complexity and web APIs it requires. We can convert it if/when we can support static map generation via the map server (see Generate thumbnails for saved styles mapeo-map-server#22)

Thinking that the approach to actually implementing this will be to create a new repo that has the build+bundling and then just copy/pasting existing app renderer code as appropriate. We'll create a mocked mapeo core process that emulates something similar to https://github.com/digidem/mapeo-core-client-experiments

@achou11 achou11 changed the title Use new repo “Mapeo Desktop Next” to start converting to using electron-forge + vite Convert to a new architecture and build system Jun 28, 2023
@achou11
Copy link
Member

achou11 commented Jun 28, 2023

Started working here: https://github.com/digidem/mapeo-desktop-next

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 🏗 In progress
Development

No branches or pull requests

2 participants