Skip to main content

Module doctor

Module doctor 

Source
Expand description

Checks for the faults that cost real debugging time, and repairs for the ones whose correct value is discoverable.

The motivating case: Metro runs inside the container, but file events do not cross the bind mount from the host, so its watcher never sees an edit. The entrypoint’s poker exists to bridge that, and a stale METRO_POKE=false baked into a container turns it off silently - every change then needs a cache clear, with nothing to say why.

Structs§

Action
Check
UnquotedLine
A .env line whose value holds unquoted spaces.

Enums§

Repair
Status

Constants§

METRO_POKE

Functions§

check_docker
check_env_quoting
check_metro_poke
check_overlays
check_root_apps
container_metro_poke
METRO_POKE as the named container actually has it, which is not always what the env file says: a container keeps the environment it was created with until it is recreated.
docker_available
fix
format_actions
format_checks
remove_env_key
Drop a key from a .env file, leaving every other line as it was.
run
running_metro_containers
runs_mobile
Does this workspace run a mobile app whose Metro lives in a container?
set_env_key
Set key in a .env file, preserving comments and the order of what is already there. Appends with a note when the key is absent.
undeclared_root_apps
Only the overlay generate always writes. docker-compose.extra.yml is written per extra app, so a workspace with none legitimately has no such file - demanding it would be a failure no repair could ever clear. Directories beside the frontend repo that look like runnable apps.
unquoted_values