jaqt - Requêtes et transformations JavaScript
(github.com/muze-nl)- Un moteur de requêtes pour les
ArrayetObject, inspiré de GraphQL et de SQL - Une bibliothèque qui introduit en JavaScript des fonctionnalités de type GraphQL comme
Array.select()etArray.where()
from(data)
.where({
friends: 'John'
})
.select({
name: o => o.name+' '+o.lastName
})
4 commentaires
En voyant le code ci-dessus, ça me fait penser à Drizzle ORM.
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 ?
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
pushpermet 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 !
C’est le résultat de ma question posée à Perplexity.