- Ad Astra Per Aspera
- Posts
- đ€Ż Etes-vous preÌts pour la reÌvolution des composants?
đ€Ż Etes-vous preÌts pour la reÌvolution des composants?
...ShadCN reÌvolutionne comment nous partageons le code.
Avec un seul diagramme, ShadCN, l'auteur de la bibliothÚque ShadCN UI, a changé :
la granularité que les bibliothÚques de code peuvent (et doivent) avoir,
la façon dont le code peut ĂȘtre partagĂ©, et qui en est le propriĂ©taire
et la façon dont je conçois le développement web open source.
C'est flippant. Mais je suis fan. Quâest-ce quâil a dit?

ShadCN a annoncĂ© que son CLI supporte maintenant l'utilisation de registres externes pour ajouter des composants. On a lâhabitude dâajouter des bibliothĂšques de maniĂšre unitaire via nos gestionnaires de paquets (npm, yarn, etc.) dans le rĂ©pertoire « node_modules ». Mais maintenant on peut partager et installer des composants et les copier directement dans notre code en utilisant :
npx shadcn add <...>
Ca peut tout changer - comment on structure le code, comment on le partage, comment on y pense :
Les composants peuvent (et doivent) ĂȘtre conçus de maniĂšre atomique, et non avec des interdĂ©pendances intĂ©grĂ©es
Les composants sont partagés non pas en les installant dans un dossier (à toutes fins utiles) en lecture seule, mais en les copiant dans votre code afin que vous puissiez les modifier à votre guise.
Le terme « composants » ne désigne pas seulement les composants de l'interface utilisateur : « Vous pouvez déjà ajouter des routes, des fichiers de configuration, des variables CSS et la configuration de tailwind avec le CLI » écrit ShadCN.
Lâoutil IA v0 (et la gĂ©nĂ©ration AI en gĂ©nĂ©ral) a probablement jouĂ© un rĂŽle important dans ce changement de mentalitĂ©, car elle utilise ce type de configuration « copier-coller ».
Et vous savez quoi ? Penser en composants atomiques aidera probablement à construire un meilleur code. Avec des limites plus claires, une meilleure définition des responsabilités et de meilleurs tests.
Cela soulĂšve toutefois certaines questions, telles que
comment gérer les mises à jour des composants si le code que nous mettons à jour a été modifié ?
Comment gérer des composants plus complexes (organismes contre atomes, pour utiliser le langage du systÚme de conception) ?
comment gérer les conflits entre composants ?
Mais pour l'instant, la question principale est : comment puis-je faire fonctionner cela dans la pratique ? đ
Le coin âveilleâ
Skeleton Tailwind
GĂ©nĂ©rer un âskeletonâ qui affiche un Ă©tat de chargement dans React (en utilisant les Suspense) donne l'impression de recrĂ©er deux fois le mĂȘmes composants. Il n'y a pas de valeur ajoutĂ©e ni de crĂ©ativitĂ©. Cela signifie qu'il est possible de l'automatiser, et c'est lĂ que le « Tailwind Skeleton Generator » intervient.
Supermaven rejoint Cursor
La guerre de lâIA dans les IDE atteint dĂ©jĂ la phase de consolidation, semble-t-il. Supermaven, une alternative Ă GitHub Copilot, vient d'annoncer qu'ils joignaient leurs forces Ă celles de Cursor, le fork de VS code avec IA intĂ©grĂ©. L'annonce fait Ă©cho Ă la logique qui sous-tend le fork de VS Code par l'Ă©quipe de Cursor : Les capacitĂ©s de l'IA nĂ©cessitent une intĂ©gration profonde dans l'IDE, et VS Code ne laissent pas assez de possibilitĂ©s de customisations aux extensions pour le permettre.
Vous pourriez ĂȘtre intĂ©ressĂ© par
Drizzle vs Prisma: Quel ORM TypeScript choisir?
Drizzle et Prisma diffĂšrent dans leur façon de concevoir le rĂŽle dâun ORM. Je vous explique comment, et pourquoi cette diffĂ©rence peut vous aider Ă choisir entre lâun ou lâautre pour vos projects NodeJS / NextJS.
React Email + Resend dans NextJS
Cette semaine sur la chaine anglophone nous avons examiné pourquoi la programmation des emails est un tel gùchis, comment React Email aide à résoudre le problÚme, et comment l'intégrer dans Next JS avec Resend.
Voici (en anglais) 5 astuces pour aider le chef de projet dans votre vie à mieux écrire des tickets de bugs ou de demande de fonctionalité :)
Merci đ
Merci de mâavoir lu jusqu'ici. N'hĂ©sitez pas Ă me faire savoir ce que vous avez pensĂ© de ce numĂ©ro de la newsletter afin que je puisse mieux rĂ©pondre Ă vos besoins !
David de Kodaps
Comment écrire un ticket utile