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

chore(deps): update driver adapters directory (minor) #4579

Merged
merged 3 commits into from
Mar 14, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 16, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence Type Update Pending
@types/node (source) 20.10.8 -> 20.11.24 age adoption passing confidence devDependencies minor 20.11.25
esbuild 0.19.12 -> 0.20.1 age adoption passing confidence devDependencies minor
mitata ^0.1.6 -> 0.1.11 age adoption passing confidence dependencies pin
query-engine-wasm-baseline 0.0.19 -> 0.6.1 age adoption passing confidence dependencies minor
tsx ^4.7.0 -> 4.7.1 age adoption passing confidence devDependencies pin
undici (source) 6.6.2 -> 6.7.0 age adoption passing confidence dependencies minor 6.7.1
ws 8.14.2 -> 8.16.0 age adoption passing confidence dependencies minor

Release Notes

evanw/esbuild (esbuild)

v0.20.1

Compare Source

  • Fix a bug with the CSS nesting transform (#​3648)

    This release fixes a bug with the CSS nesting transform for older browsers where the generated CSS could be incorrect if a selector list contained a pseudo element followed by another selector. The bug was caused by incorrectly mutating the parent rule's selector list when filtering out pseudo elements for the child rules:

    /* Original code */
    .foo {
      &:after,
      & .bar {
        color: red;
      }
    }
    
    /* Old output (with --supported:nesting=false) */
    .foo .bar,
    .foo .bar {
      color: red;
    }
    
    /* New output (with --supported:nesting=false) */
    .foo:after,
    .foo .bar {
      color: red;
    }
  • Constant folding for JavaScript inequality operators (#​3645)

    This release introduces constant folding for the < > <= >= operators. The minifier will now replace these operators with true or false when both sides are compile-time numeric or string constants:

    // Original code
    console.log(1 < 2, '🍕' > '🧀')
    
    // Old output (with --minify)
    console.log(1<2,"🍕">"🧀");
    
    // New output (with --minify)
    console.log(!0,!1);
  • Better handling of __proto__ edge cases (#​3651)

    JavaScript object literal syntax contains a special case where a non-computed property with a key of __proto__ sets the prototype of the object. This does not apply to computed properties or to properties that use the shorthand property syntax introduced in ES6. Previously esbuild didn't correctly preserve the "sets the prototype" status of properties inside an object literal, meaning a property that sets the prototype could accidentally be transformed into one that doesn't and vice versa. This has now been fixed:

    // Original code
    function foo(__proto__) {
      return { __proto__: __proto__ } // Note: sets the prototype
    }
    function bar(__proto__, proto) {
      {
        let __proto__ = proto
        return { __proto__ } // Note: doesn't set the prototype
      }
    }
    
    // Old output
    function foo(__proto__) {
      return { __proto__ }; // Note: no longer sets the prototype (WRONG)
    }
    function bar(__proto__, proto) {
      {
        let __proto__2 = proto;
        return { __proto__: __proto__2 }; // Note: now sets the prototype (WRONG)
      }
    }
    
    // New output
    function foo(__proto__) {
      return { __proto__: __proto__ }; // Note: sets the prototype (correct)
    }
    function bar(__proto__, proto) {
      {
        let __proto__2 = proto;
        return { ["__proto__"]: __proto__2 }; // Note: doesn't set the prototype (correct)
      }
    }
  • Fix cross-platform non-determinism with CSS color space transformations (#​3650)

    The Go compiler takes advantage of "fused multiply and add" (FMA) instructions on certain processors which do the operation x*y + z without intermediate rounding. This causes esbuild's CSS color space math to differ on different processors (currently ppc64le and s390x), which breaks esbuild's guarantee of deterministic output. To avoid this, esbuild's color space math now inserts a float64() cast around every single math operation. This tells the Go compiler not to use the FMA optimization.

  • Fix a crash when resolving a path from a directory that doesn't exist (#​3634)

    This release fixes a regression where esbuild could crash when resolving an absolute path if the source directory for the path resolution operation doesn't exist. While this situation doesn't normally come up, it could come up when running esbuild concurrently with another operation that mutates the file system as esbuild is doing a build (such as using git to switch branches). The underlying problem was a regression that was introduced in version 0.18.0.

v0.20.0

Compare Source

This release deliberately contains backwards-incompatible changes. To avoid automatically picking up releases like this, you should either be pinning the exact version of esbuild in your package.json file (recommended) or be using a version range syntax that only accepts patch upgrades such as ^0.19.0 or ~0.19.0. See npm's documentation about semver for more information.

This time there is only one breaking change, and it only matters for people using Deno. Deno tests that use esbuild will now fail unless you make the change described below.

  • Work around API deprecations in Deno 1.40.x (#​3609, #​3611)

    Deno 1.40.0 was just released and introduced run-time warnings about certain APIs that esbuild uses. With this release, esbuild will work around these run-time warnings by using newer APIs if they are present and falling back to the original APIs otherwise. This should avoid the warnings without breaking compatibility with older versions of Deno.

    Unfortunately, doing this introduces a breaking change. The newer child process APIs lack a way to synchronously terminate esbuild's child process, so calling esbuild.stop() from within a Deno test is no longer sufficient to prevent Deno from failing a test that uses esbuild's API (Deno fails tests that create a child process without killing it before the test ends). To work around this, esbuild's stop() function has been changed to return a promise, and you now have to change esbuild.stop() to await esbuild.stop() in all of your Deno tests.

  • Reorder implicit file extensions within node_modules (#​3341, #​3608)

    In version 0.18.0, esbuild changed the behavior of implicit file extensions within node_modules directories (i.e. in published packages) to prefer .js over .ts even when the --resolve-extensions= order prefers .ts over .js (which it does by default). However, doing that also accidentally made esbuild prefer .css over .ts, which caused problems for people that published packages containing both TypeScript and CSS in files with the same name.

    With this release, esbuild will reorder TypeScript file extensions immediately after the last JavaScript file extensions in the implicit file extension order instead of putting them at the end of the order. Specifically the default implicit file extension order is .tsx,.ts,.jsx,.js,.css,.json which used to become .jsx,.js,.css,.json,.tsx,.ts in node_modules directories. With this release it will now become .jsx,.js,.tsx,.ts,.css,.json instead.

    Why even rewrite the implicit file extension order at all? One reason is because the .js file is more likely to behave correctly than the .ts file. The behavior of the .ts file may depend on tsconfig.json and the tsconfig.json file may not even be published, or may use extends to refer to a base tsconfig.json file that wasn't published. People can get into this situation when they forget to add all .ts files to their .npmignore file before publishing to npm. Picking .js over .ts helps make it more likely that resulting bundle will behave correctly.

nodejs/undici (undici)

v6.7.0

Compare Source

What's Changed

New Contributors

Full Changelog: nodejs/undici@v6.6.2...v6.7.0

websockets/ws (ws)

v8.16.0

Compare Source

Features

  • Added the autoPong option (01ba54e).

v8.15.1

Compare Source

Notable changes

  • The allowMultipleEventsPerMicrotask option has been renamed to
    allowSynchronousEvents (4ed7fe5).

This is a breaking change in a patch release that could have been avoided with
an alias, but the renamed option was added only 3 days ago, so hopefully it
hasn't already been widely used.

v8.15.0

Compare Source

Features

  • Added the allowMultipleEventsPerMicrotask option (93e3552).

Configuration

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

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

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

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot requested a review from a team as a code owner December 16, 2023 19:11
@renovate renovate bot requested review from ospfranco and Weakky and removed request for a team December 16, 2023 19:11
Copy link

adaptly-bot bot commented Dec 16, 2023

✅  ws

No breaking changes found.

Copy link
Contributor

github-actions bot commented Dec 16, 2023

WASM Size

Engine This PR Base branch Diff
Postgres 2.068MiB 2.073MiB -4.963KiB
Postgres (gzip) 816.227KiB 817.980KiB -1.753KiB
Mysql 2.038MiB 2.055MiB -18.140KiB
Mysql (gzip) 802.606KiB 809.957KiB -7.351KiB
Sqlite 1.929MiB 2.016MiB -89.340KiB
Sqlite (gzip) 762.290KiB 796.691KiB -34.402KiB

Copy link

codspeed-hq bot commented Dec 16, 2023

CodSpeed Performance Report

Merging #4579 will not alter performance

Comparing renovate/driver-adapters-directory (bc0206d) with main (3d9a0d6)

Summary

✅ 11 untouched benchmarks

@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch from fb5b986 to 255e43d Compare December 23, 2023 00:22
@renovate renovate bot changed the title fix(deps): update dependency ws to v8.15.0 fix(deps): pin dependencies Dec 23, 2023
Copy link
Contributor

github-actions bot commented Dec 23, 2023

✅ WASM query-engine performance won't change substantially (0.997x)

Full benchmark report
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/bench?schema=imdb_bench&sslmode=disable" \
node --experimental-wasm-modules query-engine/driver-adapters/executor/dist/bench.mjs
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
cpu: AMD EPYC 7763 64-Core Processor
runtime: node v18.19.1 (x64-linux)

benchmark                   time (avg)             (min … max)       p75       p99      p999
-------------------------------------------------------------- -----------------------------
• movies.findMany() (all - ~50K)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     285 ms/iter       (281 ms … 293 ms)    286 ms    293 ms    293 ms
Web Assembly: Latest       375 ms/iter       (370 ms … 386 ms)    377 ms    386 ms    386 ms
Web Assembly: Current      375 ms/iter       (372 ms … 379 ms)    378 ms    379 ms    379 ms
Node API: Current          199 ms/iter       (192 ms … 210 ms)    205 ms    210 ms    210 ms

summary for movies.findMany() (all - ~50K)
  Web Assembly: Current
   1.89x slower than Node API: Current
   1.32x slower than Web Assembly: Baseline
   1x faster than Web Assembly: Latest

• movies.findMany({ take: 2000 })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline  11'468 µs/iter (11'192 µs … 12'982 µs) 11'354 µs 12'982 µs 12'982 µs
Web Assembly: Latest    15'285 µs/iter (15'013 µs … 16'590 µs) 15'288 µs 16'590 µs 16'590 µs
Web Assembly: Current   15'223 µs/iter (15'042 µs … 16'115 µs) 15'202 µs 16'115 µs 16'115 µs
Node API: Current        8'021 µs/iter  (7'903 µs … 10'006 µs)  8'016 µs 10'006 µs 10'006 µs

summary for movies.findMany({ take: 2000 })
  Web Assembly: Current
   1.9x slower than Node API: Current
   1.33x slower than Web Assembly: Baseline
   1x faster than Web Assembly: Latest

• movies.findMany({ where: {...}, take: 2000 })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline   1'829 µs/iter   (1'743 µs … 2'771 µs)  1'825 µs  2'347 µs  2'771 µs
Web Assembly: Latest     2'435 µs/iter   (2'341 µs … 3'678 µs)  2'434 µs  3'188 µs  3'678 µs
Web Assembly: Current    2'423 µs/iter   (2'325 µs … 3'965 µs)  2'406 µs  3'781 µs  3'965 µs
Node API: Current        1'404 µs/iter   (1'337 µs … 1'799 µs)  1'412 µs  1'625 µs  1'799 µs

summary for movies.findMany({ where: {...}, take: 2000 })
  Web Assembly: Current
   1.73x slower than Node API: Current
   1.33x slower than Web Assembly: Baseline
   1.01x faster than Web Assembly: Latest

• movies.findMany({ include: { cast: true } take: 2000 }) (m2m)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     549 ms/iter       (545 ms … 561 ms)    556 ms    561 ms    561 ms
Web Assembly: Latest       731 ms/iter       (726 ms … 748 ms)    731 ms    748 ms    748 ms
Web Assembly: Current      724 ms/iter       (717 ms … 741 ms)    733 ms    741 ms    741 ms
Node API: Current          455 ms/iter       (447 ms … 469 ms)    460 ms    469 ms    469 ms

summary for movies.findMany({ include: { cast: true } take: 2000 }) (m2m)
  Web Assembly: Current
   1.59x slower than Node API: Current
   1.32x slower than Web Assembly: Baseline
   1.01x faster than Web Assembly: Latest

• movies.findMany({ where: {...}, include: { cast: true } take: 2000 }) (m2m)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline  76'245 µs/iter (76'048 µs … 76'559 µs) 76'422 µs 76'559 µs 76'559 µs
Web Assembly: Latest       103 ms/iter       (102 ms … 103 ms)    103 ms    103 ms    103 ms
Web Assembly: Current      102 ms/iter       (101 ms … 104 ms)    102 ms    104 ms    104 ms
Node API: Current       59'190 µs/iter (58'716 µs … 59'621 µs) 59'345 µs 59'621 µs 59'621 µs

summary for movies.findMany({ where: {...}, include: { cast: true } take: 2000 }) (m2m)
  Web Assembly: Current
   1.72x slower than Node API: Current
   1.33x slower than Web Assembly: Baseline
   1.01x faster than Web Assembly: Latest

• movies.findMany({ take: 2000, include: { cast: { include: { person: true } } } })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     973 ms/iter       (965 ms … 994 ms)    981 ms    994 ms    994 ms
Web Assembly: Latest     1'215 ms/iter   (1'203 ms … 1'233 ms)  1'226 ms  1'233 ms  1'233 ms
Web Assembly: Current    1'202 ms/iter   (1'192 ms … 1'218 ms)  1'216 ms  1'218 ms  1'218 ms
Node API: Current          882 ms/iter       (873 ms … 897 ms)    888 ms    897 ms    897 ms

summary for movies.findMany({ take: 2000, include: { cast: { include: { person: true } } } })
  Web Assembly: Current
   1.36x slower than Node API: Current
   1.23x slower than Web Assembly: Baseline
   1.01x faster than Web Assembly: Latest

• movie.findMany({ where: { ... }, take: 2000, include: { cast: { include: { person: true } } } })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     136 ms/iter       (136 ms … 137 ms)    136 ms    137 ms    137 ms
Web Assembly: Latest       169 ms/iter       (168 ms … 173 ms)    170 ms    173 ms    173 ms
Web Assembly: Current      168 ms/iter       (167 ms … 172 ms)    170 ms    172 ms    172 ms
Node API: Current          102 ms/iter       (101 ms … 103 ms)    103 ms    103 ms    103 ms

summary for movie.findMany({ where: { ... }, take: 2000, include: { cast: { include: { person: true } } } })
  Web Assembly: Current
   1.65x slower than Node API: Current
   1.24x slower than Web Assembly: Baseline
   1.01x faster than Web Assembly: Latest

• movie.findMany({ where: { reviews: { author: { ... } }, take: 100 }) (to-many -> to-one)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     866 µs/iter     (811 µs … 1'356 µs)    869 µs  1'263 µs  1'356 µs
Web Assembly: Latest     1'195 µs/iter   (1'133 µs … 1'743 µs)  1'199 µs  1'599 µs  1'743 µs
Web Assembly: Current    1'214 µs/iter   (1'141 µs … 1'926 µs)  1'212 µs  1'645 µs  1'926 µs
Node API: Current          766 µs/iter     (711 µs … 1'069 µs)    786 µs    942 µs  1'069 µs

summary for movie.findMany({ where: { reviews: { author: { ... } }, take: 100 }) (to-many -> to-one)
  Web Assembly: Current
   1.58x slower than Node API: Current
   1.4x slower than Web Assembly: Baseline
   1.02x slower than Web Assembly: Latest

• movie.findMany({ where: { cast: { person: { ... } }, take: 100 }) (m2m -> to-one)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     886 µs/iter     (815 µs … 1'597 µs)    866 µs  1'586 µs  1'597 µs
Web Assembly: Latest     1'189 µs/iter   (1'138 µs … 1'556 µs)  1'196 µs  1'476 µs  1'556 µs
Web Assembly: Current    1'198 µs/iter   (1'145 µs … 1'555 µs)  1'204 µs  1'485 µs  1'555 µs
Node API: Current          754 µs/iter      (712 µs … 1000 µs)    785 µs    854 µs   1000 µs

summary for movie.findMany({ where: { cast: { person: { ... } }, take: 100 }) (m2m -> to-one)
  Web Assembly: Current
   1.59x slower than Node API: Current
   1.35x slower than Web Assembly: Baseline
   1.01x slower than Web Assembly: Latest

After changes in bc0206d

@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch 2 times, most recently from 622e28f to 32417b9 Compare January 6, 2024 00:01
@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch 2 times, most recently from 7769236 to b833bc9 Compare January 20, 2024 00:24
@renovate renovate bot changed the title fix(deps): pin dependencies chore(deps): update driver adapters directory (minor) Jan 20, 2024
@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch from b833bc9 to cd6adca Compare January 27, 2024 02:47
@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch from cd6adca to 06ec1a2 Compare February 3, 2024 03:48
@renovate renovate bot changed the title chore(deps): update driver adapters directory (minor) fix(deps): update driver adapters directory (minor) Feb 3, 2024
@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch 5 times, most recently from eabee52 to 59681d4 Compare February 10, 2024 04:33
@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch 2 times, most recently from 73c1cd1 to e2760cd Compare February 17, 2024 00:42
@renovate renovate bot changed the title fix(deps): update driver adapters directory (minor) chore(deps): update driver adapters directory (minor) Feb 17, 2024
@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch 2 times, most recently from dc56afd to ebdfe46 Compare March 2, 2024 01:23
@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch 2 times, most recently from 2c20f3d to 273ac07 Compare March 7, 2024 14:24
@Jolg42 Jolg42 requested review from SevInf and removed request for ospfranco March 7, 2024 14:42
@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch from 273ac07 to a05c593 Compare March 9, 2024 01:59
@renovate renovate bot force-pushed the renovate/driver-adapters-directory branch from a05c593 to 55418a5 Compare March 10, 2024 18:54
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.

Making https://github.com/prisma/prisma-engines/pull/4579/files#r1519575306 explicit, query-engine-wasm-baseline must not be changed here.

Copy link
Contributor Author

renovate bot commented Mar 13, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

@jkomyno jkomyno self-assigned this Mar 13, 2024
@jkomyno jkomyno added this to the 5.12.0 milestone Mar 13, 2024
@jkomyno jkomyno requested a review from aqrln March 13, 2024 17:38
@Jolg42 Jolg42 self-assigned this Mar 14, 2024
@Jolg42 Jolg42 merged commit 93f79ec into main Mar 14, 2024
27 of 28 checks passed
@Jolg42 Jolg42 deleted the renovate/driver-adapters-directory branch March 14, 2024 09:02
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.

3 participants