Files
Exiled-Exchange-2/DEVELOPING.md
Kvan7 e19356e97b v0.8.2 (#480)
* Price checking does not work when using a gamepad(Ctrl+D) #452

Uses parts from #454 to fix the issue.

Co-authored-by: lawrsp <7957003+lawrsp@users.noreply.github.com>

* Fix tests :(

* Fix magic rarity item name parse in "cmn-Hant" language (#460)

* Fix magic rarity item name parse in "cmn-Hant" language

* Add by translated when ref is null

---------

Co-authored-by: kvan7 <kvan.valve@gmail.com>

* chore: yarn to npm and add missing step (#461)

* fix: update game config path for linux to poe2

* fix tests

* fix: MacOS crash on startup (#428)

* fix: MacOS crash on startup

* update for windows/linux

* move main app startup into function
Mac calls that in async, other platforms proceed in sync.

* [PoE2] - Relics broken again #444

* test prettier and add npm script

* add format/lint support to main

* Fix defineProps macro

* Run speed v0.8.0 - Russian. #447

* fix negative gold

* Merge branch 'Kvan7:master' into master

* fix: app-ready fixing before we're ready

* Merge branch 'dev' into pr/larssn/428

* should work?

* Merge commit 'ab1c8bfa3a31b06da9cf18db0273f6a92e407bc5' into pr/larssn/428

* fix being lazy on the merge

* fix: add executable bit to compilation script (#465)

* Item Images (#472)

* image data stuff

* ignore lookup file

* update testing

* sort items

* change sort ot be by refname

* more code

* working pulling

* Fixes #456
Create script to request item's images from trade site #456

* Fixes #457
Update ImageFix to use new saved images before poe1 ones #457

* add images to items

* Add Spear as item category

* Add Flail as category

* Add "goodness" from upstream

* Fix #474
Tier # missing from some defense stats #474

* minor oops

* remove error for waystones

* Add a bunch of images to the docs

* Extra widgets docs

* Update chat commands links docs

* add stash search docs

* Item info docs page

* more docs

* Update bug-report.yml

* Version bump

* extra version bump

---------

Co-authored-by: lawrsp <7957003+lawrsp@users.noreply.github.com>
Co-authored-by: Seth Falco <seth@falco.fun>
Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
Co-authored-by: Lars <890725+larssn@users.noreply.github.com>
2025-03-27 09:50:27 -05:00

1.7 KiB

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

Here's what that looks like as of 2023-12-03.

cd renderer
npm install
npm run make-index-files
npm run dev

# In a second shell
cd main
npm install
npm run dev

Formatting

cd renderer
npm run format

How to build

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

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.