Thank you for considering working on Dorion! There are only a couple things to keep in mind, as well as some tips to make development quick.
- Ensure pull requests only change one feature or "thing". Do not put 6 different bug fixes into one PR, for example.
- Describe what your pull request does in some amount of detail. No need to write an essay, but knowing what it does at a glance is helpful to me and others.
- For pull requests that also require a change in shelter-plugins, link that pull request in your PR to Dorion
Dorion as a whole is only two components, the main stuff (this repo), and shelter-plugins. My shelter-plugins control things like the settings menu, and complex patches to things like Discords internals.
Jump to:
- Set up Dorion to think the debug version is portable
- Testing changes in Dorion
- Testing changes in the updater
- Testing changes in Shelter Plugins
It might be easiest to set up pnpm tauri dev
to actually think that it is portable. This way, everything up to the config is seperated from your actual installation (if you have one),
and all contained in the ./src-tauri/target/debug
folder, instead of all over your system.
To do this, run ./setup_portable_debug.sh
or ./setup_portable_debug.cmd
on Windows. You may need to chmod +x
it first.
- Ensure Dorion is not running already (since it will just focus that window otherwise)
- Start in dev mode
pnpm tauri dev
That's it! You'll see all sorts of logs spit out, and you can test your changes.
- Ensure Dorion is not running already (since it will just focus that window otherwise)
- Build the updater
pnpm build:updater
From here, you can test your changes in two ways:
- Let Dorion run the updater. Good for testing how the frontend and backend communicate
- Run the updater from CLI:
# Just and example ./updater -arg1
Since my shelter-plugins are an entirely seperate Dorion component, you will also need to clone and build them. To do so is simple:
- Clone, install dependencies, and change whatever you need to in shelter-plugins
- Build them
pnpm lune ci
- Setup Dorion debug to think it's portable (if desired)
- Start Dorion like above
- Copy the contents of whichever plugin you're testing via
./dist/plugins/plugin.js
into the Shelter "Add Plugin" menu. Remember to disable the default version of whichever you are testing, if needed.