mirror of
https://github.com/LizardByte/GameDB.git
synced 2026-10-26 05:06:52 +09:00
52 lines
1.1 KiB
Markdown
52 lines
1.1 KiB
Markdown
# Developer Setup
|
|
|
|
This page is for code contributors working on GameDB development, tests, or workflow automation.
|
|
|
|
Python dependencies are managed with [uv](https://docs.astral.sh/uv/). The dependency declarations live in
|
|
`pyproject.toml`, and `uv.lock` is committed so local development and CI use the same resolved package set.
|
|
|
|
Install uv outside this repository's `.venv` if it is not already available:
|
|
|
|
```shell
|
|
pipx install uv
|
|
# or
|
|
python -m pip install --user uv
|
|
```
|
|
|
|
If Python 3.14 is not already installed, install it with uv:
|
|
|
|
```shell
|
|
uv python install 3.14
|
|
```
|
|
|
|
Create or update the project `.venv` environment, including test dependencies:
|
|
|
|
```shell
|
|
uv sync --extra dev
|
|
```
|
|
|
|
Run Python commands through uv so they use the synced `.venv` environment:
|
|
|
|
```shell
|
|
uv run python -m pytest tests
|
|
```
|
|
|
|
Node dependencies still use npm:
|
|
|
|
```shell
|
|
npm ci --ignore-scripts
|
|
npm test
|
|
```
|
|
|
|
When `pyproject.toml` dependencies change, update the lock file and include it in the same pull request:
|
|
|
|
```shell
|
|
uv lock
|
|
```
|
|
|
|
CI runs `uv sync --locked`, so dependency changes fail until `uv.lock` is current. To check that locally, run:
|
|
|
|
```shell
|
|
uv sync --locked --extra dev
|
|
```
|