6 points par xguru 2024-11-07 | 4 commentaires | Partager sur WhatsApp
  • Un moteur de requêtes pour les Array et Object, inspiré de GraphQL et de SQL
  • Une bibliothèque qui introduit en JavaScript des fonctionnalités de type GraphQL comme Array.select() et Array.where()
from(data)  
.where({  
	friends: 'John'  
})  
.select({  
	name: o => o.name+' '+o.lastName  
})  

4 commentaires

 
brain1401 2024-11-07

En voyant le code ci-dessus, ça me fait penser à Drizzle ORM.

 
wogns3623 2024-11-08

J’ai récemment découvert Drizzle ORM, mais est-ce un ORM orienté query builder comme les ORM existants de l’écosystème JS, par exemple knex ou typeorm ?

 
brain1401 2024-11-09

Drizzle adopte une approche un peu différente des ORM classiques. On peut le voir comme une « fine couche SQL » optimisée pour TypeScript.

Par rapport à Knex, la syntaxe et la manière de définir les schémas peuvent sembler similaires, mais il y a une grande différence en matière de prise en charge de TypeScript. Drizzle met beaucoup plus l’accent sur la sûreté des types. Là où Knex oblige à définir séparément le schéma et les types, Drizzle génère les deux à partir d’une seule définition, ce qui est plus pratique et réduit les erreurs.

Comparé à TypeORM, TypeORM est plus lourd et se rapproche davantage d’un ORM traditionnel. Drizzle est plus léger et plus performant, avec des avantages particulièrement nets dans les environnements serverless. D’après les benchmarks réels, Drizzle serait plusieurs fois plus rapide que TypeORM ou Prisma.

Autre point intéressant : Drizzle prend aussi bien en charge la gestion des migrations. Avec l’outil CLI Drizzle Kit, on peut générer automatiquement les fichiers de migration, et pendant le développement, la commande push permet d’appliquer simplement les modifications de schéma.

En résumé, Drizzle peut être considéré comme un query builder moderne, à la fois adapté à TypeScript, léger et performant. Je le recommande particulièrement à celles et ceux pour qui la sûreté des types et les performances sont importantes !

 
brain1401 2024-11-09

C’est le résultat de ma question posée à Perplexity.