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

perf: improve isomorphic decode performance #1791

Merged
merged 1 commit into from
Nov 30, 2022

Conversation

anonrig
Copy link
Member

@anonrig anonrig commented Nov 30, 2022

No description provided.

@anonrig anonrig force-pushed the perf/isomorphic-decode branch 3 times, most recently from b1f2fc8 to c714b89 Compare November 30, 2022 00:43
Copy link
Member

@KhafraDev KhafraDev left a comment

Choose a reason for hiding this comment

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

Is there still a performance improvement?

Considering that a majority of inputs are likely less than 65k characters, would it be possible to use the initial implementation of String.fromCharCode(...input) only if the input is smaller than that? That way the small inputs have a fast path, and larger ones use a fallback (slower) method.

@anonrig
Copy link
Member Author

anonrig commented Nov 30, 2022

You are right @KhafraDev. I’ll update my pull request.

Copy link
Member

@ronag ronag left a comment

Choose a reason for hiding this comment

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

LGTM as a refactor... but I'm sceptical this is faster in any meaningful way

@mcollina
Copy link
Member

I don't think this could make things faster.

@anonrig
Copy link
Member Author

anonrig commented Nov 30, 2022

I've added the optimization recommended by @KhafraDev. Since the benchmark uses a payload greater than 65k in length, there seems to be a performance effect. I don't know if it's worth it.

Copy link
Member

@ronag ronag left a comment

Choose a reason for hiding this comment

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

Does this provide any significant perf improvement? I'm sceptical... Seems more like added complexity without benefit.

@anonrig
Copy link
Member Author

anonrig commented Nov 30, 2022

Does this provide any significant perf improvement? I'm sceptical... Seems more like added complexity without benefit.

I can revert to the previous change (without arguments length path), or just close this.

@ronag
Copy link
Member

ronag commented Nov 30, 2022

Does this provide any significant perf improvement? I'm sceptical... Seems more like added complexity without benefit.

I can revert to the previous change (without arguments length path), or just close this.

I'm fine with the reduce version.

@KhafraDev
Copy link
Member

If the original 3.8x faster benchmark is correct, it seems like an easy addition for better data url fetch performance without any side effects.

@anonrig
Copy link
Member Author

anonrig commented Nov 30, 2022

If the original 3.8x faster benchmark is correct, it seems like an easy addition for better data url fetch performance without any side effects.

In either scenario, this pull request is faster then previous implementation

╔═══════════════════╤═════════╤═══════════════════╤═══════════╗
║ Slower tests      │ Samples │            Result │ Tolerance ║
╟───────────────────┼─────────┼───────────────────┼───────────╢
║ slow-length-66000 │   10000 │    2390.91 op/sec │  ± 0.61 % ║
║ fast-length-66000 │   10000 │    2841.13 op/sec │  ± 0.72 % ║
║ slow-length-300   │   50000 │  588204.84 op/sec │  ± 0.94 % ║
╟───────────────────┼─────────┼───────────────────┼───────────╢
║ Fastest test      │ Samples │            Result │ Tolerance ║
╟───────────────────┼─────────┼───────────────────┼───────────╢
║ fast-length-300   │  100000 │ 2301211.51 op/sec │  ± 1.04 % ║
╚═══════════════════╧═════════╧═══════════════════╧═══════════╝
Implementation
import cronometro from 'cronometro'

const MAXIMUM_ARGUMENT_LENGTH = 65535

function slow(input) {
  let output = ''

  for (let i = 0; i < input.length; i++) {
    output += String.fromCharCode(input[i])
  }

  return output
}

function fast(input) {
  if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
    return String.fromCharCode(...input)
  }

  return input.reduce((previous, current) => previous + String.fromCharCode(current), '')
}

const value = new Array(300).fill(4)
const valueLarge = new Array(66000).fill(4)

cronometro({
  'slow-length-300'() {
    return slow(value)
  },
  'fast-length-300'() {
    return fast(value)
  },
  'slow-length-66000'() {
    return slow(valueLarge)
  },
  'fast-length-66000'() {
    return fast(valueLarge)
  }
}, { iterations: 100000 })

@ronag
Copy link
Member

ronag commented Nov 30, 2022

Yes, interestingly there is a significant perf diff with String.fromCharCode(...input). Confirmed with a separate benchmark also.

@ronag ronag merged commit 9fac791 into nodejs:main Nov 30, 2022
@anonrig anonrig deleted the perf/isomorphic-decode branch November 30, 2022 16:08
louis-bompart referenced this pull request in coveo/cli Dec 14, 2022
[![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 |
|---|---|---|---|---|---|---|---|
| [@coveo/platform-client](https://togithub.com/coveo/platform-client) |
[`37.12.0` ->
`37.13.0`](https://renovatebot.com/diffs/npm/@coveo%2fplatform-client/37.12.0/37.13.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@coveo%2fplatform-client/37.13.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@coveo%2fplatform-client/37.13.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@coveo%2fplatform-client/37.13.0/compatibility-slim/37.12.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@coveo%2fplatform-client/37.13.0/confidence-slim/37.12.0)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [@coveo/platform-client](https://togithub.com/coveo/platform-client) |
[`37.12.0` ->
`37.13.0`](https://renovatebot.com/diffs/npm/@coveo%2fplatform-client/37.12.0/37.13.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@coveo%2fplatform-client/37.13.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@coveo%2fplatform-client/37.13.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@coveo%2fplatform-client/37.13.0/compatibility-slim/37.12.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@coveo%2fplatform-client/37.13.0/confidence-slim/37.12.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@coveo/semantic-monorepo-tools](https://togithub.com/coveo/semantic-monorepo-tools)
| [`1.5.8` ->
`1.5.10`](https://renovatebot.com/diffs/npm/@coveo%2fsemantic-monorepo-tools/1.5.8/1.5.10)
|
[![age](https://badges.renovateapi.com/packages/npm/@coveo%2fsemantic-monorepo-tools/1.5.10/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@coveo%2fsemantic-monorepo-tools/1.5.10/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@coveo%2fsemantic-monorepo-tools/1.5.10/compatibility-slim/1.5.8)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@coveo%2fsemantic-monorepo-tools/1.5.10/confidence-slim/1.5.8)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [@mui/material](https://mui.com/material-ui/getting-started/overview/)
([source](https://togithub.com/mui/material-ui)) | [`5.10.17` ->
`5.11.0`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/5.10.17/5.11.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@mui%2fmaterial/5.11.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@mui%2fmaterial/5.11.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@mui%2fmaterial/5.11.0/compatibility-slim/5.10.17)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@mui%2fmaterial/5.11.0/confidence-slim/5.10.17)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [@npmcli/arborist](https://togithub.com/npm/cli) | [`6.1.4` ->
`6.1.5`](https://renovatebot.com/diffs/npm/@npmcli%2farborist/6.1.4/6.1.5)
|
[![age](https://badges.renovateapi.com/packages/npm/@npmcli%2farborist/6.1.5/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@npmcli%2farborist/6.1.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@npmcli%2farborist/6.1.5/compatibility-slim/6.1.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@npmcli%2farborist/6.1.5/confidence-slim/6.1.4)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.11.11` ->
`18.11.14`](https://renovatebot.com/diffs/npm/@types%2fnode/18.11.11/18.11.14)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.14/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.14/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.14/compatibility-slim/18.11.11)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.14/confidence-slim/18.11.11)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint)
| [`5.45.1` ->
`5.46.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.45.1/5.46.1)
|
[![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.46.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.46.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.46.1/compatibility-slim/5.45.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.46.1/confidence-slim/5.45.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint)
| [`5.45.1` ->
`5.46.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.45.1/5.46.1)
|
[![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.46.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.46.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.46.1/compatibility-slim/5.45.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.46.1/confidence-slim/5.45.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [actions/checkout](https://togithub.com/actions/checkout) | `93ea575`
-> `755da8c` |
[![age](https://badges.renovateapi.com/packages/github-tags/actions%2fcheckout//age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/actions%2fcheckout//adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/actions%2fcheckout//compatibility-slim/v3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/actions%2fcheckout//confidence-slim/v3)](https://docs.renovatebot.com/merge-confidence/)
| action | digest |
| [actions/setup-python](https://togithub.com/actions/setup-python) |
`13ae5bb` -> `2c3dd9e` |
[![age](https://badges.renovateapi.com/packages/github-tags/actions%2fsetup-python//age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/actions%2fsetup-python//adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/actions%2fsetup-python//compatibility-slim/v4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/actions%2fsetup-python//confidence-slim/v4)](https://docs.renovatebot.com/merge-confidence/)
| action | digest |
| [aws-sdk](https://togithub.com/aws/aws-sdk-js) | [`2.1269.0` ->
`2.1274.0`](https://renovatebot.com/diffs/npm/aws-sdk/2.1269.0/2.1274.0)
|
[![age](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1274.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1274.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1274.0/compatibility-slim/2.1269.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1274.0/confidence-slim/2.1269.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[devtools-protocol](https://togithub.com/ChromeDevTools/devtools-protocol)
| [`0.0.1079624` ->
`0.0.1082281`](https://renovatebot.com/diffs/npm/devtools-protocol/0.0.1079624/0.0.1082281)
|
[![age](https://badges.renovateapi.com/packages/npm/devtools-protocol/0.0.1082281/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/devtools-protocol/0.0.1082281/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/devtools-protocol/0.0.1082281/compatibility-slim/0.0.1079624)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/devtools-protocol/0.0.1082281/confidence-slim/0.0.1079624)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [github/codeql-action](https://togithub.com/github/codeql-action) |
`b2a92eb` -> `a669cc5` |
[![age](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action//age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action//adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action//compatibility-slim/v2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/github%2fcodeql-action//confidence-slim/v2)](https://docs.renovatebot.com/merge-confidence/)
| action | digest |
| [pacote](https://togithub.com/npm/pacote) | [`15.0.6` ->
`15.0.7`](https://renovatebot.com/diffs/npm/pacote/15.0.6/15.0.7) |
[![age](https://badges.renovateapi.com/packages/npm/pacote/15.0.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/pacote/15.0.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/pacote/15.0.7/compatibility-slim/15.0.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/pacote/15.0.7/confidence-slim/15.0.6)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [prettier](https://prettier.io)
([source](https://togithub.com/prettier/prettier)) | [`2.8.0` ->
`2.8.1`](https://renovatebot.com/diffs/npm/prettier/2.8.0/2.8.1) |
[![age](https://badges.renovateapi.com/packages/npm/prettier/2.8.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/prettier/2.8.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/prettier/2.8.1/compatibility-slim/2.8.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/prettier/2.8.1/confidence-slim/2.8.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [puppeteer](https://togithub.com/puppeteer/puppeteer/tree/main#readme)
([source](https://togithub.com/puppeteer/puppeteer)) | [`19.3.0` ->
`19.4.0`](https://renovatebot.com/diffs/npm/puppeteer/19.3.0/19.4.0) |
[![age](https://badges.renovateapi.com/packages/npm/puppeteer/19.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/puppeteer/19.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/puppeteer/19.4.0/compatibility-slim/19.3.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/puppeteer/19.4.0/confidence-slim/19.3.0)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [react-router-dom](https://togithub.com/remix-run/react-router) |
[`6.4.4` ->
`6.4.5`](https://renovatebot.com/diffs/npm/react-router-dom/6.4.4/6.4.5)
|
[![age](https://badges.renovateapi.com/packages/npm/react-router-dom/6.4.5/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/react-router-dom/6.4.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/react-router-dom/6.4.5/compatibility-slim/6.4.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/react-router-dom/6.4.5/confidence-slim/6.4.4)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [supertest](https://togithub.com/visionmedia/supertest) | [`6.3.2` ->
`6.3.3`](https://renovatebot.com/diffs/npm/supertest/6.3.2/6.3.3) |
[![age](https://badges.renovateapi.com/packages/npm/supertest/6.3.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/supertest/6.3.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/supertest/6.3.3/compatibility-slim/6.3.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/supertest/6.3.3/confidence-slim/6.3.2)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`4.9.3` ->
`4.9.4`](https://renovatebot.com/diffs/npm/typescript/4.9.3/4.9.4) |
[![age](https://badges.renovateapi.com/packages/npm/typescript/4.9.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typescript/4.9.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typescript/4.9.4/compatibility-slim/4.9.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typescript/4.9.4/confidence-slim/4.9.3)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`4.9.3` ->
`4.9.4`](https://renovatebot.com/diffs/npm/typescript/4.9.3/4.9.4) |
[![age](https://badges.renovateapi.com/packages/npm/typescript/4.9.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typescript/4.9.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typescript/4.9.4/compatibility-slim/4.9.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typescript/4.9.4/confidence-slim/4.9.3)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [undici](https://undici.nodejs.org)
([source](https://togithub.com/nodejs/undici)) | [`5.13.0` ->
`5.14.0`](https://renovatebot.com/diffs/npm/undici/5.13.0/5.14.0) |
[![age](https://badges.renovateapi.com/packages/npm/undici/5.14.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/undici/5.14.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/undici/5.14.0/compatibility-slim/5.13.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/undici/5.14.0/confidence-slim/5.13.0)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |

---

### Release Notes

<details>
<summary>coveo/platform-client</summary>

###
[`v37.13.0`](https://togithub.com/coveo/platform-client/releases/tag/v37.13.0)

[Compare
Source](https://togithub.com/coveo/platform-client/compare/v37.12.0...v37.13.0)

##### Features

- **maestro:** support empty crawling module log requests
([#&#8203;588](https://togithub.com/coveo/platform-client/issues/588))
([67b8a93](https://togithub.com/coveo/platform-client/commit/67b8a93ab6152439de33bdcdcec6e4cb041c0295))

</details>

<details>
<summary>coveo/semantic-monorepo-tools</summary>

###
[`v1.5.10`](https://togithub.com/coveo/semantic-monorepo-tools/blob/HEAD/CHANGELOG.md#&#8203;1510-2022-12-12)

[Compare
Source](https://togithub.com/coveo/semantic-monorepo-tools/compare/v1.5.9...v1.5.10)

###
[`v1.5.9`](https://togithub.com/coveo/semantic-monorepo-tools/blob/HEAD/CHANGELOG.md#&#8203;159-2022-12-12)

[Compare
Source](https://togithub.com/coveo/semantic-monorepo-tools/compare/v1.5.8...v1.5.9)

</details>

<details>
<summary>mui/material-ui</summary>

###
[`v5.11.0`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#&#8203;5110)

[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.10.17...v5.11.0)

<!-- generated comparing v5.10.17..master -->

*Dec 13, 2022*

A big thanks to the 19 contributors who made this release possible. Here
are some highlights ✨:

- 🔥 [@&#8203;mnajdova](https://togithub.com/mnajdova) enabled
configuration of the `sx` prop in the `theme`
([#&#8203;35150](https://togithub.com/mui/material-ui/issues/35150))
- Many other 🐛 bug fixes, 📚 documentation, and ⚙️ infrastructure
improvements.

##### `@mui/material@5.11.0`

- \[Alert] Update icon color in all variants
([#&#8203;35414](https://togithub.com/mui/material-ui/issues/35414))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- \[Select] Fix `MenuProps.PopoverClasses` being overriden
([#&#8203;35394](https://togithub.com/mui/material-ui/issues/35394))
[@&#8203;vitorfrs-dev](https://togithub.com/vitorfrs-dev)
- \[SwipeableDrawer] Fixed typescript warning "prop open undefined"
([#&#8203;34710](https://togithub.com/mui/material-ui/issues/34710))
[@&#8203;kraftware](https://togithub.com/kraftware)

##### `@mui/icons-material@5.11.0`

- \[icons] Restore the PhoneInTalk icons
([#&#8203;35409](https://togithub.com/mui/material-ui/issues/35409))
[@&#8203;michaldudak](https://togithub.com/michaldudak)

##### `@mui/system@5.11.0`

##### BREAKING CHANGES

- \[system] Enable configuring the `sx` prop in the `theme`
([#&#8203;35150](https://togithub.com/mui/material-ui/issues/35150))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

    The breaking change is regarding an experimental API:

    ```diff
-import { styled, experimental_sx } from '@&#8203;mui/material/styles';
    +import { styled } from '@&#8203;mui/material/styles';

    -const Component = styled('div)(experimental_sx({ p: 1 }});
+const Component = styled('div)(({ theme }) => theme.unstable_sx({ p: 1
}});
    ```

##### `@mui/joy@5.0.0-alpha.58`

- \[Joy] Miscellaneous fixes
([#&#8203;35447](https://togithub.com/mui/material-ui/issues/35447))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)

##### `@mui/base@5.0.0-alpha.110`

- \[PopperUnstyled] Update PopperTooltip to have correct width when
closing with transition
([#&#8203;34714](https://togithub.com/mui/material-ui/issues/34714))
[@&#8203;EduardoSCosta](https://togithub.com/EduardoSCosta)

##### `@mui/material-next@6.0.0-alpha.66`

- \[Material You] Add ripple on the button
([#&#8203;35299](https://togithub.com/mui/material-ui/issues/35299))
[@&#8203;mnajdova](https://togithub.com/mnajdova)

##### Docs

- \[docs] Simplify state management in Text Field demo page
([#&#8203;35051](https://togithub.com/mui/material-ui/issues/35051))
[@&#8203;PratikDev](https://togithub.com/PratikDev)
- \[docs] Improve `Responsive App bar with Drawer` demo
([#&#8203;35418](https://togithub.com/mui/material-ui/issues/35418))
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)
- \[docs] Improve line-height readability
([#&#8203;35387](https://togithub.com/mui/material-ui/issues/35387))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- \[docs] Improve a bit the Composition docs
([#&#8203;35329](https://togithub.com/mui/material-ui/issues/35329))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- \[docs] Refactor `ToggleButtonSizes` demo
([#&#8203;35375](https://togithub.com/mui/material-ui/issues/35375))
[@&#8203;Armanio](https://togithub.com/Armanio)
- \[docs] Standardize the usage of callouts in the MUI Core docs
([#&#8203;35361](https://togithub.com/mui/material-ui/issues/35361))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- \[docs] Format feedback to add a link to the commented section
([#&#8203;35381](https://togithub.com/mui/material-ui/issues/35381))
[@&#8203;alexfauquette](https://togithub.com/alexfauquette)
- \[docs] Direct users from Material UI to MUI Base for duplicated
components
([#&#8203;35293](https://togithub.com/mui/material-ui/issues/35293))
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore)
- \[docs] Fix typo in FormControl API docs
([#&#8203;35449](https://togithub.com/mui/material-ui/issues/35449))
[@&#8203;Spanishiwa](https://togithub.com/Spanishiwa)
- \[docs] Update callouts design
([#&#8203;35390](https://togithub.com/mui/material-ui/issues/35390))
[@&#8203;danilo-leal](https://togithub.com/danilo-leal)
- \[website] New wave of open roles
([#&#8203;35240](https://togithub.com/mui/material-ui/issues/35240))
[@&#8203;mnajdova](https://togithub.com/mnajdova)
- \[website] Developer survey 2022
([#&#8203;35407](https://togithub.com/mui/material-ui/issues/35407))
[@&#8203;joserodolfofreitas](https://togithub.com/joserodolfofreitas)

##### Core

- \[core] Fix [@&#8203;mui/material](https://togithub.com/mui/material)
package building
([#&#8203;35324](https://togithub.com/mui/material-ui/issues/35324))
[@&#8203;timbset](https://togithub.com/timbset)
- \[core] Fix leaking theme color override
([#&#8203;35444](https://togithub.com/mui/material-ui/issues/35444))
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari)
- \[typescript] Add null to return type of OverridableComponent
([#&#8203;35311](https://togithub.com/mui/material-ui/issues/35311))
[@&#8203;tsollbach](https://togithub.com/tsollbach)
- \[website] Migrate X page to use CSS theme variables
([#&#8203;34922](https://togithub.com/mui/material-ui/issues/34922))
[@&#8203;jesrodri](https://togithub.com/jesrodri)
- \[website] Migrate `/core` page to use CSS variables
([#&#8203;35366](https://togithub.com/mui/material-ui/issues/35366))
[@&#8203;siriwatknp](https://togithub.com/siriwatknp)

All contributors of this release in alphabetical order:
[@&#8203;alexfauquette](https://togithub.com/alexfauquette),
[@&#8203;Armanio](https://togithub.com/Armanio),
[@&#8203;danilo-leal](https://togithub.com/danilo-leal),
[@&#8203;EduardoSCosta](https://togithub.com/EduardoSCosta),
[@&#8203;flaviendelangle](https://togithub.com/flaviendelangle),
[@&#8203;jesrodri](https://togithub.com/jesrodri),
[@&#8203;joserodolfofreitas](https://togithub.com/joserodolfofreitas),
[@&#8203;kraftware](https://togithub.com/kraftware),
[@&#8203;michaldudak](https://togithub.com/michaldudak),
[@&#8203;mnajdova](https://togithub.com/mnajdova),
[@&#8203;oliviertassinari](https://togithub.com/oliviertassinari),
[@&#8203;PratikDev](https://togithub.com/PratikDev),
[@&#8203;samuelsycamore](https://togithub.com/samuelsycamore),
[@&#8203;siriwatknp](https://togithub.com/siriwatknp),
[@&#8203;Spanishiwa](https://togithub.com/Spanishiwa),
[@&#8203;timbset](https://togithub.com/timbset),
[@&#8203;tsollbach](https://togithub.com/tsollbach),
[@&#8203;vitorfrs-dev](https://togithub.com/vitorfrs-dev),
[@&#8203;ZeeshanTamboli](https://togithub.com/ZeeshanTamboli)

</details>

<details>
<summary>npm/cli</summary>

###
[`v6.1.5`](https://togithub.com/npm/cli/blob/HEAD/workspaces/arborist/CHANGELOG.md#&#8203;615-httpsgithubcomnpmclicomparearborist-v614arborist-v615-2022-12-07)

[Compare
Source](https://togithub.com/npm/cli/compare/baf598d94cd6fa0747445009f5d4f66a981ebd03...1ceed7b6a762214904ff4a4a08e364153fd1e1dc)

##### Bug Fixes

-
[`83fb125`](https://togithub.com/npm/cli/commit/83fb125446a9fb217eedf53ca98c203d7d48527b)
[#&#8203;5923](https://togithub.com/npm/cli/pull/5923) audit package
mismatch in special case ([@&#8203;fritzy](https://togithub.com/fritzy))

##### Dependencies

-
[`372d158`](https://togithub.com/npm/cli/commit/372d158d2637120600a95abee64355ed1cb6f990)
[#&#8203;5935](https://togithub.com/npm/cli/pull/5935) `minimatch@5.1.1`
([#&#8203;5935](https://togithub.com/npm/cli/issues/5935))
-
[`0a3fe00`](https://togithub.com/npm/cli/commit/0a3fe000e2723ae6fdb8b1d3154fd3835057c992)
[#&#8203;5933](https://togithub.com/npm/cli/pull/5933) `minipass@4.0.0`
-
[`cf0a174`](https://togithub.com/npm/cli/commit/cf0a17407abc577c27420a1c8a4a0c08c7cefce9)
`ssri@10.0.1`
-
[`3da9a1a`](https://togithub.com/npm/cli/commit/3da9a1a4ebcf1779035b5f9ae985c087f617efe3)
`pacote@15.0.7`
-
[`fee9b66`](https://togithub.com/npm/cli/commit/fee9b6686892a1c7f976c36ddd5d89b70c416817)
`npm-registry-fetch@14.0.3`
-
[`e940917`](https://togithub.com/npm/cli/commit/e940917befcdaf44ee7e24d31b540f4de8507734)
`cacache@17.0.3`
-
[`875bd56`](https://togithub.com/npm/cli/commit/875bd56c33ca5eef80c2a50a11808445f2a39a2a)
`npm-package-arg@10.1.0`

</details>

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

###
[`v5.46.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5461-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5460v5461-2022-12-12)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1)

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

###
[`v5.46.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5460-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5451v5460-2022-12-08)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0)

##### Bug Fixes

- **eslint-plugin:** \[ban-types] update message to suggest `object`
instead of `Record<string, unknown>`
([#&#8203;6079](https://togithub.com/typescript-eslint/typescript-eslint/issues/6079))
([d91a5fc](https://togithub.com/typescript-eslint/typescript-eslint/commit/d91a5fc41be5bc2a0625574e9c9496f61fb7471d))

##### Features

- **eslint-plugin:** \[prefer-nullish-coalescing] logic and test for
strict null checks
([#&#8203;6174](https://togithub.com/typescript-eslint/typescript-eslint/issues/6174))
([8a91cbd](https://togithub.com/typescript-eslint/typescript-eslint/commit/8a91cbd9fbe5bc4cf750cd949d2b8d48ff4c311d))

####
[5.45.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.45.0...v5.45.1)
(2022-12-05)

##### Bug Fixes

- **eslint-plugin:** \[keyword-spacing] unexpected space before/after in
`import type`
([#&#8203;6095](https://togithub.com/typescript-eslint/typescript-eslint/issues/6095))
([98caa92](https://togithub.com/typescript-eslint/typescript-eslint/commit/98caa92ca89bdf0ca6ba6e4ff1f13c60221579e8))
- **eslint-plugin:** \[no-shadow] add call and method signatures to
`ignoreFunctionTypeParameterNameValueShadow`
([#&#8203;6129](https://togithub.com/typescript-eslint/typescript-eslint/issues/6129))
([9d58b6b](https://togithub.com/typescript-eslint/typescript-eslint/commit/9d58b6be246507d20af67c84a5e9bb592d97cff5))
- **eslint-plugin:** \[prefer-optional-chain] collect MetaProperty type
([#&#8203;6083](https://togithub.com/typescript-eslint/typescript-eslint/issues/6083))
([d7114d3](https://togithub.com/typescript-eslint/typescript-eslint/commit/d7114d3ab09d1b93627d3b3dbb9862e37ee29c97))
- **eslint-plugin:** \[sort-type-constituents,
sort-type-union-intersection-members] handle some required parentheses
cases in the fixer
([#&#8203;6118](https://togithub.com/typescript-eslint/typescript-eslint/issues/6118))
([5d49d5d](https://togithub.com/typescript-eslint/typescript-eslint/commit/5d49d5dbee4425fc8bc01c5e748d161f3619477b))

</details>

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

###
[`v5.46.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5461-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5460v5461-2022-12-12)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1)

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

###
[`v5.46.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5460-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5451v5460-2022-12-08)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0)

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

####
[5.45.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.45.0...v5.45.1)
(2022-12-05)

##### Bug Fixes

- **parser:** remove the jsx option requirement for automatic jsx pragma
resolution
([#&#8203;6134](https://togithub.com/typescript-eslint/typescript-eslint/issues/6134))
([e777f5e](https://togithub.com/typescript-eslint/typescript-eslint/commit/e777f5e225b9ddfb6bb1eaa74cbc5171a17ac017))

</details>

<details>
<summary>aws/aws-sdk-js</summary>

###
[`v2.1274.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#&#8203;212740)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1273.0...v2.1274.0)

- feature: CloudTrail: Merging mainline branch for service model into
mainline release branch. There are no new APIs.
- feature: RDS: This deployment adds ClientPasswordAuthType field to the
Auth structure of the DBProxy.

###
[`v2.1273.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#&#8203;212730)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1272.0...v2.1273.0)

- feature: CustomerProfiles: This release allows custom strings in
PartyType and Gender through 2 new attributes in the CreateProfile and
UpdateProfile APIs: PartyTypeString and GenderString.
- feature: EC2: This release updates DescribeFpgaImages to show
supported instance types of AFIs in its response.
- feature: KinesisVideo: This release adds support for public preview of
Kinesis Video Stream at Edge enabling customers to provide configuration
for the Kinesis Video Stream EdgeAgent running on an on-premise IoT
device. Customers can now locally record from cameras and stream videos
to the cloud on configured schedule.
- feature: MigrationHubRefactorSpaces: This release adds support for
Lambda alias service endpoints. Lambda alias ARNs can now be passed into
CreateService.
- feature: RDS: Update the RDS API model to support copying option
groups during the CopyDBSnapshot operation
- feature: Rekognition: Adds support for "aliases" and "categories",
inclusion and exclusion filters for labels and label categories, and
aggregating labels by video segment timestamps for Stored Video Label
Detection APIs.
- feature: SageMakerMetrics: This release introduces support SageMaker
Metrics APIs.

###
[`v2.1272.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#&#8203;212720)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1271.0...v2.1272.0)

- feature: IoTFleetWise: Deprecated assignedValue property for actuators
and attributes. Added a message to invalid nodes and invalid decoder
manifest exceptions.
- feature: MediaLive: Link devices now support buffer size (latency)
configuration. A higher latency value means a longer delay in
transmitting from the device to MediaLive, but improved resiliency. A
lower latency value means a shorter delay, but less resiliency.
- feature: MediaPackageVod: This release provides the approximate number
of assets in a packaging group.

###
[`v2.1271.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#&#8203;212710)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1270.0...v2.1271.0)

- feature: AutoScaling: Adds support for metric math for target tracking
scaling policies, saving you the cost and effort of publishing a custom
metric to CloudWatch. Also adds support for VPC Lattice by adding the
Attach/Detach/DescribeTrafficSources APIs and a new health check type to
the CreateAutoScalingGroup API.
- feature: IoTTwinMaker: This release adds the following new features:
1) New APIs for managing a continuous sync of assets and asset models
from AWS IoT SiteWise. 2) Support user friendly names for component
types (ComponentTypeName) and properties (DisplayName).
- feature: MigrationHubStrategy: This release adds known application
filtering, server selection for assessments, support for potential
recommendations, and indications for configuration and assessment
status. For more information, see the AWS Migration Hub documentation at
https://docs.aws.amazon.com/migrationhub/index.html

###
[`v2.1270.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#&#8203;212700)

[Compare
Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1269.0...v2.1270.0)

- feature: CloudFront: Introducing UpdateDistributionWithStagingConfig
that can be used to promote the staging configuration to the production.
- feature: CostExplorer: This release adds the LinkedAccountName field
to the GetAnomalies API response under RootCause
- feature: EKS: Adds support for EKS add-ons configurationValues fields
and DescribeAddonConfiguration function

</details>

<details>
<summary>ChromeDevTools/devtools-protocol</summary>

###
[`v0.0.1082281`](https://togithub.com/ChromeDevTools/devtools-protocol/compare/v0.0.1081726...v0.0.1082281)

[Compare
Source](https://togithub.com/ChromeDevTools/devtools-protocol/compare/v0.0.1081726...v0.0.1082281)

###
[`v0.0.1081726`](https://togithub.com/ChromeDevTools/devtools-protocol/compare/v0.0.1081314...v0.0.1081726)

[Compare
Source](https://togithub.com/ChromeDevTools/devtools-protocol/compare/v0.0.1081314...v0.0.1081726)

###
[`v0.0.1081314`](https://togithub.com/ChromeDevTools/devtools-protocol/compare/v0.0.1079624...v0.0.1081314)

[Compare
Source](https://togithub.com/ChromeDevTools/devtools-protocol/compare/v0.0.1079624...v0.0.1081314)

</details>

<details>
<summary>npm/pacote</summary>

###
[`v15.0.7`](https://togithub.com/npm/pacote/blob/HEAD/CHANGELOG.md#&#8203;1507-httpsgithubcomnpmpacotecomparev1506v1507-2022-12-07)

[Compare
Source](https://togithub.com/npm/pacote/compare/v15.0.6...v15.0.7)

##### Dependencies

-
[`a734d61`](https://togithub.com/npm/pacote/commit/a734d61379c3b5690ad2e10d382dc5486b93266b)
[#&#8203;250](https://togithub.com/npm/pacote/pull/250) bump minipass
from 3.3.6 to 4.0.0

</details>

<details>
<summary>prettier/prettier</summary>

###
[`v2.8.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;281)

[Compare
Source](https://togithub.com/prettier/prettier/compare/2.8.0...2.8.1)

[diff](https://togithub.com/prettier/prettier/compare/2.8.0...2.8.1)

##### Fix SCSS map in arguments
([#&#8203;9184](https://togithub.com/prettier/prettier/pull/9184) by
[@&#8203;agamkrbit](https://togithub.com/agamkrbit))

<!-- prettier-ignore -->

```scss
// Input
$display-breakpoints: map-deep-merge(
  (
    "print-only": "only print",
    "screen-only": "only screen",
    "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
  ),
  $display-breakpoints
);

// Prettier 2.8.0
$display-breakpoints: map-deep-merge(
  (
    "print-only": "only print",
    "screen-only": "only screen",
    "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, " sm
      ")-1})",
  ),
  $display-breakpoints
);

// Prettier 2.8.1
$display-breakpoints: map-deep-merge(
  (
    "print-only": "only print",
    "screen-only": "only screen",
    "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
  ),
  $display-breakpoints
);
```

##### Support auto accessors syntax
([#&#8203;13919](https://togithub.com/prettier/prettier/pull/13919) by
[@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki))

Support for [Auto Accessors
Syntax](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/#auto-accessors-in-classes)
landed in TypeScript 4.9.

(Doesn't work well with `babel-ts` parser)

<!-- prettier-ignore -->

```tsx
class Foo {
  accessor foo: number = 3;
}
```

</details>

<details>
<summary>puppeteer/puppeteer</summary>

###
[`v19.4.0`](https://togithub.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v19.4.0):
puppeteer-core: v19.4.0

[Compare
Source](https://togithub.com/puppeteer/puppeteer/compare/puppeteer-v19.3.0...puppeteer-v19.4.0)

##### Features

- ability to send headers via ws connection to browser in node.js
environment
([#&#8203;9314](https://togithub.com/puppeteer/puppeteer/issues/9314))
([937fffa](https://togithub.com/puppeteer/puppeteer/commit/937fffaedc340ea12d5f6636d3ba6598cb22e397)),
closes
[#&#8203;7218](https://togithub.com/puppeteer/puppeteer/issues/7218)
- **chromium:** roll to Chromium 109.0.5412.0 (r1069273)
([#&#8203;9364](https://togithub.com/puppeteer/puppeteer/issues/9364))
([1875da6](https://togithub.com/puppeteer/puppeteer/commit/1875da61916df1fbcf98047858c01075bd9af189)),
closes
[#&#8203;9233](https://togithub.com/puppeteer/puppeteer/issues/9233)
- **puppeteer-core:** keydown supports commands
([#&#8203;9357](https://togithub.com/puppeteer/puppeteer/issues/9357))
([b7ebc5d](https://togithub.com/puppeteer/puppeteer/commit/b7ebc5d9bb9b9940ffdf470e51d007f709587d40))

##### Bug Fixes

- **puppeteer-core:** avoid type instantiation errors
([#&#8203;9370](https://togithub.com/puppeteer/puppeteer/issues/9370))
([17f31a9](https://togithub.com/puppeteer/puppeteer/commit/17f31a9ee408ca5a08fe6dbceb8915e710156bd3)),
closes
[#&#8203;9369](https://togithub.com/puppeteer/puppeteer/issues/9369)

</details>

<details>
<summary>remix-run/react-router</summary>

###
[`v6.4.5`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#&#8203;645)

[Compare
Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.4.4...react-router-dom@6.4.5)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/router@1.0.5`
    -   `react-router@6.4.5`

</details>

<details>
<summary>visionmedia/supertest</summary>

### [`v6.3.3`](https://togithub.com/ladjs/supertest/releases/tag/v6.3.3)

[Compare
Source](https://togithub.com/visionmedia/supertest/compare/v6.3.2...v6.3.3)

- chore: bump deps
[`2910f73`](https://togithub.com/visionmedia/supertest/commit/2910f73)

</details>

<details>
<summary>Microsoft/TypeScript</summary>

###
[`v4.9.4`](https://togithub.com/microsoft/TypeScript/releases/tag/v4.9.4):
TypeScript 4.9.4

[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v4.9.3...v4.9.4)

For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9).

For the complete list of fixed issues, check out the

- [fixed issues query for Typescript
v4.9.4](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=is%3Aissue+milestone%3A%22TypeScript+4.9.4%22+is%3Aclosed+).

Downloads are available on:

-   [npm](https://www.npmjs.com/package/typescript)
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)

#### Changes:

-
[`e286821`](https://togithub.com/Microsoft/TypeScript/commit/e2868216f637e875a74c675845625eb15dcfe9a2)
Bump version to 4.9.4 and LKG.
-
[`eb5419f`](https://togithub.com/Microsoft/TypeScript/commit/eb5419fc8d980859b98553586dfb5f40d811a745)
Cherry-pick
[#&#8203;51704](https://togithub.com/Microsoft/TypeScript/issues/51704)
to release 4.9
([#&#8203;51712](https://togithub.com/Microsoft/TypeScript/issues/51712))
-
[`b4d382b`](https://togithub.com/Microsoft/TypeScript/commit/b4d382b9b12460adf2da4cc0d1429cf19f8dc8be)
Cherry-pick changes for narrowing to tagged literal types.
-
[`e7a02f4`](https://togithub.com/Microsoft/TypeScript/commit/e7a02f43fce47e1a39259ada5460bcc33c8e98b5)
Port of
[#&#8203;51626](https://togithub.com/Microsoft/TypeScript/issues/51626)
and
[#&#8203;51689](https://togithub.com/Microsoft/TypeScript/issues/51689)
to release-4.9
([#&#8203;51627](https://togithub.com/Microsoft/TypeScript/issues/51627))
-
[`1727912`](https://togithub.com/Microsoft/TypeScript/commit/1727912f0437a7f367d90040fc4b0b4f3efd017a)
Cherry-pick fix around `visitEachChild` to release-4.9.
([#&#8203;51544](https://togithub.com/Microsoft/TypeScript/issues/51544))

This list of changes was [auto
generated](https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/\_release?releaseId=117&\_a=release-summary).

</details>

<details>
<summary>nodejs/undici</summary>

### [`v5.14.0`](https://togithub.com/nodejs/undici/releases/tag/v5.14.0)

[Compare
Source](https://togithub.com/nodejs/undici/compare/v5.13.0...v5.14.0)

#### What's Changed

- fetch: implement
[https://github.com/whatwg/fetch/pull/1544](https://togithub.com/whatwg/fetch/pull/1544)
by [@&#8203;KhafraDev](https://togithub.com/KhafraDev) in
[https://github.com/nodejs/undici/pull/1780](https://togithub.com/nodejs/undici/pull/1780)
- fix(fetch): set content-length header for FormData body by
[@&#8203;KhafraDev](https://togithub.com/KhafraDev) in
[https://github.com/nodejs/undici/pull/1785](https://togithub.com/nodejs/undici/pull/1785)
- fix(fetch): parse multipart/form-data non-ASCII field names by
[@&#8203;repsac-by](https://togithub.com/repsac-by) in
[https://github.com/nodejs/undici/pull/1786](https://togithub.com/nodejs/undici/pull/1786)
- fix(fetch): connection is cancelled when redirecting by
[@&#8203;KhafraDev](https://togithub.com/KhafraDev) in
[https://github.com/nodejs/undici/pull/1787](https://togithub.com/nodejs/undici/pull/1787)
- build(deps-dev): bump sinon from 14.0.2 to 15.0.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/nodejs/undici/pull/1788](https://togithub.com/nodejs/undici/pull/1788)
- wpt: update `response-static-error.any.js` by
[@&#8203;KhafraDev](https://togithub.com/KhafraDev) in
[https://github.com/nodejs/undici/pull/1789](https://togithub.com/nodejs/undici/pull/1789)
- fix: connect option types by
[@&#8203;Kaciras](https://togithub.com/Kaciras) in
[https://github.com/nodejs/undici/pull/1790](https://togithub.com/nodejs/undici/pull/1790)
- fix(fetch): send headers in the case that they were sent by
[@&#8203;KhafraDev](https://togithub.com/KhafraDev) in
[https://github.com/nodejs/undici/pull/1784](https://togithub.com/nodejs/undici/pull/1784)
- fetch: prefer global over lazy loading by
[@&#8203;KhafraDev](https://togithub.com/KhafraDev) in
[https://github.com/nodejs/undici/pull/1793](https://togithub.com/nodejs/undici/pull/1793)
- perf: reduce number of native calls from fetch.body by
[@&#8203;anonrig](https://togithub.com/anonrig) in
[https://github.com/nodejs/undici/pull/1792](https://togithub.com/nodejs/undici/pull/1792)
- perf: improve isomorphic decode performance by
[@&#8203;anonrig](https://togithub.com/anonrig) in
[https://github.com/nodejs/undici/pull/1791](https://togithub.com/nodejs/undici/pull/1791)
- More correct filereader event firing by
[@&#8203;KhafraDev](https://togithub.com/KhafraDev) in
[https://github.com/nodejs/undici/pull/1796](https://togithub.com/nodejs/undici/pull/1796)
- build(deps-dev): bump tsd from 0.24.1 to 0.25.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/nodejs/undici/pull/1797](https://togithub.com/nodejs/undici/pull/1797)
- feat(fetch): add in native File class support by
[@&#8203;KhafraDev](https://togithub.com/KhafraDev) in
[https://github.com/nodejs/undici/pull/1779](https://togithub.com/nodejs/undici/pull/1779)
- perf: Keep weak reference to session for re-use by
[@&#8203;ronag](https://togithub.com/ronag) in
[https://github.com/nodejs/undici/pull/1802](https://togithub.com/nodejs/undici/pull/1802)

#### New Contributors

- [@&#8203;Kaciras](https://togithub.com/Kaciras) made their first
contribution in
[https://github.com/nodejs/undici/pull/1790](https://togithub.com/nodejs/undici/pull/1790)

**Full Changelog**:
nodejs/undici@v5.13.0...v5.14.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 2am" (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](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://app.renovatebot.com/dashboard#github/coveo/cli).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC41MS4wIiwidXBkYXRlZEluVmVyIjoiMzQuNTQuMiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
anonrig added a commit to anonrig/undici that referenced this pull request Apr 4, 2023
crysmags pushed a commit to crysmags/undici that referenced this pull request Feb 27, 2024
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.

4 participants