evanw/esbuild
### [`v0.15.12`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01512)
[Compare Source](https://togithub.com/evanw/esbuild/compare/v0.15.11...v0.15.12)
- Fix minifier correctness bug with single-use substitutions ([#2619](https://togithub.com/evanw/esbuild/issues/2619))
When minification is enabled, esbuild will attempt to eliminate variables that are only used once in certain cases. For example, esbuild minifies this code:
```js
function getEmailForUser(name) {
let users = db.table('users');
let user = users.find({ name });
let email = user?.get('email');
return email;
}
```
into this code:
```js
function getEmailForUser(e){return db.table("users").find({name:e})?.get("email")}
```
However, this transformation had a bug where esbuild did not correctly consider the "read" part of binary read-modify-write assignment operators. For example, it's incorrect to minify the following code into `bar += fn()` because the call to `fn()` might modify `bar`:
```js
const foo = fn();
bar += foo;
```
In addition to fixing this correctness bug, this release also improves esbuild's output in the case where all values being skipped over are primitives:
```js
function toneMapLuminance(r, g, b) {
let hdr = luminance(r, g, b)
let decay = 1 / (1 + hdr)
return 1 - decay
}
```
Previous releases of esbuild didn't substitute these single-use variables here, but esbuild will now minify this to the following code starting with this release:
```js
function toneMapLuminance(e,n,a){return 1-1/(1+luminance(e,n,a))}
```
facebook/jest
### [`v29.2.1`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2921)
[Compare Source](https://togithub.com/facebook/jest/compare/v29.2.0...v29.2.1)
##### Features
- `[@jest/globals, jest-mock]` Add `jest.Spied*` utility types ([#13440](https://togithub.com/facebook/jest/pull/13440))
##### Fixes
- `[jest-environment-node]` make `globalThis.performance` writable for Node 19 and fake timers ([#13467](https://togithub.com/facebook/jest/pull/13467))
- `[jest-mock]` Revert [#13398](https://togithub.com/facebook/jest/pull/13398) to restore mocking of setters ([#13472](https://togithub.com/facebook/jest/pull/13472))
##### Performance
- `[*]` Use sha1 instead of sha256 for hashing ([#13421](https://togithub.com/facebook/jest/pull/13421))
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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 if that's undesired.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
29.1.2
->29.2.0
16.11.66
->16.18.0
2.8.3
->2.8.5
0.15.11
->0.15.12
29.2.0
->29.2.1
Release Notes
evanw/esbuild
### [`v0.15.12`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01512) [Compare Source](https://togithub.com/evanw/esbuild/compare/v0.15.11...v0.15.12) - Fix minifier correctness bug with single-use substitutions ([#2619](https://togithub.com/evanw/esbuild/issues/2619)) When minification is enabled, esbuild will attempt to eliminate variables that are only used once in certain cases. For example, esbuild minifies this code: ```js function getEmailForUser(name) { let users = db.table('users'); let user = users.find({ name }); let email = user?.get('email'); return email; } ``` into this code: ```js function getEmailForUser(e){return db.table("users").find({name:e})?.get("email")} ``` However, this transformation had a bug where esbuild did not correctly consider the "read" part of binary read-modify-write assignment operators. For example, it's incorrect to minify the following code into `bar += fn()` because the call to `fn()` might modify `bar`: ```js const foo = fn(); bar += foo; ``` In addition to fixing this correctness bug, this release also improves esbuild's output in the case where all values being skipped over are primitives: ```js function toneMapLuminance(r, g, b) { let hdr = luminance(r, g, b) let decay = 1 / (1 + hdr) return 1 - decay } ``` Previous releases of esbuild didn't substitute these single-use variables here, but esbuild will now minify this to the following code starting with this release: ```js function toneMapLuminance(e,n,a){return 1-1/(1+luminance(e,n,a))} ```facebook/jest
### [`v29.2.1`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2921) [Compare Source](https://togithub.com/facebook/jest/compare/v29.2.0...v29.2.1) ##### Features - `[@jest/globals, jest-mock]` Add `jest.Spied*` utility types ([#13440](https://togithub.com/facebook/jest/pull/13440)) ##### Fixes - `[jest-environment-node]` make `globalThis.performance` writable for Node 19 and fake timers ([#13467](https://togithub.com/facebook/jest/pull/13467)) - `[jest-mock]` Revert [#13398](https://togithub.com/facebook/jest/pull/13398) to restore mocking of setters ([#13472](https://togithub.com/facebook/jest/pull/13472)) ##### Performance - `[*]` Use sha1 instead of sha256 for hashing ([#13421](https://togithub.com/facebook/jest/pull/13421))Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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 if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.