HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
prisma
prisma-client-js
TypeScript2020–2020
prisma / prisma-client-js · Archived

prisma-client-js

Type-safe database client for TypeScript & Node.js (ORM replacement)

3Distinct people
3Mentions
0Explicit recommenders
1.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Type-safe database client for TypeScript & Node.js (ORM replacement)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week3 dated mentions

Observed mentions: 2020-06-09 15:03:38 UTC to 2020-11-01 07:50:08 UTC. Weeks start Monday, UTC.

0122020-06-08 00:00:00 UTC to 2020-06-15 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsJun 82020-06-15 00:00:00 UTC to 2020-06-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-22 00:00:00 UTC to 2020-06-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-29 00:00:00 UTC to 2020-07-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-06 00:00:00 UTC to 2020-07-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-13 00:00:00 UTC to 2020-07-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-20 00:00:00 UTC to 2020-07-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-27 00:00:00 UTC to 2020-08-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-08-03 00:00:00 UTC to 2020-08-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-08-10 00:00:00 UTC to 2020-08-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-08-17 00:00:00 UTC to 2020-08-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsAug 172020-08-24 00:00:00 UTC to 2020-08-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-08-31 00:00:00 UTC to 2020-09-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-07 00:00:00 UTC to 2020-09-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-14 00:00:00 UTC to 2020-09-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-21 00:00:00 UTC to 2020-09-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-28 00:00:00 UTC to 2020-10-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-10-05 00:00:00 UTC to 2020-10-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-10-12 00:00:00 UTC to 2020-10-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-10-19 00:00:00 UTC to 2020-10-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-10-26 00:00:00 UTC to 2020-11-02 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsOct 26

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jun 82020-06-08 00:00:00 UTC2020-06-15 00:00:00 UTC202
Jun 152020-06-15 00:00:00 UTC2020-06-22 00:00:00 UTC000
Jun 222020-06-22 00:00:00 UTC2020-06-29 00:00:00 UTC000
Jun 292020-06-29 00:00:00 UTC2020-07-06 00:00:00 UTC000
Jul 62020-07-06 00:00:00 UTC2020-07-13 00:00:00 UTC000
Jul 132020-07-13 00:00:00 UTC2020-07-20 00:00:00 UTC000
Jul 202020-07-20 00:00:00 UTC2020-07-27 00:00:00 UTC000
Jul 272020-07-27 00:00:00 UTC2020-08-03 00:00:00 UTC000
Aug 32020-08-03 00:00:00 UTC2020-08-10 00:00:00 UTC000
Aug 102020-08-10 00:00:00 UTC2020-08-17 00:00:00 UTC000
Aug 172020-08-17 00:00:00 UTC2020-08-24 00:00:00 UTC000
Aug 242020-08-24 00:00:00 UTC2020-08-31 00:00:00 UTC000
Aug 312020-08-31 00:00:00 UTC2020-09-07 00:00:00 UTC000
Sep 72020-09-07 00:00:00 UTC2020-09-14 00:00:00 UTC000
Sep 142020-09-14 00:00:00 UTC2020-09-21 00:00:00 UTC000
Sep 212020-09-21 00:00:00 UTC2020-09-28 00:00:00 UTC000
Sep 282020-09-28 00:00:00 UTC2020-10-05 00:00:00 UTC000
Oct 52020-10-05 00:00:00 UTC2020-10-12 00:00:00 UTC000
Oct 122020-10-12 00:00:00 UTC2020-10-19 00:00:00 UTC000
Oct 192020-10-19 00:00:00 UTC2020-10-26 00:00:00 UTC000
Oct 262020-10-26 00:00:00 UTC2020-11-02 00:00:00 UTC101

What Hacker News says

3 sources
I found Prisma 2.0 good for prototyping a service serving a GraphQL-compliant API. One of the features not mentioned here is that it supports a rudimentary form of database query batching (see: https://github.com/prisma/prisma-client-js/issues/153 ), and there seems to be interest in improving it. This helps one with solving the nplusone problem to some extent without having to maintain code specifically for DataLoader + some orm / custom query code. Comparatively, code via the Prisma Client API is usually straightforward and succinct.
In Prisma 2.0 – Type-safe and auto-generated database client
Prisma's architecture seems novel and ... a little strange to me. It works by running a Rust engine as a subprocess and then communicating with the engine from JS land over a non-spec compliant GraphQL API. The engine holds the actual databae connection pool and does all the SQL generation and data marshalling. See https://www.prisma.io/docs/reference/tools-and-interfaces/pr... for more info on this arrangement. It has some weird ramifications though: - when they go to implement a new feature (like recently added JSON column support) they have to implement it on both sides which can cause bugs like this: https://github.com/prisma/prisma/issues/2432 - they're a little limited to the semantics of GraphQL based RPC, which namely excludes any stateful stuff like arbitrary START TRANSACTION; blocks that might or might not commit. See https://g
Read the rest
ithub.com/prisma/prisma-client-js/issues/349 for more info on that - they don't run everywhere JavaScript runs like the browser or Cloudflare Workers (unless there's something fancy that compiles the engine to WASM I'm not aware of) I wonder if their intention is to re-use the engine between different JS processes for caching / sharding or something like that, or to add Prisma clients in other languages. Why create the indirection? I do like Prisma's type safety compared to the pure TypeScript alternatives like TypeORM and MikroORM -- it's really good at typing the results of specific queries and preventing you from accessing stuff that wasn't explicitly loaded. The style of the query language is the cleanest I've seen out of the three as well IMO. Edit: I think node modules can install arbitrary binaries to some serverless JS runtimes, not sure specifically about Cloudflare but I know their dev tool bundles JS using webpack, which would exclude other binaries from node_modules.
In Prisma 2.0 – Type-safe and auto-generated database client

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.