"It's time to just ship" Lists 10 tools to start with.
Also, had the displeasure of using Prisma a while back. Extremely slow type generation, and complex to work with its client-server architecture. When your library requires a separate process you know you messed up.
If you want to just ship, pick up Next.js, or whatever you already know and add dependencies when you need them. Let thought leaders thought lead.
Interesting. Have you tried https://github.com/kysely-org/kysely ?
I know Prisma is an ORM and kysely is a "type-safe typescript SQL query builder" but I just wanted to know if you had the opportunity to try it and your opinion about it.
I'm searching for SQL typescript tooling for my next project.
I would recommend to use just good old database client and send your queries as text, nothing it's easier than that, every orm struggles when you want to do some relatively complex query, I struggled to do something like this with kysely `LEFT JOIN table2 ON (table1.id = tabl2.id AND table2.status = 1` was insane how complicated it was, sure you can pass raw sql, but what's the point of the orm then.
Have you tried Slonik (https://github.com/gajus/slonik)? It won't generate types from queries automatically, but it encourages writing SQL vs. a query builder and allows type annotations of queries with Zod. Query results are validated at runtime to ensure the queries are typed correctly.
It also does code generation into its own module, so good luck with hoisting in a monorepo where you want multiple independent prisma schemas. MikroORM[1] is a much better alternative to Prisma in my opinion but any ORM carries some form of baggage.
And that’s how you end with the 10 tools you started your comment with.
You can’t “just” start with next if you need authentication, translations, database acces, validations, csrf and other security protections, background jobs, permissions and a lot of other things that anything more complicated than a hello world will need.
If you want to just ship (anything more complicated than a landing page), start with Rails or Laravel.
I really do appreciate Prisma's developer experience though. Recently I've been testing out Prisma for migrations and Kysely as the actual ORM.
Prisma is generating the Kysely type definitions automatically so it is still pretty hands off without the production overhead of prisma server/client.
Also, had the displeasure of using Prisma a while back. Extremely slow type generation, and complex to work with its client-server architecture. When your library requires a separate process you know you messed up.
If you want to just ship, pick up Next.js, or whatever you already know and add dependencies when you need them. Let thought leaders thought lead.