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

Relax types for persist middleware #2332

Conversation

rafaeelaudibert
Copy link
Contributor

@rafaeelaudibert rafaeelaudibert commented Feb 14, 2024

Right now, we're requiring new StateStorage implementations to forcefully return void from inside setItem and removeItem.

When using a library that returns the set value for setItem or removeItem, therefore returning a string, it causes Typescript to fail, requiring some weird workarounds.

For example, when using localforage (https://github.com/localForage/localForage) one needs to do what we describe below. Notice the void keyword.

const storage: StateStorage = {
   ...localForage,
   setItem: void localForage.setItem.bind(localForage)
}

Another, longer, alternative is

const storage: StateStorage = {
   ...localForage,
   // Curly braces are required because we need to "return `void`"
   setItem: (name, value) => {
       localStorage.setItem(name, value)
  }
}

By changing the type implementation to ignore types - using unknown - we can simply use localforage - and similar libraries - as if we were using window.localStorage

Check List

  • yarn run prettier for formatting code and docs

Right now, we're requiring new `StateStorage` implementations to forcefully return `void` from inside `setItem` and `removeItem`.

When using a library that returns the set value for `setItem` or `removeItem`, therefore returning  a `string`, it causes Typescript to fail, requiring some weird workarounds.

For example, when using `localforage` (https://github.com/localForage/localForage) one needs to do what we describe below. Notice the `void` keyword.

```typescript
const storage: StateStorage = {
   ...localForage,
   setItem: void localForage.setItem.bind(localForage)
}
```

Another, longer, alternative is

```typescript
const storage: StateStorage = {
   ...localForage,
   // Curly braces are required because we need to "return `void`"
   setItem: (name, value) => {
       localStorage.setItem(name, value)
  }
}
```

By changing the type implementation to ignore types - using unknown - we can simply use `localforage` - and similar libraries - as if we were using `window.localStorage`
Copy link

vercel bot commented Feb 14, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
zustand-demo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 14, 2024 2:55am

Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Copy link
Member

@dai-shi dai-shi left a comment

Choose a reason for hiding this comment

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

The change looks okay to me.

Does anyone want to give another review?

@dbritto-dev
Copy link
Collaborator

LGTM

@dai-shi dai-shi merged commit 7d2525e into pmndrs:main Feb 17, 2024
37 checks passed
@dai-shi dai-shi added this to the v4.5.1 milestone Feb 17, 2024
@rafaeelaudibert rafaeelaudibert deleted the rbaudibert/relax-types-for-persist-middleware branch February 20, 2024 01:42
kodiakhq bot referenced this pull request in mheob/ef-calc Mar 11, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.11.16` -> `20.11.25`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.16/20.11.25) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.16/20.11.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.16/20.11.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`18.2.52` -> `18.2.64`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.52/18.2.64) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.2.64?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.2.64?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.2.52/18.2.64?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.2.52/18.2.64?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | [`18.2.18` -> `18.2.21`](https://renovatebot.com/diffs/npm/@types%2freact-dom/18.2.18/18.2.21) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact-dom/18.2.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact-dom/18.2.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact-dom/18.2.18/18.2.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact-dom/18.2.18/18.2.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@vercel/analytics](https://github.com/vercel/analytics) ([source](https://github.com/vercel/analytics/tree/HEAD/packages/web)) | [`1.1.2` -> `1.2.2`](https://renovatebot.com/diffs/npm/@vercel%2fanalytics/1.1.2/1.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vercel%2fanalytics/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vercel%2fanalytics/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vercel%2fanalytics/1.1.2/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vercel%2fanalytics/1.1.2/1.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | [`8.56.0` -> `8.57.0`](https://renovatebot.com/diffs/npm/eslint/8.56.0/8.57.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/8.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/8.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/8.56.0/8.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/8.56.0/8.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/Microsoft/TypeScript)) | [`5.3.3` -> `5.4.2`](https://renovatebot.com/diffs/npm/typescript/5.3.3/5.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.3.3/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.3.3/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vite](https://vitejs.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.0.12` -> `5.1.5`](https://renovatebot.com/diffs/npm/vite/5.0.12/5.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.0.12/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.0.12/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [zustand](https://github.com/pmndrs/zustand) | [`4.5.0` -> `4.5.2`](https://renovatebot.com/diffs/npm/zustand/4.5.0/4.5.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/zustand/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/zustand/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/zustand/4.5.0/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zustand/4.5.0/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>vercel/analytics (@&#8203;vercel/analytics)</summary>

### [`v1.2.2`](https://github.com/vercel/analytics/releases/tag/1.2.2)

[Compare Source](https://github.com/vercel/analytics/compare/1.2.1...1.2.2)

#### What's Changed

-   fix: export issue when testing with jest and ts-node by [@&#8203;feugy](https://github.com/feugy) in [https://github.com/vercel/analytics/pull/134](https://github.com/vercel/analytics/pull/134)

**Full Changelog**: vercel/analytics@1.2.1...1.2.2

### [`v1.2.1`](https://github.com/vercel/analytics/releases/tag/1.2.1)

[Compare Source](https://github.com/vercel/analytics/compare/1.2.0...1.2.1)

#### What's Changed

-   fix: incorrect package exports by [@&#8203;feugy](https://github.com/feugy) in [https://github.com/vercel/analytics/pull/133](https://github.com/vercel/analytics/pull/133)

#### New Contributors

-   [@&#8203;feugy](https://github.com/feugy) made their first contribution in [https://github.com/vercel/analytics/pull/133](https://github.com/vercel/analytics/pull/133)

**Full Changelog**: vercel/analytics@1.2.0...1.2.1

### [`v1.2.0`](https://github.com/vercel/analytics/releases/tag/1.2.0)

[Compare Source](https://github.com/vercel/analytics/compare/1.1.4...1.2.0)

#### What's Changed

-   Add route support by [@&#8203;tobiaslins](https://github.com/tobiaslins) in [https://github.com/vercel/analytics/pull/127](https://github.com/vercel/analytics/pull/127)

**Full Changelog**: vercel/analytics@1.1.4...1.2.0

### [`v1.1.4`](https://github.com/vercel/analytics/releases/tag/1.1.4)

[Compare Source](https://github.com/vercel/analytics/compare/1.1.3...1.1.4)

#### What's Changed

-   server/track: always consume the response body for a track request by [@&#8203;MaxLeiter](https://github.com/MaxLeiter) in [https://github.com/vercel/analytics/pull/131](https://github.com/vercel/analytics/pull/131)

#### New Contributors

-   [@&#8203;MaxLeiter](https://github.com/MaxLeiter) made their first contribution in [https://github.com/vercel/analytics/pull/131](https://github.com/vercel/analytics/pull/131)

**Full Changelog**: vercel/analytics@1.1.3...1.1.4

### [`v1.1.3`](https://github.com/vercel/analytics/releases/tag/1.1.3)

[Compare Source](https://github.com/vercel/analytics/compare/1.1.2...1.1.3)

#### What's Changed

-   Server events can now be sent when deployment protection is enabled by [@&#8203;tobiaslins](https://github.com/tobiaslins) in [https://github.com/vercel/analytics/pull/129](https://github.com/vercel/analytics/pull/129)

**Full Changelog**: vercel/analytics@1.1.2...1.1.3

</details>

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v8.57.0`](https://github.com/eslint/eslint/releases/tag/v8.57.0)

[Compare Source](https://github.com/eslint/eslint/compare/v8.56.0...v8.57.0)

#### Features

-   [`1120b9b`](https://github.com/eslint/eslint/commit/1120b9b7b97f10f059d8b7ede19de2572f892366) feat: Add loadESLint() API method for v8 ([#&#8203;18098](https://github.com/eslint/eslint/issues/18098)) (Nicholas C. Zakas)
-   [`dca7d0f`](https://github.com/eslint/eslint/commit/dca7d0f1c262bc72310147bcefe1d04ecf60acbc) feat: Enable `eslint.config.mjs` and `eslint.config.cjs` ([#&#8203;18066](https://github.com/eslint/eslint/issues/18066)) (Nitin Kumar)

#### Bug Fixes

-   [`2196d97`](https://github.com/eslint/eslint/commit/2196d97094ba94d6d750828879a29538d1600de5) fix: handle absolute file paths in `FlatRuleTester` ([#&#8203;18064](https://github.com/eslint/eslint/issues/18064)) (Nitin Kumar)
-   [`69dd1d1`](https://github.com/eslint/eslint/commit/69dd1d1387b7b53617548d1f9f2c149f179e6e17) fix: Ensure config keys are printed for config errors ([#&#8203;18067](https://github.com/eslint/eslint/issues/18067)) (Nitin Kumar)
-   [`9852a31`](https://github.com/eslint/eslint/commit/9852a31edcf054bd5d15753ef18e2ad3216b1b71) fix: deep merge behavior in flat config ([#&#8203;18065](https://github.com/eslint/eslint/issues/18065)) (Nitin Kumar)
-   [`4c7e9b0`](https://github.com/eslint/eslint/commit/4c7e9b0b539ba879ac1799e81f3b6add2eed4b2f) fix: allow circular references in config ([#&#8203;18056](https://github.com/eslint/eslint/issues/18056)) (Milos Djermanovic)

#### Documentation

-   [`84922d0`](https://github.com/eslint/eslint/commit/84922d0bfa10689a34a447ab8e55975ff1c1c708) docs: Show prerelease version in dropdown ([#&#8203;18139](https://github.com/eslint/eslint/issues/18139)) (Nicholas C. Zakas)
-   [`5b8c363`](https://github.com/eslint/eslint/commit/5b8c3636a3d7536535a6878eca0e5b773e4829d4) docs: Switch to Ethical Ads ([#&#8203;18117](https://github.com/eslint/eslint/issues/18117)) (Milos Djermanovic)
-   [`77dbfd9`](https://github.com/eslint/eslint/commit/77dbfd9887b201a46fc68631cbde50c08e1a8dbf) docs: show NEXT in version selectors ([#&#8203;18052](https://github.com/eslint/eslint/issues/18052)) (Milos Djermanovic)

#### Chores

-   [`1813aec`](https://github.com/eslint/eslint/commit/1813aecc4660582b0678cf32ba466eb9674266c4) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).57.0 ([#&#8203;18143](https://github.com/eslint/eslint/issues/18143)) (Milos Djermanovic)
-   [`5c356bb`](https://github.com/eslint/eslint/commit/5c356bb0c6f53c570224f8e9f02c4baca8fc6d2f) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
-   [`f4a1fe2`](https://github.com/eslint/eslint/commit/f4a1fe2e45aa1089fe775290bf530de82f34bf16) test: add more tests for ignoring files and directories ([#&#8203;18068](https://github.com/eslint/eslint/issues/18068)) (Nitin Kumar)
-   [`42c0aef`](https://github.com/eslint/eslint/commit/42c0aefaf6ea8b998b1c6db61906a79c046d301a) ci: Enable CI for `v8.x` branch ([#&#8203;18047](https://github.com/eslint/eslint/issues/18047)) (Milos Djermanovic)

</details>

<details>
<summary>Microsoft/TypeScript (typescript)</summary>

### [`v5.4.2`](https://github.com/microsoft/TypeScript/releases/tag/v5.4.2): TypeScript 5.4

[Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.3.3...v5.4.2)

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

For the complete list of fixed issues, check out the

-   [fixed issues query for Typescript 5.4.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.4.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).

Downloads are available on:

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

</details>

<details>
<summary>vitejs/vite (vite)</summary>

### [`v5.1.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small515-2024-03-04-small)

[Compare Source](https://github.com/vitejs/vite/compare/v5.1.4...v5.1.5)

-   fix: `__vite__mapDeps` code injection ([#&#8203;15732](https://github.com/vitejs/vite/issues/15732)) ([aff54e1](https://github.com/vitejs/vite/commit/aff54e1)), closes [#&#8203;15732](https://github.com/vitejs/vite/issues/15732)
-   fix: analysing build chunk without dependencies ([#&#8203;15469](https://github.com/vitejs/vite/issues/15469)) ([bd52283](https://github.com/vitejs/vite/commit/bd52283)), closes [#&#8203;15469](https://github.com/vitejs/vite/issues/15469)
-   fix: import with query with imports field ([#&#8203;16085](https://github.com/vitejs/vite/issues/16085)) ([ab823ab](https://github.com/vitejs/vite/commit/ab823ab)), closes [#&#8203;16085](https://github.com/vitejs/vite/issues/16085)
-   fix: normalize literal-only entry pattern ([#&#8203;16010](https://github.com/vitejs/vite/issues/16010)) ([1dccc37](https://github.com/vitejs/vite/commit/1dccc37)), closes [#&#8203;16010](https://github.com/vitejs/vite/issues/16010)
-   fix: optimizeDeps.entries with literal-only pattern(s) ([#&#8203;15853](https://github.com/vitejs/vite/issues/15853)) ([49300b3](https://github.com/vitejs/vite/commit/49300b3)), closes [#&#8203;15853](https://github.com/vitejs/vite/issues/15853)
-   fix: output correct error for empty import specifier ([#&#8203;16055](https://github.com/vitejs/vite/issues/16055)) ([a9112eb](https://github.com/vitejs/vite/commit/a9112eb)), closes [#&#8203;16055](https://github.com/vitejs/vite/issues/16055)
-   fix: upgrade esbuild to 0.20.x ([#&#8203;16062](https://github.com/vitejs/vite/issues/16062)) ([899d9b1](https://github.com/vitejs/vite/commit/899d9b1)), closes [#&#8203;16062](https://github.com/vitejs/vite/issues/16062)
-   fix(runtime): runtime HMR affects only imported files ([#&#8203;15898](https://github.com/vitejs/vite/issues/15898)) ([57463fc](https://github.com/vitejs/vite/commit/57463fc)), closes [#&#8203;15898](https://github.com/vitejs/vite/issues/15898)
-   fix(scanner): respect  `experimentalDecorators: true` ([#&#8203;15206](https://github.com/vitejs/vite/issues/15206)) ([4144781](https://github.com/vitejs/vite/commit/4144781)), closes [#&#8203;15206](https://github.com/vitejs/vite/issues/15206)
-   revert: "fix: upgrade esbuild to 0.20.x" ([#&#8203;16072](https://github.com/vitejs/vite/issues/16072)) ([11cceea](https://github.com/vitejs/vite/commit/11cceea)), closes [#&#8203;16072](https://github.com/vitejs/vite/issues/16072)
-   refactor: share code with vite runtime ([#&#8203;15907](https://github.com/vitejs/vite/issues/15907)) ([b20d542](https://github.com/vitejs/vite/commit/b20d542)), closes [#&#8203;15907](https://github.com/vitejs/vite/issues/15907)
-   refactor(runtime): use functions from `pathe` ([#&#8203;16061](https://github.com/vitejs/vite/issues/16061)) ([aac2ef7](https://github.com/vitejs/vite/commit/aac2ef7)), closes [#&#8203;16061](https://github.com/vitejs/vite/issues/16061)
-   chore(deps): update all non-major dependencies ([#&#8203;16028](https://github.com/vitejs/vite/issues/16028)) ([7cfe80d](https://github.com/vitejs/vite/commit/7cfe80d)), closes [#&#8203;16028](https://github.com/vitejs/vite/issues/16028)

### [`v5.1.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small514-2024-02-21-small)

[Compare Source](https://github.com/vitejs/vite/compare/v5.1.3...v5.1.4)

-   perf: remove unnecessary regex s modifier ([#&#8203;15766](https://github.com/vitejs/vite/issues/15766)) ([8dc1b73](https://github.com/vitejs/vite/commit/8dc1b73)), closes [#&#8203;15766](https://github.com/vitejs/vite/issues/15766)
-   fix: fs cached checks disabled by default for yarn pnp ([#&#8203;15920](https://github.com/vitejs/vite/issues/15920)) ([8b11fea](https://github.com/vitejs/vite/commit/8b11fea)), closes [#&#8203;15920](https://github.com/vitejs/vite/issues/15920)
-   fix: resolve directory correctly when `fs.cachedChecks: true` ([#&#8203;15983](https://github.com/vitejs/vite/issues/15983)) ([4fe971f](https://github.com/vitejs/vite/commit/4fe971f)), closes [#&#8203;15983](https://github.com/vitejs/vite/issues/15983)
-   fix: srcSet with optional descriptor ([#&#8203;15905](https://github.com/vitejs/vite/issues/15905)) ([81b3bd0](https://github.com/vitejs/vite/commit/81b3bd0)), closes [#&#8203;15905](https://github.com/vitejs/vite/issues/15905)
-   fix(deps): update all non-major dependencies ([#&#8203;15959](https://github.com/vitejs/vite/issues/15959)) ([571a3fd](https://github.com/vitejs/vite/commit/571a3fd)), closes [#&#8203;15959](https://github.com/vitejs/vite/issues/15959)
-   fix(watch): build watch fails when outDir is empty string ([#&#8203;15979](https://github.com/vitejs/vite/issues/15979)) ([1d263d3](https://github.com/vitejs/vite/commit/1d263d3)), closes [#&#8203;15979](https://github.com/vitejs/vite/issues/15979)

### [`v5.1.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small513-2024-02-15-small)

[Compare Source](https://github.com/vitejs/vite/compare/v5.1.2...v5.1.3)

-   fix: cachedTransformMiddleware for direct css requests ([#&#8203;15919](https://github.com/vitejs/vite/issues/15919)) ([5099028](https://github.com/vitejs/vite/commit/5099028)), closes [#&#8203;15919](https://github.com/vitejs/vite/issues/15919)
-   refactor(runtime): minor tweaks ([#&#8203;15904](https://github.com/vitejs/vite/issues/15904)) ([63a39c2](https://github.com/vitejs/vite/commit/63a39c2)), closes [#&#8203;15904](https://github.com/vitejs/vite/issues/15904)
-   refactor(runtime): seal ES module namespace object instead of feezing ([#&#8203;15914](https://github.com/vitejs/vite/issues/15914)) ([4172f02](https://github.com/vitejs/vite/commit/4172f02)), closes [#&#8203;15914](https://github.com/vitejs/vite/issues/15914)

### [`v5.1.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small512-2024-02-14-small)

[Compare Source](https://github.com/vitejs/vite/compare/v5.1.1...v5.1.2)

-   fix: normalize import file path info ([#&#8203;15772](https://github.com/vitejs/vite/issues/15772)) ([306df44](https://github.com/vitejs/vite/commit/306df44)), closes [#&#8203;15772](https://github.com/vitejs/vite/issues/15772)
-   fix(build): do not output build time when build fails ([#&#8203;15711](https://github.com/vitejs/vite/issues/15711)) ([added3e](https://github.com/vitejs/vite/commit/added3e)), closes [#&#8203;15711](https://github.com/vitejs/vite/issues/15711)
-   fix(runtime): pass path instead of fileURL to `isFilePathESM` ([#&#8203;15908](https://github.com/vitejs/vite/issues/15908)) ([7b15607](https://github.com/vitejs/vite/commit/7b15607)), closes [#&#8203;15908](https://github.com/vitejs/vite/issues/15908)
-   fix(worker): support UTF-8 encoding in inline workers (fixes [#&#8203;12117](https://github.com/vitejs/vite/issues/12117)) ([#&#8203;15866](https://github.com/vitejs/vite/issues/15866)) ([570e0f1](https://github.com/vitejs/vite/commit/570e0f1)), closes [#&#8203;12117](https://github.com/vitejs/vite/issues/12117) [#&#8203;15866](https://github.com/vitejs/vite/issues/15866)
-   chore: update license file ([#&#8203;15885](https://github.com/vitejs/vite/issues/15885)) ([d9adf18](https://github.com/vitejs/vite/commit/d9adf18)), closes [#&#8203;15885](https://github.com/vitejs/vite/issues/15885)
-   chore(deps): update all non-major dependencies ([#&#8203;15874](https://github.com/vitejs/vite/issues/15874)) ([d16ce5d](https://github.com/vitejs/vite/commit/d16ce5d)), closes [#&#8203;15874](https://github.com/vitejs/vite/issues/15874)
-   chore(deps): update dependency dotenv-expand to v11 ([#&#8203;15875](https://github.com/vitejs/vite/issues/15875)) ([642d528](https://github.com/vitejs/vite/commit/642d528)), closes [#&#8203;15875](https://github.com/vitejs/vite/issues/15875)

### [`v5.1.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small511-2024-02-09-small)

-   fix: empty CSS file was output when only .css?url is used ([#&#8203;15846](https://github.com/vitejs/vite/issues/15846)) ([b2873ac](https://github.com/vitejs/vite/commit/b2873ac)), closes [#&#8203;15846](https://github.com/vitejs/vite/issues/15846)
-   fix: skip not only .js but also .mjs manifest entries ([#&#8203;15841](https://github.com/vitejs/vite/issues/15841)) ([3d860e7](https://github.com/vitejs/vite/commit/3d860e7)), closes [#&#8203;15841](https://github.com/vitejs/vite/issues/15841)
-   chore: post 5.1 release edits ([#&#8203;15840](https://github.com/vitejs/vite/issues/15840)) ([9da6502](https://github.com/vitejs/vite/commit/9da6502)), closes [#&#8203;15840](https://github.com/vitejs/vite/issues/15840)

### [`v5.1.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#510-2024-02-08)

-   chore: revert [#&#8203;15746](https://github.com/vitejs/vite/issues/15746) ([#&#8203;15839](https://github.com/vitejs/vite/issues/15839)) ([ed875f8](https://github.com/vitejs/vite/commit/ed875f8)), closes [#&#8203;15746](https://github.com/vitejs/vite/issues/15746) [#&#8203;15839](https://github.com/vitejs/vite/issues/15839)
-   fix: pass `customLogger` to `loadConfigFromFile` (fix [#&#8203;15824](https://github.com/vitejs/vite/issues/15824)) ([#&#8203;15831](https://github.com/vitejs/vite/issues/15831)) ([55a3427](https://github.com/vitejs/vite/commit/55a3427)), closes [#&#8203;15824](https://github.com/vitejs/vite/issues/15824) [#&#8203;15831](https://github.com/vitejs/vite/issues/15831)
-   fix(deps): update all non-major dependencies ([#&#8203;15803](https://github.com/vitejs/vite/issues/15803)) ([e0a6ef2](https://github.com/vitejs/vite/commit/e0a6ef2)), closes [#&#8203;15803](https://github.com/vitejs/vite/issues/15803)
-   refactor: remove `vite build --force` ([#&#8203;15837](https://github.com/vitejs/vite/issues/15837)) ([f1a4242](https://github.com/vitejs/vite/commit/f1a4242)), closes [#&#8203;15837](https://github.com/vitejs/vite/issues/15837)

</details>

<details>
<summary>pmndrs/zustand (zustand)</summary>

### [`v4.5.2`](https://github.com/pmndrs/zustand/releases/tag/v4.5.2)

[Compare Source](https://github.com/pmndrs/zustand/compare/v4.5.1...v4.5.2)

It should improve the compatibility with old browsers.

#### What's Changed

-   refactor(shallow): Use for..of instead of C-style for by [@&#8203;onlined](https://github.com/onlined) in [https://github.com/pmndrs/zustand/pull/2374](https://github.com/pmndrs/zustand/pull/2374)
-   fix: return type of persist migrate function changed to PersistedState by [@&#8203;bobdepreziz](https://github.com/bobdepreziz) in [https://github.com/pmndrs/zustand/pull/2360](https://github.com/pmndrs/zustand/pull/2360)
-   build: target es2018 by [@&#8203;dai-shi](https://github.com/dai-shi) in [https://github.com/pmndrs/zustand/pull/2361](https://github.com/pmndrs/zustand/pull/2361)

#### New Contributors

-   [@&#8203;medyahyejoud](https://github.com/medyahyejoud) made their first contribution in [https://github.com/pmndrs/zustand/pull/2353](https://github.com/pmndrs/zustand/pull/2353)
-   [@&#8203;yankycranky](https://github.com/yankycranky) made their first contribution in [https://github.com/pmndrs/zustand/pull/2348](https://github.com/pmndrs/zustand/pull/2348)
-   [@&#8203;cheeZery](https://github.com/cheeZery) made their first contribution in [https://github.com/pmndrs/zustand/pull/2364](https://github.com/pmndrs/zustand/pull/2364)
-   [@&#8203;Cadienvan](https://github.com/Cadienvan) made their first contribution in [https://github.com/pmndrs/zustand/pull/2378](https://github.com/pmndrs/zustand/pull/2378)
-   [@&#8203;bobdepreziz](https://github.com/bobdepreziz) made their first contribution in [https://github.com/pmndrs/zustand/pull/2360](https://github.com/pmndrs/zustand/pull/2360)

**Full Changelog**: pmndrs/zustand@v4.5.1...v4.5.2

### [`v4.5.1`](https://github.com/pmndrs/zustand/releases/tag/v4.5.1)

[Compare Source](https://github.com/pmndrs/zustand/compare/v4.5.0...v4.5.1)

People might have misunderstood with `useStore` deprecation message. Hope this mitigates it.

#### What's Changed

-   Relax types for `persist` middleware by [@&#8203;rafaeelaudibert](https://github.com/rafaeelaudibert) in [https://github.com/pmndrs/zustand/pull/2332](https://github.com/pmndrs/zustand/pull/2332)
-   chore: clarify deprecation message by [@&#8203;dai-shi](https://github.com/dai-shi) in [https://github.com/pmndrs/zustand/pull/2337](https://github.com/pmndrs/zustand/pull/2337)

#### New Contributors

-   [@&#8203;alexander-densley](https://github.com/alexander-densley) made their first contribution in [https://github.com/pmndrs/zustand/pull/2321](https://github.com/pmndrs/zustand/pull/2321)
-   [@&#8203;rafaeelaudibert](https://github.com/rafaeelaudibert) made their first contribution in [https://github.com/pmndrs/zustand/pull/2332](https://github.com/pmndrs/zustand/pull/2332)

**Full Changelog**: pmndrs/zustand@v4.5.0...v4.5.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Berlin, 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://github.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/mheob/ef-calc).
renovate bot referenced this pull request in ettorepuccetti/terrarossa Mar 29, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [zustand](https://github.com/pmndrs/zustand) | [`4.4.7` ->
`4.5.2`](https://renovatebot.com/diffs/npm/zustand/4.4.7/4.5.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/zustand/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/zustand/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/zustand/4.4.7/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zustand/4.4.7/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pmndrs/zustand (zustand)</summary>

### [`v4.5.2`](https://github.com/pmndrs/zustand/releases/tag/v4.5.2)

[Compare
Source](https://github.com/pmndrs/zustand/compare/v4.5.1...v4.5.2)

It should improve the compatibility with old browsers.

#### What's Changed

- refactor(shallow): Use for..of instead of C-style for by
[@&#8203;onlined](https://github.com/onlined) in
[https://github.com/pmndrs/zustand/pull/2374](https://github.com/pmndrs/zustand/pull/2374)
- fix: return type of persist migrate function changed to PersistedState
by [@&#8203;bobdepreziz](https://github.com/bobdepreziz) in
[https://github.com/pmndrs/zustand/pull/2360](https://github.com/pmndrs/zustand/pull/2360)
- build: target es2018 by
[@&#8203;dai-shi](https://github.com/dai-shi) in
[https://github.com/pmndrs/zustand/pull/2361](https://github.com/pmndrs/zustand/pull/2361)

#### New Contributors

- [@&#8203;medyahyejoud](https://github.com/medyahyejoud) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2353](https://github.com/pmndrs/zustand/pull/2353)
- [@&#8203;yankycranky](https://github.com/yankycranky) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2348](https://github.com/pmndrs/zustand/pull/2348)
- [@&#8203;cheeZery](https://github.com/cheeZery) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2364](https://github.com/pmndrs/zustand/pull/2364)
- [@&#8203;Cadienvan](https://github.com/Cadienvan) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2378](https://github.com/pmndrs/zustand/pull/2378)
- [@&#8203;bobdepreziz](https://github.com/bobdepreziz) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2360](https://github.com/pmndrs/zustand/pull/2360)

**Full Changelog**:
pmndrs/zustand@v4.5.1...v4.5.2

### [`v4.5.1`](https://github.com/pmndrs/zustand/releases/tag/v4.5.1)

[Compare
Source](https://github.com/pmndrs/zustand/compare/v4.5.0...v4.5.1)

People might have misunderstood with `useStore` deprecation message.
Hope this mitigates it.

#### What's Changed

- Relax types for `persist` middleware by
[@&#8203;rafaeelaudibert](https://github.com/rafaeelaudibert) in
[https://github.com/pmndrs/zustand/pull/2332](https://github.com/pmndrs/zustand/pull/2332)
- chore: clarify deprecation message by
[@&#8203;dai-shi](https://github.com/dai-shi) in
[https://github.com/pmndrs/zustand/pull/2337](https://github.com/pmndrs/zustand/pull/2337)

#### New Contributors

- [@&#8203;alexander-densley](https://github.com/alexander-densley)
made their first contribution in
[https://github.com/pmndrs/zustand/pull/2321](https://github.com/pmndrs/zustand/pull/2321)
- [@&#8203;rafaeelaudibert](https://github.com/rafaeelaudibert) made
their first contribution in
[https://github.com/pmndrs/zustand/pull/2332](https://github.com/pmndrs/zustand/pull/2332)

**Full Changelog**:
pmndrs/zustand@v4.5.0...v4.5.1

### [`v4.5.0`](https://github.com/pmndrs/zustand/releases/tag/v4.5.0)

[Compare
Source](https://github.com/pmndrs/zustand/compare/v4.4.7...v4.5.0)

This version adds a new capability for SSR/Hydration.

#### What's Changed

- feat: getInitialState by [@&#8203;TkDodo](https://github.com/TkDodo)
in
[https://github.com/pmndrs/zustand/pull/2277](https://github.com/pmndrs/zustand/pull/2277)
- fix: Add deprecation notice for getServerState() in WithReact type by
[@&#8203;charkour](https://github.com/charkour) in
[https://github.com/pmndrs/zustand/pull/2266](https://github.com/pmndrs/zustand/pull/2266)

#### New Contributors

- [@&#8203;Jontii](https://github.com/Jontii) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2228](https://github.com/pmndrs/zustand/pull/2228)
- [@&#8203;wherehows](https://github.com/wherehows) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2239](https://github.com/pmndrs/zustand/pull/2239)
- [@&#8203;ahulterstrom](https://github.com/ahulterstrom) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2252](https://github.com/pmndrs/zustand/pull/2252)
- [@&#8203;JaeBrian](https://github.com/JaeBrian) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2267](https://github.com/pmndrs/zustand/pull/2267)
- [@&#8203;CodyCodes95](https://github.com/CodyCodes95) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2218](https://github.com/pmndrs/zustand/pull/2218)

**Full Changelog**:
pmndrs/zustand@v4.4.7...v4.5.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on Friday" (UTC),
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 this update
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/ettorepuccetti/terrarossa).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@gideonkipkorir123
Copy link

This expression is not callable.
Type 'StoreApi' has no call signatures.

renovate bot referenced this pull request in ettorepuccetti/t3-template Apr 11, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [zustand](https://github.com/pmndrs/zustand) | [`4.4.7` ->
`4.5.2`](https://renovatebot.com/diffs/npm/zustand/4.4.7/4.5.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/zustand/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/zustand/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/zustand/4.4.7/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zustand/4.4.7/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pmndrs/zustand (zustand)</summary>

### [`v4.5.2`](https://github.com/pmndrs/zustand/releases/tag/v4.5.2)

[Compare
Source](https://github.com/pmndrs/zustand/compare/v4.5.1...v4.5.2)

It should improve the compatibility with old browsers.

#### What's Changed

- refactor(shallow): Use for..of instead of C-style for by
[@&#8203;onlined](https://github.com/onlined) in
[https://github.com/pmndrs/zustand/pull/2374](https://github.com/pmndrs/zustand/pull/2374)
- fix: return type of persist migrate function changed to PersistedState
by [@&#8203;bobdepreziz](https://github.com/bobdepreziz) in
[https://github.com/pmndrs/zustand/pull/2360](https://github.com/pmndrs/zustand/pull/2360)
- build: target es2018 by
[@&#8203;dai-shi](https://github.com/dai-shi) in
[https://github.com/pmndrs/zustand/pull/2361](https://github.com/pmndrs/zustand/pull/2361)

#### New Contributors

- [@&#8203;medyahyejoud](https://github.com/medyahyejoud) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2353](https://github.com/pmndrs/zustand/pull/2353)
- [@&#8203;yankycranky](https://github.com/yankycranky) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2348](https://github.com/pmndrs/zustand/pull/2348)
- [@&#8203;cheeZery](https://github.com/cheeZery) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2364](https://github.com/pmndrs/zustand/pull/2364)
- [@&#8203;Cadienvan](https://github.com/Cadienvan) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2378](https://github.com/pmndrs/zustand/pull/2378)
- [@&#8203;bobdepreziz](https://github.com/bobdepreziz) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2360](https://github.com/pmndrs/zustand/pull/2360)

**Full Changelog**:
pmndrs/zustand@v4.5.1...v4.5.2

### [`v4.5.1`](https://github.com/pmndrs/zustand/releases/tag/v4.5.1)

[Compare
Source](https://github.com/pmndrs/zustand/compare/v4.5.0...v4.5.1)

People might have misunderstood with `useStore` deprecation message.
Hope this mitigates it.

#### What's Changed

- Relax types for `persist` middleware by
[@&#8203;rafaeelaudibert](https://github.com/rafaeelaudibert) in
[https://github.com/pmndrs/zustand/pull/2332](https://github.com/pmndrs/zustand/pull/2332)
- chore: clarify deprecation message by
[@&#8203;dai-shi](https://github.com/dai-shi) in
[https://github.com/pmndrs/zustand/pull/2337](https://github.com/pmndrs/zustand/pull/2337)

#### New Contributors

- [@&#8203;alexander-densley](https://github.com/alexander-densley)
made their first contribution in
[https://github.com/pmndrs/zustand/pull/2321](https://github.com/pmndrs/zustand/pull/2321)
- [@&#8203;rafaeelaudibert](https://github.com/rafaeelaudibert) made
their first contribution in
[https://github.com/pmndrs/zustand/pull/2332](https://github.com/pmndrs/zustand/pull/2332)

**Full Changelog**:
pmndrs/zustand@v4.5.0...v4.5.1

### [`v4.5.0`](https://github.com/pmndrs/zustand/releases/tag/v4.5.0)

[Compare
Source](https://github.com/pmndrs/zustand/compare/v4.4.7...v4.5.0)

This version adds a new capability for SSR/Hydration.

#### What's Changed

- feat: getInitialState by [@&#8203;TkDodo](https://github.com/TkDodo)
in
[https://github.com/pmndrs/zustand/pull/2277](https://github.com/pmndrs/zustand/pull/2277)
- fix: Add deprecation notice for getServerState() in WithReact type by
[@&#8203;charkour](https://github.com/charkour) in
[https://github.com/pmndrs/zustand/pull/2266](https://github.com/pmndrs/zustand/pull/2266)

#### New Contributors

- [@&#8203;Jontii](https://github.com/Jontii) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2228](https://github.com/pmndrs/zustand/pull/2228)
- [@&#8203;wherehows](https://github.com/wherehows) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2239](https://github.com/pmndrs/zustand/pull/2239)
- [@&#8203;ahulterstrom](https://github.com/ahulterstrom) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2252](https://github.com/pmndrs/zustand/pull/2252)
- [@&#8203;JaeBrian](https://github.com/JaeBrian) made their first
contribution in
[https://github.com/pmndrs/zustand/pull/2267](https://github.com/pmndrs/zustand/pull/2267)
- [@&#8203;CodyCodes95](https://github.com/CodyCodes95) made their
first contribution in
[https://github.com/pmndrs/zustand/pull/2218](https://github.com/pmndrs/zustand/pull/2218)

**Full Changelog**:
pmndrs/zustand@v4.4.7...v4.5.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on Thursday" (UTC),
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 this update
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/ettorepuccetti/t3-template).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

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.

4 participants