mirror of
https://github.com/Kvan7/Exiled-Exchange-2.git
synced 2025-10-30 14:17:55 +00:00
72 lines
1.7 KiB
Markdown
72 lines
1.7 KiB
Markdown
# How this works
|
|
|
|
There are 2 main parts of the app:
|
|
|
|
1. renderer: this is the HTML/Javascript-based UI rendered within the Electron container. This runs Vue.js, a React-like Javascript framework for rendering front-end.
|
|
2. main: includes the main app (written in Electron). Handles keyboard shortcuts, brings up the UI and overlays.
|
|
|
|
Note that these 2 both depend on each other, and one cannot run without the other.
|
|
|
|
# How to develop
|
|
|
|
The most up-to-date instructions can always be derived from CI:
|
|
|
|
[.github/workflows/main.yml](https://github.com/Kvan7/exiled-exchange-2/blob/master/.github/workflows/main.yml)
|
|
|
|
Here's what that looks like as of 2023-12-03.
|
|
|
|
```shell
|
|
cd renderer
|
|
npm install
|
|
npm run make-index-files
|
|
npm run dev
|
|
|
|
# In a second shell
|
|
cd main
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## Formatting
|
|
|
|
```shell
|
|
cd renderer
|
|
npm run format
|
|
```
|
|
|
|
# How to build
|
|
|
|
```shell
|
|
cd renderer
|
|
npm install
|
|
npm run make-index-files
|
|
npm run build
|
|
|
|
cd ../main
|
|
npm install
|
|
npm run build
|
|
# We want to sign with a distribution certificate to ensure other users can
|
|
# install without errors
|
|
CSC_NAME="Certificate name in Keychain" npm run package
|
|
```
|
|
|
|
# How to release a build
|
|
|
|
1. Commit all changes
|
|
2. Bump version in `main/package.json`
|
|
3. `npm i` in renderer & main (update `package-lock.json` with new version)
|
|
4. `npm run build` in renderer & main
|
|
5. Stage & commit bumped version
|
|
6. `git push`
|
|
7. `git tag vX.X.X`
|
|
8. `git push origin vX.X.X`
|
|
9. Open release page, create release with tag & title as text of tag & save as draft
|
|
|
|
# How to build yourself
|
|
|
|
```shell
|
|
sh testUpdate.sh
|
|
```
|
|
|
|
Read the contents of `testUpdate.sh` to understand what it does. Running random scripts from the internet is not recommended so you really should read the code before running it.
|