build system
- Dominant language
- JavaScript
- Stars
- 137
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
i wrote out [a comment on the current setup](https://github.com/brandly/Lax/pull/95#issuecomment-688599063), so here are some notes on how things should work in the future.
currently the dev environment is pretty nice on macos and maybe windows, but the build script only runs on macos, as far as i know. i'm not sure where linux is at in all this.
interrelated goals:
- [ ] good dev env across platforms
- [ ] easy builds across platforms. distributing for another platform should just be a matter of spinning up a github workflow on that platform and running the build.
- [ ] i think we should transition to `styled-components` (#42) because the dev process is unmatched. i tried starting this transition, but the [current system](https://github.com/brandly/Lax/pull/95#issuecomment-688599063) didn't seem to allow for it. the app would start and elements would have `class`es on them generated by `styled-components`, but the classes had no definitions with seemingly no `` anywhere in the DOM. it appears to have nice [theming support](https://blog.agney.dev/theming-on-styled-components/) for dark mode, and i think it'd make font changes easy (#83)
- [x] typescript? the code currently has [flow types](https://flow.org/), which was a better type system when the decision was made, but typescript has matured a lot and the community has grown massive. it would make it easier for more people to contribute.
i wasn't aware of [`electron-builder`](https://github.com/electron-userland/electron-builder), but it seems to handle more than `electron-packager`. i need to read into this more, but here's [a popular app](https://github.com/agalwood/Motrix) that uses it and distributes apps for all platforms.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the current setup comment linked from the issue, then inspect the existing build script and Electron packaging setup. Compare the proposed electron-builder approach and GitHub workflow requirements across macOS, Windows, and Linux; done means the development environment and builds work across the intended platforms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, github-actions, javascript, react, typescript
- Domain
- build-system, desktop, developer-experience, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100