Priorite : HAUTE - CETTE SEMAINE
CONNECTEURS → DATA CATCHERS → MODULES
↓ ↓
LAYOUTS (zones imbriquées)
↓
PAGES
Couche entre connecteurs et modules avec :
depends: ["autre-catcher"] → graphe DAG, exécution parallèle par niveauxtransform → mapping/filter des donnéescache → avec invalidation en cascadeoptions → configurables à l'assignationAssignation 4 niveaux :
config.dataCatchers.globallayout.dataCatcherspage.meta.dataCatchersmodule.catcherDonnées système toujours disponibles :
auto.pages.all / .tree / .children / .siblings / .ancestors
auto.currentPage.meta / .path / .depth
auto.site.name / .logo / .url
→ Pour menus, breadcrumbs, sidebars auto-générés
Header/Footer = modules normaux assignés à des zones.
Zones : header, sidebar, content, footer
Imbrication par path :
/ → layout A
/docs → layout A + B (DEUX)
/docs/api → layout A + B + C (TROIS)
Override par zone :
"inherit" → garde parentnull → supprime zone{ module, data } → remplaceresetParent: true → coupe la chaîne{
auto: { pages, currentPage, site },
global: { /* catchers site */ },
layout: { /* catchers layouts fusionnés */ },
page: { /* catchers page */ },
module: { /* catchers module */ },
data: { /* data inline */ }
}
Créer modules/connecteurs/catchers via navigateur sans rebuild.
Fichiers :
STORAGE/data/
├── config.json
├── pages/
├── layouts/
├── catchers/
└── hot-modules/
Supabase : tables config, pages, layouts, data_catchers, hot_modules
src/types/auto-data.ts - Types AutoData, PageTreeNodesrc/services/auto-data/index.ts - buildAutoData()src/services/auto-data/tree-builder.ts - buildPageTree()plugin@data.ts - injecter auto dans sharedMap/home/gouroubleu/WS/qwikpress-gitlab sur vscode.local