Development¶
Flujo recomendado¶
El flujo mas seguro para cambios en este repositorio es:
- localizar la capa afectada
- hacer el cambio minimo necesario
- ejecutar las comprobaciones mas cercanas al cambio
- validar manualmente el arranque y la navegacion si tocaste runtime o routing
- actualizar documentacion si cambian comportamiento, configuracion o build
Comandos de desarrollo¶
make deps
make prepare
make bundle
make serve
Comprobaciones de sintaxis utiles:
node --check src/shell/main.js
node --check sw.js
node --check php-worker.js
node --check src/runtime/bootstrap.js
node --check src/runtime/vfs.js
Bundles y fuente de FacturaScripts¶
El bundle readonly se genera con scripts/build-facturascripts-bundle.sh.
Variables de entorno soportadas:
FS_REF: repositorio fuente de FacturaScriptsFS_REF_BRANCH: rama a usarWORK_DIR: directorio temporal del buildDIST_DIR: salida del bundleMANIFEST_DIR: salida del manifiesto
Ejemplo:
FS_REF=https://github.com/<org>/facturascripts.git FS_REF_BRANCH=<branch> make bundle
Mantenimiento de la documentacion¶
La fuente de la documentacion vive en docs/ y la configuracion de MkDocs en mkdocs.yml.
Preview local¶
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements-docs.txt
mkdocs serve
Build local¶
mkdocs build --strict
Publicacion en GitHub Pages¶
El workflow de .github/workflows/pages.yml:
- instala dependencias Node, PHP y Python
- prepara el runtime
- construye el bundle de FacturaScripts
- genera la documentacion con MkDocs en
dist/docs - publica app y docs juntas
El proyecto esta preparado para desplegarse como sitio estatico, tanto en raiz como en subdirectorio.
Cuando debes actualizar docs¶
Actualiza la documentacion en la misma PR si tocas:
playground.config.jsonassets/blueprints/default.blueprint.json- el flujo de arranque en
src/runtime/bootstrap.js - el modelo de almacenamiento o manifiesto
- el proceso de build del bundle
- la navegacion de la shell o el routing del service worker