docs: el backend del dev por dentro, del grafo de imports de REA

This commit is contained in:
hacklab 2026-10-20 12:59:29 +02:00
parent 4a6c99ee59
commit 150f6faf82

View file

@ -86,6 +86,26 @@ app (el navegador). Hay rutas que intercepta para el Teléfono (`/phone/speaker`
`/phone/accept-speaker`).
## El backend por dentro
`rea analyze-javascript-application` sobre el `nodejs-project` oficial, sin
`node_modules` (463 ficheros JavaScript). Del grafo de imports, contando solo
ficheros del dev:
- `backend/backend.js` lo cose todo: hace 896 de los imports. Rutas, middleware y
la llamada a cada modelo y cada vista pasan por él.
- Las capas van `backend → views` (568 imports), `backend ↔ models` (218 y 223) y
`models → configs` (180). Las vistas casi no importan nada del backend (3).
- Lo más importado, y por tanto lo que más rompe si cambia: `views/main_views.js`
(217), `models/typed_log.js` (194), `configs/config-manager.js` (152),
`views/clearnet_view.js` (116), `backend/dedupe.js` (112).
Cuadra con la lista de lo que no se toca de la guía: un cambio nuestro en
`backend.js` o en `main_views.js` tropieza con casi todo lo demás en cada versión.
Por eso lo nuestro va en `fork_routes.js`, `mobile_ui.js` y las hojas propias, que
el dev no importa.
## Lo que hace nuestra APK encima
`android/scripts/sobre_oficial.sh` coge esta APK tal cual y cambia:
@ -112,6 +132,9 @@ export REA_JADX_MCP_JAR=$PWD/jadx-headless-mcp-0.7.1-all.jar JAVA_HOME=/opt/andr
rea inspect-android-package oasis-v1.3.3.apk
rea inspect-android-class oasis-v1.3.3.apk com.solarnethub.oasis.OasisActivity
rea inspect-android-method oasis-v1.3.3.apk com.solarnethub.oasis.OasisActivity copyNodeProjectIfNeeded
# el backend: sacar nodejs-project del zip y quitarle src/server/node_modules
# (con ellas, 16.500 ficheros, se corta por tiempo)
rea --json analyze-javascript-application /ruta/absoluta/nodejs-project-sin-node_modules
```
Con cada versión nueva del dev conviene mirar otra vez `copyNodeProjectIfNeeded`,