@umijs/plugins 4.0.0-canary.20220422.1 → 4.0.0-canary.20220424.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/locale.js +2 -2
- package/dist/qiankun/master.js +6 -0
- package/dist/qiankun/slave.js +7 -1
- package/dist/request.js +46 -2
- package/package.json +5 -5
package/dist/locale.js
CHANGED
|
@@ -157,7 +157,7 @@ exports.default = (api) => {
|
|
|
157
157
|
})) }))),
|
|
158
158
|
Antd: !!antd,
|
|
159
159
|
DefaultLocale: JSON.stringify(defaultLocale),
|
|
160
|
-
warningPkgPath: (0, plugin_utils_1.winPath)(require.resolve('warning/package')),
|
|
160
|
+
warningPkgPath: (0, plugin_utils_1.winPath)((0, path_1.dirname)(require.resolve('warning/package'))),
|
|
161
161
|
reactIntlPkgPath,
|
|
162
162
|
}),
|
|
163
163
|
});
|
|
@@ -184,7 +184,7 @@ exports.default = (api) => {
|
|
|
184
184
|
api.writeTmpFile({
|
|
185
185
|
path: 'index.ts',
|
|
186
186
|
content: `
|
|
187
|
-
export { setLocale, getLocale, useIntl, formatMessage, FormattedMessage } from './localeExports.ts';
|
|
187
|
+
export { setLocale, getLocale, useIntl, injectIntl, formatMessage, FormattedMessage } from './localeExports.ts';
|
|
188
188
|
export { SelectLang } from './SelectLang.tsx';
|
|
189
189
|
`,
|
|
190
190
|
});
|
package/dist/qiankun/master.js
CHANGED
package/dist/qiankun/slave.js
CHANGED
|
@@ -129,11 +129,17 @@ if (!window.__POWERED_BY_QIANKUN__) {
|
|
|
129
129
|
path: file.replace(/\.tpl$/, ''),
|
|
130
130
|
content: getFileContent(file)
|
|
131
131
|
.replace('__USE_MODEL__', api.isPluginEnable('model')
|
|
132
|
-
? `import { useModel } from '@@/plugin
|
|
132
|
+
? `import { useModel } from '@@/plugin-model'`
|
|
133
133
|
: `const useModel = null;`)
|
|
134
134
|
.replace(/from 'qiankun'/g, `from '${(0, plugin_utils_1.winPath)((0, path_1.dirname)(require.resolve('qiankun/package')))}'`)
|
|
135
135
|
.replace(/from 'lodash\//g, `from '${(0, plugin_utils_1.winPath)((0, path_1.dirname)(require.resolve('lodash/package')))}/`),
|
|
136
136
|
});
|
|
137
137
|
});
|
|
138
|
+
api.writeTmpFile({
|
|
139
|
+
path: 'index.ts',
|
|
140
|
+
content: `
|
|
141
|
+
export { connectMaster } from './connectMaster';
|
|
142
|
+
`,
|
|
143
|
+
});
|
|
138
144
|
});
|
|
139
145
|
};
|
package/dist/request.js
CHANGED
|
@@ -102,7 +102,9 @@ function useRequest(service: any, options: any = {}) {
|
|
|
102
102
|
|
|
103
103
|
// request 方法 opts 参数的接口
|
|
104
104
|
interface IRequestOptions extends AxiosRequestConfig {
|
|
105
|
-
skipErrorHandler?: boolean
|
|
105
|
+
skipErrorHandler?: boolean;
|
|
106
|
+
requestInterceptors?: IRequestInterceptorTuple[];
|
|
107
|
+
responseInterceptors?: IResponseInterceptorTuple[];
|
|
106
108
|
}
|
|
107
109
|
|
|
108
110
|
interface IRequestOptionsWithResponse extends IRequestOptions {
|
|
@@ -123,12 +125,19 @@ interface IRequest{
|
|
|
123
125
|
interface IErrorHandler {
|
|
124
126
|
(error: RequestError, opts: IRequestOptions): void;
|
|
125
127
|
}
|
|
128
|
+
type IRequestInterceptor = (config : AxiosRequestConfig) => AxiosRequestConfig;
|
|
129
|
+
type IErrorInterceptor = (error: Error) => Promise<Error>;
|
|
130
|
+
type IResponseInterceptor = <T = any>(response : AxiosResponse<T>) => AxiosResponse<T> ;
|
|
131
|
+
type IRequestInterceptorTuple = [IRequestInterceptor , IErrorInterceptor] | [ IRequestInterceptor ] | IRequestInterceptor
|
|
132
|
+
type IResponseInterceptorTuple = [IResponseInterceptor, IErrorInterceptor] | [IResponseInterceptor] | IResponseInterceptor
|
|
126
133
|
|
|
127
134
|
export interface RequestConfig extends AxiosRequestConfig {
|
|
128
135
|
errorConfig?: {
|
|
129
136
|
errorHandler?: IErrorHandler;
|
|
130
137
|
errorThrower?: <T = any>( res: T ) => void
|
|
131
138
|
};
|
|
139
|
+
requestInterceptors?: IRequestInterceptorTuple[];
|
|
140
|
+
responseInterceptors?: IResponseInterceptorTuple[];
|
|
132
141
|
}
|
|
133
142
|
|
|
134
143
|
let requestInstance: AxiosInstance;
|
|
@@ -142,11 +151,24 @@ const getConfig = (): RequestConfig => {
|
|
|
142
151
|
});
|
|
143
152
|
return config;
|
|
144
153
|
};
|
|
154
|
+
|
|
145
155
|
const getRequestInstance = (): AxiosInstance => {
|
|
146
156
|
if (requestInstance) return requestInstance;
|
|
147
157
|
const config = getConfig();
|
|
148
158
|
requestInstance = axios.create(config);
|
|
149
159
|
|
|
160
|
+
config?.requestInterceptors?.forEach((interceptor) => {
|
|
161
|
+
return interceptor instanceof Array ?
|
|
162
|
+
requestInstance.interceptors.request.use(interceptor[0], interceptor[1]):
|
|
163
|
+
requestInstance.interceptors.request.use(interceptor);
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
config?.responseInterceptors?.forEach((interceptor) => {
|
|
167
|
+
return interceptor instanceof Array ?
|
|
168
|
+
requestInstance.interceptors.response.use(interceptor[0], interceptor[1]):
|
|
169
|
+
requestInstance.interceptors.response.use(interceptor);
|
|
170
|
+
});
|
|
171
|
+
|
|
150
172
|
// 当响应的数据 success 是 false 的时候,抛出 error 以供 errorHandler 处理。
|
|
151
173
|
requestInstance.interceptors.response.use((response)=>{
|
|
152
174
|
const { data } = response;
|
|
@@ -161,14 +183,36 @@ const getRequestInstance = (): AxiosInstance => {
|
|
|
161
183
|
const request: IRequest = (url: string, opts: any = { method: 'GET' }) => {
|
|
162
184
|
const requestInstance = getRequestInstance();
|
|
163
185
|
const config = getConfig();
|
|
164
|
-
const { getResponse = false } = opts;
|
|
186
|
+
const { getResponse = false, requestInterceptors, responseInterceptors } = opts;
|
|
187
|
+
const requestInterceptorsToEject = requestInterceptors?.map((interceptor) => {
|
|
188
|
+
return interceptor instanceof Array ?
|
|
189
|
+
requestInstance.interceptors.request.use(interceptor[0], interceptor[1]):
|
|
190
|
+
requestInstance.interceptors.request.use(interceptor);
|
|
191
|
+
});
|
|
192
|
+
const responseInterceptorsToEject = responseInterceptors?.map((interceptor) => {
|
|
193
|
+
return interceptor instanceof Array ?
|
|
194
|
+
requestInstance.interceptors.response.use(interceptor[0], interceptor[1]):
|
|
195
|
+
requestInstance.interceptors.response.use(interceptor);
|
|
196
|
+
});
|
|
165
197
|
return new Promise((resolve, reject)=>{
|
|
166
198
|
requestInstance
|
|
167
199
|
.request({...opts, url})
|
|
168
200
|
.then((res)=>{
|
|
201
|
+
requestInterceptorsToEject?.forEach((interceptor) => {
|
|
202
|
+
requestInstance.interceptors.request.eject(interceptor);
|
|
203
|
+
});
|
|
204
|
+
responseInterceptorsToEject?.forEach((interceptor) => {
|
|
205
|
+
requestInstance.interceptors.response.eject(interceptor);
|
|
206
|
+
});
|
|
169
207
|
resolve(getResponse ? res : res.data);
|
|
170
208
|
})
|
|
171
209
|
.catch((error)=>{
|
|
210
|
+
requestInterceptorsToEject?.forEach((interceptor) => {
|
|
211
|
+
requestInstance.interceptors.request.eject(interceptor);
|
|
212
|
+
});
|
|
213
|
+
responseInterceptorsToEject?.forEach((interceptor) => {
|
|
214
|
+
requestInstance.interceptors.response.eject(interceptor);
|
|
215
|
+
});
|
|
172
216
|
try {
|
|
173
217
|
const handler =
|
|
174
218
|
config.errorConfig?.errorHandler;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umijs/plugins",
|
|
3
|
-
"version": "4.0.0-canary.
|
|
3
|
+
"version": "4.0.0-canary.20220424.1",
|
|
4
4
|
"description": "@umijs/plugins",
|
|
5
5
|
"homepage": "https://github.com/umijs/umi-next/tree/master/packages/plugins#readme",
|
|
6
6
|
"bugs": "https://github.com/umijs/umi-next/issues",
|
|
@@ -17,15 +17,15 @@
|
|
|
17
17
|
],
|
|
18
18
|
"scripts": {
|
|
19
19
|
"build": "pnpm tsc",
|
|
20
|
-
"build:deps": "
|
|
20
|
+
"build:deps": "umi-scripts bundleDeps",
|
|
21
21
|
"dev": "pnpm build -- --watch",
|
|
22
|
-
"test": "
|
|
22
|
+
"test": "umi-scripts jest-turbo"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@ahooksjs/use-request": "^2.0.0",
|
|
26
26
|
"@ant-design/icons": "^4.7.0",
|
|
27
27
|
"@ant-design/pro-layout": "^6.35.1",
|
|
28
|
-
"@umijs/bundler-utils": "4.0.0-canary.
|
|
28
|
+
"@umijs/bundler-utils": "4.0.0-canary.20220424.1",
|
|
29
29
|
"antd-dayjs-webpack-plugin": "^1.0.6",
|
|
30
30
|
"axios": "^0.26.1",
|
|
31
31
|
"babel-plugin-import": "^1.13.3",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"warning": "^4.0.3"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"umi": "4.0.0-canary.
|
|
47
|
+
"umi": "4.0.0-canary.20220424.1"
|
|
48
48
|
},
|
|
49
49
|
"publishConfig": {
|
|
50
50
|
"access": "public"
|