* pre-commit: move the linting check ahead of the compiling one, as a
typescript lint can change the compilaed javascript, so you can end up
in a situation where the pre-commit check fails twice in a row
* just: add linting and make the default to run all
Both the justfile and the pre-commit configuration for the `pr-check`
sync were broken:
* justfiles run recipes one line at a time in a fresh shell, so the venv
activation was not working
* the pre-commit config was relying on an installed `ruamel.yaml`
pakcage, but the default one installable via `apt` on Ubuntu 24.04 is
old and generates different output (with formatting differences).
Now:
* the venv dance is put in a separate bash script
* both just and pre-commit will use that same script, so both problems
will be fixed
As a bonus, a root `justfile` is added exposing the `update-pr-checks`
recipes plus a `build` one. Running `just` without arguments will also
now call the default `sync` recipes that will call both of the above.
[pre-commit](https://pre-commit.com/) is a framework for easy set-up
of pre-commit hooks.
This adds configuration for it to run:
* ts compilation
* ts linting
* pr-checks synchronization
The latter required the `sync.py` to be callable from the project root.
`pre-commit` can be enabled with
```
python3 -m pip install pre-commit
pre-commit install
```