# Component manifest — source of truth for the web UI. # # Edit this file, then run ./build.sh to: # - download every remote component into components// # - generate components.json (the runtime load list) in declared order # # Load order matters: service components (login-gate, api-client) must come # before the components that consume them. # Local components shipped inside this repo. Not downloaded — listed here only # so build.sh can place them in the generated load order. local_components: [] # Remote components fetched from git at build time. # Each is its own repo; its root must contain .js and manifest.json. # # - name: vpc-panel # → components/vpc-panel/ # repo: https://git.g3e.fr/team-reseau/vpc-panel # ref: v1.2.0 # tag, branch or commit (default: main) components: - name: side-nav repo: https://git.g3e.fr/syonad/syn-side-nav ref: main # Vendor libraries — downloaded into web/vendor/ at build time (gitignored). # Components import them via relative paths, never via components.json. # path: restrict download to a subdirectory of the repo (optional). # dest: destination under web/ (default: vendor/). vendors: [] # Pages — each page is a self-contained directory (JS + CSS + manifest.json). # Same model as components: local pages ship in this repo, remote pages are # downloaded from git at build time. build.sh reads each manifest.json to # generate navigation.json and pages.json. # # Page manifest.json must contain: tag, route, label, icon. # Page JS must: customElements.define('', ...) and use display:contents. local_pages: - dashboard # Remote pages fetched from git — same mechanism as components. # # - name: vpcs # repo: https://git.g3e.fr/team-reseau/page-vpcs # ref: v1.0.0 remote_pages: [] # Menu — order and visibility in the side-nav. # List routes in desired display order. # A page not listed here is accessible via /#/route but hidden from the nav. menu: - dashboard