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/09/19 02:22:22 UTC
[apisix-dashboard] branch master updated: feat: Route debug (#485)
This is an automated email from the ASF dual-hosted git repository.
juzhiyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git
The following commit(s) were added to refs/heads/master by this push:
new 829688a feat: Route debug (#485)
829688a is described below
commit 829688a78882764446d8d565a6bb5c779a28cc97
Author: liuxiran <be...@126.com>
AuthorDate: Sat Sep 19 10:22:14 2020 +0800
feat: Route debug (#485)
* feat: new api get route and apisix url
* feat: online debug
* fix: update refer to the review, fix logical error as well
* fix: rename getRouteWithApisixUrl
---
api/route/route.go | 54 +++++
api/service/route.go | 5 +
config/routes.ts | 4 +
package.json | 4 +-
src/pages/Route/Debug.tsx | 55 +++++
src/pages/Route/List.tsx | 7 +
src/pages/Route/locales/en-US.ts | 1 +
src/pages/Route/locales/zh-CN.ts | 1 +
src/pages/Route/service.ts | 10 +-
src/pages/Route/transform.ts | 128 ++++++++++
src/pages/Route/typing.d.ts | 65 ++++++
yarn.lock | 487 +++++++++++++++++++++++++++++++++++++--
12 files changed, 797 insertions(+), 24 deletions(-)
diff --git a/api/route/route.go b/api/route/route.go
index 48f89fd..1b30ea4 100644
--- a/api/route/route.go
+++ b/api/route/route.go
@@ -21,6 +21,7 @@ import (
"net/http"
"strconv"
"strings"
+ "regexp"
"github.com/apisix/manager-api/conf"
"github.com/apisix/manager-api/errno"
@@ -38,6 +39,7 @@ func AppendRoute(r *gin.Engine) *gin.Engine {
r.DELETE("/apisix/admin/routes/:rid", deleteRoute)
r.GET("/apisix/admin/notexist/routes", isRouteExist)
r.PUT("/apisix/admin/routes/:rid/offline", offlineRoute)
+ r.GET("/apisix/admin/routes/:rid/debuginfo", getRouteWithApisixUrl)
return r
}
@@ -480,6 +482,58 @@ func findRoute(c *gin.Context) {
}
}
+func getRouteWithApisixUrl(c *gin.Context) {
+ rid := c.Param("rid")
+ var count int
+ if err := conf.DB().Table("routes").Where("id=?", rid).Count(&count).Error; err != nil {
+ e := errno.FromMessage(errno.RouteRequestError, err.Error()+" route ID: "+rid)
+ logger.Error(e.Msg)
+ c.AbortWithStatusJSON(http.StatusInternalServerError, e.Response())
+ return
+ } else {
+ if count < 1 {
+ e := errno.FromMessage(errno.RouteRequestError, " route ID: "+rid+" not exist")
+ logger.Error(e.Msg)
+ c.AbortWithStatusJSON(e.Status, e.Response())
+ return
+ }
+ }
+ // find from apisix
+ request := &service.ApisixRouteRequest{}
+ if response, err := request.FindById(rid); err != nil {
+ e := errno.FromMessage(errno.RouteRequestError, err.Error()+" route ID: "+rid)
+ logger.Error(e.Msg)
+ c.AbortWithStatusJSON(http.StatusBadRequest, e.Response())
+ return
+ } else {
+ // transfer response to dashboard struct
+ if result, err := response.Parse(); err != nil {
+ e := errno.FromMessage(errno.RouteRequestError, err.Error()+" route ID: "+rid)
+ logger.Error(e.Msg)
+ c.AbortWithStatusJSON(http.StatusBadRequest, e.Response())
+ return
+ } else {
+ // need to find name from mysql temporary
+ route := &service.Route{}
+ if err := conf.DB().Table("routes").Where("id=?", rid).First(&route).Error; err != nil {
+ e := errno.FromMessage(errno.RouteRequestError, err.Error()+" route ID: "+rid)
+ logger.Error(e.Msg)
+ c.AbortWithStatusJSON(http.StatusBadRequest, e.Response())
+ return
+ }
+ result.Name = route.Name
+ url := conf.BaseUrl
+ reg, _ := regexp.Compile("(\\d+\\.\\d+\\.\\d+\\.\\d+)\\:(\\d+)")
+ res := reg.FindSubmatch([]byte(url))
+ routeResponse := &service.RouteResponseWithUrl{}
+ routeResponse.Url = string(res[0])
+ routeResponse.RouteRequest = *result
+ resp, _ := json.Marshal(routeResponse)
+ c.Data(http.StatusOK, service.ContentType, resp)
+ }
+ }
+}
+
func createRoute(c *gin.Context) {
u4 := uuid.NewV4()
rid := u4.String()
diff --git a/api/service/route.go b/api/service/route.go
index edea8e2..d7bc75f 100644
--- a/api/service/route.go
+++ b/api/service/route.go
@@ -450,6 +450,11 @@ type RouteResponse struct {
Status bool `json:"status"`
}
+type RouteResponseWithUrl struct {
+ RouteRequest
+ Url string `json:"url"`
+}
+
type ListResponse struct {
Count int `json:"count"`
Data interface{} `json:"data"`
diff --git a/config/routes.ts b/config/routes.ts
index 7512519..4056bd3 100644
--- a/config/routes.ts
+++ b/config/routes.ts
@@ -36,6 +36,10 @@ const routes = [
component: './Route/Create',
},
{
+ path: '/routes/:rid/debug',
+ component: './Route/Debug',
+ },
+ {
path: '/routegroup/list',
component: './RouteGroup/List',
},
diff --git a/package.json b/package.json
index 0860c8a..17cfac3 100644
--- a/package.json
+++ b/package.json
@@ -76,7 +76,8 @@
"umi": "^3.1.2",
"umi-request": "^1.0.8",
"use-merge-value": "^1.0.1",
- "uuid": "7.0.3"
+ "uuid": "7.0.3",
+ "swagger-ui-react": "^3.33.0"
},
"devDependencies": {
"@ant-design/pro-cli": "^2.0.2",
@@ -91,6 +92,7 @@
"@types/react-dom": "^16.8.4",
"@types/react-helmet": "^5.0.13",
"@types/uuid": "7.0.4",
+ "@types/swagger-ui-react": "^3.23.3",
"@umijs/fabric": "^2.2.0",
"@umijs/plugin-blocks": "^2.0.5",
"@umijs/plugin-esbuild": "^1.0.0-beta.2",
diff --git a/src/pages/Route/Debug.tsx b/src/pages/Route/Debug.tsx
new file mode 100644
index 0000000..22eafb7
--- /dev/null
+++ b/src/pages/Route/Debug.tsx
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import React, { useEffect, useState } from 'react';
+import { PageHeaderWrapper } from '@ant-design/pro-layout';
+import SwaggerUI from 'swagger-ui-react';
+
+import 'swagger-ui-react/swagger-ui.css';
+
+import { fetchItemDebugInfo } from './service';
+
+interface DebugProps {
+ match: any;
+}
+const swaggerDataBase = {
+ openapi: '3.0.1',
+ info: {
+ description: 'test apisix-dashboard',
+ title: 'APISIX route online debug',
+ license: {
+ name: 'Apache 2.0',
+ url: 'http://www.apache.org/licenses/LICENSE-2.0.html',
+ },
+ },
+};
+
+const Page: React.FC<DebugProps> = (props) => {
+ const [swaggerData, setSwaggerData] = useState(swaggerDataBase);
+
+ useEffect(() => {
+ fetchItemDebugInfo(props.match.params.rid).then((data) => {
+ setSwaggerData({ ...swaggerDataBase, ...data });
+ });
+ }, []);
+ return (
+ <PageHeaderWrapper title="在线调试">
+ <SwaggerUI spec={swaggerData} />
+ </PageHeaderWrapper>
+ );
+};
+
+export default Page;
diff --git a/src/pages/Route/List.tsx b/src/pages/Route/List.tsx
index 018ef83..bad1132 100644
--- a/src/pages/Route/List.tsx
+++ b/src/pages/Route/List.tsx
@@ -113,6 +113,13 @@ const Page: React.FC = () => {
>
{formatMessage({ id: 'route.list.edit' })}
</Button>
+ <Button
+ type="primary"
+ onClick={() => history.push(`/routes/${record.id}/debug`)}
+ style={{ marginRight: 10 }}
+ >
+ {formatMessage({ id: 'route.list.debug' })}
+ </Button>
<Popconfirm
title={formatMessage({ id: 'route.list.offline.confirm' })}
onConfirm={() => {
diff --git a/src/pages/Route/locales/en-US.ts b/src/pages/Route/locales/en-US.ts
index 0304290..6689640 100644
--- a/src/pages/Route/locales/en-US.ts
+++ b/src/pages/Route/locales/en-US.ts
@@ -159,6 +159,7 @@ export default {
'route.list.operation': 'Operation',
'route.list.edit': 'Edit',
'route.list.publish': 'Publish',
+ 'route.list.debug': 'Online Debug',
'route.list.publish.success': 'Route publish success',
'route.list.offline': 'Offline',
'route.list.offline.success': 'Offline success',
diff --git a/src/pages/Route/locales/zh-CN.ts b/src/pages/Route/locales/zh-CN.ts
index bcef793..95aa016 100644
--- a/src/pages/Route/locales/zh-CN.ts
+++ b/src/pages/Route/locales/zh-CN.ts
@@ -154,6 +154,7 @@ export default {
'route.list.operation': '操作',
'route.list.edit': '编辑',
'route.list.publish': '发布',
+ 'route.list.debug': '在线调试',
'route.list.publish.success': 'API发布成功!',
'route.list.offline': '下线',
'route.list.offline.success': 'API下线成功!',
diff --git a/src/pages/Route/service.ts b/src/pages/Route/service.ts
index e3f8b5c..92b7092 100644
--- a/src/pages/Route/service.ts
+++ b/src/pages/Route/service.ts
@@ -17,7 +17,12 @@
import { request } from 'umi';
import { pickBy, identity } from 'lodash';
-import { transformStepData, transformRouteData, transformUpstreamNodes } from './transform';
+import {
+ transformStepData,
+ transformRouteData,
+ transformUpstreamNodes,
+ transformRouteDebugData,
+} from './transform';
export const create = (data: Pick<RouteModule.Data, 'data'>) =>
request(`/routes`, {
@@ -34,6 +39,9 @@ export const update = (rid: number, data: Pick<RouteModule.Data, 'data'>) =>
export const fetchItem = (rid: number) =>
request(`/routes/${rid}`).then((data) => transformRouteData(data));
+export const fetchItemDebugInfo = (rid: number) =>
+ request(`/routes/${rid}/debuginfo`).then((data) => transformRouteDebugData(data));
+
export const fetchList = ({ current = 1, pageSize = 10 }, search: string) => {
return request('/routes', {
params: {
diff --git a/src/pages/Route/transform.ts b/src/pages/Route/transform.ts
index 048f3d3..bc65add 100644
--- a/src/pages/Route/transform.ts
+++ b/src/pages/Route/transform.ts
@@ -252,3 +252,131 @@ export const transformRouteData = (data: RouteModule.Body) => {
step3Data,
};
};
+
+export const transformRouteDebugData = (data: RouteModule.Body) => {
+ const {
+ name,
+ desc,
+ methods,
+ uris,
+ protocols,
+ // hosts,
+ vars,
+ // redirect,
+ url,
+ } = data;
+
+ const paths = {};
+ const tags: RouteModule.TagSchema[] = [
+ {
+ name: `Route-${name}`,
+ description: desc,
+ },
+ ];
+ let servers: RouteModule.Server[] = [];
+ const responses: RouteModule.ResponseSchema = {
+ // default response code
+ '200': {
+ description: 'OK',
+ content: {},
+ },
+ '400': {
+ description: 'Invalid parameter',
+ content: {},
+ },
+ '500': {
+ description: 'Internal Server Error',
+ content: {},
+ },
+ };
+ const params = transformVarsToRules(vars);
+ const formatParams = params.map((param) => {
+ const { position, operator } = param;
+ let paramPostion;
+
+ switch (position) {
+ case 'cookie':
+ paramPostion = 'cookie';
+ break;
+ case 'http':
+ paramPostion = 'header';
+ break;
+ case 'arg':
+ paramPostion = 'query';
+ break;
+ default:
+ break;
+ }
+ return {
+ name: param.name,
+ in: paramPostion,
+ description: `default value should ${operator} ${param.value}`,
+ required: true,
+ type: 'string',
+ };
+ });
+ const pathParams = {
+ name: 'pathParam',
+ in: 'path',
+ description: `enter your path param`,
+ required: true,
+ type: 'string',
+ };
+ const requestBodyMethod = ['POST', 'PUT', 'PATCH'];
+
+ protocols.forEach((protocol) => {
+ if (protocol !== 'websocket') {
+ servers = [
+ ...servers,
+ {
+ url: `${protocol}://${url}`,
+ },
+ {
+ // FIXME
+ url: `${protocol}://${window.location.hostname}:9080`,
+ },
+ ];
+ }
+ });
+
+ uris.forEach((uri) => {
+ if (uri.indexOf('*') > -1) {
+ paths[`${uri.split('*')[0]}{pathParam}`] = {};
+ return;
+ }
+ paths[uri] = {};
+ });
+
+ methods.forEach((method) => {
+ Object.keys(paths).forEach((path) => {
+ paths[path] = {
+ ...paths[path],
+ [method.toLocaleLowerCase()]: {
+ tags: [tags[0].name],
+ operationId: `${method.toLocaleLowerCase()}${path.split('/')[1]}`,
+ parameters: [...formatParams],
+ responses,
+ },
+ };
+ // route contains *
+ if (path.match(/{pathParam}/)) {
+ paths[path][method.toLocaleLowerCase()].parameters.push(pathParams);
+ }
+ // post, put, patch add requestBody
+ if (requestBodyMethod.indexOf(method) > -1) {
+ paths[path][method.toLocaleLowerCase()] = {
+ ...paths[path][method.toLocaleLowerCase()],
+ requestBody: {
+ description: 'body parameters',
+ content: {},
+ },
+ };
+ }
+ });
+ });
+ return {
+ tags,
+ servers,
+ paths,
+ };
+};
diff --git a/src/pages/Route/typing.d.ts b/src/pages/Route/typing.d.ts
index ed4e3c4..e6bab1b 100644
--- a/src/pages/Route/typing.d.ts
+++ b/src/pages/Route/typing.d.ts
@@ -157,5 +157,70 @@ declare namespace RouteModule {
[name: string]: any;
};
script: Record<string, any>;
+ url?: string;
+ };
+
+ // for route debug
+ type Server = {
+ url: string;
+ };
+
+ type RouteParamSchema = {
+ type: string | integer | boolean | object | array;
+ };
+
+ type RouteParam = {
+ name: string;
+ in: 'query' | 'header' | 'path' | 'cookie';
+ description: string;
+ required: boolean;
+ style?: 'form' | 'simple';
+ explode?: boolean;
+ schema?: RouteParamSchema;
+ };
+
+ type PathSchema = {
+ tags: string;
+ summary: string;
+ description: string;
+ operationId: string;
+ requestBody?: object;
+ parameters?: RouteParam[];
+ responses: ResponseScheme;
+ };
+
+ type ResponseSchema = {
+ [code: string]: {
+ description: string;
+ content: ResponseItemContent;
+ };
+ };
+
+ type ResponseItemContent = {
+ 'application/xml'?: {};
+ 'application/json'?: {};
+ };
+
+ type TagSchema = {
+ name: string;
+ description: string;
+ externalDocs?: object;
+ };
+
+ type DebugData = {
+ servers: Server[];
+ tag: TagSchema[];
+ paths: {
+ [url: string]: {
+ [httpType: string]: {
+ tags: string;
+ summary: string;
+ operationId: string;
+ requestBody?: {};
+ parameters?: RouteParam[];
+ responses: ResponseSchema;
+ };
+ };
+ };
};
}
diff --git a/yarn.lock b/yarn.lock
index 978e8ca..86bb110 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1367,7 +1367,7 @@
pirates "^4.0.0"
source-map-support "^0.5.16"
-"@babel/runtime-corejs2@^7.8.7":
+"@babel/runtime-corejs2@^7.10.4", "@babel/runtime-corejs2@^7.8.7":
version "7.11.2"
resolved "https://registry.npm.taobao.org/@babel/runtime-corejs2/download/@babel/runtime-corejs2-7.11.2.tgz?cache=0&sync_timestamp=1596637246233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime-corejs2%2Fdownload%2F%40babel%2Fruntime-corejs2-7.11.2.tgz#700a03945ebad0d31ba6690fc8a6bcc9040faa47"
integrity sha1-cAoDlF660NMbpmkPyKa8yQQPqkc=
@@ -1404,6 +1404,13 @@
dependencies:
regenerator-runtime "^0.13.2"
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
+ version "7.11.2"
+ resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.11.2.tgz?cache=0&sync_timestamp=1596637761107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
+ integrity sha1-9UnBPHVMxAuHZEufqfCaapX+BzY=
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/template@^7.10.4", "@babel/template@^7.3.3", "@babel/template@^7.4.0":
version "7.10.4"
resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.10.4.tgz?cache=0&sync_timestamp=1593522831608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
@@ -1481,6 +1488,11 @@
resolved "https://registry.npm.taobao.org/@bcoe/v8-coverage/download/@bcoe/v8-coverage-0.2.3.tgz?cache=0&sync_timestamp=1588857799815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40bcoe%2Fv8-coverage%2Fdownload%2F%40bcoe%2Fv8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha1-daLotRy3WKdVPWgEpZMteqznXDk=
+"@braintree/sanitize-url@^4.0.0":
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/@braintree/sanitize-url/download/@braintree/sanitize-url-4.1.1.tgz#671b3cfdbcc40d1449036ce586e882ab6150828e"
+ integrity sha1-Zxs8/bzEDRRJA2zlhuiCq2FQgo4=
+
"@cnakazawa/watch@^1.0.3":
version "1.0.4"
resolved "https://registry.npm.taobao.org/@cnakazawa/watch/download/@cnakazawa/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
@@ -1860,6 +1872,18 @@
"@types/yargs" "^15.0.0"
chalk "^3.0.0"
+"@kyleshockey/object-assign-deep@^0.4.2":
+ version "0.4.2"
+ resolved "https://registry.npm.taobao.org/@kyleshockey/object-assign-deep/download/@kyleshockey/object-assign-deep-0.4.2.tgz#84900f0eefc372798f4751b5262830b8208922ec"
+ integrity sha1-hJAPDu/DcnmPR1G1JigwuCCJIuw=
+
+"@kyleshockey/xml@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/@kyleshockey/xml/download/@kyleshockey/xml-1.0.2.tgz#81fad3d7c33da2ba2639db095db3db24c2921f70"
+ integrity sha1-gfrT18M9oromOdsJXbPbJMKSH3A=
+ dependencies:
+ stream "^0.0.2"
+
"@mrblenny/react-flow-chart@^0.0.14":
version "0.0.14"
resolved "https://registry.npm.taobao.org/@mrblenny/react-flow-chart/download/@mrblenny/react-flow-chart-0.0.14.tgz#be11d06345c7222b41f488b38011b109e48a04b3"
@@ -2557,6 +2581,13 @@
"@types/prop-types" "*"
csstype "^3.0.2"
+"@types/react@16.4.6":
+ version "16.4.6"
+ resolved "https://registry.npm.taobao.org/@types/react/download/@types/react-16.4.6.tgz?cache=0&sync_timestamp=1598892372094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact%2Fdownload%2F%40types%2Freact-16.4.6.tgz#5024957c6bcef4f02823accf5974faba2e54fada"
+ integrity sha1-UCSVfGvO9PAoI6zPWXT6ui5U+to=
+ dependencies:
+ csstype "^2.2.0"
+
"@types/resolve@1.17.1":
version "1.17.1"
resolved "https://registry.npm.taobao.org/@types/resolve/download/@types/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
@@ -2626,6 +2657,13 @@
resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4=
+"@types/swagger-ui-react@^3.23.3":
+ version "3.23.3"
+ resolved "https://registry.npm.taobao.org/@types/swagger-ui-react/download/@types/swagger-ui-react-3.23.3.tgz#56bcf3872d8655500e6d51d29ba3916397806fa3"
+ integrity sha1-Vrzzhy2GVVAObVHSm6ORY5eAb6M=
+ dependencies:
+ "@types/react" "*"
+
"@types/tapable@*", "@types/tapable@1.0.6":
version "1.0.6"
resolved "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74"
@@ -3969,7 +4007,7 @@ arch@^2.1.1:
resolved "https://registry.npm.taobao.org/arch/download/arch-2.1.2.tgz#0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf"
integrity sha1-DFK75zRLtPomDEQ9LLrZwA/y8L8=
-argparse@^1.0.7:
+argparse@^1.0.10, argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz?cache=0&sync_timestamp=1597414347077&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fargparse%2Fdownload%2Fargparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=
@@ -4214,6 +4252,13 @@ atob@^2.1.2:
resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=
+autolinker@^3.11.0:
+ version "3.14.1"
+ resolved "https://registry.npm.taobao.org/autolinker/download/autolinker-3.14.1.tgz#6ae4b812b6eaf42d4d68138b9e67757cbf2bc1e4"
+ integrity sha1-auS4Erbq9C1NaBOLnmd1fL8rweQ=
+ dependencies:
+ tslib "^1.9.3"
+
autoprefixer@^9.0.0, autoprefixer@^9.5.1, autoprefixer@^9.6.1, autoprefixer@^9.8.0:
version "9.8.6"
resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
@@ -4438,7 +4483,7 @@ balanced-match@^1.0.0:
resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
-base64-js@^1.0.2:
+base64-js@^1.0.2, base64-js@^1.2.0:
version "1.3.1"
resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=
@@ -4689,6 +4734,11 @@ bser@2.1.1:
dependencies:
node-int64 "^0.4.0"
+btoa@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npm.taobao.org/btoa/download/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73"
+ integrity sha1-AamQn4ssk/a/aAuiYTHrMPf6PXM=
+
buffer-crc32@~0.2.3:
version "0.2.13"
resolved "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
@@ -4713,7 +4763,7 @@ buffer@^4.3.0:
ieee754 "^1.1.4"
isarray "^1.0.0"
-buffer@^5.2.1, buffer@^5.5.0:
+buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0:
version "5.6.0"
resolved "https://registry.npm.taobao.org/buffer/download/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
integrity sha1-oxdJ3H2B2E2wir+Te2uMQDP2J4Y=
@@ -5141,6 +5191,15 @@ cli-width@^3.0.0:
resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
integrity sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=
+clipboard@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.npm.taobao.org/clipboard/download/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376"
+ integrity sha1-UpISlu7A/fd+rRdJQhshyWhkc3Y=
+ dependencies:
+ good-listener "^1.2.2"
+ select "^1.1.2"
+ tiny-emitter "^2.0.0"
+
clipboardy@2.1.0:
version "2.1.0"
resolved "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.1.0.tgz#0123a0c8fac92f256dc56335e0bb8be97a4909a5"
@@ -5323,6 +5382,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
+comma-separated-tokens@^1.0.0:
+ version "1.0.8"
+ resolved "https://registry.npm.taobao.org/comma-separated-tokens/download/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
+ integrity sha1-YyuAthF4Z6FY8QgK1Jiy++fj9eo=
+
commander@*, commander@^6.0.0:
version "6.0.0"
resolved "https://registry.npm.taobao.org/commander/download/commander-6.0.0.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-6.0.0.tgz#2b270da94f8fb9014455312f829a1129dbf8887e"
@@ -5482,6 +5546,11 @@ cookie@0.4.0:
resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=
+cookie@~0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
+ integrity sha1-r9cT/ibr0hupXOth+agRblClN9E=
+
copy-concurrently@^1.0.0:
version "1.0.5"
resolved "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
@@ -5547,7 +5616,7 @@ core-js@^1.0.0:
resolved "https://registry.npm.taobao.org/core-js/download/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
-core-js@^2.4.0, core-js@^2.5.7, core-js@^2.6.5:
+core-js@^2.4.0, core-js@^2.5.7, core-js@^2.6.11, core-js@^2.6.5:
version "2.6.11"
resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
integrity sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=
@@ -5620,7 +5689,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-create-react-class@^15.6.0:
+create-react-class@^15.5.1, create-react-class@^15.6.0:
version "15.6.3"
resolved "https://registry.npm.taobao.org/create-react-class/download/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036"
integrity sha1-LXMjf7P5cK5uvgEanmb0bbyoADY=
@@ -5641,6 +5710,13 @@ cross-env@^7.0.0:
dependencies:
cross-spawn "^7.0.1"
+cross-fetch@^3.0.5:
+ version "3.0.6"
+ resolved "https://registry.npm.taobao.org/cross-fetch/download/cross-fetch-3.0.6.tgz?cache=0&sync_timestamp=1599789185546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-fetch%2Fdownload%2Fcross-fetch-3.0.6.tgz#3a4040bc8941e653e0e9cf17f29ebcd177d3365c"
+ integrity sha1-OkBAvIlB5lPg6c8X8p680XfTNlw=
+ dependencies:
+ node-fetch "2.6.1"
+
cross-port-killer@^1.1.1:
version "1.2.1"
resolved "https://registry.npm.taobao.org/cross-port-killer/download/cross-port-killer-1.2.1.tgz#30f5912dba758e25ae250feb16687a472142c8ef"
@@ -5832,6 +5908,11 @@ css-what@^3.2.1:
resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39"
integrity sha1-EP7Glqns4uWRrHctdZqsq6w4zTk=
+css.escape@1.5.1:
+ version "1.5.1"
+ resolved "https://registry.npm.taobao.org/css.escape/download/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
+ integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=
+
cssdb@^4.4.0:
version "4.4.0"
resolved "https://registry.npm.taobao.org/cssdb/download/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0"
@@ -5946,6 +6027,11 @@ cssstyle@^2.0.0:
dependencies:
cssom "~0.3.6"
+csstype@^2.2.0:
+ version "2.6.13"
+ resolved "https://registry.npm.taobao.org/csstype/download/csstype-2.6.13.tgz?cache=0&sync_timestamp=1598348227965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-2.6.13.tgz#a6893015b90e84dd6e85d0e3b442a1e84f2dbe0f"
+ integrity sha1-pokwFbkOhN1uhdDjtEKh6E8tvg8=
+
csstype@^3.0.2:
version "3.0.3"
resolved "https://registry.npm.taobao.org/csstype/download/csstype-3.0.3.tgz?cache=0&sync_timestamp=1598348228932&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8"
@@ -6068,7 +6154,7 @@ dedent@^0.7.0:
resolved "https://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
-deep-extend@^0.6.0:
+deep-extend@0.6.0, deep-extend@^0.6.0, deep-extend@~0.6.0:
version "0.6.0"
resolved "https://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=
@@ -6134,6 +6220,11 @@ delayed-stream@~1.0.0:
resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+delegate@^3.1.2:
+ version "3.2.0"
+ resolved "https://registry.npm.taobao.org/delegate/download/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
+ integrity sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=
+
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
@@ -6315,6 +6406,11 @@ domhandler@^2.3.0:
dependencies:
domelementtype "1"
+dompurify@^2.0.7:
+ version "2.0.15"
+ resolved "https://registry.npm.taobao.org/dompurify/download/dompurify-2.0.15.tgz#80e300fc3e89547bd0af1aff2eba88ce17fc9dea"
+ integrity sha1-gOMA/D6JVHvQrxr/LrqIzhf8neo=
+
domutils@1.5.1:
version "1.5.1"
resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz?cache=0&sync_timestamp=1597680585980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
@@ -6458,6 +6554,11 @@ elliptic@^6.5.3:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
+emitter-component@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/emitter-component/download/emitter-component-1.1.1.tgz#065e2dbed6959bf470679edabeaf7981d1003ab6"
+ integrity sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY=
+
emoji-regex@^7.0.1:
version "7.0.3"
resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
@@ -7514,6 +7615,11 @@ fast-deep-equal@3.1.1:
resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz?cache=0&sync_timestamp=1591599666712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
integrity sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ=
+fast-deep-equal@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
+ integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
+
fast-deep-equal@^3.1.1:
version "3.1.3"
resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599666712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -7543,6 +7649,13 @@ fast-glob@^3.0.3, fast-glob@^3.1.1:
micromatch "^4.0.2"
picomatch "^2.2.1"
+fast-json-patch@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npm.taobao.org/fast-json-patch/download/fast-json-patch-2.2.1.tgz#18150d36c9ab65c7209e7d4eb113f4f8eaabe6d9"
+ integrity sha1-GBUNNsmrZccgnn1OsRP0+Oqr5tk=
+ dependencies:
+ fast-deep-equal "^2.0.1"
+
fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
@@ -7560,6 +7673,13 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
+fault@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/fault/download/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13"
+ integrity sha1-6vz8Cm0hT8lGAeFw3ymVSk+ELxM=
+ dependencies:
+ format "^0.2.0"
+
faye-websocket@^0.10.0:
version "0.10.0"
resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
@@ -7819,7 +7939,7 @@ fork-ts-checker-webpack-plugin@5.0.12:
semver "^7.3.2"
tapable "^1.0.0"
-form-data@^2.5.0:
+form-data@^2.3.2, form-data@^2.5.0:
version "2.5.1"
resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4"
integrity sha1-8svsV7XlniNxbhKP5E1OXdI4lfQ=
@@ -7842,6 +7962,11 @@ format-util@^1.0.3:
resolved "https://registry.npm.taobao.org/format-util/download/format-util-1.0.5.tgz#1ffb450c8a03e7bccffe40643180918cc297d271"
integrity sha1-H/tFDIoD57zP/kBkMYCRjMKX0nE=
+format@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.npm.taobao.org/format/download/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
+ integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
+
forwarded@~0.1.2:
version "0.1.2"
resolved "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
@@ -8213,6 +8338,13 @@ gonzales-pe@^4.2.3, gonzales-pe@^4.3.0:
dependencies:
minimist "^1.2.5"
+good-listener@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
+ integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
+ dependencies:
+ delegate "^3.1.2"
+
got@9.6.0:
version "9.6.0"
resolved "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz?cache=0&sync_timestamp=1596795620076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
@@ -8371,6 +8503,21 @@ hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
+hast-util-parse-selector@^2.0.0:
+ version "2.2.4"
+ resolved "https://registry.npm.taobao.org/hast-util-parse-selector/download/hast-util-parse-selector-2.2.4.tgz#60c99d0b519e12ab4ed32e58f150ec3f61ed1974"
+ integrity sha1-YMmdC1GeEqtO0y5Y8VDsP2HtGXQ=
+
+hastscript@^5.0.0:
+ version "5.1.2"
+ resolved "https://registry.npm.taobao.org/hastscript/download/hastscript-5.1.2.tgz#bde2c2e56d04c62dd24e8c5df288d050a355fb8a"
+ integrity sha1-veLC5W0Exi3SToxd8ojQUKNV+4o=
+ dependencies:
+ comma-separated-tokens "^1.0.0"
+ hast-util-parse-selector "^2.0.0"
+ property-information "^5.0.0"
+ space-separated-tokens "^1.0.0"
+
heap@0.2.5:
version "0.2.5"
resolved "https://registry.npm.taobao.org/heap/download/heap-0.2.5.tgz#713b65590ebcc40fcbeeaf55e851694092b39af1"
@@ -8381,6 +8528,16 @@ hex-color-regex@^1.1.0:
resolved "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=
+highlight.js@^10.1.1:
+ version "10.2.0"
+ resolved "https://registry.npm.taobao.org/highlight.js/download/highlight.js-10.2.0.tgz#367151bcf813adebc54822f1cb51d2e1e599619f"
+ integrity sha1-NnFRvPgTrevFSCLxy1HS4eWZYZ8=
+
+highlight.js@~10.1.0:
+ version "10.1.2"
+ resolved "https://registry.npm.taobao.org/highlight.js/download/highlight.js-10.1.2.tgz#c20db951ba1c22c055010648dfffd7b2a968e00c"
+ integrity sha1-wg25UbocIsBVAQZI3//Xsqlo4Aw=
+
history-with-query@4.10.3:
version "4.10.3"
resolved "https://registry.npm.taobao.org/history-with-query/download/history-with-query-4.10.3.tgz#9430a6f59a223796a68a436c0c4c7590233805a6"
@@ -8639,7 +8796,7 @@ identity-obj-proxy@3.0.0:
dependencies:
harmony-reflect "^1.4.6"
-ieee754@^1.1.4:
+ieee754@^1.1.13, ieee754@^1.1.4:
version "1.1.13"
resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=
@@ -8689,7 +8846,7 @@ immer@^5.0.0:
resolved "https://registry.npm.taobao.org/immer/download/immer-5.3.6.tgz#51eab8cbbeb13075fe2244250f221598818cac04"
integrity sha1-Ueq4y76xMHX+IkQlDyIVmIGMrAQ=
-immutable@^3.8.1:
+immutable@^3.8.1, immutable@^3.x.x:
version "3.8.2"
resolved "https://registry.npm.taobao.org/immutable/download/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3"
integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=
@@ -8906,7 +9063,7 @@ intl@1.2.5:
resolved "https://registry.npm.taobao.org/intl/download/intl-1.2.5.tgz#82244a2190c4e419f8371f5aa34daa3420e2abde"
integrity sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94=
-invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
+invariant@^2.0.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=
@@ -9095,6 +9252,14 @@ is-docker@^2.0.0:
resolved "https://registry.npm.taobao.org/is-docker/download/is-docker-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-docker%2Fdownload%2Fis-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156"
integrity sha1-QSWojkTkUNOE4JBH7eca3C0UQVY=
+is-dom@^1.0.9:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/is-dom/download/is-dom-1.1.0.tgz#af1fced292742443bb59ca3f76ab5e80907b4e8a"
+ integrity sha1-rx/O0pJ0JEO7Wco/dqtegJB7Too=
+ dependencies:
+ is-object "^1.0.1"
+ is-window "^1.0.2"
+
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -9188,6 +9353,11 @@ is-obj@^2.0.0:
resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=
+is-object@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/is-object/download/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
+ integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
+
is-plain-obj@2.1.0, is-plain-obj@^2.0.0:
version "2.1.0"
resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
@@ -9317,6 +9487,11 @@ is-whitespace-character@^1.0.0:
resolved "https://registry.npm.taobao.org/is-whitespace-character/download/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7"
integrity sha1-CFjt2UqVWUx8ndC1wXTsbkXuSqc=
+is-window@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/is-window/download/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d"
+ integrity sha1-LIlspT25feRdPDMTOmXYyfVjSA0=
+
is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@@ -9379,6 +9554,13 @@ isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1:
node-fetch "^1.0.1"
whatwg-fetch ">=0.10.0"
+isomorphic-form-data@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/isomorphic-form-data/download/isomorphic-form-data-2.0.0.tgz#9f6adf1c4c61ae3aefd8f110ab60fb9b143d6cec"
+ integrity sha1-n2rfHExhrjrv2PEQq2D7mxQ9bOw=
+ dependencies:
+ form-data "^2.3.2"
+
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -9919,6 +10101,11 @@ joi2types@~1.0.7:
"@types/json-schema" "^7.0.4"
json-schema-to-typescript "^8.2.0"
+js-file-download@^0.4.1:
+ version "0.4.12"
+ resolved "https://registry.npm.taobao.org/js-file-download/download/js-file-download-0.4.12.tgz#10c70ef362559a5b23cdbdc3bd6f399c3d91d821"
+ integrity sha1-EMcO82JVmlsjzb3DvW85nD2R2CE=
+
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -9929,7 +10116,7 @@ js-tokens@^3.0.2:
resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
-js-yaml@^3.12.1, js-yaml@^3.13.0, js-yaml@^3.13.1:
+js-yaml@^3.12.1, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.14.0:
version "3.14.0"
resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
integrity sha1-p6NBcPJqIbsWJCTYray0ETpp5II=
@@ -10451,6 +10638,11 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
+lodash-es@^4.2.1:
+ version "4.17.15"
+ resolved "https://registry.npm.taobao.org/lodash-es/download/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78"
+ integrity sha1-Ib2Wg5NUQS8j16EDQOXqxu5FXXg=
+
lodash._reinterpolate@^3.0.0:
version "3.0.0"
resolved "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -10461,9 +10653,9 @@ lodash.camelcase@^4.1.1:
resolved "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
-lodash.debounce@^4.0.8:
+lodash.debounce@^4, lodash.debounce@^4.0.8:
version "4.0.8"
- resolved "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz?cache=0&sync_timestamp=1588852765914&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.debounce%2Fdownload%2Flodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ resolved "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
lodash.defaultsdeep@^4.6.0:
@@ -10571,7 +10763,7 @@ lodash.zip@^4.2.0:
resolved "https://registry.npm.taobao.org/lodash.zip/download/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020"
integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=
-lodash@4.17.20, "lodash@>=3.5 <5", lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.17.5:
+lodash@4.17.20, "lodash@>=3.5 <5", lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1:
version "4.17.20"
resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336001963&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=
@@ -10658,6 +10850,14 @@ lowercase-keys@^2.0.0:
resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
integrity sha1-JgPni3tLAAbLyi+8yKMgJVislHk=
+lowlight@^1.14.0:
+ version "1.14.0"
+ resolved "https://registry.npm.taobao.org/lowlight/download/lowlight-1.14.0.tgz?cache=0&sync_timestamp=1592130682424&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flowlight%2Fdownload%2Flowlight-1.14.0.tgz#83ebc143fec0f9e6c0d3deffe01be129ce56b108"
+ integrity sha1-g+vBQ/7A+ebA097/4BvhKc5WsQg=
+ dependencies:
+ fault "^1.0.0"
+ highlight.js "~10.1.0"
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -10854,7 +11054,7 @@ memoize-one@^5.0.0, memoize-one@^5.1.1:
resolved "https://registry.npm.taobao.org/memoize-one/download/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
integrity sha1-BHtuMZm1COrsA1BN5xIpuOsddcA=
-memoizee@^0.4.14:
+memoizee@^0.4.12, memoizee@^0.4.14:
version "0.4.14"
resolved "https://registry.npm.taobao.org/memoizee/download/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
integrity sha1-B6APIEaZ+alcLZ53IYJxx81hDVc=
@@ -11371,6 +11571,11 @@ node-fetch@2.6.0, node-fetch@^2.6.0:
resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
integrity sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0=
+node-fetch@2.6.1:
+ version "2.6.1"
+ resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.1.tgz?cache=0&sync_timestamp=1599309120224&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
+ integrity sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI=
+
node-fetch@^1.0.1:
version "1.7.3"
resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
@@ -12127,6 +12332,11 @@ pend@~1.2.0:
resolved "https://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
+performance-now@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
+ integrity sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=
+
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
@@ -13077,6 +13287,13 @@ pretty-time@^1.1.0:
resolved "https://registry.npm.taobao.org/pretty-time/download/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
integrity sha1-/7dCmvq7hTXDRqNOQYc63z103Q4=
+prismjs@^1.21.0, prismjs@~1.21.0:
+ version "1.21.0"
+ resolved "https://registry.npm.taobao.org/prismjs/download/prismjs-1.21.0.tgz#36c086ec36b45319ec4218ee164c110f9fc015a3"
+ integrity sha1-NsCG7Da0UxnsQhjuFkwRD5/AFaM=
+ optionalDependencies:
+ clipboard "^2.0.0"
+
pro-download@1.0.1:
version "1.0.1"
resolved "https://registry.npm.taobao.org/pro-download/download/pro-download-1.0.1.tgz#1144d98138bbc188572109aaf8bdbf3d4d88ee2d"
@@ -13140,6 +13357,13 @@ prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, pr
object-assign "^4.1.1"
react-is "^16.8.1"
+property-information@^5.0.0:
+ version "5.5.0"
+ resolved "https://registry.npm.taobao.org/property-information/download/property-information-5.5.0.tgz#4dc075d493061a82e2b7d096f406e076ed859943"
+ integrity sha1-TcB11JMGGoLit9CW9Abgdu2FmUM=
+ dependencies:
+ xtend "^4.0.0"
+
protocols@^1.1.0, protocols@^1.4.0:
version "1.4.8"
resolved "https://registry.npm.taobao.org/protocols/download/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8"
@@ -13261,7 +13485,7 @@ qs@6.7.0:
resolved "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=
-qs@^6.9.0, qs@^6.9.1:
+qs@^6.9.0, qs@^6.9.1, qs@^6.9.4:
version "6.9.4"
resolved "https://registry.npm.taobao.org/qs/download/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687"
integrity sha1-kJCykNH5FyjTwi5UhDykSupatoc=
@@ -13288,6 +13512,11 @@ query-string@^6.11.0:
split-on-first "^1.0.0"
strict-uri-encode "^2.0.0"
+querystring-browser@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/querystring-browser/download/querystring-browser-1.0.4.tgz#f2e35881840a819bc7b1bf597faf0979e6622dc6"
+ integrity sha1-8uNYgYQKgZvHsb9Zf68JeeZiLcY=
+
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -13832,6 +14061,14 @@ react-app-polyfill@^1.0.4:
regenerator-runtime "^0.13.3"
whatwg-fetch "^3.0.0"
+react-copy-to-clipboard@5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npm.taobao.org/react-copy-to-clipboard/download/react-copy-to-clipboard-5.0.1.tgz#8eae107bb400be73132ed3b6a7b4fb156090208e"
+ integrity sha1-jq4Qe7QAvnMTLtO2p7T7FWCQII4=
+ dependencies:
+ copy-to-clipboard "^3"
+ prop-types "^15.5.8"
+
react-copy-to-clipboard@^5.0.1:
version "5.0.2"
resolved "https://registry.npm.taobao.org/react-copy-to-clipboard/download/react-copy-to-clipboard-5.0.2.tgz#d82a437e081e68dfca3761fbd57dbf2abdda1316"
@@ -13840,6 +14077,14 @@ react-copy-to-clipboard@^5.0.1:
copy-to-clipboard "^3"
prop-types "^15.5.8"
+react-debounce-input@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.npm.taobao.org/react-debounce-input/download/react-debounce-input-3.2.2.tgz#d2cc99c1ce47fae89037965f5699edc1b0317197"
+ integrity sha1-0syZwc5H+uiQN5ZfVpntwbAxcZc=
+ dependencies:
+ lodash.debounce "^4"
+ prop-types "^15.7.2"
+
react-dev-utils@9.0.1:
version "9.0.1"
resolved "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-9.0.1.tgz?cache=0&sync_timestamp=1596670540753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dev-utils%2Fdownload%2Freact-dev-utils-9.0.1.tgz#5c03d85a0b2537d0c46af7165c24a7dfb274bef2"
@@ -13954,6 +14199,27 @@ react-helmet@6.0.0:
react-fast-compare "^2.0.4"
react-side-effect "^2.1.0"
+react-immutable-proptypes@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/react-immutable-proptypes/download/react-immutable-proptypes-2.1.0.tgz#023d6f39bb15c97c071e9e60d00d136eac5fa0b4"
+ integrity sha1-Aj1vObsVyXwHHp5g0A0TbqxfoLQ=
+
+react-immutable-pure-component@^1.1.1:
+ version "1.2.3"
+ resolved "https://registry.npm.taobao.org/react-immutable-pure-component/download/react-immutable-pure-component-1.2.3.tgz#fa33638df68cfe9f73ccbee1d5861c17f3053f86"
+ integrity sha1-+jNjjfaM/p9zzL7h1YYcF/MFP4Y=
+ optionalDependencies:
+ "@types/react" "16.4.6"
+
+react-inspector@^2.3.0:
+ version "2.3.1"
+ resolved "https://registry.npm.taobao.org/react-inspector/download/react-inspector-2.3.1.tgz?cache=0&sync_timestamp=1599743804154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-inspector%2Fdownload%2Freact-inspector-2.3.1.tgz#f0eb7f520669b545b441af9d38ec6d706e5f649c"
+ integrity sha1-8Ot/UgZptUW0Qa+dOOxtcG5fZJw=
+ dependencies:
+ babel-runtime "^6.26.0"
+ is-dom "^1.0.9"
+ prop-types "^15.6.1"
+
react-intl@3.12.0:
version "3.12.0"
resolved "https://registry.npm.taobao.org/react-intl/download/react-intl-3.12.0.tgz#98ef1c94434cc25a8c67448e1e283e6bfe11b2fc"
@@ -13984,6 +14250,15 @@ react-lifecycles-compat@^3.0.4:
resolved "https://registry.npm.taobao.org/react-lifecycles-compat/download/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I=
+react-motion@^0.5.2:
+ version "0.5.2"
+ resolved "https://registry.npm.taobao.org/react-motion/download/react-motion-0.5.2.tgz#0dd3a69e411316567927917c6626551ba0607316"
+ integrity sha1-DdOmnkETFlZ5J5F8ZiZVG6BgcxY=
+ dependencies:
+ performance-now "^0.2.0"
+ prop-types "^15.5.8"
+ raf "^3.1.0"
+
react-native-swipeout@^2.2.2:
version "2.3.6"
resolved "https://registry.npm.taobao.org/react-native-swipeout/download/react-native-swipeout-2.3.6.tgz#47dac8a835825cf3f2eef9e495574a3d9ab6d3fa"
@@ -13993,6 +14268,18 @@ react-native-swipeout@^2.2.2:
prop-types "^15.5.10"
react-tween-state "^0.1.5"
+react-redux@=4.4.10:
+ version "4.4.10"
+ resolved "https://registry.npm.taobao.org/react-redux/download/react-redux-4.4.10.tgz#ad57bd1db00c2d0aa7db992b360ce63dd0b80ec5"
+ integrity sha1-rVe9HbAMLQqn25krNgzmPdC4DsU=
+ dependencies:
+ create-react-class "^15.5.1"
+ hoist-non-react-statics "^3.3.0"
+ invariant "^2.0.0"
+ lodash "^4.17.11"
+ loose-envify "^1.4.0"
+ prop-types "^15.7.2"
+
react-redux@^7.1.0:
version "7.2.1"
resolved "https://registry.npm.taobao.org/react-redux/download/react-redux-7.2.1.tgz?cache=0&sync_timestamp=1595765616486&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-redux%2Fdownload%2Freact-redux-7.2.1.tgz#8dedf784901014db2feca1ab633864dee68ad985"
@@ -14089,6 +14376,17 @@ react-side-effect@^2.1.0:
resolved "https://registry.npm.taobao.org/react-side-effect/download/react-side-effect-2.1.0.tgz#1ce4a8b4445168c487ed24dab886421f74d380d3"
integrity sha1-HOSotERRaMSH7STauIZCH3TTgNM=
+react-syntax-highlighter@=13.5.0:
+ version "13.5.0"
+ resolved "https://registry.npm.taobao.org/react-syntax-highlighter/download/react-syntax-highlighter-13.5.0.tgz#c0f3fd826a52b2a6ce5786d4ce60c3e0665b65c0"
+ integrity sha1-wPP9gmpSsqbOV4bUzmDD4GZbZcA=
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ highlight.js "^10.1.1"
+ lowlight "^1.14.0"
+ prismjs "^1.21.0"
+ refractor "^3.1.0"
+
react-tween-state@^0.1.5:
version "0.1.5"
resolved "https://registry.npm.taobao.org/react-tween-state/download/react-tween-state-0.1.5.tgz#e98b066551efb93cb92dd1be14995c2e3deae339"
@@ -14262,11 +14560,28 @@ redeyed@~2.1.0:
dependencies:
esprima "~4.0.0"
+redux-immutable@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/redux-immutable/download/redux-immutable-3.1.0.tgz#cafbd686e0711261119b9c28960935dc47a49d0a"
+ integrity sha1-yvvWhuBxEmERm5wolgk13EeknQo=
+ dependencies:
+ immutable "^3.8.1"
+
redux-saga@^0.16.0:
version "0.16.2"
resolved "https://registry.npm.taobao.org/redux-saga/download/redux-saga-0.16.2.tgz#993662e86bc945d8509ac2b8daba3a8c615cc971"
integrity sha1-mTZi6GvJRdhQmsK42ro6jGFcyXE=
+redux@=3.7.2:
+ version "3.7.2"
+ resolved "https://registry.npm.taobao.org/redux/download/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b"
+ integrity sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s=
+ dependencies:
+ lodash "^4.2.1"
+ lodash-es "^4.2.1"
+ loose-envify "^1.1.0"
+ symbol-observable "^1.0.3"
+
redux@^4.0.0, redux@^4.0.1, redux@^4.0.4:
version "4.0.5"
resolved "https://registry.npm.taobao.org/redux/download/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f"
@@ -14275,6 +14590,15 @@ redux@^4.0.0, redux@^4.0.1, redux@^4.0.4:
loose-envify "^1.4.0"
symbol-observable "^1.2.0"
+refractor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/refractor/download/refractor-3.1.0.tgz#b05a43c8a1b4fccb30001ffcbd5cd781f7f06f78"
+ integrity sha1-sFpDyKG0/MswAB/8vVzXgffwb3g=
+ dependencies:
+ hastscript "^5.0.0"
+ parse-entities "^2.0.0"
+ prismjs "~1.21.0"
+
regenerate-unicode-properties@^8.2.0:
version "8.2.0"
resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
@@ -14491,6 +14815,14 @@ remark@^12.0.0:
remark-stringify "^8.0.0"
unified "^9.0.0"
+remarkable@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/remarkable/download/remarkable-2.0.1.tgz#280ae6627384dfb13d98ee3995627ca550a12f31"
+ integrity sha1-KArmYnOE37E9mO45lWJ8pVChLzE=
+ dependencies:
+ argparse "^1.0.10"
+ autolinker "^3.11.0"
+
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -14501,7 +14833,7 @@ repeat-element@^1.1.2:
resolved "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=
-repeat-string@^1.0.0, repeat-string@^1.5.4, repeat-string@^1.6.1:
+repeat-string@^1.0.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
@@ -14573,6 +14905,11 @@ requires-port@^1.0.0:
resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+reselect@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/reselect/download/reselect-4.0.0.tgz#f2529830e5d3d0e021408b246a206ef4ea4437f7"
+ integrity sha1-8lKYMOXT0OAhQIskaiBu9OpEN/c=
+
reserved-words@^0.1.2:
version "0.1.2"
resolved "https://registry.npm.taobao.org/reserved-words/download/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1"
@@ -15002,6 +15339,11 @@ select-hose@^2.0.0:
resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
+select@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
+ integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
+
semver-compare@^1.0.0:
version "1.0.0"
resolved "https://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
@@ -15056,6 +15398,11 @@ send@0.17.1:
range-parser "~1.2.1"
statuses "~1.5.0"
+serialize-error@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/serialize-error/download/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a"
+ integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=
+
serialize-javascript@4.0.0, serialize-javascript@^4.0.0:
version "4.0.0"
resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
@@ -15110,7 +15457,7 @@ setprototypeof@1.1.1:
resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=
-sha.js@^2.4.0, sha.js@^2.4.8:
+sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8:
version "2.4.11"
resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=
@@ -15404,6 +15751,11 @@ source-map@^0.7.3:
resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=
+space-separated-tokens@^1.0.0:
+ version "1.1.5"
+ resolved "https://registry.npm.taobao.org/space-separated-tokens/download/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
+ integrity sha1-hfMsPRDZaCAH6RdBTdxcJtGqaJk=
+
spdx-correct@^3.0.0:
version "3.1.1"
resolved "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
@@ -15598,6 +15950,13 @@ stream-shift@^1.0.0:
resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0=
+stream@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.npm.taobao.org/stream/download/stream-0.0.2.tgz#7f5363f057f6592c5595f00bc80a27f5cec1f0ef"
+ integrity sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=
+ dependencies:
+ emitter-component "^1.1.1"
+
streamroller@^0.4.0:
version "0.4.1"
resolved "https://registry.npm.taobao.org/streamroller/download/streamroller-0.4.1.tgz#d435bd5974373abd9bd9068359513085106cc05f"
@@ -16237,6 +16596,68 @@ svgo@^1.0.0, svgo@^1.2.2:
unquote "~1.1.1"
util.promisify "~1.0.0"
+swagger-client@=3.10.12:
+ version "3.10.12"
+ resolved "https://registry.npm.taobao.org/swagger-client/download/swagger-client-3.10.12.tgz#f49beb7a6f91b6e5778cfbd3fd4064413be6e791"
+ integrity sha1-9Jvrem+RtuV3jPvT/UBkQTvm55E=
+ dependencies:
+ "@babel/runtime-corejs2" "^7.10.4"
+ btoa "^1.2.1"
+ buffer "^5.6.0"
+ cookie "~0.4.1"
+ cross-fetch "^3.0.5"
+ deep-extend "~0.6.0"
+ fast-json-patch "^2.2.1"
+ isomorphic-form-data "~2.0.0"
+ js-yaml "^3.14.0"
+ lodash "^4.17.19"
+ qs "^6.9.4"
+ querystring-browser "^1.0.4"
+ traverse "~0.6.6"
+ url "~0.11.0"
+
+swagger-ui-react@^3.33.0:
+ version "3.33.0"
+ resolved "https://registry.npm.taobao.org/swagger-ui-react/download/swagger-ui-react-3.33.0.tgz#cae8812d4a809d416a48cd2d01fe606429742d07"
+ integrity sha1-yuiBLUqAnUFqSM0tAf5gZCl0LQc=
+ dependencies:
+ "@babel/runtime-corejs2" "^7.10.4"
+ "@braintree/sanitize-url" "^4.0.0"
+ "@kyleshockey/object-assign-deep" "^0.4.2"
+ "@kyleshockey/xml" "^1.0.2"
+ base64-js "^1.2.0"
+ classnames "^2.2.6"
+ core-js "^2.6.11"
+ css.escape "1.5.1"
+ deep-extend "0.6.0"
+ dompurify "^2.0.7"
+ ieee754 "^1.1.13"
+ immutable "^3.x.x"
+ js-file-download "^0.4.1"
+ js-yaml "^3.13.1"
+ lodash "^4.17.19"
+ memoizee "^0.4.12"
+ prop-types "^15.7.2"
+ randombytes "^2.1.0"
+ react-copy-to-clipboard "5.0.1"
+ react-debounce-input "^3.2.0"
+ react-immutable-proptypes "2.1.0"
+ react-immutable-pure-component "^1.1.1"
+ react-inspector "^2.3.0"
+ react-motion "^0.5.2"
+ react-redux "=4.4.10"
+ react-syntax-highlighter "=13.5.0"
+ redux "=3.7.2"
+ redux-immutable "3.1.0"
+ remarkable "^2.0.1"
+ reselect "^4.0.0"
+ serialize-error "^2.1.0"
+ sha.js "^2.4.11"
+ swagger-client "=3.10.12"
+ url-parse "^1.4.7"
+ xml-but-prettier "^1.0.1"
+ zenscroll "^4.0.2"
+
sylvanas@^0.4.0:
version "0.4.3"
resolved "https://registry.npm.taobao.org/sylvanas/download/sylvanas-0.4.3.tgz#e40ce0e651bd9f57b3a4738ce4aecbfd84eb649f"
@@ -16253,7 +16674,7 @@ sylvanas@^0.4.0:
import-fresh "^3.1.0"
prettier "^1.17.1"
-symbol-observable@^1.2.0:
+symbol-observable@^1.0.3, symbol-observable@^1.2.0:
version "1.2.0"
resolved "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ=
@@ -16423,6 +16844,11 @@ timsort@^0.3.0:
resolved "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
+tiny-emitter@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/tiny-emitter/download/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ integrity sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=
+
tiny-invariant@^1.0.2:
version "1.1.0"
resolved "https://registry.npm.taobao.org/tiny-invariant/download/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875"
@@ -16536,6 +16962,11 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"
+traverse@~0.6.6:
+ version "0.6.6"
+ resolved "https://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz?cache=0&sync_timestamp=1597756177034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftraverse%2Fdownload%2Ftraverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137"
+ integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=
+
trim-newlines@^2.0.0:
version "2.0.0"
resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20"
@@ -16581,7 +17012,7 @@ tsconfig-paths@^3.9.0:
minimist "^1.2.0"
strip-bom "^3.0.0"
-tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0:
+tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
version "1.13.0"
resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz?cache=0&sync_timestamp=1596751967733&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
integrity sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM=
@@ -17064,7 +17495,7 @@ url-parse@^1.4.3, url-parse@^1.4.7:
querystringify "^2.1.1"
requires-port "^1.0.0"
-url@^0.11.0:
+url@^0.11.0, url@~0.11.0:
version "0.11.0"
resolved "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
@@ -17621,6 +18052,13 @@ x-is-string@^0.1.0:
resolved "https://registry.npm.taobao.org/x-is-string/download/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=
+xml-but-prettier@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/xml-but-prettier/download/xml-but-prettier-1.0.1.tgz#f5a33267ed42ccd4e355c62557a5e39b01fb40f3"
+ integrity sha1-9aMyZ+1CzNTjVcYlV6XjmwH7QPM=
+ dependencies:
+ repeat-string "^1.5.2"
+
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
@@ -17707,6 +18145,11 @@ yauzl@^2.10.0:
buffer-crc32 "~0.2.3"
fd-slicer "~1.1.0"
+zenscroll@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/zenscroll/download/zenscroll-4.0.2.tgz#e8d5774d1c0738a47bcfa8729f3712e2deddeb25"
+ integrity sha1-6NV3TRwHOKR7z6hynzcS4t7d6yU=
+
zlib@1.0.5:
version "1.0.5"
resolved "https://registry.npm.taobao.org/zlib/download/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0"