À propos du projet
CompoMo est une bibliothèque de composants web neutre vis-à-vis des frameworks, publiée sous @ds-mo/ui. Elle est construite avec Stencil.js, stylisée avec les jetons de conception TokoMo et distribuée sous forme d'éléments personnalisés ainsi que d'adaptateurs générés pour Angular, React et Vue. Elle est décrite comme faisant partie de la famille ds-mo, aux côtés de @ds-mo/tokens et @ds-mo/icons.
L'installation récupère trois packages : @ds-mo/tokens, @ds-mo/icons et @ds-mo/ui. Les jetons TokoMo sont importés une seule fois à la racine de l'application (tokens, tokens/reset et tokens/globals).
L'utilisation dépend du framework. En HTML pur, l'importation d'un module de composant définit automatiquement son élément personnalisé, permettant ainsi d'utiliser directement une balise telle que ds-button-filled avec un attribut label. Les applications Angular sont encouragées à importer des adaptateurs autonomes par composant (par exemple @ds-mo/ui/angular/ds-button-filled) ; les applications React et Vue utilisent respectivement des wrappers générés depuis @ds-mo/ui/react et @ds-mo/ui/vue. Les icônes sont résolues via @ds-mo/icons, ds-icon correspondant exactement aux noms d'exportation canoniques IcoMo lors du bundling.
La bibliothèque documente plusieurs surfaces de support publiques : @ds-mo/ui/shell pour les contrats de shell neutres, @ds-mo/ui/toast pour un gestionnaire de toasts, @ds-mo/ui/utils pour des aides génériques telles que registerIcons, @ds-mo/ui/prose.css pour un stylage sémantique de la prose neutre vis-à-vis du rendu, et @ds-mo/ui/control-elevation.css pour des wrappers de contrôle externes surélevés. Il n'y a délibérément pas de bundle CSS global pour les composants ; les styles sont livrés avec chaque élément personnalisé.
Concernant le support navigateur, CompoMo cible l'ensemble évolutif "Baseline Newly available". Les composants peuvent adopter une fonctionnalité de la plateforme web une fois qu'elle est interopérable entre les navigateurs Baseline core, et les utilisateurs disposant de versions plus anciennes doivent fournir leur propre solution de repli ou rester sur une version compatible antérieure.
Un ajout notable est compomo-mcp, un exécutable local inclus dans le package. Il expose des métadonnées de composants générées et des recettes de composition exécutables pour les Custom Elements, Angular, React et Vue, et peut être enregistré comme serveur MCP (par exemple dans un fichier de configuration Codex pointant vers node_modules/.bin/compomo-mcp). Il est décrit comme utilisant uniquement stdio et servant le protocole moderne 2026-07-28 ainsi que les révisions héritées basées sur initialize jusqu'au 2025-11-25, une négociation automatique de version étant recommandée pour les clients supportant la découverte moderne. Le README précise que les faits relatifs à l'API proviennent des métadonnées Stencil, tandis que l'intention organisée provient du JSON de l'agent du composant co-localisé et des modèles exécutables.
La documentation est répartie entre une introduction Storybook, un guide d'intégration de framework, un guide de migration v13, un routeur de documentation pour les mainteneurs et des instructions de dépôt dans AGENTS.md. Le README refuse explicitement de dupliquer les versions de packages, les listes de composants, les props, les événements et les exports, orientant les lecteurs vers package.json, Storybook ou le registre généré pour les informations actuelles.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.