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

Drop the extend-redux addition #357

Merged
merged 1 commit into from Dec 4, 2023
Merged

Conversation

markerikson
Copy link
Contributor

No description provided.

Copy link

codesandbox-ci bot commented Dec 4, 2023

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.

Latest deployment of this branch, based on commit c8d4878:

Sandbox Source
Vanilla Typescript Configuration

@markerikson markerikson merged commit 1de2476 into master Dec 4, 2023
15 checks passed
@markerikson markerikson deleted the feature/remove-extend branch December 4, 2023 13:49
github-merge-queue bot pushed a commit to coveo/ui-kit that referenced this pull request Mar 12, 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 |
|---|---|---|---|---|---|
| [redux-thunk](https://togithub.com/reduxjs/redux-thunk) | [`2.4.2` ->
`3.1.0`](https://renovatebot.com/diffs/npm/redux-thunk/2.4.2/3.1.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/redux-thunk/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/redux-thunk/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/redux-thunk/2.4.2/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/redux-thunk/2.4.2/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>reduxjs/redux-thunk (redux-thunk)</summary>

###
[`v3.1.0`](https://togithub.com/reduxjs/redux-thunk/releases/tag/v3.1.0)

[Compare
Source](https://togithub.com/reduxjs/redux-thunk/compare/v3.0.1...v3.1.0)

This **major release**:

-   Updates the packaging for better ESM/CJS compatibility
-   Changes the package to use named exports instead of a default export

This release has **breaking changes**. (Note: this actually points to
v3.1.0, which includes a hotfix that was meant for 3.0.0.)

This release is part of a wave of major versions of all the Redux
packages: **Redux Toolkit 2.0, Redux core 5.0, React-Redux 9.0, Reselect
5.0, and Redux Thunk 3.0**.

For full details on all of the breaking changes and other significant
changes to all of those packages, see the **["Migrating to RTK 2.0 and
Redux 5.0" migration
guide](https://redux.js.org/usage/migrations/migrating-rtk-2)** in the
Redux docs.

> \[!NOTE]
> The Redux core, Reselect, and Redux Thunk packages are included as
part of Redux Toolkit, and RTK users do not need to manually upgrade
them - you'll get them as part of the upgrade to RTK 2.0. (If you're not
using Redux Toolkit yet, [**please start migrating your existing legacy
Redux code to use Redux Toolkit
today!**](https://redux.js.org/usage/migrating-to-modern-redux))

```bash

### RTK
npm install @&#8203;reduxjs/toolkit
yarn add @&#8203;reduxjs/toolkit

### Standalone
npm install redux-thunk
yarn add redux-thunk
```

#### Changelog

##### Named Exports Instead of Default Exports

The `redux-thunk` package previously used a single default export that
was the thunk middleware, with an attached field named
`withExtraArgument` that allowed customization.

**The default export has been removed. There are now two named exports:
`thunk` (the basic middleware) and `withExtraArgument`.**

If you are using Redux Toolkit, this should have no effect, as RTK
already handles this inside of `configureStore`.

##### ESM/CJS Package Compatibility

The biggest theme of the Redux v5 and RTK 2.0 releases is trying to get
"true" ESM package publishing compatibility in place, while still
supporting CJS in the published package.

**The primary build artifact is now an ESM file,
`dist/redux-thunk.mjs`**. Most build tools should pick this up. There's
also a CJS artifact, and a second copy of the ESM file named
`redux-thunk.legacy-esm.js` to support Webpack 4 (which does not
recognize the `exports` field in `package.json`).

##### Build Tooling

We're now building the package using https://github.com/egoist/tsup. We
also now include sourcemaps for the ESM and CJS artifacts.

The repo has been updated to use Yarn 3 for dependencies and Vitest for
running tests.

##### Dropping UMD Builds

Redux has always shipped with UMD build artifacts. These are primarily
meant for direct import as script tags, such as in a CodePen or a
no-bundler build environment.

For now, we're dropping those build artifacts from the published
package, on the grounds that the use cases seem pretty rare today.

Since the code is so simple, the ESM artifact can be used directly in
the browser via Unpkg.

If you have strong use cases for us continuing to include UMD build
artifacts, please let us know!

##### `extend-redux` Typedefs Removed

Redux Thunk 2.x included a `redux-thunk/extend-redux` TS-only entry
point, which extended the types of `dispatch` and `bindActionCreators`
to globally give them knowledge of the thunk types. We feel that global
overrides from a library are an anti-pattern, and we've removed this
entry point. (*Note*: this ended up being released in 3.1.0, as it was
missed in the original 3.0.0 release.)

Please follow our [TS setup
guidelines](https://redux.js.org/tutorials/typescript-quick-start#define-root-state-and-dispatch-types)
to infer the correct type of `dispatch` for your store.

#### What's Changed

- Migrate thunk package to ESM by
[@&#8203;markerikson](https://togithub.com/markerikson) in
[reduxjs/redux-thunk#340
- Switch package manager to Yarn 3 and update CI jobs by
[@&#8203;markerikson](https://togithub.com/markerikson) in
[reduxjs/redux-thunk#341
- Run RTK publish CI examples on built artifact by
[@&#8203;markerikson](https://togithub.com/markerikson) in
[reduxjs/redux-thunk#342
- Rewrite build/test setup and hopefully fix ESM compat by
[@&#8203;markerikson](https://togithub.com/markerikson) in
[reduxjs/redux-thunk#344
- Change artifact names to be `redux-thunk` by
[@&#8203;markerikson](https://togithub.com/markerikson) in
[reduxjs/redux-thunk#345
- Support Webpack 4 with a "legacy ESM" artifact by
[@&#8203;markerikson](https://togithub.com/markerikson) in
[reduxjs/redux-thunk#346
- update README and types to match named export by
[@&#8203;EskiMojo14](https://togithub.com/EskiMojo14) in
[reduxjs/redux-thunk#347
- Bump Redux peer dep for RC and update build tooling by
[@&#8203;markerikson](https://togithub.com/markerikson) in
[reduxjs/redux-thunk#356
- Drop the extend-redux addition by
[@&#8203;markerikson](https://togithub.com/markerikson) in
[reduxjs/redux-thunk#357

**Full Changelog**:
reduxjs/redux-thunk@v2.4.2...v3.1.0

###
[`v3.0.1`](https://togithub.com/reduxjs/redux-thunk/compare/v3.0.0...v3.0.1)

[Compare
Source](https://togithub.com/reduxjs/redux-thunk/compare/v3.0.0...v3.0.1)

###
[`v3.0.0`](https://togithub.com/reduxjs/redux-thunk/compare/v2.4.2...v3.0.0)

[Compare
Source](https://togithub.com/reduxjs/redux-thunk/compare/v2.4.2...v3.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (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.

🔕 **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/coveo/ui-kit).

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

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

Successfully merging this pull request may close these issues.

None yet

1 participant