You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2020/05/21 02:11:11 UTC
[incubator-apisix-dashboard] branch next updated: feat: Update
umi.js (#200)
This is an automated email from the ASF dual-hosted git repository.
juzhiyuan pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-apisix-dashboard.git
The following commit(s) were added to refs/heads/next by this push:
new 5bca29d feat: Update umi.js (#200)
5bca29d is described below
commit 5bca29dea3eb9a226fa192aa6b2f79b87fcc3217
Author: 琚致远 <ju...@apache.org>
AuthorDate: Thu May 21 10:11:05 2020 +0800
feat: Update umi.js (#200)
* feat: added API.d.ts
* feat: added umi request
* feat: update package.json
* feat: added app.tsx
* feat: update yarn.lock
* feat: update package.json
* feat: update request
* feat: update request
* feat: update plugin service
* feat: remove unused codes
* feat: update API typings
* feat: update version
* fix: import API namespace
---
package.json | 9 ++-
src/access.ts | 6 ++
src/{utils/request.ts => app.tsx} | 22 ++----
src/components/NoticeIcon/NoticeList.tsx | 9 +--
src/components/NoticeIcon/index.tsx | 15 +---
src/models/global.ts | 11 ++-
src/pages/ssl/service.ts | 15 ++--
src/services/API.d.ts | 32 ++++++++
src/services/login.ts | 2 +-
src/services/plugin.ts | 4 +-
src/services/user.ts | 16 ++--
yarn.lock | 128 ++++++++++++++++++++++---------
12 files changed, 169 insertions(+), 100 deletions(-)
diff --git a/package.json b/package.json
index cae1ab2..594701e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "apisix-dashboard",
- "version": "1.0.0",
+ "version": "1.0.1",
"private": true,
"description": "Dashboard for APISIX",
"scripts": {
@@ -79,9 +79,10 @@
"@types/uuid": "^7.0.0",
"@umijs/fabric": "^2.0.5",
"@umijs/plugin-blocks": "^2.0.5",
- "@umijs/preset-ant-design-pro": "^1.0.1",
- "@umijs/preset-react": "^1.4.19",
- "@umijs/preset-ui": "^2.0.9",
+ "@umijs/plugin-esbuild": "^1.0.0-beta.2",
+ "@umijs/preset-ant-design-pro": "^1.2.0",
+ "@umijs/preset-react": "^1.4.24",
+ "@umijs/preset-ui": "^2.1.11",
"carlo": "^0.9.46",
"chalk": "^4.0.0",
"cross-env": "^7.0.0",
diff --git a/src/access.ts b/src/access.ts
new file mode 100644
index 0000000..207bc4b
--- /dev/null
+++ b/src/access.ts
@@ -0,0 +1,6 @@
+export default function (initialState: { currentUser?: API.CurrentUser | undefined }) {
+ const { currentUser } = initialState || {};
+ return {
+ canAdmin: currentUser && currentUser.access === 'admin',
+ };
+}
diff --git a/src/utils/request.ts b/src/app.tsx
similarity index 81%
rename from src/utils/request.ts
rename to src/app.tsx
index 75cac05..1d66ae6 100644
--- a/src/utils/request.ts
+++ b/src/app.tsx
@@ -1,10 +1,6 @@
-/**
- * request 网络请求工具
- * 更详细的 api 文档: https://github.com/umijs/umi-request
- */
-import { extend } from 'umi-request';
import { notification } from 'antd';
-import { getAdminAPIConfig } from "@/utils/setting";
+import { RequestConfig } from 'umi';
+import { getAdminAPIConfig } from '@/utils/setting';
const codeMessage = {
200: '服务器成功返回请求的数据。',
@@ -46,19 +42,13 @@ const errorHandler = (error: { response: Response; data: any }): Promise<Respons
};
const adminAPIConfig = getAdminAPIConfig();
-
-/**
- * 配置request请求时的默认参数
- */
-const request = extend({
- errorHandler, // 默认错误处理
- credentials: 'same-origin', // 默认请求是否带上cookie
+export const request: RequestConfig = {
+ errorHandler,
+ credentials: 'same-origin',
headers: {
'X-ADMIN-API-SCHEMA': adminAPIConfig.schema,
'X-ADMIN-API-HOST': adminAPIConfig.host,
'X-ADMIN-API-PATH': adminAPIConfig.path,
'X-API-KEY': adminAPIConfig.key,
},
-});
-
-export default request;
+};
diff --git a/src/components/NoticeIcon/NoticeList.tsx b/src/components/NoticeIcon/NoticeList.tsx
index f056b5b..8d00be2 100644
--- a/src/components/NoticeIcon/NoticeList.tsx
+++ b/src/components/NoticeIcon/NoticeList.tsx
@@ -2,7 +2,6 @@ import { Avatar, List } from 'antd';
import React from 'react';
import classNames from 'classnames';
-import { NoticeIconData } from './index';
import styles from './NoticeList.less';
export interface NoticeIconTabProps {
@@ -13,13 +12,13 @@ export interface NoticeIconTabProps {
style?: React.CSSProperties;
title: string;
tabKey: string;
- data?: NoticeIconData[];
- onClick?: (item: NoticeIconData) => void;
+ data?: API.NoticeIconData[];
+ onClick?: (item: API.NoticeIconData) => void;
onClear?: () => void;
emptyText?: string;
clearText?: string;
viewMoreText?: string;
- list: NoticeIconData[];
+ list: API.NoticeIconData[];
onViewMore?: (e: any) => void;
}
const NoticeList: React.SFC<NoticeIconTabProps> = ({
@@ -97,7 +96,7 @@ const NoticeList: React.SFC<NoticeIconTabProps> = ({
) : null}
{showViewMore ? (
<div
- onClick={e => {
+ onClick={(e) => {
if (onViewMore) {
onViewMore(e);
}
diff --git a/src/components/NoticeIcon/index.tsx b/src/components/NoticeIcon/index.tsx
index 3c94094..0df4061 100644
--- a/src/components/NoticeIcon/index.tsx
+++ b/src/components/NoticeIcon/index.tsx
@@ -10,24 +10,13 @@ import styles from './index.less';
const { TabPane } = Tabs;
-export interface NoticeIconData {
- avatar?: string | React.ReactNode;
- title?: React.ReactNode;
- description?: React.ReactNode;
- datetime?: React.ReactNode;
- extra?: React.ReactNode;
- style?: React.CSSProperties;
- key?: string | number;
- read?: boolean;
-}
-
export interface NoticeIconProps {
count?: number;
bell?: React.ReactNode;
className?: string;
loading?: boolean;
onClear?: (tabName: string, tabKey: string) => void;
- onItemClick?: (item: NoticeIconData, tabProps: NoticeIconTabProps) => void;
+ onItemClick?: (item: API.NoticeIconData, tabProps: NoticeIconTabProps) => void;
onViewMore?: (tabProps: NoticeIconTabProps, e: MouseEvent) => void;
onTabChange?: (tabTile: string) => void;
style?: React.CSSProperties;
@@ -42,7 +31,7 @@ export interface NoticeIconProps {
const NoticeIcon: React.FC<NoticeIconProps> & {
Tab: typeof NoticeList;
-} = props => {
+} = (props) => {
const getNotificationBox = (): React.ReactNode => {
const {
children,
diff --git a/src/models/global.ts b/src/models/global.ts
index 2414fb9..a9432f6 100644
--- a/src/models/global.ts
+++ b/src/models/global.ts
@@ -1,10 +1,9 @@
import { Subscription, Effect, Reducer } from 'umi';
-import { NoticeIconData } from '@/components/NoticeIcon';
import { queryNotices } from '@/services/user';
import { ConnectState } from './connect.d';
-export interface NoticeItem extends NoticeIconData {
+export interface NoticeItem extends API.NoticeIconData {
id: string;
type: string;
status: string;
@@ -47,7 +46,7 @@ const GlobalModel: GlobalModelType = {
payload: data,
});
const unreadCount: number = yield select(
- (state: ConnectState) => state.global.notices.filter(item => !item.read).length,
+ (state: ConnectState) => state.global.notices.filter((item) => !item.read).length,
);
yield put({
type: 'user/changeNotifyCount',
@@ -64,7 +63,7 @@ const GlobalModel: GlobalModelType = {
});
const count: number = yield select((state: ConnectState) => state.global.notices.length);
const unreadCount: number = yield select(
- (state: ConnectState) => state.global.notices.filter(item => !item.read).length,
+ (state: ConnectState) => state.global.notices.filter((item) => !item.read).length,
);
yield put({
type: 'user/changeNotifyCount',
@@ -76,7 +75,7 @@ const GlobalModel: GlobalModelType = {
},
*changeNoticeReadState({ payload }, { put, select }) {
const notices: NoticeItem[] = yield select((state: ConnectState) =>
- state.global.notices.map(item => {
+ state.global.notices.map((item) => {
const notice = { ...item };
if (notice.id === payload) {
notice.read = true;
@@ -94,7 +93,7 @@ const GlobalModel: GlobalModelType = {
type: 'user/changeNotifyCount',
payload: {
totalCount: notices.length,
- unreadCount: notices.filter(item => !item.read).length,
+ unreadCount: notices.filter((item) => !item.read).length,
},
});
},
diff --git a/src/pages/ssl/service.ts b/src/pages/ssl/service.ts
index 77e4162..d4c4ca7 100644
--- a/src/pages/ssl/service.ts
+++ b/src/pages/ssl/service.ts
@@ -1,4 +1,4 @@
-import request from '@/utils/request';
+import { request } from 'umi';
import { transformFetchListData, transformFetchItemData } from '@/transforms/global';
export const fetchList = () =>
@@ -7,14 +7,13 @@ export const fetchList = () =>
export const fetchItem = (key: string) =>
request(`/api/ssl/${key}`).then((data) => transformFetchItemData<SSL>(data));
-export const remove = (key: string) => request.delete(`/api/ssl/${key}`);
-
-export const create = (data: SSL) =>
- request.post('/api/ssl', {
- data,
+export const remove = (key: string) =>
+ request(`/api/ssl/${key}`, {
+ method: 'DELETE',
});
-export const update = (key: string, data: SSL) =>
- request.put(`/api/ssl/${key}`, {
+export const create = (data: SSL) =>
+ request('/api/ssl', {
+ method: 'POST',
data,
});
diff --git a/src/services/API.d.ts b/src/services/API.d.ts
new file mode 100644
index 0000000..dccbbd9
--- /dev/null
+++ b/src/services/API.d.ts
@@ -0,0 +1,32 @@
+declare namespace API {
+ export interface CurrentUser {
+ avatar?: string;
+ name?: string;
+ title?: string;
+ group?: string;
+ signature?: string;
+ tags?: {
+ key: string;
+ label: string;
+ }[];
+ userid?: string;
+ access?: 'user' | 'guest' | 'admin';
+ unreadCount?: number;
+ }
+
+ export interface LoginStateType {
+ status?: 'ok' | 'error';
+ type?: string;
+ }
+
+ export interface NoticeIconData {
+ avatar?: string | React.ReactNode;
+ title?: React.ReactNode;
+ description?: React.ReactNode;
+ datetime?: React.ReactNode;
+ extra?: React.ReactNode;
+ style?: React.CSSProperties;
+ key?: string | number;
+ read?: boolean;
+ }
+}
diff --git a/src/services/login.ts b/src/services/login.ts
index a033215..a4e081e 100644
--- a/src/services/login.ts
+++ b/src/services/login.ts
@@ -1,4 +1,4 @@
-import request from '@/utils/request';
+import { request } from 'umi';
export interface LoginParamsType {
userName: string;
diff --git a/src/services/plugin.ts b/src/services/plugin.ts
index b75f23f..6044df0 100644
--- a/src/services/plugin.ts
+++ b/src/services/plugin.ts
@@ -1,7 +1,7 @@
-import request from '@/utils/request';
+import { request } from 'umi';
import { transformSchemaFromAPI } from '@/transforms/plugin';
export const fetchList = () => request('/api/plugins/list');
export const fetchPluginSchema = (name: string): Promise<PluginSchema> =>
- request(`/api/schema/plugins/${name}`).then(data => transformSchemaFromAPI(data, name));
+ request(`/api/schema/plugins/${name}`).then((data) => transformSchemaFromAPI(data, name));
diff --git a/src/services/user.ts b/src/services/user.ts
index de49698..870c4c7 100644
--- a/src/services/user.ts
+++ b/src/services/user.ts
@@ -1,19 +1,19 @@
-import request from '@/utils/request';
+import { request } from 'umi';
-export async function query(): Promise<any> {
- return request('/api/users');
+export async function query() {
+ return request<API.CurrentUser[]>('/api/users');
}
-export async function queryCurrent(): Promise<any> {
- // NOTE: APISIX doesn‘t support user login currently, we return fake data directly.
- return {
+export async function queryCurrent() {
+ // return request<API.CurrentUser>('/api/currentUser');
+ return Promise.resolve({
name: 'APISIX User',
avatar:
'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmlld0JveD0iMCAwIDUwMCA1MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogIDxkZWZzPg0KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iaWQwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjI1MTE5LjgiIHkxPSIxMTA1Mi41IiB4Mj0iMjE3MjUuNyIgeTI9IjIxNTUxLjciIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC4wMjgwOTUsIDAsIDAsIDAuMDI4MDk1LCAtNDkyLjg2NzA5NiwgLTE0NC43Njk4MjEpIj4NCiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29 [...]
userid: '00000001',
- };
+ });
}
export async function queryNotices(): Promise<any> {
- return request('/api/notices');
+ return request<{ data: API.NoticeIconData[] }>('/api/notices');
}
diff --git a/yarn.lock b/yarn.lock
index 0a48835..f631fb1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -64,7 +64,7 @@
umi-utils "^1.5.1"
yargs-parser "^16.1.0"
-"@ant-design/pro-layout@^5.0.0", "@ant-design/pro-layout@^5.0.8":
+"@ant-design/pro-layout@^5.0.8":
version "5.0.12"
resolved "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-5.0.12.tgz#80a68aa21a427bd995fb77426c48fc314b45b468"
integrity sha512-cpOIx4BKj+3IvwUMjgtSy53FDXu+MhvC0vDyWWppAdtuQAyD1PIE62hikHWe/uWzfAKK9Plm+KC/Y5ocJYac4g==
@@ -2561,6 +2561,13 @@
dependencies:
"@types/react" "*"
+"@types/react-helmet@6.0.0":
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.0.0.tgz#5b74e44a12662ffb12d1c97ee702cf4e220958cf"
+ integrity sha512-NBMPAxgjpaMooXa51cU1BTgrX6T+hQbMiLm77JhBbfOzPQea3RB5rNpPOD5xGWHIVpGXHd59cltEzIq0qglGcQ==
+ dependencies:
+ "@types/react" "*"
+
"@types/react-helmet@^5.0.13":
version "5.0.16"
resolved "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-5.0.16.tgz#dafac5f043665b880559285a27c71a69abd1f29e"
@@ -3159,37 +3166,51 @@
resolved "https://registry.npmjs.org/@umijs/plugin-crossorigin/-/plugin-crossorigin-1.1.0.tgz#369a594812276458aa0a9284681349179b73662d"
integrity sha512-ObkR0fEA19xxvKkzMJlLum3mxzNuXz9TiV/xHSh9L6xZUQYssACgwnKGYJrVyc959k3zhCkROgIUHsXxKGE6uQ==
-"@umijs/plugin-dva@0.6.5":
- version "0.6.5"
- resolved "https://registry.npmjs.org/@umijs/plugin-dva/-/plugin-dva-0.6.5.tgz#2b77c1979219b82f94e5458dcc034301d717e88b"
- integrity sha512-GbAwC4BP2I5Y5BSvHdU8rdqjOD09CkItc8QLUZg86PgF2VYsvuoGoX5+tLGS+pey9m9AO15MbidIJINLesfEsQ==
+"@umijs/plugin-dva@0.7.1":
+ version "0.7.1"
+ resolved "https://registry.npmjs.org/@umijs/plugin-dva/-/plugin-dva-0.7.1.tgz#757e854752774cfd5a1dbe504b3665eb2e29dd30"
+ integrity sha512-5MQw39BbwAmnCHKrDA1lve9XgCgq1Asnqgrml83WJ1OINtFgZNol87dYaUJfgAdVhN5CaXqBcVXYzlVMFs0Pqg==
dependencies:
babel-plugin-dva-hmr "^0.4.2"
dva "^2.6.0-beta.20"
dva-immer "^0.4.19"
dva-loading "^3.0.20"
+"@umijs/plugin-esbuild@^1.0.0-beta.2":
+ version "1.0.0-beta.2"
+ resolved "https://registry.npmjs.org/@umijs/plugin-esbuild/-/plugin-esbuild-1.0.0-beta.2.tgz#7940a22bac2a30a0f3a121329a591f4e3f612339"
+ integrity sha512-0D47/zwF9iZhsVlQgP/OpnLPHQGNg0rkP3/eAtadICH7pP6vzawc87YB1+nz3Qxp9ywX4pjznhWKnuZ0zD/kvg==
+ dependencies:
+ esbuild-webpack-plugin "^1.0.0-beta.3"
+
+"@umijs/plugin-helmet@1.0.1":
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/@umijs/plugin-helmet/-/plugin-helmet-1.0.1.tgz#8cdf57aad6813f26ebf4000daa922fac80620e9a"
+ integrity sha512-On3oQgIgnnqA5Dk54QJhJNBuOkK5DfQpqOxrJsHZJHrhgVonclaNqFqQP4ScbJFtiweNkdbCN4l2tzZmcKFQTA==
+ dependencies:
+ "@types/react-helmet" "6.0.0"
+ react-helmet "6.0.0"
+
"@umijs/plugin-initial-state@2.2.1":
version "2.2.1"
resolved "https://registry.npmjs.org/@umijs/plugin-initial-state/-/plugin-initial-state-2.2.1.tgz#cd7592aa90b6b369bd0df297254320088397ff67"
integrity sha512-qDtWguduISeG+EObgKbImuRX3FyLrNcj3yQtY24HdYkDTGmtsmA4ZKB7Q/N+V/O0Yxep06bCotTK3jFV9KXuEA==
-"@umijs/plugin-layout@0.10.3":
- version "0.10.3"
- resolved "https://registry.npmjs.org/@umijs/plugin-layout/-/plugin-layout-0.10.3.tgz#dd0f2c4edc05c01e4bf8a0cadc28e138236f254c"
- integrity sha512-oSQ3AlvIC539tLlV69gMPsyNrOXFLcZnBt7CSyWngk2TEAQZ9xzZDy+b31so3Q3shwQz8Qkb0IIWmaKTn0N5UQ==
+"@umijs/plugin-layout@0.11.4":
+ version "0.11.4"
+ resolved "https://registry.npmjs.org/@umijs/plugin-layout/-/plugin-layout-0.11.4.tgz#de4910710225d77c35ace008dc3436fd2cebcb2d"
+ integrity sha512-6Jgt0HgVotxIvSWDbqsZjaDevCVEfPwRFGdNCSaQf1VHCHuACddoai0RBa2pToJ5LFg/bB55KckJIcvH2lFC6A==
dependencies:
- "@ant-design/icons" "^4.0.0"
- "@ant-design/pro-layout" "^5.0.0"
antd "^4.1.2"
lodash "^4.17.15"
path-to-regexp "1.x"
-"@umijs/plugin-locale@0.4.5":
- version "0.4.5"
- resolved "https://registry.npmjs.org/@umijs/plugin-locale/-/plugin-locale-0.4.5.tgz#fd612c6276e1543b622662002d789ec18a8f453c"
- integrity sha512-oypPjEcn/pTff6e64vmIMs9YJqReUDmuzyPRdvoDjRiCm9/9UMJxrHpDNYZ4YRMeTHviEcvlCgUEGX7gcgSc7A==
+"@umijs/plugin-locale@0.7.0":
+ version "0.7.0"
+ resolved "https://registry.npmjs.org/@umijs/plugin-locale/-/plugin-locale-0.7.0.tgz#e82e0a5bf82b24457eb2653144947cba20da2815"
+ integrity sha512-GS7YwCoQJCen82vMMQeoA3ypSl5i/wDLBBvX2/OgfHFuwLIZ/kB04jxABWxxvq1IR1RPkntZiQBGoH534zThNA==
dependencies:
+ "@ant-design/icons" "^4.1.0"
"@formatjs/intl-pluralrules" "^1.5.0"
"@formatjs/intl-relativetimeformat" "^4.5.7"
intl "1.2.5"
@@ -3219,10 +3240,10 @@
dependencies:
"@umijs/test" "^3.0.7"
-"@umijs/plugin-ui-blocks@^2.1.8":
- version "2.1.8"
- resolved "https://registry.npmjs.org/@umijs/plugin-ui-blocks/-/plugin-ui-blocks-2.1.8.tgz#4eb810493675fe3f7da0b200ed6dfd07de16f0fc"
- integrity sha512-yLfpuDKqU42hK4fsVRzdseA0ROhAYwp/rePp5A/OSlFiY/b5/d+0QZdVKzY/NX2tIGJ3EmC3+8J13hfExH0TwA==
+"@umijs/plugin-ui-blocks@^2.1.9":
+ version "2.1.9"
+ resolved "https://registry.npmjs.org/@umijs/plugin-ui-blocks/-/plugin-ui-blocks-2.1.9.tgz#7dfbb2ca6457e78bd9be3c11cab7e5ee941c1691"
+ integrity sha512-ymh2LQjYbSJkaol9ZgZg28aIjvUfQyxLm3a/+D72ViuDFkIv4ZqIcFkCjYNjVrJQe1mPexMQFgE/xQWhD3Mh+A==
dependencies:
"@babel/parser" "7.4.5"
"@babel/traverse" "7.4.5"
@@ -3242,7 +3263,7 @@
binary-mirror-config "1.20.3"
umi-webpack-bundle-analyzer "^3.5.0"
-"@umijs/preset-ant-design-pro@^1.0.1":
+"@umijs/preset-ant-design-pro@^1.2.0":
version "1.2.2"
resolved "https://registry.npmjs.org/@umijs/preset-ant-design-pro/-/preset-ant-design-pro-1.2.2.tgz#2477386abe64ad498487f098570c7c572ce335db"
integrity sha512-cO40AmVSm6RY5bO8or78Q4r/qLcABl0VlmsCbHGOytvjzf+9s3o+RBvrB8KU75anbKqr4qKhGRA/O8CKRw9tkA==
@@ -3283,31 +3304,32 @@
umi-webpack-bundle-analyzer "3.5.0"
zlib "1.0.5"
-"@umijs/preset-react@^1.4.19":
- version "1.4.22"
- resolved "https://registry.npmjs.org/@umijs/preset-react/-/preset-react-1.4.22.tgz#f78d69794e975bf1a7d394c6391bdc6de78f487d"
- integrity sha512-kMchjgUJelSV6qgeJ1HN6HguMYAaZYm9N664K+L+pAqi6agQpXrXUtt/6rOTUBOUeeEaLiTqFfoY76KT2NDOpw==
+"@umijs/preset-react@^1.4.24":
+ version "1.5.2"
+ resolved "https://registry.npmjs.org/@umijs/preset-react/-/preset-react-1.5.2.tgz#7bb32f9dda7b865dad73aafdad87154a6c9738c0"
+ integrity sha512-5QKfKjrjmykwdZqQChLoxUZkgfadu/adYu5HG9a/64WoY+RrUuMX21ShFLxc6OvOUR1VKcJpMuq4qJT+DhnZPA==
dependencies:
"@umijs/plugin-access" "2.3.1"
"@umijs/plugin-analytics" "0.2.2"
"@umijs/plugin-antd" "0.5.1"
"@umijs/plugin-crossorigin" "1.1.0"
- "@umijs/plugin-dva" "0.6.5"
+ "@umijs/plugin-dva" "0.7.1"
+ "@umijs/plugin-helmet" "1.0.1"
"@umijs/plugin-initial-state" "2.2.1"
- "@umijs/plugin-layout" "0.10.3"
- "@umijs/plugin-locale" "0.4.5"
+ "@umijs/plugin-layout" "0.11.4"
+ "@umijs/plugin-locale" "0.7.0"
"@umijs/plugin-model" "2.3.1"
"@umijs/plugin-request" "2.3.2"
"@umijs/plugin-test" "1.0.0"
-"@umijs/preset-ui@^2.0.9":
- version "2.1.13"
- resolved "https://registry.npmjs.org/@umijs/preset-ui/-/preset-ui-2.1.13.tgz#3212ebb037bae2a22942fefd1ec60a0f43274cfc"
- integrity sha512-zdCVd1iRuPyszDPgcKicnj42gssGA8dlLYYqi2hIVAY4PSgRE6lOmHs85QCEY9YNtsLCZyfHinyS3XobTvARNA==
+"@umijs/preset-ui@^2.1.11":
+ version "2.1.14"
+ resolved "https://registry.npmjs.org/@umijs/preset-ui/-/preset-ui-2.1.14.tgz#87d3470c5a10a845564d1982b47e5bf85f1d87ad"
+ integrity sha512-twW8/wUr8rWweNudoGGVWXkjPZnzJu+WCY40bicb7Uj/g52eV2ELanYT4gPRAPxZXR3qgw/+tCwAm9hcNXxHJA==
dependencies:
- "@umijs/plugin-ui-blocks" "^2.1.8"
+ "@umijs/plugin-ui-blocks" "^2.1.9"
"@umijs/plugin-ui-tasks" "^2.1.1"
- "@umijs/ui" "^2.1.7"
+ "@umijs/ui" "^2.1.8"
immer "^5.0.0"
is-mobile "2.1.0"
sockjs-client "1.3.0"
@@ -3413,10 +3435,10 @@
"@umijs/utils" "3.1.4"
webpack-chain "6.4.0"
-"@umijs/ui@^2.1.7":
- version "2.1.7"
- resolved "https://registry.npmjs.org/@umijs/ui/-/ui-2.1.7.tgz#6dab2f953261cb8ac1462510c6cd905a9f40189f"
- integrity sha512-zBvZ06GB/5ddwEtcUlsO09MRlwH6aQkgDxAyOova1HnvBHSwDtSxbUmE5Ddqu8DnXU5sc1yyfu/hBTyQ4nfmhA==
+"@umijs/ui@^2.1.8":
+ version "2.1.8"
+ resolved "https://registry.npmjs.org/@umijs/ui/-/ui-2.1.8.tgz#a15a6072588adc952ed0c0142cb4d79bd61686b2"
+ integrity sha512-HAh0j/GkJ/5v3Frm0MOv8p5i4rEMG/CYBeyWPdCHdzstNw0+fOYE81i7WpUCaEX++Dx6xpmc5QS7dSaY9nBtTQ==
dependencies:
"@umijs/launch-editor" "^1.0.0"
binary-mirror-config "1.20.3"
@@ -6786,6 +6808,18 @@ es6-weak-map@^2.0.2:
es6-iterator "^2.0.3"
es6-symbol "^3.1.1"
+esbuild-webpack-plugin@^1.0.0-beta.3:
+ version "1.0.0-beta.4"
+ resolved "https://registry.npmjs.org/esbuild-webpack-plugin/-/esbuild-webpack-plugin-1.0.0-beta.4.tgz#2a678c2a10ef1986c5a2a40f10ef75ca3d2ad13b"
+ integrity sha512-fM1slS1lBCStXkJEKQzFqRqwnt9k/I4h0mSwMft9Xpfhm5OfsxpAPNk6SdbKN0Z52MWzWwdQankCbYBQMELJBg==
+ dependencies:
+ esbuild "^0.2.3"
+
+esbuild@^0.2.3:
+ version "0.2.12"
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.2.12.tgz#77db901f471de7e8732729ff928ffc12687be453"
+ integrity sha512-+PMODPa6MshZlZryeNeXxqdHF2A4phUe1AIBDAPqgHWAe5N/9IqrmCcE6RVDei0caMV7D9EBMEuY/X8+Wp5xiw==
+
escape-goat@^2.0.0:
version "2.1.1"
resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675"
@@ -14613,6 +14647,11 @@ react-error-overlay@^5.1.6:
resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.6.tgz#0cd73407c5d141f9638ae1e0c63e7b2bf7e9929d"
integrity sha512-X1Y+0jR47ImDVr54Ab6V9eGk0Hnu7fVWGeHQSOXHf/C2pF9c6uy3gef8QUeuUiWlNb0i08InPSE5a/KJzNzw1Q==
+react-fast-compare@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
+ integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
+
react-fast-compare@^3.0.1:
version "3.1.1"
resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.1.1.tgz#0becf31e3812fa70dc231e259f40d892d4767900"
@@ -14629,6 +14668,16 @@ react-helmet-async@^1.0.4:
react-fast-compare "^3.0.1"
shallowequal "^1.1.0"
+react-helmet@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/react-helmet/-/react-helmet-6.0.0.tgz#fcb93ebaca3ba562a686eb2f1f9d46093d83b5f8"
+ integrity sha512-My6S4sa0uHN/IuVUn0HFmasW5xj9clTkB9qmMngscVycQ5vVG51Qp44BEvLJ4lixupTwDlU9qX1/sCrMN4AEPg==
+ dependencies:
+ object-assign "^4.1.1"
+ prop-types "^15.7.2"
+ react-fast-compare "^2.0.4"
+ react-side-effect "^2.1.0"
+
react-intl@3.12.0:
version "3.12.0"
resolved "https://registry.npmjs.org/react-intl/-/react-intl-3.12.0.tgz#98ef1c94434cc25a8c67448e1e283e6bfe11b2fc"
@@ -14754,6 +14803,11 @@ react-router@5.2.0:
tiny-invariant "^1.0.2"
tiny-warning "^1.0.0"
+react-side-effect@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.0.tgz#1ce4a8b4445168c487ed24dab886421f74d380d3"
+ integrity sha512-IgmcegOSi5SNX+2Snh1vqmF0Vg/CbkycU9XZbOHJlZ6kMzTmi3yc254oB1WCkgA7OQtIAoLmcSFuHTc/tlcqXg==
+
react-test-renderer@^16.0.0-0:
version "16.13.1"
resolved "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz#de25ea358d9012606de51e012d9742e7f0deabc1"