Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: remove error messages for valid NixOS setups #20138

Merged

Conversation

Gerschtli
Copy link
Contributor

@Gerschtli Gerschtli commented Jul 9, 2023

This PR fixes the issues described in #17900. Please have a look at this ticket regarding the objective.

Basically with these changes, the error messages regarding not available precompiled engine files is now only shown if there is an error in the setup, if the environment variables are correctly used, no error is shown.

@Gerschtli Gerschtli requested a review from a team as a code owner July 9, 2023 17:13
@Gerschtli Gerschtli requested review from SevInf and aqrln and removed request for a team July 9, 2023 17:13
@CLAassistant
Copy link

CLAassistant commented Jul 9, 2023

CLA assistant check
All committers have signed the CLA.

@Gerschtli
Copy link
Contributor Author

If someone has some pointers for me, why some tests are failing, that would be highly appreciated :)

@janpio
Copy link
Member

janpio commented Jul 9, 2023

CI is flaky recently, so I just retriggered them. Let's see.

@Gerschtli
Copy link
Contributor Author

Ah okay, thanks, now it is only the test that already fails in main.

@janpio
Copy link
Member

janpio commented Jul 10, 2023

Yes, so your code seems to be good form that perspective. Sorry for the confusion, we'll hopefully get rid of that both soon.

@aqrln
Copy link
Member

aqrln commented Jul 18, 2023

Thank you for the PR @Gerschtli!

The core change looks good but I think requiring an additional environment variable for OpenSSL path is a bit superfluous. Instead, I'd prefer for OpenSSL search to be bypassed completely when the engines env vars are set (and therefore the warning too). That might require introducing a new platform type for Linux with unknown OpenSSL, so that's something to think about.

Now, talking about the suggested OPENSSL_LIB_DIR in general (e.g. for the use case it was suggested for in the other PR), the fundamental problem with it is that it can be set to whatever with no guarantees that this directory is known by the dynamic linker. While I can see how it would work on NixOS with full paths to libraries embedded into elf headers (disregarding for a moment that searching for OpenSSL to determine its version is pointless on NixOS with custom binaries in the first place), generally it would be too easy to misuse it and set it to a path from which OpenSSL couldn’t be loaded. It’s basically equivalent to allowing to forcefully override the detected OpenSSL version without checking anything, but with extra steps.

I can only see two use cases for this env var:

  1. To work around bugs or omissions in our detection logic.
  2. To override the path to OpenSSL when that path is non-standard an not in ld.so.conf, but instead configured via LD_LIBRARY_PATH env var.

As for (1), optimally we’d get bug reports and fix those issues.

As for (2), it’s better to just read LD_LIBRARY_PATH directly instead. In fact, this is an omission in our detection logic which we should add.

I think fixing (2) would even allow using our stock pre-built debian-openssl-3.0.x engines on NixOS with something like LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath [ openssl ]; in devShell.

@Gerschtli
Copy link
Contributor Author

Thank you for the review! That makes sense, I will have a look at replacing OPENSSL_LIB_DIR with LD_LIBRARY_PATH.

@Gerschtli Gerschtli force-pushed the feat/remove-error-messages-for-valid-nixos-setup branch 2 times, most recently from 6999af5 to 0ad18cb Compare July 18, 2023 15:36
@Gerschtli
Copy link
Contributor Author

I force-pushed a rebase onto latest main and only changed my first commit, PTAL :)

@aqrln
Copy link
Member

aqrln commented Jul 20, 2023

Sorry for missing the notification and taking a while to get back to you! What do you think about extracting the LD_LIBRARY_PATH patch to a separate PR we could iterate on them separately and merge whatever will be ready first quicker? I believe LD_LIBRARY_PATH change is very valuable on its own, but it's a bit orthogonal to the original goal of this PR, and my point still stands that requiring it just for the sake of suppressing the warnings is not the right approach when custom binaries are provided. The potential possibility of using it to for a completely new alternative approach for running Prisma on NixOS that would not require custom binaries is exciting though!

@Gerschtli Gerschtli force-pushed the feat/remove-error-messages-for-valid-nixos-setup branch from dfd3787 to 5da4fa6 Compare July 25, 2023 16:00
@Gerschtli
Copy link
Contributor Author

I split the PR into #20381 :)

aqrln added a commit to prisma/pris.ly that referenced this pull request Jul 27, 2023
Previously on nixos, an error message regarding not available
precompiled engine files was always printed. With this change, the error
message is only shown if the engine files were not configured correctly
via environment variables.

Fixes: prisma#17900
@Gerschtli Gerschtli force-pushed the feat/remove-error-messages-for-valid-nixos-setup branch from 5da4fa6 to 7e7da9c Compare July 27, 2023 20:06
Copy link
Member

@aqrln aqrln left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me!

I can confirm that with these changes the only warning that is printed is prisma:warn Prisma failed to detect the libssl/openssl version to use, and may not work as expected. Defaulting to "openssl-1.1.x"., which is already a big improvement.

While #20381 provides a way to get rid of that warning, I still don't think it is the right way when custom binaries are provided. I understand though if it's acceptable for you and you are okay with using it for this purpose.

Both PRs are neat and self-contained (and #20381 implements functionality that is useful for everyone, not just NixOS users), but there are some parts missing from the big picture if you'd like to continue working on this (or for us to tackle in the future).

Basically there are two separate tracks stemming from each of the two PRs:

  1. Based on this PR, we could skip OpenSSL resolution when all engine env vars are set, as it's just useless work and the result of that resolution is not used in any meaningful way when the env vars are provided (except for things like printing the current platform in prisma version output — we will have to handle that somehow). This will get rid of the OpenSSL warning on NixOS, and is a nice optimization for everyone using custom engines. Also potentially useful for shaving off some extra milliseconds (or even tens of milliseconds) from cold starts in serverless environments.
  2. Based on feat: Add support for LD_LIBRARY_PATH #20381, we could check if all the required shlibs are present in LD_LIBRARY_PATH (I guess we might also need to check for libgcc_s?) and download the debian binaries rather than bailing out with an error on NixOS. I think it might be a little convoluted but maybe worth exploring, at least as an experiment.

@aqrln aqrln added this to the 5.1.0 milestone Jul 28, 2023
@aqrln aqrln merged commit d9ed477 into prisma:main Jul 28, 2023
67 of 68 checks passed
@aqrln
Copy link
Member

aqrln commented Jul 28, 2023

And thank you so much for doing this!

@Gerschtli Gerschtli deleted the feat/remove-error-messages-for-valid-nixos-setup branch July 28, 2023 11:05
kodiakhq bot pushed a commit to weareinreach/InReach that referenced this pull request Aug 1, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@prisma/client](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma)) | [`5.0.0` -> `5.1.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.0.0/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma)) | [`5.0.0` -> `5.1.0`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.0.0/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| @​prisma/nextjs-monorepo-workaround-plugin | [`5.0.0` -> `5.1.0`](https://renovatebot.com/diffs/npm/@prisma%2fnextjs-monorepo-workaround-plugin/5.0.0/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fnextjs-monorepo-workaround-plugin/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fnextjs-monorepo-workaround-plugin/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fnextjs-monorepo-workaround-plugin/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fnextjs-monorepo-workaround-plugin/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prisma](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma)) | [`5.0.0` -> `5.1.0`](https://renovatebot.com/diffs/npm/prisma/5.0.0/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>prisma/prisma (@&#8203;prisma/client)</summary>

### [`v5.1.0`](https://togithub.com/prisma/prisma/releases/tag/5.1.0)

Today, we are excited to share the `5.1.0` stable release 🎉

🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v5.1.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.1.0) about the release.**

##### Highlights

After two big releases where we released Client extensions for production usage ([`4.16.0`](https://togithub.com/prisma/prisma/releases/tag/4.16.0)) and made Prisma faster by default ([`5.0.0`](https://togithub.com/prisma/prisma/releases/tag/5.0.0)), we have focused on some smaller issues to make the experience with these new features even better.

##### Community contributions

Our community has been on the roll! We appreciate everyone who helps us by opening a GitHub issue or proposing a fix via Pull Requests. In this release, we're excited to highlight multiple community contributions:

-   Fix IPv6 not working for relational databases: [prisma/prisma-engines#4051 by [@&#8203;alula](https://togithub.com/alula)
-   Middlewares: Add to `PrismaAction` type, missing `findUniqueOrThrow` and `findFirstOrThrow` [prisma/prisma#17471 by [@&#8203;mejiaej](https://togithub.com/mejiaej) and missing `groupBy` [prisma/prisma#19985 by [@&#8203;iurylippo](https://togithub.com/iurylippo)
-   Better error message in currently non-supported runtimes like Browser or Vercel Edge Runtime [prisma/prisma#20163 by [@&#8203;andyjy](https://togithub.com/andyjy)
-   Remove error messages for valid NixOS setups [prisma/prisma#20138 by [@&#8203;Gerschtli](https://togithub.com/Gerschtli)

##### Better performance: Fewer SQL queries on PostgreSQL & CockroachDB

In our continued and ongoing work to make Prisma faster, we identified some Prisma Client queries that led to multiple SQL statements being executed — although in specific databases, that was not necessary.

Hence we optimized our internal SQL generation for PostgreSQL and CockroachDB to generate more efficient SQL queries:

##### Simple `create` query

In a simple `create` query, `RETURNING` makes the second query and the transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.create({ 
  data: { name: "Original name" } 
})
```

##### Before v5.1.0

```sql
BEGIN
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id"
SELECT "User"."id", "User"."name" FROM "User" WHERE "User"."id" = $1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id", "User"."name"
```

##### Simple `update` query

For a simple `update` query, `RETURNING` makes both additional queries and the transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" } 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 3) and omits the transaction
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
```

##### Simple `update` query, return with relation value

One `SELECT` query could easily be dropped in a simple `update` query that should return a relation value as well:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" }, 
  includes: { posts: true }  
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 4)
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### Empty `update` query

An empty `update` query can be optimized to skip the transaction and the second identical query by creating specific handling for this edge case in our code:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {}, 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
SELECT id, name FROM "User" WHERE "User".id = 1;
```

##### Simple + relation `update` query (but do not return relation value)

An update of both the model and its relation, we could drop 2 `SELECT` queries that we did before without ever using their return values:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {
    name: "updated",
    posts: {
      update: {
        where: { id: 1 },
        data: {
          title: "updated"
        }
      }
    }
  }
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 5) 
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
COMMIT
```

In the next releases, we will continue optimizing Prisma Client queries to only run the minimal amount of SQL queries necessary.

If you notice any Prisma Client queries that are affected right now, please check the issues under [our `performance/queries` label](https://togithub.com/prisma/prisma/labels/topic%3A%20performance%2Fqueries). If you didn’t find one for what you’re seeing, please [create a new issue](https://togithub.com/prisma/prisma/issues). This will be super useful for us to understand all (edge) cases. Thank you!

##### Prisma Studio now supports `directUrl`

Our CLI command `prisma studio` that opens Prisma Studio now also can use the [`directUrl`](https://www.prisma.io/docs/guides/performance-and-optimization/connection-management#external-connection-poolers) property of the `datasource` block so you can make it talk to a different database than defined in `url`. This makes it easier to use Studio alongside the Prisma Data Proxy and [Accelerate](https://www.prisma.io/accelerate).

##### Prisma Client: No more type clashes

We fixed (almost) all cases where using a specific term as a model name in your Prisma Schema would lead to a *type clash* due to Prisma’s generated typings. As a result of a type clash, it was not possible to use that model in your code (this was e.g. the case if you named a model `Model` or `ModelUpdate`).

We also deprecated the `<ModelName>Args` type as part of that fix. Going forward, `<ModelName>DefaultArgs` should be used instead.

##### Fixes and improvements

##### Prisma Client

-   [Reduce the number of generated SQL statements for Updates/Inserts](https://togithub.com/prisma/prisma/issues/5043)
-   [\[v2.17.0\] Missing client TS types Aggregate\*Args](https://togithub.com/prisma/prisma/issues/5749)
-   [Reduce transactions for writes](https://togithub.com/prisma/prisma/issues/5919)
-   [Incorrect Include typings when having models called `X` and `XUpdate`](https://togithub.com/prisma/prisma/issues/7518)
-   [Model named "Check" is incorrectly typed](https://togithub.com/prisma/prisma/issues/7655)
-   [Models named Query cause an internal GraphQL Parse Error](https://togithub.com/prisma/prisma/issues/8153)
-   [Naming an entity "Query" leads to an error](https://togithub.com/prisma/prisma/issues/9307)
-   [Type name clash when `Model` and `ModelUpdate` is defined in the schema ](https://togithub.com/prisma/prisma/issues/9568)
-   [Duplicate identifier 'CheckSelect'](https://togithub.com/prisma/prisma/issues/9669)
-   [`@prisma/internals` (previously @&#8203;prisma/sdk) uses deprecated dependencies `uuid@3.4.0` via `temp-write 4.0.0`](https://togithub.com/prisma/prisma/issues/11960)
-   [naming a model `Datasource` breaks generated return types](https://togithub.com/prisma/prisma/issues/12332)
-   [Certain `model` names cause clashes in generated types](https://togithub.com/prisma/prisma/issues/12469)
-   [Type error on query with select field (although query runs successfully)](https://togithub.com/prisma/prisma/issues/15615)
-   [`$extends` TS error: "Inferred type of this node exceeds the maximum length the compiler will serialize" with `"declaration": true` in `tsconfig`](https://togithub.com/prisma/prisma/issues/16536)
-   [Update operation includes multiple where statements for the same fields](https://togithub.com/prisma/prisma/issues/16864)
-   [Type conflict when naming a table {something} and a second table {something}Result  ](https://togithub.com/prisma/prisma/issues/16940)
-   [`Type '"findUniqueOrThrow"' is not assignable to type 'PrismaAction'`](https://togithub.com/prisma/prisma/issues/17470)
-   [Naming a model `Promise` breaks types for `PrismaPromise`](https://togithub.com/prisma/prisma/issues/17542)
-   [Prisma can't connect with an IPv6 host (on e.g. Fly.io)](https://togithub.com/prisma/prisma/issues/18079)
-   [`include` not working on models ending with `...Update` with unique compound index](https://togithub.com/prisma/prisma/issues/18902)
-   [Prisma Client: fixing type name clashes from generated client](https://togithub.com/prisma/prisma/issues/19811)
-   [Prisma Client: wrong type when using spread operator to set default values on query args](https://togithub.com/prisma/prisma/issues/19962)
-   [The generated updateArgs have no update attribute](https://togithub.com/prisma/prisma/issues/19967)
-   [4.16.1 breaks type check](https://togithub.com/prisma/prisma/issues/19999)
-   [`LogLevel` enum conflicts with built-in Prisma type](https://togithub.com/prisma/prisma/issues/20031)
-   [Using `Prisma.XyzFindManyArgs` breaks `findMany` typing in v4.16.0+](https://togithub.com/prisma/prisma/issues/20093)
-   [`this.$on("beforeExit")` doesn't work anymore on 5.0.0](https://togithub.com/prisma/prisma/issues/20171)
-   [Wrong nullable types with fluent API in Prisma 5.0](https://togithub.com/prisma/prisma/issues/20183)
-   [`Error: Unknown value type` on nested create](https://togithub.com/prisma/prisma/issues/20192)
-   [Prisma 5.0 Migration `findUnique` on `@unique` columns that are enums](https://togithub.com/prisma/prisma/issues/20227)
-   [`<Tablename>UpsertArgs` select field does not match type for `db.<tablename>.upsert(item)`](https://togithub.com/prisma/prisma/issues/20243)
-   [TypeScript Error TS2322 when assigning JavaScript Date object to Prisma DateTime field](https://togithub.com/prisma/prisma/issues/20253)
-   [npm install of Prisma CLI fails on preinstall with no logs when Node.js version is lower than minimum](https://togithub.com/prisma/prisma/issues/20260)
-   [Types wrongly accept non-array parameter `by` in `groupBy` in 5.0.0](https://togithub.com/prisma/prisma/issues/20261)
-   [CLI errors with `TypeError [ERR_INVALID_URL]: Invalid URL` when `HTTP(S)_PROXY` en var has is set to a URL without a protocol](https://togithub.com/prisma/prisma/issues/20302)
-   [`tsc --watch` fails with `JavaScript heap out of memory` error](https://togithub.com/prisma/prisma/issues/20308)
-   [Hovering over types (intellisense) shows confusing `GetResult`](https://togithub.com/prisma/prisma/issues/20320)
-   [Internal query batching fails when the table name is 'stores'](https://togithub.com/prisma/prisma/issues/20324)
-   [Client extensions: result extensions should be applied after query extensions](https://togithub.com/prisma/prisma/issues/20437)

##### Prisma Studio

-   [Use `directUrl` in `prisma studio`](https://togithub.com/prisma/prisma/issues/17358)

##### Language tools (e.g. VS Code)

-   [The extension for VS Code ignores the modern telemetry flag](https://togithub.com/prisma/language-tools/issues/1463)
-   [Prisma VS Code extension with mongodb provider crashes when a relation field/type is not defined ](https://togithub.com/prisma/language-tools/issues/1466)
-   [Editing schema.prisma results in wasm panics](https://togithub.com/prisma/language-tools/issues/1473)

##### Credits

Huge thanks to [@&#8203;skyzh](https://togithub.com/skyzh), [@&#8203;alula](https://togithub.com/alula), [@&#8203;michaelpoellath](https://togithub.com/michaelpoellath), [@&#8203;RobertCraigie](https://togithub.com/RobertCraigie), [@&#8203;Gerschtli](https://togithub.com/Gerschtli), [@&#8203;andyjy](https://togithub.com/andyjy), [@&#8203;mejiaej](https://togithub.com/mejiaej), [@&#8203;iurylippo](https://togithub.com/iurylippo), [@&#8203;mrazauskas](https://togithub.com/mrazauskas) for helping!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/weareinreach/InReach).



PR-URL: #692
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to PixelPizza/OurTube that referenced this pull request Aug 1, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@prisma/client](https://www.prisma.io)
([source](https://togithub.com/prisma/prisma)) | [`^5.0.0` ->
`^5.1.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.0.0/5.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint)
| [`6.2.0` ->
`6.2.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.2.0/6.2.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint)
| [`6.2.0` ->
`6.2.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.2.0/6.2.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [prisma](https://www.prisma.io)
([source](https://togithub.com/prisma/prisma)) | [`5.0.0` ->
`5.1.0`](https://renovatebot.com/diffs/npm/prisma/5.0.0/5.1.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>prisma/prisma (@&#8203;prisma/client)</summary>

### [`v5.1.0`](https://togithub.com/prisma/prisma/releases/tag/5.1.0)

[Compare
Source](https://togithub.com/prisma/prisma/compare/5.0.0...5.1.0)

Today, we are excited to share the `5.1.0` stable release 🎉

🌟 **Help us spread the word about Prisma by starring the
repo ☝️ or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v5.1.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.1.0) about
the release.**

### Highlights

After two big releases where we released Client extensions for
production usage
([`4.16.0`](https://togithub.com/prisma/prisma/releases/tag/4.16.0)) and
made Prisma faster by default
([`5.0.0`](https://togithub.com/prisma/prisma/releases/tag/5.0.0)), we
have focused on some smaller issues to make the experience with these
new features even better.

#### Community contributions

Our community has been on the roll! We appreciate everyone who helps us
by opening a GitHub issue or proposing a fix via Pull Requests. In this
release, we're excited to highlight multiple community contributions:

- Fix IPv6 not working for relational databases:
[prisma/prisma-engines#4051
by [@&#8203;alula](https://togithub.com/alula)
- Middlewares: Add to `PrismaAction` type, missing
`findUniqueOrThrow` and `findFirstOrThrow`
[prisma/prisma#17471
by [@&#8203;mejiaej](https://togithub.com/mejiaej) and missing `groupBy`
[prisma/prisma#19985
by [@&#8203;iurylippo](https://togithub.com/iurylippo)
- Better error message in currently non-supported runtimes like Browser
or Vercel Edge Runtime
[prisma/prisma#20163
by [@&#8203;andyjy](https://togithub.com/andyjy)
- Remove error messages for valid NixOS setups
[prisma/prisma#20138
by [@&#8203;Gerschtli](https://togithub.com/Gerschtli)

#### Better performance: Fewer SQL queries on PostgreSQL & CockroachDB

In our continued and ongoing work to make Prisma faster, we identified
some Prisma Client queries that led to multiple SQL statements being
executed — although in specific databases, that was not necessary.

Hence we optimized our internal SQL generation for PostgreSQL and
CockroachDB to generate more efficient SQL queries:

##### Simple `create` query

In a simple `create` query, `RETURNING` makes the second query and the
transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.create({ 
  data: { name: "Original name" } 
})
```

##### Before v5.1.0

```sql
BEGIN
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id"
SELECT "User"."id", "User"."name" FROM "User" WHERE "User"."id" = $1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id", "User"."name"
```

##### Simple `update` query

For a simple `update` query, `RETURNING` makes both additional queries
and the transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" } 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 3) and omits the transaction
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
```

##### Simple `update` query, return with relation value

One `SELECT` query could easily be dropped in a simple `update` query
that should return a relation value as well:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" }, 
  includes: { posts: true }  
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 4)
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### Empty `update` query

An empty `update` query can be optimized to skip the transaction and the
second identical query by creating specific handling for this edge case
in our code:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {}, 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
SELECT id, name FROM "User" WHERE "User".id = 1;
```

##### Simple + relation `update` query (but do not return relation
value)

An update of both the model and its relation, we could drop 2 `SELECT`
queries that we did before without ever using their return values:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {
    name: "updated",
    posts: {
      update: {
        where: { id: 1 },
        data: {
          title: "updated"
        }
      }
    }
  }
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 5) 
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
COMMIT
```

In the next releases, we will continue optimizing Prisma Client queries
to only run the minimal amount of SQL queries necessary.

If you notice any Prisma Client queries that are affected right now,
please check the issues under [our `performance/queries`
label](https://togithub.com/prisma/prisma/labels/topic%3A%20performance%2Fqueries).
If you didn’t find one for what you’re seeing, please [create a new
issue](https://togithub.com/prisma/prisma/issues). This will be super
useful for us to understand all (edge) cases. Thank you!

#### Prisma Studio now supports `directUrl`

Our CLI command `prisma studio` that opens Prisma Studio now also can
use the
[`directUrl`](https://www.prisma.io/docs/guides/performance-and-optimization/connection-management#external-connection-poolers)
property of the `datasource` block so you can make it talk to a
different database than defined in `url`. This makes it easier to use
Studio alongside the Prisma Data Proxy and
[Accelerate](https://www.prisma.io/accelerate).

#### Prisma Client: No more type clashes

We fixed (almost) all cases where using a specific term as a model name
in your Prisma Schema would lead to a *type clash* due to Prisma’s
generated typings. As a result of a type clash, it was not possible to
use that model in your code (this was e.g. the case if you named a model
`Model` or `ModelUpdate`).

We also deprecated the `<ModelName>Args` type as part of that fix. Going
forward, `<ModelName>DefaultArgs` should be used instead.

#### Fixes and improvements

##### Prisma Client

- [Reduce the number of generated SQL statements for
Updates/Inserts](https://togithub.com/prisma/prisma/issues/5043)
- [\[v2.17.0\] Missing client TS types
Aggregate\*Args](https://togithub.com/prisma/prisma/issues/5749)
- [Reduce transactions for
writes](https://togithub.com/prisma/prisma/issues/5919)
- [Incorrect Include typings when having models called `X` and
`XUpdate`](https://togithub.com/prisma/prisma/issues/7518)
- [Model named "Check" is incorrectly
typed](https://togithub.com/prisma/prisma/issues/7655)
- [Models named Query cause an internal GraphQL Parse
Error](https://togithub.com/prisma/prisma/issues/8153)
- [Naming an entity "Query" leads to an
error](https://togithub.com/prisma/prisma/issues/9307)
- [Type name clash when `Model` and `ModelUpdate` is defined in the
schema ](https://togithub.com/prisma/prisma/issues/9568)
- [Duplicate identifier
'CheckSelect'](https://togithub.com/prisma/prisma/issues/9669)
- [`@prisma/internals` (previously @&#8203;prisma/sdk) uses deprecated
dependencies `uuid@3.4.0` via `temp-write
4.0.0`](https://togithub.com/prisma/prisma/issues/11960)
- [naming a model `Datasource` breaks generated return
types](https://togithub.com/prisma/prisma/issues/12332)
- [Certain `model` names cause clashes in generated
types](https://togithub.com/prisma/prisma/issues/12469)
- [Type error on query with select field (although query runs
successfully)](https://togithub.com/prisma/prisma/issues/15615)
- [`$extends` TS error: "Inferred type of this node exceeds the maximum
length the compiler will serialize" with `"declaration": true` in
`tsconfig`](https://togithub.com/prisma/prisma/issues/16536)
- [Update operation includes multiple where statements for the same
fields](https://togithub.com/prisma/prisma/issues/16864)
- [Type conflict when naming a table {something} and a second table
{something}Result ](https://togithub.com/prisma/prisma/issues/16940)
- [`Type '"findUniqueOrThrow"' is not assignable to type
'PrismaAction'`](https://togithub.com/prisma/prisma/issues/17470)
- [Naming a model `Promise` breaks types for
`PrismaPromise`](https://togithub.com/prisma/prisma/issues/17542)
- [Prisma can't connect with an IPv6 host (on e.g.
Fly.io)](https://togithub.com/prisma/prisma/issues/18079)
- [`include` not working on models ending with `...Update` with unique
compound index](https://togithub.com/prisma/prisma/issues/18902)
- [Prisma Client: fixing type name clashes from generated
client](https://togithub.com/prisma/prisma/issues/19811)
- [Prisma Client: wrong type when using spread operator to set default
values on query args](https://togithub.com/prisma/prisma/issues/19962)
- [The generated updateArgs have no update
attribute](https://togithub.com/prisma/prisma/issues/19967)
- [4.16.1 breaks type
check](https://togithub.com/prisma/prisma/issues/19999)
- [`LogLevel` enum conflicts with built-in Prisma
type](https://togithub.com/prisma/prisma/issues/20031)
- [Using `Prisma.XyzFindManyArgs` breaks `findMany` typing in
v4.16.0+](https://togithub.com/prisma/prisma/issues/20093)
- [`this.$on("beforeExit")` doesn't work anymore on
5.0.0](https://togithub.com/prisma/prisma/issues/20171)
- [Wrong nullable types with fluent API in Prisma
5.0](https://togithub.com/prisma/prisma/issues/20183)
- [`Error: Unknown value type` on nested
create](https://togithub.com/prisma/prisma/issues/20192)
- [Prisma 5.0 Migration `findUnique` on `@unique` columns that are
enums](https://togithub.com/prisma/prisma/issues/20227)
- [`<Tablename>UpsertArgs` select field does not match type for
`db.<tablename>.upsert(item)`](https://togithub.com/prisma/prisma/issues/20243)
- [TypeScript Error TS2322 when assigning JavaScript Date object to
Prisma DateTime field](https://togithub.com/prisma/prisma/issues/20253)
- [npm install of Prisma CLI fails on preinstall with no logs when
Node.js version is lower than
minimum](https://togithub.com/prisma/prisma/issues/20260)
- [Types wrongly accept non-array parameter `by` in `groupBy` in
5.0.0](https://togithub.com/prisma/prisma/issues/20261)
- [CLI errors with `TypeError [ERR_INVALID_URL]: Invalid URL` when
`HTTP(S)_PROXY` en var has is set to a URL without a
protocol](https://togithub.com/prisma/prisma/issues/20302)
- [`tsc --watch` fails with `JavaScript heap out of memory`
error](https://togithub.com/prisma/prisma/issues/20308)
- [Hovering over types (intellisense) shows confusing
`GetResult`](https://togithub.com/prisma/prisma/issues/20320)
- [Internal query batching fails when the table name is
'stores'](https://togithub.com/prisma/prisma/issues/20324)
- [Client extensions: result extensions should be applied after query
extensions](https://togithub.com/prisma/prisma/issues/20437)

##### Prisma Studio

- [Use `directUrl` in `prisma
studio`](https://togithub.com/prisma/prisma/issues/17358)

##### Language tools (e.g. VS Code)

- [The extension for VS Code ignores the modern telemetry
flag](https://togithub.com/prisma/language-tools/issues/1463)
- [Prisma VS Code extension with mongodb provider crashes when a
relation field/type is not defined
](https://togithub.com/prisma/language-tools/issues/1466)
- [Editing schema.prisma results in wasm
panics](https://togithub.com/prisma/language-tools/issues/1473)

#### Credits

Huge thanks to [@&#8203;skyzh](https://togithub.com/skyzh),
[@&#8203;alula](https://togithub.com/alula),
[@&#8203;michaelpoellath](https://togithub.com/michaelpoellath),
[@&#8203;RobertCraigie](https://togithub.com/RobertCraigie),
[@&#8203;Gerschtli](https://togithub.com/Gerschtli),
[@&#8203;andyjy](https://togithub.com/andyjy),
[@&#8203;mejiaej](https://togithub.com/mejiaej),
[@&#8203;iurylippo](https://togithub.com/iurylippo),
[@&#8203;mrazauskas](https://togithub.com/mrazauskas) for helping!

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v6.2.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#621-2023-07-31)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1)

##### Bug Fixes

- **eslint-plugin:** \[no-inferrable-types] apply also for parameter
properties
([#&#8203;7288](https://togithub.com/typescript-eslint/typescript-eslint/issues/7288))
([67f93b1](https://togithub.com/typescript-eslint/typescript-eslint/commit/67f93b19f2e481a4e441635d72e81de9d5d7ad44))
- **scope-manager:** correct decorators(.length) check in ClassVisitor
for methods
([#&#8203;7334](https://togithub.com/typescript-eslint/typescript-eslint/issues/7334))
([abbb6c2](https://togithub.com/typescript-eslint/typescript-eslint/commit/abbb6c2c6d2bc1f8d4defd2060dbc473735b2cc7))

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/parser)</summary>

###
[`v6.2.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#621-2023-07-31)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/PixelPizza/OurTube).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNy4xIiwidXBkYXRlZEluVmVyIjoiMzYuMjcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to redwoodjs/redwood that referenced this pull request Aug 2, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@prisma/client](https://www.prisma.io)
([source](https://togithub.com/prisma/prisma)) | [`5.0.0` ->
`5.1.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.0.0/5.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@prisma/internals](https://www.prisma.io)
([source](https://togithub.com/prisma/prisma)) | [`5.0.0` ->
`5.1.0`](https://renovatebot.com/diffs/npm/@prisma%2finternals/5.0.0/5.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finternals/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finternals/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finternals/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finternals/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [prisma](https://www.prisma.io)
([source](https://togithub.com/prisma/prisma)) | [`5.0.0` ->
`5.1.0`](https://renovatebot.com/diffs/npm/prisma/5.0.0/5.1.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>prisma/prisma (@&#8203;prisma/client)</summary>

### [`v5.1.0`](https://togithub.com/prisma/prisma/releases/tag/5.1.0)

[Compare
Source](https://togithub.com/prisma/prisma/compare/5.0.0...5.1.0)

Today, we are excited to share the `5.1.0` stable release 🎉

🌟 **Help us spread the word about Prisma by starring the
repo ☝️ or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v5.1.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.1.0) about
the release.**

##### Highlights

After two big releases where we released Client extensions for
production usage
([`4.16.0`](https://togithub.com/prisma/prisma/releases/tag/4.16.0)) and
made Prisma faster by default
([`5.0.0`](https://togithub.com/prisma/prisma/releases/tag/5.0.0)), we
have focused on some smaller issues to make the experience with these
new features even better.

##### Community contributions

Our community has been on the roll! We appreciate everyone who helps us
by opening a GitHub issue or proposing a fix via Pull Requests. In this
release, we're excited to highlight multiple community contributions:

- Fix IPv6 not working for relational databases:
[prisma/prisma-engines#4051
by [@&#8203;alula](https://togithub.com/alula)
- Middlewares: Add to `PrismaAction` type, missing
`findUniqueOrThrow` and `findFirstOrThrow`
[prisma/prisma#17471
by [@&#8203;mejiaej](https://togithub.com/mejiaej) and missing `groupBy`
[prisma/prisma#19985
by [@&#8203;iurylippo](https://togithub.com/iurylippo)
- Better error message in currently non-supported runtimes like Browser
or Vercel Edge Runtime
[prisma/prisma#20163
by [@&#8203;andyjy](https://togithub.com/andyjy)
- Remove error messages for valid NixOS setups
[prisma/prisma#20138
by [@&#8203;Gerschtli](https://togithub.com/Gerschtli)

##### Better performance: Fewer SQL queries on PostgreSQL & CockroachDB

In our continued and ongoing work to make Prisma faster, we identified
some Prisma Client queries that led to multiple SQL statements being
executed — although in specific databases, that was not necessary.

Hence we optimized our internal SQL generation for PostgreSQL and
CockroachDB to generate more efficient SQL queries:

##### Simple `create` query

In a simple `create` query, `RETURNING` makes the second query and the
transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.create({ 
  data: { name: "Original name" } 
})
```

##### Before v5.1.0

```sql
BEGIN
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id"
SELECT "User"."id", "User"."name" FROM "User" WHERE "User"."id" = $1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id", "User"."name"
```

##### Simple `update` query

For a simple `update` query, `RETURNING` makes both additional queries
and the transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" } 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 3) and omits the transaction
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
```

##### Simple `update` query, return with relation value

One `SELECT` query could easily be dropped in a simple `update` query
that should return a relation value as well:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" }, 
  includes: { posts: true }  
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 4)
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### Empty `update` query

An empty `update` query can be optimized to skip the transaction and the
second identical query by creating specific handling for this edge case
in our code:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {}, 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
SELECT id, name FROM "User" WHERE "User".id = 1;
```

##### Simple + relation `update` query (but do not return relation
value)

An update of both the model and its relation, we could drop 2 `SELECT`
queries that we did before without ever using their return values:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {
    name: "updated",
    posts: {
      update: {
        where: { id: 1 },
        data: {
          title: "updated"
        }
      }
    }
  }
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 5) 
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
COMMIT
```

In the next releases, we will continue optimizing Prisma Client queries
to only run the minimal amount of SQL queries necessary.

If you notice any Prisma Client queries that are affected right now,
please check the issues under [our `performance/queries`
label](https://togithub.com/prisma/prisma/labels/topic%3A%20performance%2Fqueries).
If you didn’t find one for what you’re seeing, please [create a new
issue](https://togithub.com/prisma/prisma/issues). This will be super
useful for us to understand all (edge) cases. Thank you!

##### Prisma Studio now supports `directUrl`

Our CLI command `prisma studio` that opens Prisma Studio now also can
use the
[`directUrl`](https://www.prisma.io/docs/guides/performance-and-optimization/connection-management#external-connection-poolers)
property of the `datasource` block so you can make it talk to a
different database than defined in `url`. This makes it easier to use
Studio alongside the Prisma Data Proxy and
[Accelerate](https://www.prisma.io/accelerate).

##### Prisma Client: No more type clashes

We fixed (almost) all cases where using a specific term as a model name
in your Prisma Schema would lead to a *type clash* due to Prisma’s
generated typings. As a result of a type clash, it was not possible to
use that model in your code (this was e.g. the case if you named a model
`Model` or `ModelUpdate`).

We also deprecated the `<ModelName>Args` type as part of that fix. Going
forward, `<ModelName>DefaultArgs` should be used instead.

##### Fixes and improvements

##### Prisma Client

- [Reduce the number of generated SQL statements for
Updates/Inserts](https://togithub.com/prisma/prisma/issues/5043)
- [\[v2.17.0\] Missing client TS types
Aggregate\*Args](https://togithub.com/prisma/prisma/issues/5749)
- [Reduce transactions for
writes](https://togithub.com/prisma/prisma/issues/5919)
- [Incorrect Include typings when having models called `X` and
`XUpdate`](https://togithub.com/prisma/prisma/issues/7518)
- [Model named "Check" is incorrectly
typed](https://togithub.com/prisma/prisma/issues/7655)
- [Models named Query cause an internal GraphQL Parse
Error](https://togithub.com/prisma/prisma/issues/8153)
- [Naming an entity "Query" leads to an
error](https://togithub.com/prisma/prisma/issues/9307)
- [Type name clash when `Model` and `ModelUpdate` is defined in the
schema ](https://togithub.com/prisma/prisma/issues/9568)
- [Duplicate identifier
'CheckSelect'](https://togithub.com/prisma/prisma/issues/9669)
- [`@prisma/internals` (previously @&#8203;prisma/sdk) uses deprecated
dependencies `uuid@3.4.0` via `temp-write
4.0.0`](https://togithub.com/prisma/prisma/issues/11960)
- [naming a model `Datasource` breaks generated return
types](https://togithub.com/prisma/prisma/issues/12332)
- [Certain `model` names cause clashes in generated
types](https://togithub.com/prisma/prisma/issues/12469)
- [Type error on query with select field (although query runs
successfully)](https://togithub.com/prisma/prisma/issues/15615)
- [`$extends` TS error: "Inferred type of this node exceeds the maximum
length the compiler will serialize" with `"declaration": true` in
`tsconfig`](https://togithub.com/prisma/prisma/issues/16536)
- [Update operation includes multiple where statements for the same
fields](https://togithub.com/prisma/prisma/issues/16864)
- [Type conflict when naming a table {something} and a second table
{something}Result ](https://togithub.com/prisma/prisma/issues/16940)
- [`Type '"findUniqueOrThrow"' is not assignable to type
'PrismaAction'`](https://togithub.com/prisma/prisma/issues/17470)
- [Naming a model `Promise` breaks types for
`PrismaPromise`](https://togithub.com/prisma/prisma/issues/17542)
- [Prisma can't connect with an IPv6 host (on e.g.
Fly.io)](https://togithub.com/prisma/prisma/issues/18079)
- [`include` not working on models ending with `...Update` with unique
compound index](https://togithub.com/prisma/prisma/issues/18902)
- [Prisma Client: fixing type name clashes from generated
client](https://togithub.com/prisma/prisma/issues/19811)
- [Prisma Client: wrong type when using spread operator to set default
values on query args](https://togithub.com/prisma/prisma/issues/19962)
- [The generated updateArgs have no update
attribute](https://togithub.com/prisma/prisma/issues/19967)
- [4.16.1 breaks type
check](https://togithub.com/prisma/prisma/issues/19999)
- [`LogLevel` enum conflicts with built-in Prisma
type](https://togithub.com/prisma/prisma/issues/20031)
- [Using `Prisma.XyzFindManyArgs` breaks `findMany` typing in
v4.16.0+](https://togithub.com/prisma/prisma/issues/20093)
- [`this.$on("beforeExit")` doesn't work anymore on
5.0.0](https://togithub.com/prisma/prisma/issues/20171)
- [Wrong nullable types with fluent API in Prisma
5.0](https://togithub.com/prisma/prisma/issues/20183)
- [`Error: Unknown value type` on nested
create](https://togithub.com/prisma/prisma/issues/20192)
- [Prisma 5.0 Migration `findUnique` on `@unique` columns that are
enums](https://togithub.com/prisma/prisma/issues/20227)
- [`<Tablename>UpsertArgs` select field does not match type for
`db.<tablename>.upsert(item)`](https://togithub.com/prisma/prisma/issues/20243)
- [TypeScript Error TS2322 when assigning JavaScript Date object to
Prisma DateTime field](https://togithub.com/prisma/prisma/issues/20253)
- [npm install of Prisma CLI fails on preinstall with no logs when
Node.js version is lower than
minimum](https://togithub.com/prisma/prisma/issues/20260)
- [Types wrongly accept non-array parameter `by` in `groupBy` in
5.0.0](https://togithub.com/prisma/prisma/issues/20261)
- [CLI errors with `TypeError [ERR_INVALID_URL]: Invalid URL` when
`HTTP(S)_PROXY` en var has is set to a URL without a
protocol](https://togithub.com/prisma/prisma/issues/20302)
- [`tsc --watch` fails with `JavaScript heap out of memory`
error](https://togithub.com/prisma/prisma/issues/20308)
- [Hovering over types (intellisense) shows confusing
`GetResult`](https://togithub.com/prisma/prisma/issues/20320)
- [Internal query batching fails when the table name is
'stores'](https://togithub.com/prisma/prisma/issues/20324)
- [Client extensions: result extensions should be applied after query
extensions](https://togithub.com/prisma/prisma/issues/20437)

##### Prisma Studio

- [Use `directUrl` in `prisma
studio`](https://togithub.com/prisma/prisma/issues/17358)

##### Language tools (e.g. VS Code)

- [The extension for VS Code ignores the modern telemetry
flag](https://togithub.com/prisma/language-tools/issues/1463)
- [Prisma VS Code extension with mongodb provider crashes when a
relation field/type is not defined
](https://togithub.com/prisma/language-tools/issues/1466)
- [Editing schema.prisma results in wasm
panics](https://togithub.com/prisma/language-tools/issues/1473)

##### Credits

Huge thanks to [@&#8203;skyzh](https://togithub.com/skyzh),
[@&#8203;alula](https://togithub.com/alula),
[@&#8203;michaelpoellath](https://togithub.com/michaelpoellath),
[@&#8203;RobertCraigie](https://togithub.com/RobertCraigie),
[@&#8203;Gerschtli](https://togithub.com/Gerschtli),
[@&#8203;andyjy](https://togithub.com/andyjy),
[@&#8203;mejiaej](https://togithub.com/mejiaej),
[@&#8203;iurylippo](https://togithub.com/iurylippo),
[@&#8203;mrazauskas](https://togithub.com/mrazauskas) for helping!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNy4xIiwidXBkYXRlZEluVmVyIjoiMzYuMjcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot added a commit to weareinreach/TransMascFutures that referenced this pull request Aug 4, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@prisma/client](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma)) | [`5.0.0` -> `5.1.1`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.0.0/5.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.0.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.0.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-a11y](https://togithub.com/storybookjs/storybook/tree/next/code/addons/a11y) ([source](https://togithub.com/storybookjs/storybook)) | [`7.1.1` -> `7.2.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-a11y/7.1.1/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-a11y/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-a11y/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-a11y/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-a11y/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-essentials](https://togithub.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://togithub.com/storybookjs/storybook)) | [`7.1.1` -> `7.2.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/7.1.1/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-interactions](https://togithub.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://togithub.com/storybookjs/storybook)) | [`7.1.1` -> `7.2.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/7.1.1/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-links](https://togithub.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://togithub.com/storybookjs/storybook)) | [`7.1.1` -> `7.2.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/7.1.1/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/addon-viewport](https://togithub.com/storybookjs/storybook/tree/next/code/addons/viewport) ([source](https://togithub.com/storybookjs/storybook)) | [`7.1.1` -> `7.2.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-viewport/7.1.1/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-viewport/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-viewport/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-viewport/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-viewport/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/blocks](https://togithub.com/storybookjs/storybook/tree/next/code/ui/blocks) ([source](https://togithub.com/storybookjs/storybook)) | [`7.1.1` -> `7.2.1`](https://renovatebot.com/diffs/npm/@storybook%2fblocks/7.1.1/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fblocks/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fblocks/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fblocks/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fblocks/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/nextjs](https://togithub.com/storybookjs/storybook/tree/next/code/frameworks/nextjs) ([source](https://togithub.com/storybookjs/storybook)) | [`7.1.1` -> `7.2.1`](https://renovatebot.com/diffs/npm/@storybook%2fnextjs/7.1.1/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fnextjs/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fnextjs/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fnextjs/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fnextjs/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@storybook/react](https://togithub.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://togithub.com/storybookjs/storybook)) | [`7.1.1` -> `7.2.1`](https://renovatebot.com/diffs/npm/@storybook%2freact/7.1.1/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@tanstack/react-query](https://tanstack.com/query) ([source](https://togithub.com/TanStack/query)) | [`4.32.0` -> `4.32.5`](https://renovatebot.com/diffs/npm/@tanstack%2freact-query/4.32.0/4.32.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-query/4.32.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tanstack%2freact-query/4.32.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tanstack%2freact-query/4.32.0/4.32.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-query/4.32.0/4.32.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@tanstack/react-query-devtools](https://tanstack.com/query) ([source](https://togithub.com/TanStack/query)) | [`4.32.0` -> `4.32.5`](https://renovatebot.com/diffs/npm/@tanstack%2freact-query-devtools/4.32.0/4.32.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-query-devtools/4.32.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tanstack%2freact-query-devtools/4.32.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tanstack%2freact-query-devtools/4.32.0/4.32.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-query-devtools/4.32.0/4.32.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@trpc/client](https://trpc.io) ([source](https://togithub.com/trpc/trpc)) | [`10.36.0` -> `10.37.1`](https://renovatebot.com/diffs/npm/@trpc%2fclient/10.36.0/10.37.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@trpc%2fclient/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@trpc%2fclient/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@trpc%2fclient/10.36.0/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@trpc%2fclient/10.36.0/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@trpc/next](https://trpc.io) ([source](https://togithub.com/trpc/trpc)) | [`10.36.0` -> `10.37.1`](https://renovatebot.com/diffs/npm/@trpc%2fnext/10.36.0/10.37.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@trpc%2fnext/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@trpc%2fnext/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@trpc%2fnext/10.36.0/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@trpc%2fnext/10.36.0/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@trpc/react-query](https://trpc.io) ([source](https://togithub.com/trpc/trpc)) | [`10.36.0` -> `10.37.1`](https://renovatebot.com/diffs/npm/@trpc%2freact-query/10.36.0/10.37.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@trpc%2freact-query/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@trpc%2freact-query/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@trpc%2freact-query/10.36.0/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@trpc%2freact-query/10.36.0/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@trpc/server](https://trpc.io) ([source](https://togithub.com/trpc/trpc)) | [`10.36.0` -> `10.37.1`](https://renovatebot.com/diffs/npm/@trpc%2fserver/10.36.0/10.37.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@trpc%2fserver/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@trpc%2fserver/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@trpc%2fserver/10.36.0/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@trpc%2fserver/10.36.0/10.37.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`18.17.1` -> `18.17.2`](https://renovatebot.com/diffs/npm/@types%2fnode/18.17.1/18.17.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/18.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/18.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/18.17.1/18.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/18.17.1/18.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`18.2.17` -> `18.2.18`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.17/18.2.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.2.17/18.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.2.17/18.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint) | [`6.2.0` -> `6.2.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.2.0/6.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint) | [`6.2.0` -> `6.2.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.2.0/6.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-config-prettier](https://togithub.com/prettier/eslint-config-prettier) | [`8.9.0` -> `8.10.0`](https://renovatebot.com/diffs/npm/eslint-config-prettier/8.9.0/8.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-config-prettier/8.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-config-prettier/8.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-config-prettier/8.9.0/8.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-config-prettier/8.9.0/8.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [listr2](https://togithub.com/listr2/listr2) | [`6.6.0` -> `6.6.1`](https://renovatebot.com/diffs/npm/listr2/6.6.0/6.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/listr2/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/listr2/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/listr2/6.6.0/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/listr2/6.6.0/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) | [`8.6.10` -> `8.6.11`](https://renovatebot.com/diffs/npm/pnpm/8.6.10/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/8.6.10/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/8.6.10/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prettier](https://prettier.io) ([source](https://togithub.com/prettier/prettier)) | [`3.0.0` -> `3.0.1`](https://renovatebot.com/diffs/npm/prettier/3.0.0/3.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prisma](https://www.prisma.io) ([source](https://togithub.com/prisma/prisma)) | [`5.0.0` -> `5.1.1`](https://renovatebot.com/diffs/npm/prisma/5.0.0/5.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.0.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.0.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react-i18next](https://togithub.com/i18next/react-i18next) | [`13.0.2` -> `13.0.3`](https://renovatebot.com/diffs/npm/react-i18next/13.0.2/13.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/13.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-i18next/13.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-i18next/13.0.2/13.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/13.0.2/13.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [storybook](https://togithub.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://togithub.com/storybookjs/storybook)) | [`7.1.1` -> `7.2.1`](https://renovatebot.com/diffs/npm/storybook/7.1.1/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/7.1.1/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [type-fest](https://togithub.com/sindresorhus/type-fest) | [`4.0.0` -> `4.1.0`](https://renovatebot.com/diffs/npm/type-fest/4.0.0/4.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/type-fest/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/type-fest/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/type-fest/4.0.0/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/type-fest/4.0.0/4.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>prisma/prisma (@&#8203;prisma/client)</summary>

### [`v5.1.1`](https://togithub.com/prisma/prisma/releases/tag/5.1.1)

[Compare Source](https://togithub.com/prisma/prisma/compare/5.1.0...5.1.1)

Today, we are issuing the `5.1.1` patch release.

#### Fixes in Prisma Client

-   [Browser bundle: Unhandled Runtime Error when upgrading to 5.1.0 from 5.0.0 ](https://togithub.com/prisma/prisma/issues/20480)
-   [Prisma Client: `disconnect: true` does not appear to delete the foreign key in the returned data](https://togithub.com/prisma/prisma/issues/20491)
-   [Prisma Client errors with "TypeError: Cannot create proxy with a non-object as target or handler" when using result client extension with no `needs` and `count` method](https://togithub.com/prisma/prisma/issues/20499)

### [`v5.1.0`](https://togithub.com/prisma/prisma/releases/tag/5.1.0)

[Compare Source](https://togithub.com/prisma/prisma/compare/5.0.0...5.1.0)

Today, we are excited to share the `5.1.0` stable release 🎉

🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v5.1.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.1.0) about the release.**

### Highlights

After two big releases where we released Client extensions for production usage ([`4.16.0`](https://togithub.com/prisma/prisma/releases/tag/4.16.0)) and made Prisma faster by default ([`5.0.0`](https://togithub.com/prisma/prisma/releases/tag/5.0.0)), we have focused on some smaller issues to make the experience with these new features even better.

#### Community contributions

Our community has been on the roll! We appreciate everyone who helps us by opening a GitHub issue or proposing a fix via Pull Requests. In this release, we're excited to highlight multiple community contributions:

-   Fix IPv6 not working for relational databases: [https://github.com/prisma/prisma-engines/pull/4051](https://togithub.com/prisma/prisma-engines/pull/4051) by [@&#8203;alula](https://togithub.com/alula)
-   Middlewares: Add to `PrismaAction` type, missing `findUniqueOrThrow` and `findFirstOrThrow` [https://github.com/prisma/prisma/pull/17471](https://togithub.com/prisma/prisma/pull/17471) by [@&#8203;mejiaej](https://togithub.com/mejiaej) and missing `groupBy` [https://github.com/prisma/prisma/pull/19985](https://togithub.com/prisma/prisma/pull/19985) by [@&#8203;iurylippo](https://togithub.com/iurylippo)
-   Better error message in currently non-supported runtimes like Browser or Vercel Edge Runtime [https://github.com/prisma/prisma/pull/20163](https://togithub.com/prisma/prisma/pull/20163) by [@&#8203;andyjy](https://togithub.com/andyjy)
-   Remove error messages for valid NixOS setups [https://github.com/prisma/prisma/pull/20138](https://togithub.com/prisma/prisma/pull/20138) by [@&#8203;Gerschtli](https://togithub.com/Gerschtli)

#### Better performance: Fewer SQL queries on PostgreSQL & CockroachDB

In our continued and ongoing work to make Prisma faster, we identified some Prisma Client queries that led to multiple SQL statements being executed — although in specific databases, that was not necessary.

Hence we optimized our internal SQL generation for PostgreSQL and CockroachDB to generate more efficient SQL queries:

##### Simple `create` query

In a simple `create` query, `RETURNING` makes the second query and the transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.create({ 
  data: { name: "Original name" } 
})
```

##### Before v5.1.0

```sql
BEGIN
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id"
SELECT "User"."id", "User"."name" FROM "User" WHERE "User"."id" = $1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id", "User"."name"
```

##### Simple `update` query

For a simple `update` query, `RETURNING` makes both additional queries and the transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" } 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 3) and omits the transaction
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
```

##### Simple `update` query, return with relation value

One `SELECT` query could easily be dropped in a simple `update` query that should return a relation value as well:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" }, 
  includes: { posts: true }  
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 4)
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### Empty `update` query

An empty `update` query can be optimized to skip the transaction and the second identical query by creating specific handling for this edge case in our code:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {}, 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
SELECT id, name FROM "User" WHERE "User".id = 1;
```

##### Simple + relation `update` query (but do not return relation value)

An update of both the model and its relation, we could drop 2 `SELECT` queries that we did before without ever using their return values:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {
    name: "updated",
    posts: {
      update: {
        where: { id: 1 },
        data: {
          title: "updated"
        }
      }
    }
  }
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 5) 
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
COMMIT
```

In the next releases, we will continue optimizing Prisma Client queries to only run the minimal amount of SQL queries necessary.

If you notice any Prisma Client queries that are affected right now, please check the issues under [our `performance/queries` label](https://togithub.com/prisma/prisma/labels/topic%3A%20performance%2Fqueries). If you didn’t find one for what you’re seeing, please [create a new issue](https://togithub.com/prisma/prisma/issues). This will be super useful for us to understand all (edge) cases. Thank you!

#### Prisma Studio now supports `directUrl`

Our CLI command `prisma studio` that opens Prisma Studio now also can use the [`directUrl`](https://www.prisma.io/docs/guides/performance-and-optimization/connection-management#external-connection-poolers) property of the `datasource` block so you can make it talk to a different database than defined in `url`. This makes it easier to use Studio alongside the Prisma Data Proxy and [Accelerate](https://www.prisma.io/accelerate).

#### Prisma Client: No more type clashes

We fixed (almost) all cases where using a specific term as a model name in your Prisma Schema would lead to a *type clash* due to Prisma’s generated typings. As a result of a type clash, it was not possible to use that model in your code (this was e.g. the case if you named a model `Model` or `ModelUpdate`).

We also deprecated the `<ModelName>Args` type as part of that fix. Going forward, `<ModelName>DefaultArgs` should be used instead.

#### Fixes and improvements

##### Prisma Client

-   [Reduce the number of generated SQL statements for Updates/Inserts](https://togithub.com/prisma/prisma/issues/5043)
-   [\[v2.17.0\] Missing client TS types Aggregate\*Args](https://togithub.com/prisma/prisma/issues/5749)
-   [Reduce transactions for writes](https://togithub.com/prisma/prisma/issues/5919)
-   [Incorrect Include typings when having models called `X` and `XUpdate`](https://togithub.com/prisma/prisma/issues/7518)
-   [Model named "Check" is incorrectly typed](https://togithub.com/prisma/prisma/issues/7655)
-   [Models named Query cause an internal GraphQL Parse Error](https://togithub.com/prisma/prisma/issues/8153)
-   [Naming an entity "Query" leads to an error](https://togithub.com/prisma/prisma/issues/9307)
-   [Type name clash when `Model` and `ModelUpdate` is defined in the schema ](https://togithub.com/prisma/prisma/issues/9568)
-   [Duplicate identifier 'CheckSelect'](https://togithub.com/prisma/prisma/issues/9669)
-   [`@prisma/internals` (previously @&#8203;prisma/sdk) uses deprecated dependencies `uuid@3.4.0` via `temp-write 4.0.0`](https://togithub.com/prisma/prisma/issues/11960)
-   [naming a model `Datasource` breaks generated return types](https://togithub.com/prisma/prisma/issues/12332)
-   [Certain `model` names cause clashes in generated types](https://togithub.com/prisma/prisma/issues/12469)
-   [Type error on query with select field (although query runs successfully)](https://togithub.com/prisma/prisma/issues/15615)
-   [`$extends` TS error: "Inferred type of this node exceeds the maximum length the compiler will serialize" with `"declaration": true` in `tsconfig`](https://togithub.com/prisma/prisma/issues/16536)
-   [Update operation includes multiple where statements for the same fields](https://togithub.com/prisma/prisma/issues/16864)
-   [Type conflict when naming a table {something} and a second table {something}Result  ](https://togithub.com/prisma/prisma/issues/16940)
-   [`Type '"findUniqueOrThrow"' is not assignable to type 'PrismaAction'`](https://togithub.com/prisma/prisma/issues/17470)
-   [Naming a model `Promise` breaks types for `PrismaPromise`](https://togithub.com/prisma/prisma/issues/17542)
-   [Prisma can't connect with an IPv6 host (on e.g. Fly.io)](https://togithub.com/prisma/prisma/issues/18079)
-   [`include` not working on models ending with `...Update` with unique compound index](https://togithub.com/prisma/prisma/issues/18902)
-   [Prisma Client: fixing type name clashes from generated client](https://togithub.com/prisma/prisma/issues/19811)
-   [Prisma Client: wrong type when using spread operator to set default values on query args](https://togithub.com/prisma/prisma/issues/19962)
-   [The generated updateArgs have no update attribute](https://togithub.com/prisma/prisma/issues/19967)
-   [4.16.1 breaks type check](https://togithub.com/prisma/prisma/issues/19999)
-   [`LogLevel` enum conflicts with built-in Prisma type](https://togithub.com/prisma/prisma/issues/20031)
-   [Using `Prisma.XyzFindManyArgs` breaks `findMany` typing in v4.16.0+](https://togithub.com/prisma/prisma/issues/20093)
-   [`this.$on("beforeExit")` doesn't work anymore on 5.0.0](https://togithub.com/prisma/prisma/issues/20171)
-   [Wrong nullable types with fluent API in Prisma 5.0](https://togithub.com/prisma/prisma/issues/20183)
-   [`Error: Unknown value type` on nested create](https://togithub.com/prisma/prisma/issues/20192)
-   [Prisma 5.0 Migration `findUnique` on `@unique` columns that are enums](https://togithub.com/prisma/prisma/issues/20227)
-   [`<Tablename>UpsertArgs` select field does not match type for `db.<tablename>.upsert(item)`](https://togithub.com/prisma/prisma/issues/20243)
-   [TypeScript Error TS2322 when assigning JavaScript Date object to Prisma DateTime field](https://togithub.com/prisma/prisma/issues/20253)
-   [npm install of Prisma CLI fails on preinstall with no logs when Node.js version is lower than minimum](https://togithub.com/prisma/prisma/issues/20260)
-   [Types wrongly accept non-array parameter `by` in `groupBy` in 5.0.0](https://togithub.com/prisma/prisma/issues/20261)
-   [CLI errors with `TypeError [ERR_INVALID_URL]: Invalid URL` when `HTTP(S)_PROXY` en var has is set to a URL without a protocol](https://togithub.com/prisma/prisma/issues/20302)
-   [`tsc --watch` fails with `JavaScript heap out of memory` error](https://togithub.com/prisma/prisma/issues/20308)
-   [Hovering over types (intellisense) shows confusing `GetResult`](https://togithub.com/prisma/prisma/issues/20320)
-   [Internal query batching fails when the table name is 'stores'](https://togithub.com/prisma/prisma/issues/20324)
-   [Client extensions result extensions should be applied after query extensions](https://togithub.com/prisma/prisma/issues/20437)

##### Prisma Studio

-   [Use `directUrl` in `prisma studio`](https://togithub.com/prisma/prisma/issues/17358)

##### Language tools (e.g. VS Code)

-   [The extension for VS Code ignores the modern telemetry flag](https://togithub.com/prisma/language-tools/issues/1463)
-   [Prisma VS Code extension with mongodb provider crashes when a relation field/type is not defined ](https://togithub.com/prisma/language-tools/issues/1466)
-   [Editing schema.prisma results in wasm panics](https://togithub.com/prisma/language-tools/issues/1473)

#### Credits

Huge thanks to [@&#8203;skyzh](https://togithub.com/skyzh), [@&#8203;alula](https://togithub.com/alula), [@&#8203;michaelpoellath](https://togithub.com/michaelpoellath), [@&#8203;RobertCraigie](https://togithub.com/RobertCraigie), [@&#8203;Gerschtli](https://togithub.com/Gerschtli), [@&#8203;andyjy](https://togithub.com/andyjy), [@&#8203;mejiaej](https://togithub.com/mejiaej), [@&#8203;iurylippo](https://togithub.com/iurylippo), [@&#8203;mrazauskas](https://togithub.com/mrazauskas) for helping!

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-a11y)</summary>

### [`v7.2.1`](https://togithub.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#721)

[Compare Source](https://togithub.com/storybookjs/storybook/compare/v7.2.0...v7.2.1)

-   Addon docs: Add safe check in Webpack preset - [#&#8203;23687](https://togithub.com/storybookjs/storybook/pull/23687), thanks [@&#8203;yannbf](https://togithub.com/yannbf)!
-   Autodocs: Fix docs pages ignoring `meta.id` when calculating their ID - [#&#8203;23520](https://togithub.com/storybookjs/storybook/pull/23520), thanks [@&#8203;sookmax](https://togithub.com/sookmax)!
-   CLI: Fix error logging being swallowed from dev/build failures - [#&#8203;23689](https://togithub.com/storybookjs/storybook/pull/23689), thanks [@&#8203;yannbf](https://togithub.com/yannbf)!
-   Channels: Remove self-referencing in `package.json` - [#&#8203;23681](https://togithub.com/storybookjs/storybook/pull/23681), thanks [@&#8203;stof](https://togithub.com/stof)!
-   UI: Fix ArgsTable empty state on docs - [#&#8203;23688](https://togithub.com/storybookjs/storybook/pull/23688), thanks [@&#8203;cdedreuille](https://togithub.com/cdedreuille)!
-   UI: Improve controls addon - [#&#8203;23635](https://togithub.com/storybookjs/storybook/pull/23635), thanks [@&#8203;cdedreuille](https://togithub.com/cdedreuille)!

### [`v7.2.0`](https://togithub.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#720)

[Compare Source](https://togithub.com/storybookjs/storybook/compare/v7.1.1...v7.2.0)

This month, we're going to experiment with our launch cycle by making smaller but more frequent releases. Our goal is to bring you new features more quickly, while also smoothing the upgrade process.

Storybook 7.2 is the first of these new, faster releases:

-   Automigration: Fix wrap-require automigration for common js main.js files - [#&#8203;23644](https://togithub.com/storybookjs/storybook/pull/23644), thanks [@&#8203;valentinpalkovic](https://togithub.com/valentinpalkovic)!
-   CSF Tools: Use recast for printing in csf-tools - [#&#8203;23427](https://togithub.com/storybookjs/storybook/pull/23427), thanks [@&#8203;kasperpeulen](https://togithub.com/kasperpeulen)!
-   CSF-tools: Parse stories using typescript keywords 'satisfies' and 'as' - [#&#8203;23638](https://togithub.com/storybookjs/storybook/pull/23638), thanks [@&#8203;joaonunomota](https://togithub.com/joaonunomota)!
-   Core: Fix channelOptions for serverChannel - [#&#8203;23615](https://togithub.com/storybookjs/storybook/pull/23615), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   NextJS: Add `@babel/core` as a dependency - [#&#8203;22450](https://togithub.com/storybookjs/storybook/pull/22450), thanks [@&#8203;valentinpalkovic](https://togithub.com/valentinpalkovic)!
-   Vite: Fix config loading - project directory - [#&#8203;22240](https://togithub.com/storybookjs/storybook/pull/22240), thanks [@&#8203;nVitius](https://togithub.com/nVitius)!
-   Angular: Fix initialization of Storybook in Angular 16.1 - [#&#8203;23598](https://togithub.com/storybookjs/storybook/pull/23598), thanks [@&#8203;valentinpalkovic](https://togithub.com/valentinpalkovic)!
-   Dependencies: Downgrade `jest-mock` - [#&#8203;23597](https://togithub.com/storybookjs/storybook/pull/23597), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   Dependencies: Upgrade simple-update-notifier - [#&#8203;23396](https://togithub.com/storybookjs/storybook/pull/23396), thanks [@&#8203;dartess](https://togithub.com/dartess)!
-   Storyshots: fix broken storyshots with angular - [#&#8203;23555](https://togithub.com/storybookjs/storybook/pull/23555), thanks [@&#8203;mattlewis92](https://togithub.com/mattlewis92)!
-   TypeScript: Added `expanded` to `CoreCommon_StorybookRefs` to fix typescript errors - [#&#8203;23488](https://togithub.com/storybookjs/storybook/pull/23488), thanks [@&#8203;DotwoodMedia](https://togithub.com/DotwoodMedia)!
-   TypeScript: Downgrade to the last version of type-fest that doesn't need typescript 5.0 - [#&#8203;23574](https://togithub.com/storybookjs/storybook/pull/23574), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   Vue2: Source Decorator reactivity - [#&#8203;23149](https://togithub.com/storybookjs/storybook/pull/23149), thanks [@&#8203;chakAs3](https://togithub.com/chakAs3)!
-   Router: Support RegExp in Route component - [#&#8203;23292](https://togithub.com/storybookjs/storybook/pull/23292), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   UI: Improve tabs component, more type correct, allow for FC as title - [#&#8203;23288](https://togithub.com/storybookjs/storybook/pull/23288), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   Addons: Improve code quality by using title as FC & sharing state via useAddonState - [#&#8203;23298](https://togithub.com/storybookjs/storybook/pull/23298), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   InteractionsAddon: Improve code quality by using title as FC & sharing state via useAddonState - [#&#8203;23291](https://togithub.com/storybookjs/storybook/pull/23291), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   UI: Add storyStatus to sidebar UI - [#&#8203;23342](https://togithub.com/storybookjs/storybook/pull/23342), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   Addon API: Add experimental page addon type - [#&#8203;23307](https://togithub.com/storybookjs/storybook/pull/23307), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   UI: refactor Canvas component so we can improve types for PREVIEW addons and TAB addons - [#&#8203;23311](https://togithub.com/storybookjs/storybook/pull/23311), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   UI: Improve Button layout and props - [#&#8203;23356](https://togithub.com/storybookjs/storybook/pull/23356), thanks [@&#8203;cdedreuille](https://togithub.com/cdedreuille)!
-   Dependencies: Remove references to api and the 2 deprecated channel packages - [#&#8203;23384](https://togithub.com/storybookjs/storybook/pull/23384), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   UI: Show the story status in the search results - [#&#8203;23441](https://togithub.com/storybookjs/storybook/pull/23441), thanks [@&#8203;ndelangen](https://togithub.com/ndelangen)!
-   UI: Create new form elements in the new Core UI (Input, TextArea, Select) - [#&#8203;23469](https://togithub.com/storybookjs/storybook/pull/23469), thanks [@&#8203;cdedreuille](https://togithub.com/cdedreuille)!

</details>

<details>
<summary>TanStack/query (@&#8203;tanstack/react-query)</summary>

### [`v4.32.5`](https://togithub.com/TanStack/query/releases/tag/v4.32.5)

[Compare Source](https://togithub.com/TanStack/query/compare/v4.32.1...v4.32.5)

Version 4.32.5 - 8/4/2023, 7:45 AM

##### Changes

##### Fix

-   Change pinned peerDeps to a range ([#&#8203;5833](https://togithub.com/TanStack/query/issues/5833)) ([`88bd699`](https://togithub.com/TanStack/query/commit/88bd699f)) by Daniel Basilio

##### Packages

-   [@&#8203;tanstack/query-core](https://togithub.com/tanstack/query-core)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/query-persist-client-core](https://togithub.com/tanstack/query-persist-client-core)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/query-async-storage-persister](https://togithub.com/tanstack/query-async-storage-persister)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/query-broadcast-client-experimental](https://togithub.com/tanstack/query-broadcast-client-experimental)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/query-sync-storage-persister](https://togithub.com/tanstack/query-sync-storage-persister)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/react-query](https://togithub.com/tanstack/react-query)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/react-query-devtools](https://togithub.com/tanstack/react-query-devtools)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/react-query-persist-client](https://togithub.com/tanstack/react-query-persist-client)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/solid-query](https://togithub.com/tanstack/solid-query)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/svelte-query](https://togithub.com/tanstack/svelte-query)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/vue-query](https://togithub.com/tanstack/vue-query)[@&#8203;4](https://togithub.com/4).32.5
-   [@&#8203;tanstack/eslint-plugin-query](https://togithub.com/tanstack/eslint-plugin-query)[@&#8203;4](https://togithub.com/4).32.5

### [`v4.32.1`](https://togithub.com/TanStack/query/releases/tag/v4.32.1)

[Compare Source](https://togithub.com/TanStack/query/compare/v4.32.0...v4.32.1)

Version 4.32.1 - 8/1/2023, 10:49 AM

#### Changes

##### Fix

-   \*: Update repository information in package.json ([#&#8203;5819](https://togithub.com/TanStack/query/issues/5819)) ([`10bf0ee`](https://togithub.com/TanStack/query/commit/10bf0eea)) by Daniel Basilio

##### Chore

-   fix import order ([`d7b1b84`](https://togithub.com/TanStack/query/commit/d7b1b841)) by Dominik Dorfmeister
-   update actions/setup-node@v3 in .github/workflows/\* ([#&#8203;5744](https://togithub.com/TanStack/query/issues/5744)) ([`792e0b2`](https://togithub.com/TanStack/query/commit/792e0b24)) by [@&#8203;manudeli](https://togithub.com/manudeli)

##### Docs

-   Update tkdodos-blog.md ([#&#8203;5793](https://togithub.com/TanStack/query/issues/5793)) ([`100ae76`](https://togithub.com/TanStack/query/commit/100ae76c)) by fmanseau

#### Packages

-   [@&#8203;tanstack/query-core](https://togithub.com/tanstack/query-core)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/query-persist-client-core](https://togithub.com/tanstack/query-persist-client-core)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/query-async-storage-persister](https://togithub.com/tanstack/query-async-storage-persister)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/query-broadcast-client-experimental](https://togithub.com/tanstack/query-broadcast-client-experimental)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/query-sync-storage-persister](https://togithub.com/tanstack/query-sync-storage-persister)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/react-query](https://togithub.com/tanstack/react-query)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/react-query-devtools](https://togithub.com/tanstack/react-query-devtools)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/react-query-persist-client](https://togithub.com/tanstack/react-query-persist-client)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/solid-query](https://togithub.com/tanstack/solid-query)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/svelte-query](https://togithub.com/tanstack/svelte-query)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/eslint-plugin-query](https://togithub.com/tanstack/eslint-plugin-query)[@&#8203;4](https://togithub.com/4).32.1
-   [@&#8203;tanstack/vue-query](https://togithub.com/tanstack/vue-query)[@&#8203;4](https://togithub.com/4).32.1

</details>

<details>
<summary>trpc/trpc (@&#8203;trpc/client)</summary>

### [`v10.37.1`](https://togithub.com/trpc/trpc/releases/tag/v10.37.1)

[Compare Source](https://togithub.com/trpc/trpc/compare/v10.37.0...v10.37.1)

##### What's Changed

-   fix(server): handle url encoded commas in batching by [@&#8203;KATT](https://togithub.com/KATT) in [https://github.com/trpc/trpc/pull/4686](https://togithub.com/trpc/trpc/pull/4686)

**Full Changelog**: https://github.com/trpc/trpc/compare/v10.37.0...v10.37.1

### [`v10.37.0`](https://togithub.com/trpc/trpc/releases/tag/v10.37.0)

[Compare Source](https://togithub.com/trpc/trpc/compare/v10.36.0...v10.37.0)

##### What's Changed

-   feat(server): add support for [Valibot](https://valibot.dev/) by [@&#8203;fabian-hiller](https://togithub.com/fabian-hiller) in [https://github.com/trpc/trpc/pull/4670](https://togithub.com/trpc/trpc/pull/4670)

##### New Contributors

-   [@&#8203;fabian-hiller](https://togithub.com/fabian-hiller) made their first contribution in [https://github.com/trpc/trpc/pull/4670](https://togithub.com/trpc/trpc/pull/4670)

**Full Changelog**: https://github.com/trpc/trpc/compare/v10.36.0...v10.37.0

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v6.2.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#621-2023-07-31)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1)

##### Bug Fixes

-   **eslint-plugin:** \[no-inferrable-types] apply also for parameter properties ([#&#8203;7288](https://togithub.com/typescript-eslint/typescript-eslint/issues/7288)) ([67f93b1](https://togithub.com/typescript-eslint/typescript-eslint/commit/67f93b19f2e481a4e441635d72e81de9d5d7ad44))
-   **scope-manager:** correct decorators(.length) check in ClassVisitor for methods ([#&#8203;7334](https://togithub.com/typescript-eslint/typescript-eslint/issues/7334)) ([abbb6c2](https://togithub.com/typescript-eslint/typescript-eslint/commit/abbb6c2c6d2bc1f8d4defd2060dbc473735b2cc7))

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v6.2.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#621-2023-07-31)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1)

**Note:** Version bump only for package [@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

<details>
<summary>prettier/eslint-config-prettier (eslint-config-prettier)</summary>

### [`v8.10.0`](https://togithub.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#Version-8100-2023-08-03)

[Compare Source](https://togithub.com/prettier/eslint-config-prettier/compare/v8.9.0...v8.10.0)

-   Added: \[max-statements-per-line]. Thanks to [@&#8203;Zamiell](https://togithub.com/Zamiell)!

</details>

<details>
<summary>listr2/listr2 (listr2)</summary>

### [`v6.6.1`](https://togithub.com/listr2/listr2/blob/HEAD/CHANGELOG.md#661-2023-07-30)

[Compare Source](https://togithub.com/listr2/listr2/compare/v6.6.0...260b7d31d6880257335a998553a65f7c8548cc67)

##### Bug Fixes

-   issue with splatting logs ([54f338b](https://togithub.com/listr2/listr2/commit/54f338b6a6cb7ee2c2805d71220c2e4c030b61d6))
-   update problem with splat and loggin ([f75cf22](https://togithub.com/listr2/listr2/commit/f75cf22b93636dd06ba6bbe4d75172bc42a1d45e))

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v8.6.11`](https://togithub.com/pnpm/pnpm/releases/tag/v8.6.11)

[Compare Source](https://togithub.com/pnpm/pnpm/compare/v8.6.10...v8.6.11)

#### Patch Changes

-   Change the install error message when a lockfile is wanted but absent to indicate the wanted lockfile is absent, not present. This now reflects the actual error [#&#8203;6851](https://togithub.com/pnpm/pnpm/pull/6851).
-   When dealing with a local dependency that is a path to a symlink, a new symlink should be created to the original symlink, not to the actual directory location.
-   The length of the temporary file names in the content-addressable store reduced in order to prevent `ENAMETOOLONG` errors from happening [#&#8203;6842](https://togithub.com/pnpm/pnpm/issues/6842).
-   Don't print "added" stats, when installing with `--lockfile-only`.
-   Installation of a git-hosted dependency should not fail if the `pnpm-lock.yaml` file of the installed dependency is not up-to-date [#&#8203;6865](https://togithub.com/pnpm/pnpm/issues/6865).
-   Don't ignore empty strings in params [#&#8203;6594](https://togithub.com/pnpm/pnpm/issues/6594).
-   Always set `dedupe-peer-dependents` to `false`, when running installation during deploy [#&#8203;6858](https://togithub.com/pnpm/pnpm/issues/6858).
-   When several containers use the same store simultaneously, there's a chance that multiple containers may create a temporary file at the same time. In such scenarios, pnpm could fail to rename the temporary file in one of the containers. This issue has been addressed: pnpm will no longer fail if the temporary file is absent but the destination file exists.
-   Authorization token should be found in the configuration, when the requested URL is explicitly specified with a default port (443 on HTTPS or 80 on HTTP) [#&#8203;6863](https://togithub.com/pnpm/pnpm/pull/6864).

#### Our Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a>
      </td>
      <td align="center" valign="middle">
        <a href="https://novu.co/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/novu.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/novu_light.svg" />
            <img src="https://pnpm.io/img/users/novu.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" />
            <img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://www.flightcontrol.dev/?ref=pnpm" target="_blank"><img src="https://pnpm.io/img/users/flightcontrol.svg" width="240"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Our Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" />
            <img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/depot.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/depot_light.svg" />
            <img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/moonrepo.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
            <img src="https://pnpm.io/img/users/moonrepo.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://www.thinkmill.com.au/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/thinkmill.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/thinkmill_light.svg" />
            <img src="https://pnpm.io/img/users/thinkmill.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/devowlio.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/devowlio.svg" />
            <img src="https://pnpm.io/img/users/devowlio.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

</details>

<details>
<summary>prettier/prettier (prettier)</summary>

### [`v3.0.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#301)

[Compare Source](https://togithub.com/prettier/prettier/compare/3.0.0...3.0.1)

[diff](https://togithub.com/prettier/prettier/compare/3.0.0...3.0.1)

##### Fix cursor positioning for a special case ([#&#8203;14812](https://togithub.com/prettier/prettier/pull

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/weareinreach/GLAAD).



PR-URL: https://github.com/weareinreach/GLAAD/pull/127
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
alexolivier pushed a commit to cerbos/query-plan-adapters that referenced this pull request Aug 7, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@prisma/client](https://www.prisma.io)
([source](https://togithub.com/prisma/prisma)) | [`5.0.0` ->
`5.1.1`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.0.0/5.1.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.0.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.0.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.17.1` ->
`18.17.3`](https://renovatebot.com/diffs/npm/@types%2fnode/18.17.1/18.17.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/18.17.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/18.17.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/18.17.1/18.17.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/18.17.1/18.17.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [mongoose](https://mongoosejs.com)
([source](https://togithub.com/Automattic/mongoose)) | [`7.4.1` ->
`7.4.2`](https://renovatebot.com/diffs/npm/mongoose/7.4.1/7.4.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/mongoose/7.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mongoose/7.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mongoose/7.4.1/7.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mongoose/7.4.1/7.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [prisma](https://www.prisma.io)
([source](https://togithub.com/prisma/prisma)) | [`5.0.0` ->
`5.1.1`](https://renovatebot.com/diffs/npm/prisma/5.0.0/5.1.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.0.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.0.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[supercharge/mongodb-github-action](https://togithub.com/supercharge/mongodb-github-action)
| `v1.9.0` -> `v1.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/github-tags/supercharge%2fmongodb-github-action/v1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/supercharge%2fmongodb-github-action/v1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/supercharge%2fmongodb-github-action/v1.9.0/v1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/supercharge%2fmongodb-github-action/v1.9.0/v1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| action | minor |

---

### Release Notes

<details>
<summary>prisma/prisma (@&#8203;prisma/client)</summary>

### [`v5.1.1`](https://togithub.com/prisma/prisma/releases/tag/5.1.1)

[Compare
Source](https://togithub.com/prisma/prisma/compare/5.1.0...5.1.1)

Today, we are issuing the `5.1.1` patch release.

#### Fixes in Prisma Client

- [Browser bundle: Unhandled Runtime Error when upgrading to 5.1.0 from
5.0.0 ](https://togithub.com/prisma/prisma/issues/20480)
- [Prisma Client: `disconnect: true` does not appear to delete the
foreign key in the returned
data](https://togithub.com/prisma/prisma/issues/20491)
- [Prisma Client errors with "TypeError: Cannot create proxy with a
non-object as target or handler" when using result client extension with
no `needs` and `count`
method](https://togithub.com/prisma/prisma/issues/20499)

### [`v5.1.0`](https://togithub.com/prisma/prisma/releases/tag/5.1.0)

[Compare
Source](https://togithub.com/prisma/prisma/compare/5.0.0...5.1.0)

Today, we are excited to share the `5.1.0` stable release 🎉

🌟 **Help us spread the word about Prisma by starring the
repo ☝️ or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v5.1.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.1.0) about
the release.**

### Highlights

After two big releases where we released Client extensions for
production usage
([`4.16.0`](https://togithub.com/prisma/prisma/releases/tag/4.16.0)) and
made Prisma faster by default
([`5.0.0`](https://togithub.com/prisma/prisma/releases/tag/5.0.0)), we
have focused on some smaller issues to make the experience with these
new features even better.

#### Community contributions

Our community has been on the roll! We appreciate everyone who helps us
by opening a GitHub issue or proposing a fix via Pull Requests. In this
release, we're excited to highlight multiple community contributions:

- Fix IPv6 not working for relational databases:
[prisma/prisma-engines#4051
by [@&#8203;alula](https://togithub.com/alula)
- Middlewares: Add to `PrismaAction` type, missing
`findUniqueOrThrow` and `findFirstOrThrow`
[prisma/prisma#17471
by [@&#8203;mejiaej](https://togithub.com/mejiaej) and missing `groupBy`
[prisma/prisma#19985
by [@&#8203;iurylippo](https://togithub.com/iurylippo)
- Better error message in currently non-supported runtimes like Browser
or Vercel Edge Runtime
[prisma/prisma#20163
by [@&#8203;andyjy](https://togithub.com/andyjy)
- Remove error messages for valid NixOS setups
[prisma/prisma#20138
by [@&#8203;Gerschtli](https://togithub.com/Gerschtli)

#### Better performance: Fewer SQL queries on PostgreSQL & CockroachDB

In our continued and ongoing work to make Prisma faster, we identified
some Prisma Client queries that led to multiple SQL statements being
executed — although in specific databases, that was not necessary.

Hence we optimized our internal SQL generation for PostgreSQL and
CockroachDB to generate more efficient SQL queries:

##### Simple `create` query

In a simple `create` query, `RETURNING` makes the second query and the
transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.create({ 
  data: { name: "Original name" } 
})
```

##### Before v5.1.0

```sql
BEGIN
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id"
SELECT "User"."id", "User"."name" FROM "User" WHERE "User"."id" = $1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
INSERT INTO "User" ("name") VALUES ($1) RETURNING "User"."id", "User"."name"
```

##### Simple `update` query

For a simple `update` query, `RETURNING` makes both additional queries
and the transaction statements obsolete:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" } 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 3) and omits the transaction
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
```

##### Simple `update` query, return with relation value

One `SELECT` query could easily be dropped in a simple `update` query
that should return a relation value as well:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: { name: "updated" }, 
  includes: { posts: true }  
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 4)
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, title FROM "Post" WHERE "Post"."userId" = 1;
COMMIT
```

##### Empty `update` query

An empty `update` query can be optimized to skip the transaction and the
second identical query by creating specific handling for this edge case
in our code:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {}, 
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 1 statement (instead of 2) and omits the transaction
SELECT id, name FROM "User" WHERE "User".id = 1;
```

##### Simple + relation `update` query (but do not return relation
value)

An update of both the model and its relation, we could drop 2 `SELECT`
queries that we did before without ever using their return values:

##### Prisma Client query

```ts
prisma.user.update({ 
  where: { id: 1 }, 
  data: {
    name: "updated",
    posts: {
      update: {
        where: { id: 1 },
        data: {
          title: "updated"
        }
      }
    }
  }
})
```

##### Before v5.1.0

```sql
BEGIN
SELECT id, name FROM "User" WHERE "User".id = 1;
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
SELECT id, name FROM "User" WHERE "User".id = 1;
COMMIT
```

##### 5.1.0 and later

```sql
-- Sends 3 statements (instead of 5) 
BEGIN
UPDATE "User" SET name = 'updated' WHERE "User".id = 1 RETURNING "User".id, "User".name;
SELECT "id", "postId" FROM "Post" WHERE "Post".id = 1;
UPDATE "Post" SET title = 'updated' WHERE "Post"."userId" = 1 AND "Post".id = 1;
COMMIT
```

In the next releases, we will continue optimizing Prisma Client queries
to only run the minimal amount of SQL queries necessary.

If you notice any Prisma Client queries that are affected right now,
please check the issues under [our `performance/queries`
label](https://togithub.com/prisma/prisma/labels/topic%3A%20performance%2Fqueries).
If you didn’t find one for what you’re seeing, please [create a new
issue](https://togithub.com/prisma/prisma/issues). This will be super
useful for us to understand all (edge) cases. Thank you!

#### Prisma Studio now supports `directUrl`

Our CLI command `prisma studio` that opens Prisma Studio now also can
use the
[`directUrl`](https://www.prisma.io/docs/guides/performance-and-optimization/connection-management#external-connection-poolers)
property of the `datasource` block so you can make it talk to a
different database than defined in `url`. This makes it easier to use
Studio alongside the Prisma Data Proxy and
[Accelerate](https://www.prisma.io/accelerate).

#### Prisma Client: No more type clashes

We fixed (almost) all cases where using a specific term as a model name
in your Prisma Schema would lead to a *type clash* due to Prisma’s
generated typings. As a result of a type clash, it was not possible to
use that model in your code (this was e.g. the case if you named a model
`Model` or `ModelUpdate`).

We also deprecated the `<ModelName>Args` type as part of that fix. Going
forward, `<ModelName>DefaultArgs` should be used instead.

#### Fixes and improvements

##### Prisma Client

- [Reduce the number of generated SQL statements for
Updates/Inserts](https://togithub.com/prisma/prisma/issues/5043)
- [\[v2.17.0\] Missing client TS types
Aggregate\*Args](https://togithub.com/prisma/prisma/issues/5749)
- [Reduce transactions for
writes](https://togithub.com/prisma/prisma/issues/5919)
- [Incorrect Include typings when having models called `X` and
`XUpdate`](https://togithub.com/prisma/prisma/issues/7518)
- [Model named "Check" is incorrectly
typed](https://togithub.com/prisma/prisma/issues/7655)
- [Models named Query cause an internal GraphQL Parse
Error](https://togithub.com/prisma/prisma/issues/8153)
- [Naming an entity "Query" leads to an
error](https://togithub.com/prisma/prisma/issues/9307)
- [Type name clash when `Model` and `ModelUpdate` is defined in the
schema ](https://togithub.com/prisma/prisma/issues/9568)
- [Duplicate identifier
'CheckSelect'](https://togithub.com/prisma/prisma/issues/9669)
- [`@prisma/internals` (previously @&#8203;prisma/sdk) uses deprecated
dependencies `uuid@3.4.0` via `temp-write
4.0.0`](https://togithub.com/prisma/prisma/issues/11960)
- [naming a model `Datasource` breaks generated return
types](https://togithub.com/prisma/prisma/issues/12332)
- [Certain `model` names cause clashes in generated
types](https://togithub.com/prisma/prisma/issues/12469)
- [Type error on query with select field (although query runs
successfully)](https://togithub.com/prisma/prisma/issues/15615)
- [`$extends` TS error: "Inferred type of this node exceeds the maximum
length the compiler will serialize" with `"declaration": true` in
`tsconfig`](https://togithub.com/prisma/prisma/issues/16536)
- [Update operation includes multiple where statements for the same
fields](https://togithub.com/prisma/prisma/issues/16864)
- [Type conflict when naming a table {something} and a second table
{something}Result ](https://togithub.com/prisma/prisma/issues/16940)
- [`Type '"findUniqueOrThrow"' is not assignable to type
'PrismaAction'`](https://togithub.com/prisma/prisma/issues/17470)
- [Naming a model `Promise` breaks types for
`PrismaPromise`](https://togithub.com/prisma/prisma/issues/17542)
- [Prisma can't connect with an IPv6 host (on e.g.
Fly.io)](https://togithub.com/prisma/prisma/issues/18079)
- [`include` not working on models ending with `...Update` with unique
compound index](https://togithub.com/prisma/prisma/issues/18902)
- [Prisma Client: fixing type name clashes from generated
client](https://togithub.com/prisma/prisma/issues/19811)
- [Prisma Client: wrong type when using spread operator to set default
values on query args](https://togithub.com/prisma/prisma/issues/19962)
- [The generated updateArgs have no update
attribute](https://togithub.com/prisma/prisma/issues/19967)
- [4.16.1 breaks type
check](https://togithub.com/prisma/prisma/issues/19999)
- [`LogLevel` enum conflicts with built-in Prisma
type](https://togithub.com/prisma/prisma/issues/20031)
- [Using `Prisma.XyzFindManyArgs` breaks `findMany` typing in
v4.16.0+](https://togithub.com/prisma/prisma/issues/20093)
- [`this.$on("beforeExit")` doesn't work anymore on
5.0.0](https://togithub.com/prisma/prisma/issues/20171)
- [Wrong nullable types with fluent API in Prisma
5.0](https://togithub.com/prisma/prisma/issues/20183)
- [`Error: Unknown value type` on nested
create](https://togithub.com/prisma/prisma/issues/20192)
- [Prisma 5.0 Migration `findUnique` on `@unique` columns that are
enums](https://togithub.com/prisma/prisma/issues/20227)
- [`<Tablename>UpsertArgs` select field does not match type for
`db.<tablename>.upsert(item)`](https://togithub.com/prisma/prisma/issues/20243)
- [TypeScript Error TS2322 when assigning JavaScript Date object to
Prisma DateTime field](https://togithub.com/prisma/prisma/issues/20253)
- [npm install of Prisma CLI fails on preinstall with no logs when
Node.js version is lower than
minimum](https://togithub.com/prisma/prisma/issues/20260)
- [Types wrongly accept non-array parameter `by` in `groupBy` in
5.0.0](https://togithub.com/prisma/prisma/issues/20261)
- [CLI errors with `TypeError [ERR_INVALID_URL]: Invalid URL` when
`HTTP(S)_PROXY` en var has is set to a URL without a
protocol](https://togithub.com/prisma/prisma/issues/20302)
- [`tsc --watch` fails with `JavaScript heap out of memory`
error](https://togithub.com/prisma/prisma/issues/20308)
- [Hovering over types (intellisense) shows confusing
`GetResult`](https://togithub.com/prisma/prisma/issues/20320)
- [Internal query batching fails when the table name is
'stores'](https://togithub.com/prisma/prisma/issues/20324)
- [Client extensions result extensions should be applied after query
extensions](https://togithub.com/prisma/prisma/issues/20437)

##### Prisma Studio

- [Use `directUrl` in `prisma
studio`](https://togithub.com/prisma/prisma/issues/17358)

##### Language tools (e.g. VS Code)

- [The extension for VS Code ignores the modern telemetry
flag](https://togithub.com/prisma/language-tools/issues/1463)
- [Prisma VS Code extension with mongodb provider crashes when a
relation field/type is not defined
](https://togithub.com/prisma/language-tools/issues/1466)
- [Editing schema.prisma results in wasm
panics](https://togithub.com/prisma/language-tools/issues/1473)

#### Credits

Huge thanks to [@&#8203;skyzh](https://togithub.com/skyzh),
[@&#8203;alula](https://togithub.com/alula),
[@&#8203;michaelpoellath](https://togithub.com/michaelpoellath),
[@&#8203;RobertCraigie](https://togithub.com/RobertCraigie),
[@&#8203;Gerschtli](https://togithub.com/Gerschtli),
[@&#8203;andyjy](https://togithub.com/andyjy),
[@&#8203;mejiaej](https://togithub.com/mejiaej),
[@&#8203;iurylippo](https://togithub.com/iurylippo),
[@&#8203;mrazauskas](https://togithub.com/mrazauskas) for helping!

</details>

<details>
<summary>Automattic/mongoose (mongoose)</summary>

###
[`v7.4.2`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#742--2023-08-03)

[Compare
Source](https://togithub.com/Automattic/mongoose/compare/70fa116eefce220901614378302b1233aff79934...9e0ca1217458e5051f85825b4a7e78c45d89f93c)

\==================

- fix(model): avoid hanging on empty bulkWrite() with ordered: false
[#&#8203;13684](https://togithub.com/Automattic/mongoose/issues/13684)
[#&#8203;13664](https://togithub.com/Automattic/mongoose/issues/13664)
- fix: Document.prototype.isModified support for a string of keys as
first parameter
[#&#8203;13674](https://togithub.com/Automattic/mongoose/issues/13674)
[#&#8203;13667](https://togithub.com/Automattic/mongoose/issues/13667)
[gastoncasini](https://togithub.com/gastoncasini)
- fix: disable id virtual if alias:id set
[#&#8203;13654](https://togithub.com/Automattic/mongoose/issues/13654)
[#&#8203;13650](https://togithub.com/Automattic/mongoose/issues/13650)
- fix: support timestamps:false on bulkWrite with updateOne and
updateMany
[#&#8203;13649](https://togithub.com/Automattic/mongoose/issues/13649)
[#&#8203;13611](https://togithub.com/Automattic/mongoose/issues/13611)
- docs(typescript): highlight auto type inference for methods and
statics, add info on using methods with generics
[#&#8203;13696](https://togithub.com/Automattic/mongoose/issues/13696)
[#&#8203;12942](https://togithub.com/Automattic/mongoose/issues/12942)
- docs(middleware): fix old example using post('remove')
[#&#8203;13683](https://togithub.com/Automattic/mongoose/issues/13683)
[#&#8203;13518](https://togithub.com/Automattic/mongoose/issues/13518)
- docs(deprecations): quick fix for includeResultMetadata docs
[#&#8203;13695](https://togithub.com/Automattic/mongoose/issues/13695)

</details>

<details>
<summary>supercharge/mongodb-github-action
(supercharge/mongodb-github-action)</summary>

###
[`v1.10.0`](https://togithub.com/supercharge/mongodb-github-action/releases/tag/v1.10.0):
1.10.0

[Compare
Source](https://togithub.com/supercharge/mongodb-github-action/compare/1.9.0...v1.10.0)

Release
[v1.10.0](https://togithub.com/supercharge/mongodb-github-action/releases/tag/v1.10.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - "after 9am and before 5pm Monday" (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/cerbos/query-plan-adapters).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNy4xIiwidXBkYXRlZEluVmVyIjoiMzYuMjcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants