À propos du projet

Marigold est une implémentation React du Marigold Design System, construite sur react-aria pour le comportement accessible et Tailwind CSS pour le stylisme. Le dépôt est un monorepo qui regroupe la bibliothèque de composants, le thémage, la documentation et les tests en un seul endroit. Contenu du dépôt - Dossiers sources des composants et du système, compilés en packages ; les commandes CLI font référence aux "packages de composants et de thèmes" comme cibles de build, et le package npm publié est `@marigold/components`. - Packages de thèmes, compilés via une tâche dédiée `pnpm build:themes`, permettant d'associer un ensemble de composants unique à différents résultats de thèmes. - Une application de documentation construite avec Next.js, exécutée en mode dev avec `pnpm dev` (localhost:3000) et en mode production avec `pnpm start`. Elle inclut des tableaux de propriétés de composants générés via `pnpm build:component-props` et une tâche "registry". - Un espace de travail Storybook lancé avec `pnpm sb` sur localhost:6006, ainsi que des tests de composants basés sur Storybook (`pnpm test:sb`) et une tâche de build Storybook. Outillage et contrôles de qualité TypeScript est utilisé partout, avec `pnpm typecheck` qui génère d'abord la documentation puis effectue la vérification des types sans émission. Les tests s'exécutent sur Vitest, incluant la couverture et une variante orientée CI. Le linting est réparti entre ESLint pour le code et Vale pour la prose de la documentation, et le formatage est géré par Prettier avec des commandes distinctes de vérification et de correction. Une commande `clean` supprime les artefacts de build, les dépendances et les caches tels que dist, .next, .turbo, coverage et storybook-static. Versions Les versions ne sont pas effectuées localement : un workflow GitHub Actions exécute l'action Changesets à chaque push vers main. Soit il ouvre une pull request "release: version packages" qui consomme les changesets en attente, soit, une fois fusionnée, il publie les packages mis à jour sur npm. Les contributeurs ajoutent un changeset avec `pnpm changeset` lorsqu'une modification doit entraîner une montée de version. Les pré-versions utilisent le mode pre de Changesets enregistré dans `.changeset/pre.json` ; le dist-tag npm est dérivé de son champ tag, ainsi `pnpm changeset pre enter rc` publie vers un tag "rc" au lieu de latest. Le README note deux mises en garde : le compteur de pré-version suit la version dans package.json plutôt que le tag, et le changement de canal laisse le dist-tag précédent épinglé à sa dernière version, il doit donc être réorienté ou supprimé par package. Démarrage local Clonez le dépôt, installez les dépendances avec pnpm et utilisez le tableau de commandes documenté pour le développement, le build, les tests, le linting, le formatage et la vérification des types. Le README oriente les nouveaux utilisateurs vers le site de documentation Marigold pour les instructions d'installation et vers la page des notes de version pour les derniers changements. Le projet est publié sous licence MIT. Le README ne fait aucune affirmation sur le nombre de composants, les performances ou l'adoption ; ces détails doivent être vérifiés sur le site de documentation et le registre des packages.