prisma1
DISCONTINUED
graphql-helix
Our great sponsors
prisma1 | graphql-helix | |
---|---|---|
64 | 17 | |
16,816 | 831 | |
- | -0.5% | |
5.1 | 0.0 | |
over 1 year ago | 7 days ago | |
Scala | TypeScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
prisma1
-
Hyperstack - a new open source Node.js web framework with everything included
For more: https://github.com/prisma/prisma1/issues/3830
-
Show HN: WunderBase – Serverless OSS Database on Top of SQLite, Firecracker
Hey there, I'm Nikolas from the Prisma team. Just came here to quickly clarify this notion:
> Prisma is an API server that puts a GraphQL API in front of a DB.
Prisma is an ORM which generates a JavaScript/TypeScript client library for your database.
Your description is very true for Prisma 1 (which has been in maintenance mode for several years and is officially deprecated by now [1]), but the latest version(s) of Prisma (v2+) don't expose a GraphQL API any more. Prisma 1 also used GraphQL SDL for data modeling, the Prisma ORM on the other hand has its own, custom modeling language for describing database schemas in a declarative way and also comes with a flexible migration system.
That being said (and as Jens also mentioned elsewhere), the Prisma ORM does use GraphQL _internally_ as a wire protocol. However, as a developer, you _never_ touch this internal GraphQL layer and are not even supposed to be aware of it (you actually have to jump through a lot of hoops to even "find" it). It's also very likely that we'll replace GraphQL as a wire protocol in the future, so "GraphQL" really isn't something you should be thinking about as a developer who is using Prisma.
Hope that clarifies the situation a bit, let me know if you have any further questions around this topic.
-
Why is Prisma so popular and who the hell is using it for production?
Could you clarify this? Are you referring to the old Prisma 1 Cloud or the new Prisma Data Platform?
-
Comparing 4 popular NestJS ORMs
First released in 2019, Prisma is the newest ORM of the four we discussed. It will need time to get to a more mature state. Recently, the release of version 3 introduced a few breaking changes. There are also some existing issues noted in GitHub, such as that it does not support some Postgres column types.
-
Preferred SQL ORM
Mongoose is quite a standard also open-source, but Prisma is an emerging modern solution that seems to take the cake.
-
What is Blitz.js & How to Get Started With It
Well, here comes Blitz, the agnostic monolith. Take the database, for example - Blitz comes out-of-the-box with Prisma 2. However, you're free to switch to another one like Fauna or DynamoDB. The same goes for the configuration; deciding a folder structure, defining routing conventions, selecting a styling library, and adding authorization and authentication are all set up by default, but that doesn't mean you cannot go your own way.
-
Rakkas: Next.js alternative powered by Vite
There is also a RealWorld port (Rakkas implementation of the RealWorld specification), a simple but complete fullstack application demonstrating how to approach building a REST API, accessing your database (via Prisma), handling authentication, testing, and more.
-
Starting out with a Typescript role, any killer library recommendations I should know about?
For a different direction, there’s Prisma. A lot of people love it and they do a ton of developer outreach. I bet someone from the company that makes it will show up to comment now that their name has been mentioned. They released a schema migration tool sometime in the last six months that looks amazing and would probably convince me to give it a go if I was starting a new project. https://www.prisma.io/
-
Frameworks War
Express + Prisma
-
SE Internship Log[5]
One of the steps was seeding a database in a Prisma project. The Prisma CLI exposes a seed command, but at the time of writing this, it's a preview-feature and its implementation is being redesigned.
graphql-helix
-
Apollo Layoffs
Depends on language, I've build GraphQL servers in a few, though mostly JavaScript and Python. For Python I used to use Graphene, these days I use Strawberry.
For JavaScript, I originally used graphql-js and express-graphql, as these were the original libraries and I was a literal day 1 adopter. All the libraries are essentially just wrappers around graphql-js, so it's still viable to use directly. But for schema-building I now use Pothos (https://pothos-graphql.dev/), I'd probably use graphql-helix as the http layer (https://github.com/contra/graphql-helix).
-
Does Apollo GraphQL cost money to use in production? And other beginner questions about GraphQL
If you want a lower level graphql server https://graphql-helix.vercel.app/ or https://benzene.vercel.app/ might be worth checking out.
-
Code-first schema definition
While there are many GraphQL server packages available, we need one that will play nicely with Nuxt3's server engine (Nitro / h3). In the spirit of keeping things extensible and framework-agnostic, GraphQL Helix seems like a really good choice. Let's add it to our project:
-
What's next?
E.g. recently I found Graphql-helix, replaced apollo-server-micro with it and had never looked back ever since (incl. subscriptions), what else could be done better? Also in terms of DX
Looks interesting, have you tried graphql-helix?
-
a first look at graphQL helix
GraphQL Helix is a framework and runtime agnostic collection of utility functions for building your own GraphQL HTTP server. Instead of providing a complete HTTP server or middleware plugin function, GraphQL Helix only provides a handful of functions for turning an HTTP request into a GraphQL execution result. You decide how to send back the response.
-
Introducing Envelop - The GraphQL Plugin System
import { envelop, useSchema, useLogger } from '@envelop/core'; import fastify from 'fastify'; import { processRequest, getGraphQLParameters } from 'graphql-helix'; // This creates the `getEnveloped` function for us. Behind the scense the wrapped functions are created once, here. const getEnveloped = envelop({ plugins: [useSchema(schema), useLogger()], }); const app = fastify(); app.route({ method: ['POST'], url: '/graphql', async handler(req, res) { // Here we can pass the request and make available as part of the "context". // The return value is the a GraphQL-proxy that exposes all the functions. const { parse, validate, contextFactory, execute, schema } = getEnveloped({ req, }); const request = { body: req.body, headers: req.headers, method: req.method, query: req.query, }; const { operationName, query, variables } = getGraphQLParameters(request); // Here, we pass our custom functions to Helix, and it will take care of the rest. const result = await processRequest({ operationName, query, variables, request, schema, parse, validate, execute, contextFactory, }); if (result.type === 'RESPONSE') { res.status(result.status); res.send(result.payload); } else { // You can find a complete example with Subscriptions and stream/defer here: // https://github.com/contrawork/graphql-helix/blob/master/examples/fastify/server.ts res.send({ errors: [{ message: 'Not Supported in this demo' }] }); } }, }); app.listen(3000, () => { console.log(`GraphQL server is running...`); });
-
Subscriptions and Live Queries - Real Time with GraphQL
Fortunately, we now have libraries like Graphql Helix, which, in my humble opinion, should replace express-graphql as the reference HTTP implementation since GraphQL Helix is also not tied to any web server framework.
-
GraphQL - Diving Deep
If you are using Node.js there are a lot of implementations of GraphQL servers with a few being express-graphql, apollo-server, mercurius, graphql-helix and more. And if you are using other languages, you can see a great list here
-
The Stack #1
Graphql Helix
What are some alternatives?
graphql-yoga - 🧘 Rewrite of a fully-featured GraphQL Server with focus on easy setup, performance & great developer experience. The core of Yoga implements WHATWG Fetch API and can run/deploy on any JS environment.
apollo-server - 🌍 Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
mercurius - Implement GraphQL servers and gateways with Fastify
nestjs-graphql - GraphQL (TypeScript) module for Nest framework (node.js) 🍷
sveltekit-prisma - A sample repository to show how SvelteKit and Prisma work together.
graphql-jit - GraphQL execution using a JIT compiler
express-graphql - Create a GraphQL HTTP server with Express.
inertia-laravel - The Laravel adapter for Inertia.js.
graphql-ws - Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
envelop - Envelop is a lightweight library allowing developers to easily develop, share, collaborate and extend their GraphQL execution layer. Envelop is the missing GraphQL plugin system.
Hasura - Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
pothos - Pothos GraphQL is library for creating GraphQL schemas in typescript using a strongly typed code first approach