feat(core)!: introduce runtime extension registry and flat module conventions

BREAKING CHANGE: sup config now derives entries from package.json#exports and a server/client glob instead of manual lists; module structure follows flat + barrel convention with .server.js/.client.js runtime suffixes
This commit is contained in:
2026-04-22 14:13:30 -04:00
parent 61388f04a6
commit 0106bc4ea0
35 changed files with 917 additions and 528 deletions
+19
View File
@@ -0,0 +1,19 @@
'use client';
import { registerPage } from '../registry.js';
import DashboardPage from './DashboardPage.client.js';
import UsersPage from './UsersPage.client.js';
import UserEditPage from './UserEditPage.client.js';
import RolesPage from './RolesPage.client.js';
import RoleEditPage from './RoleEditPage.client.js';
import ProfilePage from './ProfilePage.client.js';
// Pages core — le slug correspond au premier segment après /admin/. Les
// routes paramétrées (users/edit/:id, roles/edit/:id, roles/new) sont
// résolues dans AdminPage.client.js via le slug "namespace:form".
registerPage({ slug: 'dashboard', Component: DashboardPage, title: 'Tableau de bord' });
registerPage({ slug: 'users', Component: UsersPage, title: 'Utilisateurs' });
registerPage({ slug: 'roles', Component: RolesPage, title: 'Rôles' });
registerPage({ slug: 'profile', Component: ProfilePage, title: 'Profil' });
registerPage({ slug: 'users:edit', Component: UserEditPage, title: 'Modifier utilisateur' });
registerPage({ slug: 'roles:edit', Component: RoleEditPage, title: 'Modifier rôle' });