Skip to content

Commit 548dd59

Browse files
committed
Merge branch 'master' of https://github.com/reduxjs/redux-toolkit into codegen-vitest
2 parents 549a614 + f75f185 commit 548dd59

File tree

9 files changed

+600
-1676
lines changed

9 files changed

+600
-1676
lines changed
Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
11
name: size
2-
on: [pull_request]
2+
on:
3+
pull_request:
4+
branches:
5+
- master
6+
permissions:
7+
pull-requests: write
38
jobs:
49
size:
510
runs-on: ubuntu-latest
611
env:
712
CI_JOB_NUMBER: 1
813
steps:
914
- uses: actions/checkout@v2
10-
- uses: andresz1/size-limit-action@v1
15+
- uses: EskiMojo14/size-limit-action@v2
1116
with:
1217
directory: packages/toolkit
1318
github_token: ${{ secrets.GITHUB_TOKEN }}
1419
build_script: build-only
20+
package_manager: yarn
21+
size_margin: non-zero
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
diff --git a/get-config.js b/get-config.js
2+
index 76ebaee5455b2a4bacb986784bd1b53ad89adeb7..1b092e645b258f4a6533ca88b7d36dbcde4eb6de 100644
3+
--- a/get-config.js
4+
+++ b/get-config.js
5+
@@ -132,7 +132,7 @@ export default async function getConfig(plugins, process, args, pkg) {
6+
} else if (!check.entry) {
7+
if (pkg.packageJson.main) {
8+
processed.files = [
9+
- require.resolve(join(dirname(pkg.path), pkg.packageJson.main))
10+
+ import.meta.resolve(join(dirname(pkg.path), pkg.packageJson.main))
11+
]
12+
} else {
13+
processed.files = [join(dirname(pkg.path), 'index.js')]
14+
@@ -177,7 +177,7 @@ export default async function getConfig(plugins, process, args, pkg) {
15+
for (let i in check.import) {
16+
if (peer.includes(i)) {
17+
check.ignore = check.ignore.filter(j => j !== i)
18+
- imports[require.resolve(i, config.cwd)] = check.import[i]
19+
+ imports[import.meta.resolve(i, config.cwd)] = check.import[i]
20+
} else {
21+
imports[toAbsolute(i, config.cwd)] = check.import[i]
22+
}

docs/api/createSlice.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ Similar to `createReducer`, the `extraReducers` field uses a "builder callback"
371371

372372
[examples](docblock://createSlice.ts?token=CreateSliceOptions.extraReducers)
373373

374-
See [the "Builder Callback Notation" section of the `createReducer` reference](./createReducer.mdx#usage-with-the-builder-callback-notation) for details on how to use `builder.addCase`, `builder.addMatcher`, and `builder.addDefault`
374+
See [the "Builder Callback Notation" section of the `createReducer` reference](./createReducer.mdx#usage-with-the-builder-callback-notation) for details on how to use `builder.addCase`, `builder.addMatcher`, and `builder.addDefaultCase`
375375

376376
### `reducerPath`
377377

packages/toolkit/.size-limit.cjs

Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
const webpack = require('webpack')
2+
let { join } = require('path')
3+
4+
const esmSuffixes = ['modern.mjs' /*, 'browser.mjs', 'legacy-esm.js'*/]
5+
const cjsSuffixes = [/*'development.cjs',*/ 'production.min.cjs']
6+
7+
function withRtkPath(suffix, cjs = false) {
8+
/**
9+
* @param {string} name
10+
*/
11+
function alias(name) {
12+
return `${cjs ? 'cjs/' : ''}${name}.${suffix}`
13+
}
14+
/**
15+
* @param {webpack.Configuration} config
16+
*/
17+
return (config) => {
18+
config.plugins.push(
19+
new webpack.NormalModuleReplacementPlugin(
20+
/@reduxjs\/toolkit\/query\/react/,
21+
join(__dirname, 'dist/query/react/rtk-query-react.modern.mjs'),
22+
),
23+
new webpack.NormalModuleReplacementPlugin(
24+
/@reduxjs\/toolkit\/query/,
25+
join(__dirname, 'dist/query/rtk-query.modern.mjs'),
26+
),
27+
new webpack.NormalModuleReplacementPlugin(
28+
/@reduxjs\/toolkit\/react/,
29+
join(__dirname, 'dist/react/redux-toolkit-react.modern.mjs'),
30+
),
31+
new webpack.NormalModuleReplacementPlugin(
32+
/@reduxjs\/toolkit/,
33+
join(__dirname, 'dist/redux-toolkit.modern.mjs'),
34+
),
35+
new webpack.NormalModuleReplacementPlugin(
36+
/rtk-query-react.modern.mjs/,
37+
(r) => {
38+
const old = r.request
39+
r.request = r.request.replace(
40+
/rtk-query-react.modern.mjs$/,
41+
alias('rtk-query-react'),
42+
)
43+
//console.log(old, '=>', r.request)
44+
},
45+
),
46+
new webpack.NormalModuleReplacementPlugin(/rtk-query.modern.mjs/, (r) => {
47+
const old = r.request
48+
r.request = r.request.replace(
49+
/rtk-query.modern.mjs$/,
50+
alias('rtk-query'),
51+
)
52+
//console.log(old, '=>', r.request)
53+
}),
54+
new webpack.NormalModuleReplacementPlugin(
55+
/redux-toolkit-react.modern.mjs$/,
56+
(r) => {
57+
const old = r.request
58+
r.request = r.request.replace(
59+
/redux-toolkit-react.modern.mjs$/,
60+
alias('redux-toolkit-react'),
61+
)
62+
//console.log(old, '=>', r.request)
63+
},
64+
),
65+
new webpack.NormalModuleReplacementPlugin(
66+
/redux-toolkit.modern.mjs$/,
67+
(r) => {
68+
const old = r.request
69+
r.request = r.request.replace(
70+
/redux-toolkit.modern.mjs$/,
71+
alias('redux-toolkit'),
72+
)
73+
//console.log(old, '=>', r.request)
74+
},
75+
),
76+
)
77+
78+
if (suffix === 'production.min.cjs') {
79+
;(config.resolve ??= {}).mainFields = ['main', 'module']
80+
}
81+
;(config.optimization ??= {}).nodeEnv = 'production'
82+
return config
83+
}
84+
}
85+
86+
const ignoreAll = [
87+
'@reduxjs/toolkit',
88+
'@reduxjs/toolkit/query',
89+
'immer',
90+
'redux',
91+
'reselect',
92+
'redux-thunk',
93+
]
94+
95+
const entryPoints = [
96+
{
97+
name: `1. entry point: @reduxjs/toolkit`,
98+
path: 'dist/redux-toolkit.modern.mjs',
99+
},
100+
{
101+
name: `1. entry point: @reduxjs/toolkit/react`,
102+
path: 'dist/react/redux-toolkit-react.modern.mjs',
103+
},
104+
{
105+
name: `1. entry point: @reduxjs/toolkit/query`,
106+
path: 'dist/query/rtk-query.modern.mjs',
107+
},
108+
{
109+
name: `1. entry point: @reduxjs/toolkit/query/react`,
110+
path: 'dist/query/react/rtk-query-react.modern.mjs',
111+
},
112+
{
113+
name: `2. entry point: @reduxjs/toolkit (without dependencies)`,
114+
path: 'dist/redux-toolkit.modern.mjs',
115+
ignore: ignoreAll,
116+
},
117+
{
118+
name: `2. entry point: @reduxjs/toolkit/react (without dependencies)`,
119+
path: 'dist/react/redux-toolkit-react.modern.mjs',
120+
ignore: ignoreAll,
121+
},
122+
{
123+
name: `2. entry point: @reduxjs/toolkit/query (without dependencies)`,
124+
path: 'dist/query/rtk-query.modern.mjs',
125+
ignore: ignoreAll,
126+
},
127+
{
128+
name: `2. entry point: @reduxjs/toolkit/query/react (without dependencies)`,
129+
path: 'dist/query/react/rtk-query-react.modern.mjs',
130+
ignore: ignoreAll,
131+
},
132+
]
133+
134+
module.exports = entryPoints
135+
.flatMap((e) =>
136+
esmSuffixes.map((suffix) => ({
137+
...e,
138+
name: e.name + ` (${suffix})`,
139+
modifyWebpackConfig: withRtkPath(suffix),
140+
})),
141+
)
142+
.concat(
143+
entryPoints.flatMap((e) =>
144+
cjsSuffixes.map((suffix) => ({
145+
...e,
146+
name: e.name + ` (cjs, ${suffix})`,
147+
modifyWebpackConfig: withRtkPath(suffix, true),
148+
})),
149+
),
150+
)
151+
.concat(
152+
[
153+
{
154+
name: `3. createSlice`,
155+
import: { '@reduxjs/toolkit': '{ createSlice }' },
156+
},
157+
{
158+
name: `3. createAsyncThunk`,
159+
import: { '@reduxjs/toolkit': '{ createAsyncThunk }' },
160+
},
161+
{
162+
name: `3. buildCreateSlice and asyncThunkCreator`,
163+
import: {
164+
'@reduxjs/toolkit': '{ buildCreateSlice, asyncThunkCreator }',
165+
},
166+
},
167+
{
168+
name: `3. createEntityAdapter`,
169+
import: { '@reduxjs/toolkit': '{ createEntityAdapter }' },
170+
},
171+
{
172+
name: `3. configureStore`,
173+
import: { '@reduxjs/toolkit': '{ configureStore }' },
174+
},
175+
{
176+
name: `3. combineSlices`,
177+
import: { '@reduxjs/toolkit': '{ combineSlices }' },
178+
},
179+
{
180+
name: `3. createDynamicMiddleware`,
181+
import: { '@reduxjs/toolkit': '{ createDynamicMiddleware }' },
182+
},
183+
{
184+
name: `3. createDynamicMiddleware (react)`,
185+
import: { '@reduxjs/toolkit/react': '{ createDynamicMiddleware }' },
186+
},
187+
{
188+
name: `3. createListenerMiddleware`,
189+
import: { '@reduxjs/toolkit': '{ createListenerMiddleware }' },
190+
},
191+
{
192+
name: `3. createApi`,
193+
import: { '@reduxjs/toolkit/query': '{ createApi }' },
194+
},
195+
{
196+
name: `3. createApi (react)`,
197+
import: { '@reduxjs/toolkit/query/react': '{ createApi }' },
198+
},
199+
{
200+
name: `3. fetchBaseQuery`,
201+
import: { '@reduxjs/toolkit/query': '{ fetchBaseQuery }' },
202+
},
203+
].map((e) => ({
204+
...e,
205+
name: e.name + ` (.modern.mjs)`,
206+
modifyWebpackConfig: withRtkPath('modern.mjs'),
207+
})),
208+
)

0 commit comments

Comments
 (0)