Skip to content

Commit 607515f

Browse files
authored
feat: chainWebpack config support async (umijs#4344)
1 parent 90b8e1c commit 607515f

7 files changed

Lines changed: 42 additions & 1 deletion

File tree

docs/config/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,17 @@ export default {
103103
}
104104
```
105105

106+
支持异步,
107+
108+
```js
109+
export default {
110+
async chainWebpack(memo) {
111+
await delay(100);
112+
memo.resolve.alias.set('foo', '/tmp/a/b/foo');
113+
}
114+
}
115+
```
116+
106117
参数有,
107118

108119
* memo,当前 webpack-chain对象

docs/config/README.zh-CN.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,17 @@ export default {
101101
}
102102
```
103103

104+
支持异步,
105+
106+
```js
107+
export default {
108+
async chainWebpack(memo) {
109+
await delay(100);
110+
memo.resolve.alias.set('foo', '/tmp/a/b/foo');
111+
}
112+
}
113+
```
114+
104115
参数有,
105116

106117
* memo,当前 webpack-chain对象
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { delay } from '@umijs/utils';
2+
3+
export default {
4+
async chainWebpack(webpackConfig: any) {
5+
await delay(200);
6+
webpackConfig.resolve.alias.set('react', './react.ts');
7+
return webpackConfig;
8+
},
9+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { IExpectOpts } from '../types';
2+
3+
export default ({ indexJS }: IExpectOpts) => {
4+
expect(indexJS).toContain(`var a = 'react';`);
5+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import react from 'react';
2+
console.log(react);
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2+
const a = 'react';
3+
export default a;

packages/bundler-webpack/src/getConfig/getConfig.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ export default async function getConfig(
412412
}
413413
// 用户配置的 chainWebpack 优先级最高
414414
if (config.chainWebpack) {
415-
config.chainWebpack(webpackConfig, {
415+
await config.chainWebpack(webpackConfig, {
416416
env,
417417
webpack: bundleImplementor,
418418
createCSSRule: createCSSRuleFn,

0 commit comments

Comments
 (0)