[x] I have tested this code on a steam deck or on a PC
[x] My changes generate no new errors/warnings
[ ] This is a bugfix/hotfix
[x] This is a new feature
Description
This adds static types to all of the backend Python code, along with CI to verify that no new type errors are created in commits and PRs.
The CI also checks TypeScript types, so some of the frontend code was edited to make strict type checking work correctly.
Additionally, the Python backend was modified to use module imports instead of name imports, to prevent module collisions. Because of this, we now need a main.py in the repo root to serve as the non-module pyinstaller entrypoint.
Due to the scope of this PR, I'd like to make sure everything is tested and working before it's merged. In the future, this should make loader PR review much easier.
Please tick as appropriate:
Description
This adds static types to all of the backend Python code, along with CI to verify that no new type errors are created in commits and PRs.
The CI also checks TypeScript types, so some of the frontend code was edited to make strict type checking work correctly.
Additionally, the Python backend was modified to use module imports instead of name imports, to prevent module collisions. Because of this, we now need a
main.py
in the repo root to serve as the non-module pyinstaller entrypoint.Due to the scope of this PR, I'd like to make sure everything is tested and working before it's merged. In the future, this should make loader PR review much easier.