diff --git a/docs/guide/about.md b/docs/guide/about.md index 7aa4ab0565..97b157c406 100644 --- a/docs/guide/about.md +++ b/docs/guide/about.md @@ -4,8 +4,11 @@ order: 1 cover: https://gw.alicdn.com/tfs/TB1vBRYaVOWBuNjy0FiXXXFxVXa-2558-1306.jpg --- +> 简单而友好的前端研发体系 + ## 特性 + - **React 研发框架**:通过 icejs 研发框架集成目录规范、路由、状态管理、样式、权限管理、微前端等最佳实践 - **可视化智能开发助手**:通过 VS Code 插件集合 Iceworks 简化前端工程复杂度,提供可视化、配置化等能力 - **丰富的物料**:基于物料拼装提高项目开发效率,同时提供丰富的 React/Vue 物料 @@ -13,43 +16,12 @@ cover: https://gw.alicdn.com/tfs/TB1vBRYaVOWBuNjy0FiXXXFxVXa-2558-1306.jpg ## 生态 -### ice.js - -> 开箱即用的 React 研发框架 - -- 提供 React 项目开发的最佳实践,包含工程配置、路由、状态管理、数据请求、调试日志等解决方案 -- 开箱即用的工程能力,包含 TypeScript、Less/Sass/CSS Modules 等,无需关心繁琐的 webpack 基础配置 -- 结合阿里业务沉淀的大量开发规范,包括目录规范、代码风格、单元测试等方面 -- 约定优于配置的设计理念,让开发者能够更加专注于业务逻辑开发 - -### Iceworks - -> 基于 VS Code 插件的可视化开发助手 - -- 在 VS Code 中支持可视化创建项目、启动调试等能力 -- 提供强大的代码智能提示能力,让编码更加智能 - -### 物料 - -- 支持 Fusion Design、Ant Design、ElementUI 等不同 UI 组件的官方物料 -- 提供强大的自定义物料能力,不同团队可以快速定制脚手架、沉淀业务相关物料 -- 通过 Fusion 物料中心的托管,可以快速形成物料文档 -- 结合 Iceworks 可以方便的在 VS Code 中使用消费开发好的物料 - -### 领域解决方案 - -- icestark:面向大型工作台的微前端解决方案 -- ahooks:提供丰富的 React Hooks 选择 - -### 相关链接 - | GitHub | npm | 文档 | 描述 | |----------------|-----------------------------------------|--------------|-----------| -| [icejs](https://github.com/alibaba/ice) | ![](https://img.shields.io/npm/v/ice.js.svg) | [docs](/docs/guide/intro) |基于 React 的通用框架| +| [icejs](https://github.com/alibaba/ice) | ![](https://img.shields.io/npm/v/ice.js.svg) | [docs](/docs/guide/intro) |基于 React.js 的通用框架| | [Iceworks](https://github.com/ice-lab/iceworks) | ![](https://vsmarketplacebadge.apphb.com/version-short/iceworks-team.iceworks.svg?logo=visual-studio-code) | [docs](/docs/iceworks/about) |可视化智能开发助手| | [icestark](https://github.com/ice-lab/icestark) | ![](https://img.shields.io/npm/v/@ice/stark.svg) | [docs](/docs/icestark/guide/about) |面向大型应用的微前端解决方案| | [icestore](https://github.com/ice-lab/icestore) | ![](https://img.shields.io/npm/v/@ice/store.svg) | [docs](https://github.com/ice-lab/icestore#icestore) |轻量简洁的状态管理方案| -| [ahooks](https://github.com/ice-lab/icestore) | ![](https://img.shields.io/npm/v/ahooks.svg) | [docs](https://ahooks.js.org/zh-CN) |基于业务沉淀的丰富完备的 React Hooks| ## 常见问题 @@ -67,6 +39,7 @@ cover: https://gw.alicdn.com/tfs/TB1vBRYaVOWBuNjy0FiXXXFxVXa-2558-1306.jpg #### 飞冰可以使用哪些 UI 组件? + 飞冰的框架和工具都不耦合 UI 组件,因此开发者可以选择自己喜欢的 UI 组件使用,比如: - [使用 fusion 组件](/docs/guide/advance/fusion) diff --git a/docs/guide/advance/auth.md b/docs/guide/advance/auth.md index 253398c762..c6794c1e3d 100644 --- a/docs/guide/advance/auth.md +++ b/docs/guide/advance/auth.md @@ -34,6 +34,7 @@ $ npm install build-plugin-ice-auth --save-dev 大多数情况下权限管理通常需要从服务端获取权限数据,然后在前端通过权限对比以此控制页面、操作等等权限行为。在 icejs 框架中约定通过 `getInitialData` 从服务端异步获取初始化的权限数据,并且约定最终返回格式为 `{auth: {[key: string]: boolean }}` 的形式。 + ```tsx import { runApp, request, IAppConfig } from 'ice'; @@ -84,8 +85,6 @@ Home.pageConfig = { }; ``` -> 除了 pageConfig.auth 的方式,页面级鉴权也可通过在 `src/routes.ts` 中配置 wrappers 字段实现,可参考 [wrappers 配置](/docs/guide/basic/router?路由高阶组件) 。 - ## 操作权限 在某些场景下,如某个组件中要根据角色判断是否有操作权限,我们可以通过 `useAuth` Hooks 在组件中获取权限数据,同时也可以更新初始的权限数据。 diff --git a/docs/guide/advance/icestark.md b/docs/guide/advance/icestark.md index c861b485d9..8ba4a75212 100644 --- a/docs/guide/advance/icestark.md +++ b/docs/guide/advance/icestark.md @@ -168,3 +168,20 @@ runApp(appConfig) 只需要这么简单,你的 SPA 应用就可以变成微前端的子应用了。 关于微前端的更多内容,请查看文档 [icestark](/docs/icestark/about)。 + +### UMD 规范微应用 + +> build-plugin-icestark@2.0.0 以上版本支持 + +在 `build.json` 中配置 umd 属性即可导出标准 UMD 规范的微应用: + +```json +{ + "plugins": [ + ["build-plugin-icestark", { + "umd": true, + "library": "microApp" // UMD 模块导出名称,选填。默认为项目 package.json 中的 name 字段 + }] + ] +} +``` diff --git a/docs/guide/basic/api.md b/docs/guide/basic/api.md index 8714eeba34..59cfe8a291 100644 --- a/docs/guide/basic/api.md +++ b/docs/guide/basic/api.md @@ -176,7 +176,7 @@ function Example() { ### useSearchParams -**已废弃**,请使用 getSearchParams。用于在非路由函数组件中解析 url 参数。 +**已废弃**,用于在非路由函数组件中解析 url 参数。 假设当前 URL 为 `https://example.com?foo=bar`,解析查询参数如下: @@ -192,7 +192,7 @@ function Example() { ### withSearchParams -**已废弃**,请使用 getSearchParams。与 `useSearchParams` 对应,用在 Class Component 中。 +**已废弃**,与 `useSearchParams` 对应,用在 Class Component 中。 ```tsx import { withSearchParams } from 'ice'; diff --git a/docs/guide/basic/app.md b/docs/guide/basic/app.md index 8d94c0b46c..2370fd1c4f 100644 --- a/docs/guide/basic/app.md +++ b/docs/guide/basic/app.md @@ -49,7 +49,7 @@ const appConfig = { // 可选,根节点 DOM 元素,更灵活的 rootId mountNode: document.getElementById('ice-container'), - // 可选,是否解析路由组件的查询参数,默认 true + // 可选,是否解析路由组件的查询参数 parseSearchParams: true // 可选,自定义添加 Provider diff --git a/docs/guide/basic/build.md b/docs/guide/basic/build.md index 356392517a..e6195d17ee 100644 --- a/docs/guide/basic/build.md +++ b/docs/guide/basic/build.md @@ -214,8 +214,35 @@ icejs 中一般不允许修改该配置。 } ``` +### polyfill + +- 类型:`string` +- 默认值:`"entry"` +- 可选值:`"usage"` | `false` + +配置 `@babel/preset-env` 处理 `polyfill` 的逻辑。 + +#### polyfill: "entry" +根据配置的 `browserslist` 字段在每个文件开头都引入对应的 `polyfill`。 + +#### polyfill: "usage" +根据源码中使用到的代码按需引入 `polyfill`。 + +**注意:** 在这种模式下,默认不会去分析 `node_modules` 里的代码,如果需要的话,请看 `compileDependencies` 字段相关的说明,添加相关需要编译的依赖。 + +#### polyfill: false +不引入任何 `polyfill`。 + +```json +{ + "polyfill": false +} +``` + ### injectBabel +**已废弃**,请使用 `polyfill` 替代。 + - 类型:`string` - 默认值:`polyfill` diff --git a/docs/guide/basic/request.md b/docs/guide/basic/request.md index 8adb246fd1..7b7af6948f 100644 --- a/docs/guide/basic/request.md +++ b/docs/guide/basic/request.md @@ -72,8 +72,6 @@ export default { ### 在模型中调用 service -> 结合 [状态管理文档](/docs/guide/basic/store) 使用 - * `service`:约定数据请求统一管理在 services 目录下; * `model`:约定数据请求统一在 models 里进行调用; * `view`:最终在视图里通过调用 models 的 effects 的方法触发数据请求。 @@ -107,7 +105,7 @@ export default { ```ts import React, { useEffect } from 'react'; -import store from '@/store'; +import { store } from 'ice'; const HomePage = () => { // 调用定义的 user 模型 diff --git a/docs/guide/basic/router.md b/docs/guide/basic/router.md index e747835da1..79b56e7b6a 100644 --- a/docs/guide/basic/router.md +++ b/docs/guide/basic/router.md @@ -5,11 +5,12 @@ order: 3 icejs 推荐使用 **配置式路由** 进行应用的路由管理,如果希望使用约定式路由可参考 [文档](/docs/guide/advance/convention-routing)。 -## 配置路由信息 +## 配置式路由 -应用的路由信息统一在 `src/routes.ts` 中配置,配置协议支持多级嵌套,具体如下: +路由按照标准协议进行配置,用来描述路由的结构关系,路由配置协议如下: ```ts +// src/routes.ts import UserLayout from '@/Layouts/UserLayout'; import UserLogin from '@/pages/UserLogin'; import NotFound from '@/components/NotFound'; @@ -54,9 +55,102 @@ export default routerConfig; > 注意:路由有一个按顺序匹配的规则,从上到下一旦命中路由匹配规则就会停止遍历,因此如果你在最前面配置了 / 这样一个路由,则所有的路由都会命中该规则,导致其他路由没有效果,所以在开发时要注意路由的顺序以及 exact 属性的使用。 +### wrappers 配置 + +配置路由的高阶组件,常用于路由级别的权限检验。 + +* 假设路由配置如下: + +```ts +import WrapperPage from '@/components/WrapperPage'; + +const routerConfig = [ + { + path: '/user', + component: User, + // 配置路由的高阶组件 + wrappers: [WrapperPage] + }, +] +``` + +* 实现路由高阶组件: + +```tsx +import { useAuth, Redirect } from 'ice'; + +const WrapperPage = (WrappedComponent) => { + const [auth] = useAuth(); + + const Wrapped = () => { + return ( + <> + { + auth.isLogin ? : ; + } + + ) + } + + return Wrapped; +} + +export default WrapperPage; +``` + +通过 `wrappers` 配置我们可以对路由组件进行自定义包装,如上示例通过 WrapperPage 高阶组件对路由组件进行权限判断,如果是登录状态,则渲染 User 组件,否则跳转到 `/login` 路由。 + +### 动态路由 + +在某些场景下可能需要动态指定路由,使用方式如下: + +* 动态路由配置 + +```ts +import UserInfo from '@/pages/UserInfo'; + +// src/routes.ts +const routerConfig = [ + { + path: '/user/:id', + exact: true, + component: UserInfo, + } +] +``` + +* 动态路由跳转 + +```tsx +import { Link } from 'ice'; +export default = () => { + return ( + go + ) +} +``` + +* 获取动态路由参数 +```tsx +import { useParams } from 'ice'; +export default = () => { + const { id } = useParams(); + // console.log(id) // 123 +} +``` + +## 路由组件参数 + +对于路由组件,可通过 `props` 获取到如下属性: + +- `location`:当前路由的 location 对象,包含 `pathname`、`search`、`hash`、`state` 属性 +- `history`:详见 [history api](/docs/guide/basic/api#history) +- `searchParams`:当前 URL 的查询参数对象(需要开启 [parseSearchParams](/docs/guide/basic/app#配置项)) +- `match`:当前路由和 URL match 后的对象,包含 `path`、`url`、`params`、`isExact` 属性 + ## 运行时配置 -在 `src/app.ts` 中,我们可以配置路由的类型和基础路径等信息,具体配置如下: +在 `src/app.ts` 中,我们可以配置路由的类型和基础路径等路由信息,具体配置如下: ```jsx import { runApp } from 'ice'; @@ -83,17 +177,6 @@ runApp(appConfig); - modifyRoutes: 动态修改路由 - history: 自定义创建 history 对象,[详见](https://github.com/ReactTraining/history/blob/master/docs/GettingStarted.md) -## 路由组件参数 - -对于路由组件(即页面级组件),可通过 `props` 获取到如下属性: - -- `location`:当前路由的 location 对象,包含 `pathname`、`search`、`hash`、`state` 属性 -- `history`:详见 [history api](/docs/guide/basic/api#history) -- `searchParams`:当前 URL 的查询参数对象(需要开启 [parseSearchParams](/docs/guide/basic/app#启动项配置)) -- `match`:当前路由和 URL match 后的对象,包含 `path`、`url`、`params`、`isExact` 属性 - -对于非路由组件,组件内如想获取上述属性需要借助 [withRouter](/docs/guide/basic/api#withRouter) API。 - ## 路由跳转 - React 组件内部:使用 [Link 组件](/docs/guide/basic/api#Link) 或 [useHistory](/docs/guide/basic/api#useHistory) API @@ -103,58 +186,6 @@ runApp(appConfig); 参考 [代码分割](/docs/guide/advance/code-splitting) 。 -## 路由高阶组件 - -通过 `src/routes.ts` 中的 `wrappers` 字段可配置路由的高阶组件,常用于路由级别的权限检验。 - -#### 配置 wrappers - -```diff -+import WrapperPage from '@/components/WrapperPage'; - -const routerConfig = [ - { - path: '/user', - component: User, - // 配置路由的高阶组件 -+ wrappers: [WrapperPage] - }, -] -``` - -注意: - -1. Wrapper 组件不支持通过 lazy 导入 -2. 路由配置里有 children 属性的元素(一般为 Layout)目前不支持 wrappers 属性 - -#### 实现高阶组件 - -```tsx -// src/components/LoginWrapper -import { useAuth, Redirect } from 'ice'; - -const LoginWrapper = (WrappedComponent) => { - const Wrapped = () => { - const [auth] = useAuth(); - return ( - <> - { - auth.isLogin ? : ; - } - - ) - }; - - return Wrapped; -} - -export default LoginWrapper; -``` - -通过 `wrappers` 配置我们可以对路由组件进行自定义包装,如上示例通过 WrapperPage 高阶组件对路由组件进行权限判断,如果是登录状态,则渲染 User 组件,否则跳转到 `/login` 路由。 - -> `useAuth` API 需要结合 plugin-ice-auth 插件实现,可参考 [权限管理](/docs/guide/advance/auth) 。 - ## 常见问题 ### HashHistory 与 BrowserHistory @@ -191,33 +222,3 @@ runApp(appConfig); - [关于 react-router 的 browserHistory 模式](https://github.com/LoeiFy/Recordum/issues/15) - [react-router 之 HashRouter & BrowserRouter](https://zzugbb.github.io/passages/react-router%E9%97%AE%E9%A2%98/) - -### 如何使用动态路由 - -在某些场景下可能需要动态指定路由即 `/user/:id`,使用方式如下: - -路由配置: - -```ts -import UserInfo from '@/pages/UserInfo'; - -// src/routes.ts -const routerConfig = [ - { - path: '/user/:id', - exact: true, - component: UserInfo, - } -] -``` - -动态路由参数: - -```tsx -import { useParams } from 'ice'; - -export default = () => { - const { id } = useParams(); - // console.log(id) // 123 -} -``` diff --git a/docs/guide/basic/store.md b/docs/guide/basic/store.md index 82a2651d92..5c4c2343c0 100644 --- a/docs/guide/basic/store.md +++ b/docs/guide/basic/store.md @@ -5,9 +5,9 @@ order: 6 icejs 内置了状态管理方案,并在此基础上进一步遵循 **“约定优于配置”** 原则,进行抽象和封装,使得状态管理变得非常容易。 -## 全局应用状态 +> 说明:该文档适用于 ice.js@1.9.7 及以上版本,如果非该版本请参考 [状态管理](https://github.com/alibaba/ice/blob/v1.9.6/docs/guide/basic/store.md);差异点主要在于 1.9.7 版本之后推荐自定义创建 Store 实例用于透传参数,与老版本完全兼容。 -### 定义 Model +### 全局状态 约定全局状态位于 `src/models` 目录,目录结构如下: @@ -55,37 +55,27 @@ export default { }; ``` -### 初始化 Store +自定义创建 Store 实例: ```ts // src/store.ts import { createStore } from 'ice'; import user from './models/user'; -import project from './models/project'; -const store = createStore({ - user, - project, -}, { - // options -}); +const store = createStore({ user }); export default store; ``` -`createStore()` 支持的 options: +在 View 中使用模型状态: -- disableImmer:布尔值,可选,默认值 false,如果设置为 true,那么 immer 将被禁用,这意味着不能再在 reducers 中直接改变状态,而是必须返回新的状态。 -- disableError:布尔值,可选,默认值 false,如果设置为 true,则 `UseModelEffectsError` 和 `WithModelEffectsError` 将不可用。 -- disableLoading:布尔值,可选,默认值 false,如果设置为 true,则 `useModelEffectsLoading` 和 `withModelEffectsLoading` 将不可用。 - -### 在 View 中使用模型状态 - -```diff -+ import store from '@/store'; +```tsx +// 引用全局状态 +import store from '@/store'; const HomePage = () => { -+ const [userState, userDispatchers] = store.useModel('user'); + // 使用 user 模型 + const [userState, userDispatchers] = store.useModel('user'); return ( <> @@ -96,22 +86,28 @@ const HomePage = () => { } ``` -## 页面级状态 +### 页面状态 -页面状态只能在该页面下的组件中使用,无法跨页面使用。约定页面状态在 `src/pages/*/models` 中定义。 +> 注意:页面状态只能在该页面下使用,无法跨页面使用。 -目录组织如下: +约定页面状态位于 `src/pages/*/models` 目录。 -```diff +但通常情况下应用的复杂度不一,对页面的状态管理和目录组织方式也有着不同的诉求,因此 icejs 提供了两种组织方式用于开发可大可小的应用。 + +#### 非嵌套页面 + +非嵌套页面即 `src/pages` 下的页面只**包含一个路由页面**,目录组织如下: + +```md src ├── models // 全局状态 │ └── user.ts └── pages | ├── Home // Home 页面 -+| │   ├── models // 页面状态 -+| │   | ├── foo.ts -+| │   | └── bar.ts -+| │   ├── store.ts +| │   ├── models // 页面状态 +| │   | ├── foo.ts +| │   | └── bar.ts +| │   ├── store.ts | │   └── index.tsx └── app.ts ``` @@ -122,12 +118,12 @@ src // src/pages/Home/models/foo.ts export default { state: { - title: 'Hello' + title: 'Foo' } }; ``` -初始化 Store 实例: +自定义创建 Store 实例: ```ts // src/pages/Home/store.ts @@ -139,147 +135,48 @@ const store = createStore({ foo }); export default store; ``` -在页面组件中使用模型状态: +在 View 中使用模型状态: ```tsx // 引用页面状态 import pageStore from '@/pages/Home/store'; const HomePage = () => { + const [pageState, pageDispatchers] = pageStore.useModel('foo'); + return ( - <>{pageState.title} // Hello + <>{pageState.title} ); } ``` -某些复杂场景会出现嵌套页面的情况,即 `src/pages/Home` 下**包含多个路由页面**,目录组织如下: +#### 嵌套页面 + +嵌套页面即 `src/pages` 下的页面**包含多个路由页面**,目录组织如下: ```md src +├── models // 全局状态 +| ├── counter.ts +│ └── user.ts └── pages │ ├── Home // Home 页面包含了 Foo、Bar 等多个路由页面 │ │ ├── Foo │ │ ├── Bar │ │ ├── Layout // 页面布局 -│ │ │ └── index.tsx │ │ ├── models // 页面状态 │ │ │ ├── Foo.ts │ │ │ └── Bar.ts -│ │ ├── index.tsx │ │ └── store.ts └── app.ts ``` -对于嵌套页面,框架会将 store 的 Provider 包裹在 `Layout/index.tsx` 上,因此需要保证该文件的存在并配置在 `src/routes.ts` 中: - -```diff -// src/routes.ts -+import HomeLayout from '@/pages/Home/Layout'; -import Foo from '@/pages/Home/Foo'; -import Bar from '@/pages/Home/Bar'; -import About from '@/pages/About'; - -export default [ - { - path: '/', - component: BasicLayout, - children: [ - { - path: '/home', -+ component: HomeLayout, - children: [ - { - path: '/foo', - component: Foo - }, - { - path: '/bar', - component: Bar - }, - ] - }, - { - path: '/about', - component: About, - } - ] - } -] -``` - 对于嵌套页面的状态管理,在对应的页面下需要新增 Layout 文件,用于 icejs 自动注册 Provider,其它与非嵌套页面一致。 -## 参阅资料 - -### 设置初始状态 - -```ts -import { runApp } from 'ice'; - -const appConfig = { - store: { - // 可选,初始化状态 - initialStates: {} - } -}; - -runApp(appConfig); -``` - -> API `store.getInitialStates` 已废弃,推荐使用 `store.initialStates` - -> SSR 场景下 `initialData.initialStates` 会默认赋值给 `store.initialStates` - -> 页面级状态目前不支持设置 initialStates - -### TypeScript 类型提示 - -编写类型有助于更好的代码提示,类型定义步骤如下: - -* 创建 Store 实例 - -```diff -// src/store.ts -import { createStore, IStoreModels, IStoreDispatch, IStoreRootState } from 'ice'; -import user from './models/user'; -import porject from './models/porject'; - -+interface IAppStoreModels extends IStoreModels { -+ user: typeof user; -+ project: typeof project; -+}; - -+const appModels: IAppStoreModels = { -+ user, -+ project, -+}; - -export default createStore(appModels); - -+export type IRootDispatch = IStoreDispatch; -+export type IRootState = IStoreRootState; -``` - -* 定义状态模型 +## 模型规范 -```diff -// src/models/user.ts -+import { IRootState, IRootDispatch } from '@/store'; - -const user = { - state: [], - reducers: {}, -+ effects: ((dispatch: IRootDispatch) => ({ -+ like(playload, rootState: IRootState) { -+ dispatch.project.foo(payload); // 调用其他 model 的 effects/reducers -+ rootState.project.title; // 获取其他 model 的 state -+ } -+ }) -}; -``` - -### model 定义详细说明 +### 模型定义 如上示例所述,icejs 约定在 `src/models`、`src/pages/*/models` 目录下的文件为项目定义的模型文件,每个文件需要默认导出一个对象。 @@ -315,23 +212,19 @@ reducers: { [string]: (prevState, payload) => any } ```diff export default { - state: { count: 0, list: [] }, + state: { count: 0 }, + reducers: { + increment (prevState, payload) { -+ // -+ prevState.count += 1; -+ prevState.list.push(1); ++ return { count: prevState.count + 1 }; + }, + decrement (prevState) { -+ prevState.count += 1; ++ return { count: prevState.count - 1 }; + } + } } ``` -> icestore 默认内置了 immer,因此 reducer 中直接修改数据即可,无需返回新对象 - **effects** ```ts @@ -346,90 +239,136 @@ export default { reducers: { increment (prevState, payload) { - prevState.count += 1; + return { count: prevState.count + 1 }; }, decrement (prevState) { - prevState.count -= 1; + return { count: prevState.count - 1 }; } }, + effects: (dispatch) => ({ + async asyncDecrement() { + await delay(1000); // 进行一些异步操作 -+ this.increment(); // 调用模型 reducers 内的方法来更新状态 ++ dispatch.counter.increment(); // 调用模型 reducers 内的方法来更新状态 + }, + }), }; ``` -### model 之间通信 +在 effects 中的 action 方法中可以通过 `dispatch[model][action]` 拿到其他模型所定义的方法。 + +### 创建 Store 实例 -> 注意:如果两个 model 不属于同一个 store 实例,是无法通信的 +定义好 model 之后,我们需要自定义创建 Store 实例。 + +```ts +// ./src/store.ts +import { createStore } from 'ice'; +import counter from './models/counter'; + +const store = createStore({ counter }); + +export default store; +``` + +### 模型使用 + +定义好 model 之后,我们就可以通过 `useModel` 传入对应的 model 名称进行使用,并返回该模型的状态(state)和调度器(dispatchers)。 + +```ts +useModel(name: string): [ state, dispatchers ] +``` ```diff -// src/models/user -export default { - state: { - name: '', - tasks: 0, - }, - effects: () => ({ - async refresh() { - const data = await fetch('/user'); -+ // 通过 this.foo 调用自身的 reducer -+ this.setState(data); - }, - }), -}; +// 全局状态引用 ++ import appStore from '@/store'; -// src/models/tasks -export default { - state: [], - effects: (dispatch) => ({ - async refresh() { - const data = await fetch('/tasks'); - this.setState(data); - }, - async add(task) { - await fetch('/tasks/add', task); -+ // 调用另一个 model user 的 effects -+ await dispatch.user.refresh(); -+ // 通过 this.foo 调用自身的 effects -+ await this.refresh(); - }, - }), -}; +export default () => { ++ const [counterState, counterDispatchers] = appStore.useModel('counter'); + + return ( + <>{counterState.count} + ) +} ``` -在 effects 里的 action 方法中可以通过 `dispatch[model][action]` 拿到其他模型所定义的方法。 +## API + +### createStore -> 如果遇到 `this.foo` 的 ts 类型错误,请参考文档 [icestore QA](https://github.com/ice-lab/icestore/blob/master/docs/qna.zh-CN.md) 进行修复 +该方法用于创建 Store。 -> setState 是 icestore 内置的一个 reducer,可以直接使用 +```ts +createStore(models, options); +``` -### 获取 effects 的状态 loading/error +**options** -通过 `useModelEffectsState` API 即可获取到 effects 的 loading 和 error 状态。 +- disableImmer (布尔值, 可选, 默认值=false) -```diff +如果将此设置为true,那么 immer 将被禁用,这意味着您不能再在 reducers 中直接改变状态,而是必须返回新的状态。 + +- disableError (布尔值, 可选, 默认值=false) + +如果将此设置为true,则 `UseModelEffectsError` 和 `WithModelEffectsError` 将不可用。仅当您非常关注性能或故意抛出错误时才启用该选项。 + +- disableLoading (布尔值, 可选, 默认值=false) + +如果将此设置为true,则 `useModelEffectsLoading` 和 `withModelEffectsLoading` 将不可用。 + +### useModelState + +通过该 hooks 使用模型的状态并订阅其更新。 + +```ts +import store from '@/store'; + +function FunctionComponent() { + const state = store.useModelState('counter'); + console.log(state.value); +} +``` + +### useModelDispatchers + +仅使用 Action 不使用 State。有些时候组件中只需要触发 action 不需要依赖对应的数据状态,此时可以使用 `useModelDispatchers` API。 + +```ts +import store from '@/store'; + +function FunctionComponent() { + const dispatchers = store.useModelDispatchers('counter'); + // 只调用 increment 方法 + dispatchers.increment(); +} +``` + +### useModelEffectsState + +异步 Action 状态。通过 `useModelEffectsState` API 即可获取到异步请求的 loading 和 error 状态。 + +```ts import store from '@/store'; function FunctionComponent() { const [state, dispatchers] = store.useModel('counter'); -+ const effectsState = store.useModelEffectsState('counter'); + const effectsState = store.useModelEffectsState('counter'); useEffect(() => { dispatchers.asyncDecrement(); }, []); -+ console.log(effectsState.asyncDecrement.isLoading); // loading -+ console.log(effectsState.asyncDecrement.error); // error + // loading + console.log(effectsState.asyncDecrement.isLoading); + + // error + console.log(effectsState.asyncDecrement.error); } ``` -### 在 Class Component 中使用 +### withModel -useModel 相关的 API 基于 React 的 Hooks 能力,仅能在 Function Component 中使用,通过 `withModel` API 可以实现在 Class Component 中使用。 +在 Class Component 中使用。useModel 相关的 API 基于 React 的 Hooks 能力,仅能在 Function Component 中使用,通过 `withModel` API 可以实现在 Class Component 中使用。 ```ts import store from '@/store'; @@ -451,36 +390,70 @@ export default store.withModel('todos')(TodoList); [完整 API 文档](https://github.com/ice-lab/icestore/blob/master/docs/api.md) -## 版本变更说明 +## 类型提示 -icejs@1.9.7 版本开始框架推荐开发者自行初始化 store,这样可以更灵活的定制一些参数,相对之前方案带来的改变: +编写类型有助于更好的代码提示,类型定义步骤如下: -* 开发者需要自行在 store.ts 中初始化 store 实例,框架默认不初始化 +* 创建 Store 实例 ```ts // src/store.ts -import { createStore } from 'ice'; +import { createStore, IStoreModels, IStoreDispatch, IStoreRootState } from 'ice'; import user from './models/user'; -import project from './models/project'; -const store = createStore({ - user, - project, -}); +interface IAppStoreModels extends IStoreModels { + user: typeof user; +}; -export default store; +const appModels: IAppStoreModels = { + user +}; + +export default createStore(appModels); + +// 导出 IRootDispatch 类型 +export type IRootDispatch = IStoreDispatch; + +// 导出 IRootState 类型 +export type IRootState = IStoreRootState; ``` -* 引入 store 的路径发生了变化: +* 定义状态模型 ```diff -// 全局状态 -- import { store } from 'ice'; -+ import store from '@/store'; +// src/models/user.ts ++import { IRootState, IRootDispatch } from '@/store'; + +const user = { + state: [], + reducers: {}, ++ effects: (dispatch: IRootDispatch => ({ ++ like(playload, rootState: IRootState) { + + } + }) +}; +``` -// 页面级状态 -- import { store } from 'ice/Home'; -+ import store from '@/pages/Home/store'; +## 设置初始状态 + +```ts +import { runApp } from 'ice'; + +const appConfig = { + store: { + // 可选,初始化状态 + initialStates: {} + } +}; + +runApp(appConfig); ``` -对于之前的版本我们做了向前兼容,只有当项目里存在 `src/store.ts` 或者 `src/pages/*/store.ts` 时才会触发新的方案,如果之前项目里刚好存在同名文件则有可能触发 break change。 +> API `store.getInitialStates` 已废弃,推荐使用 `store.initialStates` + +> SSR 场景下 `initialData.initialStates` 会默认赋值给 `store.initialStates` + +## 版本变更说明 + +如果在控制台看到关于 store 的警告信息,可以参考 [升级指南](https://github.com/ice-lab/icestore/blob/master/docs/upgrade-guidelines.zh-CN.md) 进行迁移。 diff --git a/docs/guide/develop/plugin-runtime.md b/docs/guide/develop/plugin-runtime.md index 9c0af8e375..2000eefc43 100644 --- a/docs/guide/develop/plugin-runtime.md +++ b/docs/guide/develop/plugin-runtime.md @@ -17,16 +17,6 @@ export default ({ appConfig, addDOMRender, setRenderRouter, modifyRoutes, ...res 对应 `src/app.ts` 用户自定义的 appConfig。详细字段见 [应用入口](/docs/guide/basic/app)。 -### buildConfig - -对应 `build.json` 用户自定义内容。仅包含 `router`、`store`、`ssr` 字段。 - -```javascript -export default ({ buildConfig }) => { - const { router, store, ssr } = buildConfig; -}; -``` - ### context 应用运行上下文。包含`initialData` 和`pageInitialProps`,分别对应[应用级数据](/docs/guide/advance/ssr#应用级数据)和[页面级数据](/docs/guide/advance/ssr#页面级数据) 。 diff --git a/docs/guide/intro.md b/docs/guide/intro.md new file mode 100644 index 0000000000..8553688764 --- /dev/null +++ b/docs/guide/intro.md @@ -0,0 +1,31 @@ +--- +title: icejs 是什么 +order: 2 +--- + +> 一个基于 React 的通用框架。 + +随着 React 生态的快速发展,基于 React 的方案数不胜数,在 v16.8 版本发布 Hooks 这一重大改进之后,社区基于 Hooks 的状态管理也是层出不穷,这意味着很多方案开发者依然要做很多选择,没有约定的团队,沟通成本和跨团队协作成本,以及长期的维护是非常高的,这时候统一一套开发模式就显得尤为重要。 + +而 icejs 正是在这种背景下诞生的,通过框架提供完整的标准化的 React 应用开发模式和最佳实践。目的是简化应用的开发,以及收敛技术栈、屏蔽底层差异和统一开发体验,帮助开发团队和开发人员降低开发和维护成本。 + +在实现上 icejs 是基于 build-scripts 的,配置等能力与其保持一致,同时兼容所有插件。 + +## 设计原则 + +在框架设计上,icejs 借鉴参考了著名后端框架 Rails 的设计理念: + +* **不要自我重复**: DRY 是软件开发中的一个原则,意思是“系统中的每个功能都要具有单一、准确、可信的实现”。不重复表述同一件事,写出的代码才更易维护、更具扩展性,也更不容易出问题。 +* **约定优于配置**: icejs 为 Web 应用的大多数需求都提供了最好的解决方法,并且默认使用这些约定,而不是在长长的配置文件中设置每个细节。 + +## 特性 + +- 🐒 **工程**:开箱即用的工程配置,支持 ES6+、TypeScript、样式方案(Less/Sass/CSS Modules)等 +- 🦊 **路由**:默认使用配置式路由,同时支持约定式路由 +- 🐯 **数据流**:内置集成 icestore,基于 React Hooks 的轻量级状态管理方案 +- 🐶 **日志**:内置集成 logger,类似 `console.log` 的统一日志方案 +- 🦁 **应用配置**:内置集成 config,支持多环境配置 +- 🐴 **Hooks**:提供应用级别 useApp 和页面级别 usePage 等 Hooks API +- 🐌 **插件体系**:提供插件机制,可以扩展框架的核心功能 +- 🐘 **typescript**:默认使用 typescript +- 🐂 **Modern**:支持 SPA、SSR、MPA、微前端等流行的应用类型 diff --git a/examples/with-rax/src/components/BuggyCounter/index.tsx b/examples/with-rax/src/components/BuggyCounter/index.tsx index 40804a1865..857426eff1 100644 --- a/examples/with-rax/src/components/BuggyCounter/index.tsx +++ b/examples/with-rax/src/components/BuggyCounter/index.tsx @@ -1,4 +1,5 @@ import { createElement, Component } from 'rax'; +import Text from 'rax-text'; class BuggyCounter extends Component { constructor(props) { @@ -18,7 +19,7 @@ class BuggyCounter extends Component { // Simulate a JS error throw new Error('I crashed!'); } - return

{this.state.counter}

; + return {this.state.counter}; } } diff --git a/examples/with-rax/src/pages/About/app.json b/examples/with-rax/src/pages/About/app.json deleted file mode 100644 index 071fa2ee29..0000000000 --- a/examples/with-rax/src/pages/About/app.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "routes": [ - { - "path": "/", - "source": "/pages/About/index" - } - ], - "window": { - "title": "Rax App" - } -} diff --git a/examples/with-rax/src/pages/About/app.ts b/examples/with-rax/src/pages/About/app.ts deleted file mode 100644 index 4ba1da85b3..0000000000 --- a/examples/with-rax/src/pages/About/app.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { runApp } from 'rax-app'; -import staticConfig from './app.json'; - -runApp({ - app: { - onShow() { - console.log('app show...'); - }, - onHide() { - console.log('app hide...'); - }, - getInitialData: async () => { - return { - a: 1, - b: 2 - }; - } - } -}, staticConfig); diff --git a/examples/with-rax/src/pages/Home/index.tsx b/examples/with-rax/src/pages/Home/index.tsx index c74490e40f..b50de7a4b4 100644 --- a/examples/with-rax/src/pages/Home/index.tsx +++ b/examples/with-rax/src/pages/Home/index.tsx @@ -27,7 +27,7 @@ export default function Home(props) { {props?.data?.title || 'Welcome to Your Rax App'} {props?.data?.info || 'More information about Rax'} - history.push('/about?id=1')}>Go About + history.push('/about', { id: 1 })}>Go About ); } diff --git a/packages/build-app-helpers/package.json b/packages/build-app-helpers/package.json index ab15e5474d..e03ba6630e 100644 --- a/packages/build-app-helpers/package.json +++ b/packages/build-app-helpers/package.json @@ -1,6 +1,6 @@ { - "name": "build-app-helpers", - "version": "1.0.1", + "name": "@builder/app-helpers", + "version": "1.0.0", "description": "build helpers for app framework", "author": "ice-admin@alibaba-inc.com", "homepage": "", @@ -20,6 +20,7 @@ "test": "echo \"Error: run tests from root\" && exit 1" }, "dependencies": { - "fs-extra": "^8.1.0" + "fs-extra": "^8.1.0", + "lodash": "^4.17.20" } } diff --git a/packages/build-app-helpers/src/getMpaEntries.ts b/packages/build-app-helpers/src/getMpaEntries.ts index e0d5e9a609..9ad1d3fc59 100644 --- a/packages/build-app-helpers/src/getMpaEntries.ts +++ b/packages/build-app-helpers/src/getMpaEntries.ts @@ -11,7 +11,7 @@ export default function (api, { target, appJsonPath }) { } function getEntriesByJson(target, appJsonPath) { - const routes = getRoutesByAppJson(target, appJsonPath); + const routes = getRoutesByAppJson(target, { appJsonPath }); return routes.map((route) => { const dir = path.dirname(route.source); const pageName = path.parse(dir).name; diff --git a/packages/build-app-helpers/src/getRoutesByAppJson.ts b/packages/build-app-helpers/src/getRoutesByAppJson.ts index 984b15f9fa..14bc177192 100644 --- a/packages/build-app-helpers/src/getRoutesByAppJson.ts +++ b/packages/build-app-helpers/src/getRoutesByAppJson.ts @@ -10,10 +10,19 @@ interface IStaticConfig { window: any; } +interface IOptions { + appJsonPath?: string; + appJsonContent?: IStaticConfig; +} + // Get entries when exist app.json -export default function (target, appJsonPath) { - const appJSON = fs.readFileSync(appJsonPath) as any; - const staticConfig: IStaticConfig = JSON.parse(appJSON); +export default function (target, { appJsonPath, appJsonContent }: IOptions) { + let staticConfig: IStaticConfig = appJsonContent; + + if (appJsonPath) { + const appJSON = appJsonContent || fs.readFileSync(appJsonPath) as any; + staticConfig = JSON.parse(appJSON); + } if (!staticConfig.routes || !Array.isArray(staticConfig.routes)) { throw new Error('routes should be an array in app.json.'); diff --git a/packages/build-app-helpers/src/index.ts b/packages/build-app-helpers/src/index.ts index 01b51ac1dd..287aa56283 100644 --- a/packages/build-app-helpers/src/index.ts +++ b/packages/build-app-helpers/src/index.ts @@ -1,9 +1,7 @@ -import getMpaEntries from './getMpaEntries'; -import getRoutesByAppJson from './getRoutesByAppJson'; -import formatPath from './formatPath'; +export { default as getMpaEntries } from './getMpaEntries'; +export { default as getRoutesByAppJson } from './getRoutesByAppJson'; +export { default as formatPath } from './formatPath'; +export { default as validation } from './validation'; +export { default as unionBy } from './unionBy'; +export { default as injectTransformRuntime } from './injectTransformRuntime'; -export { - getMpaEntries, - getRoutesByAppJson, - formatPath, -}; diff --git a/packages/build-app-helpers/src/injectTransformRuntime.ts b/packages/build-app-helpers/src/injectTransformRuntime.ts new file mode 100644 index 0000000000..96b837cf4c --- /dev/null +++ b/packages/build-app-helpers/src/injectTransformRuntime.ts @@ -0,0 +1,33 @@ +import formatPath from './formatPath'; + +export default function(config) { + ['jsx', 'tsx'].forEach((rule) => { + config.module + .rule(rule) + .use('babel-loader') + .tap((options) => { + // get @babel/plugin-transform-runtime + const babelPlugins = options.plugins || []; + const targetPlugin = formatPath('@babel/plugin-transform-runtime'); + const pluginOptions = { + corejs: false, + helpers: true, + regenerator: true, + useESModules: false, + }; + let addedTransformPlugin; + const plugins = babelPlugins.map((plugin) => { + if (typeof plugin === 'string' && formatPath(plugin).indexOf(targetPlugin) > -1 + || Array.isArray(plugin) && formatPath(plugin[0]).indexOf(targetPlugin) > -1 ) { + addedTransformPlugin = true; + return [Array.isArray(plugin) ? plugin[0] : plugin, pluginOptions]; + } + return plugin; + }); + if (!addedTransformPlugin) { + plugins.push([require.resolve('@babel/plugin-transform-runtime'), pluginOptions]); + } + return Object.assign(options, { plugins }); + }); + }); +} diff --git a/packages/build-app-helpers/src/unionBy.ts b/packages/build-app-helpers/src/unionBy.ts new file mode 100644 index 0000000000..836e5b3e13 --- /dev/null +++ b/packages/build-app-helpers/src/unionBy.ts @@ -0,0 +1,13 @@ +const { merge } = require('lodash'); + +export default function(array, key) { + const result = {}; + array.forEach(item => { + let target = item; + if (result[item[key]]) { + target = merge(result[item[key]], item); + } + result[item[key]] = target; + }); + return Object.keys(result).map(item => result[item]); +} diff --git a/packages/build-app-helpers/src/validation.ts b/packages/build-app-helpers/src/validation.ts new file mode 100644 index 0000000000..3a77b7ef74 --- /dev/null +++ b/packages/build-app-helpers/src/validation.ts @@ -0,0 +1,19 @@ +const assert = require('assert'); +const { isPlainObject } = require('lodash'); + +const validation = (key, value, types) => { + const validateResult = types.split('|').some((type) => { + if (type === 'array') { + return Array.isArray(value); + } else if (type === 'object') { + return isPlainObject(value); + } else { + // eslint-disable-next-line valid-typeof + return typeof value === type; + } + }); + assert(validateResult, `Config ${key} should be ${types.replace('|', ' | ')}, but got ${value}`); + return validateResult; +}; + +export default validation; diff --git a/packages/build-mpa-config/package.json b/packages/build-mpa-config/package.json index 48fbbac3a1..47a5e4fff9 100644 --- a/packages/build-mpa-config/package.json +++ b/packages/build-mpa-config/package.json @@ -1,6 +1,6 @@ { - "name": "build-mpa-config", - "version": "1.0.4", + "name": "@builder/mpa-config", + "version": "1.0.0", "description": "enable mpa project for framework", "author": "ice-admin@alibaba-inc.com", "homepage": "", @@ -22,6 +22,6 @@ "dependencies": { "fs-extra": "^8.1.0", "loader-utils": "^2.0.0", - "build-app-helpers": "^1.0.0" + "@builder/app-helpers": "^1.0.0" } } diff --git a/packages/build-mpa-config/src/index.ts b/packages/build-mpa-config/src/index.ts index d36ae5e90d..6efe365b7f 100644 --- a/packages/build-mpa-config/src/index.ts +++ b/packages/build-mpa-config/src/index.ts @@ -1,5 +1,5 @@ import * as path from 'path'; -import { formatPath } from 'build-app-helpers'; +import { formatPath } from '@builder/app-helpers'; interface IEntries { entryName: string; diff --git a/packages/build-mpa-config/src/mpa-loader.ts b/packages/build-mpa-config/src/mpa-loader.ts index b8077fe46c..b878bebfa3 100644 --- a/packages/build-mpa-config/src/mpa-loader.ts +++ b/packages/build-mpa-config/src/mpa-loader.ts @@ -1,5 +1,5 @@ import { getOptions } from 'loader-utils'; -import { formatPath } from 'build-app-helpers'; +import { formatPath } from '@builder/app-helpers'; function mpaLoader() { const options = getOptions(this) || {}; diff --git a/packages/build-user-config/README.md b/packages/build-user-config/README.md new file mode 100644 index 0000000000..50d4fc1403 --- /dev/null +++ b/packages/build-user-config/README.md @@ -0,0 +1,11 @@ +# `build-webpack-config` + +> TODO: description + +## Usage + +``` +const buildWebpackConfig = require('build-webpack-config'); + +// TODO: DEMONSTRATE API +``` diff --git a/packages/build-user-config/package.json b/packages/build-user-config/package.json new file mode 100644 index 0000000000..72e13c4fba --- /dev/null +++ b/packages/build-user-config/package.json @@ -0,0 +1,46 @@ +{ + "name": "@builder/user-config", + "version": "0.1.0", + "description": "Includes methods which are releated to set base user config for framework", + "homepage": "", + "license": "MIT", + "main": "lib/index.js", + "dependencies": { + "@alifd/fusion-collector": "^1.2.5", + "@babel/plugin-transform-runtime": "^7.6.2", + "add-asset-html-webpack-plugin": "^3.1.3", + "chalk": "^4.0.0", + "copy-webpack-plugin": "^5.0.4", + "core-js": "^3.3.1", + "debug": "^4.1.1", + "eslint-loader": "^4.0.0", + "eslint-reporting-webpack-plugin": "^0.1.0", + "fork-ts-checker-webpack-plugin": "^5.0.5", + "friendly-errors-webpack-plugin": "^1.7.0", + "fs-extra": "^8.1.0", + "loader-utils": "^2.0.0", + "lodash": "^4.17.15", + "mkcert": "^1.2.0", + "path-exists": "^4.0.0", + "postcss-plugin-rpx2vw": "^0.0.2", + "react-dev-utils": "^10.2.1", + "regenerator-runtime": "^0.13.3", + "webpack-bundle-analyzer": "^3.6.0", + "webpack-dev-mock": "^1.0.1", + "webpack-plugin-import": "^0.2.6", + "@builder/app-helpers": "^1.0.0" + }, + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/alibaba/ice.git" + }, + "scripts": { + "test": "echo \"Error: run tests from root\" && exit 1" + }, + "bugs": { + "url": "https://github.com/alibaba/ice/issues" + } +} diff --git a/packages/plugin-app-base/src/registerCliOption.js b/packages/build-user-config/src/applyCliOption.js similarity index 100% rename from packages/plugin-app-base/src/registerCliOption.js rename to packages/build-user-config/src/applyCliOption.js diff --git a/packages/plugin-react-app/src/registerUserConfig.js b/packages/build-user-config/src/applyUserConfig.js similarity index 51% rename from packages/plugin-react-app/src/registerUserConfig.js rename to packages/build-user-config/src/applyUserConfig.js index 760136a026..91e0301654 100644 --- a/packages/plugin-react-app/src/registerUserConfig.js +++ b/packages/build-user-config/src/applyUserConfig.js @@ -1,6 +1,9 @@ -const defaultConfig = require('./config/default.config'); +const { unionBy } = require('@builder/app-helpers'); +const defaultConfigKeys = require('./config/default.config'); const validation = require('./config/validation'); +const modifyUserConfig = require('./utils/modifyUserConfig'); +// TODO: move to build-plugin-react-app ? const CONFIG = [{ name: 'modeConfig', validation: 'object', @@ -8,17 +11,19 @@ const CONFIG = [{ }, { name: 'disableRuntime', validation: 'boolean', - defaultValue: false + defaultValue: false, + configWebpack: () => {} }]; -module.exports = (api) => { +module.exports = (api, options = {}) => { const { registerUserConfig, log } = api; + const { customConfigs } = options; CONFIG.forEach((item) => registerUserConfig(item)); // sort config key to make sure entry config is always excute before injectBabel - const configKeys = Object.keys(defaultConfig).sort(); - // register user config - registerUserConfig(configKeys.map((configKey) => { + const configKeys = Object.keys(defaultConfigKeys); + + const defaultConfig = configKeys.map((configKey) => { let configFunc = null; let configValidation = null; try { @@ -28,14 +33,21 @@ module.exports = (api) => { } catch (err) { log.error(err); } + if (configFunc && configValidation) { return { name: configKey, validation: configValidation, configWebpack: configFunc, - defaultValue: defaultConfig[configKey], + defaultValue: defaultConfigKeys[configKey], }; } return false; - }).filter(Boolean)); + }).filter(Boolean); + + const finalyConfig = unionBy(defaultConfig.concat(customConfigs), 'name'); + // register user config + registerUserConfig(finalyConfig.sort((curr, next) => curr.name.localeCompare(next.name))); + // modify user config to keep excute order + modifyUserConfig(api, finalyConfig); }; diff --git a/packages/plugin-app-base/src/cliOption/analyzer.js b/packages/build-user-config/src/cliOption/analyzer.js similarity index 100% rename from packages/plugin-app-base/src/cliOption/analyzer.js rename to packages/build-user-config/src/cliOption/analyzer.js diff --git a/packages/plugin-app-base/src/cliOption/analyzerPort.js b/packages/build-user-config/src/cliOption/analyzerPort.js similarity index 100% rename from packages/plugin-app-base/src/cliOption/analyzerPort.js rename to packages/build-user-config/src/cliOption/analyzerPort.js diff --git a/packages/plugin-app-base/src/cliOption/disableReload.js b/packages/build-user-config/src/cliOption/disableReload.js similarity index 100% rename from packages/plugin-app-base/src/cliOption/disableReload.js rename to packages/build-user-config/src/cliOption/disableReload.js diff --git a/packages/plugin-react-app/src/cliOption/https.js b/packages/build-user-config/src/cliOption/https.js similarity index 100% rename from packages/plugin-react-app/src/cliOption/https.js rename to packages/build-user-config/src/cliOption/https.js diff --git a/packages/build-user-config/src/config/constants.js b/packages/build-user-config/src/config/constants.js new file mode 100644 index 0000000000..c135e9044f --- /dev/null +++ b/packages/build-user-config/src/config/constants.js @@ -0,0 +1,24 @@ +module.exports = { + WEB: 'web', + DOCUMENT: 'document', + SSR: 'ssr', + WEEX: 'weex', + KRAKEN: 'kraken', + MINIAPP: 'miniapp', + WECHAT_MINIPROGRAM: 'wechat-miniprogram', + BYTEDANCE_MICROAPP: 'bytedance-microapp', + QUICKAPP: 'quickapp', + GET_RAX_APP_WEBPACK_CONFIG: 'getRaxAppWebpackConfig', + USER_CONFIG_KEY_WITHOUT_BUILD: [ + 'plugins', + // task name + 'web', + 'miniapp', + 'weex', + 'kraken', + 'wechat-miniprogram', + 'bytedance-microapp', + // tasks config + 'targets', + ], +}; diff --git a/packages/plugin-react-app/src/config/default.config.js b/packages/build-user-config/src/config/default.config.js similarity index 89% rename from packages/plugin-react-app/src/config/default.config.js rename to packages/build-user-config/src/config/default.config.js index 6e9f89ed97..ee30757d8f 100644 --- a/packages/plugin-react-app/src/config/default.config.js +++ b/packages/build-user-config/src/config/default.config.js @@ -4,7 +4,7 @@ module.exports = { devPublicPath: '/', filename: '[name].js', // resolve.extensions - extensions: ['.js', '.jsx', '.json', '.html', '.ts', '.tsx'], + extensions: ['.js', '.jsx', '.json', '.html', '.ts', '.tsx', '.rml'], // resolve.modules modules: ['node_modules'], devServer: { @@ -30,10 +30,8 @@ module.exports = { }, }, mock: true, - entry: 'src/index.jsx', externals: {}, hash: false, - injectBabel: 'polyfill', minify: true, outputAssetsPath: { js: 'js', @@ -47,7 +45,6 @@ module.exports = { libraryTarget: '', library: '', libraryExport: '', - ignoreHtmlTemplate: false, sourceMap: false, terserOptions: {}, cssLoaderOptions: {}, @@ -60,5 +57,6 @@ module.exports = { eslint: false, tsChecker: false, dll: false, - dllEntry: {} + dllEntry: {}, + polyfill: 'entry' }; diff --git a/packages/plugin-app-base/src/config/option.config.js b/packages/build-user-config/src/config/option.config.js similarity index 100% rename from packages/plugin-app-base/src/config/option.config.js rename to packages/build-user-config/src/config/option.config.js diff --git a/packages/plugin-app-base/src/config/validation.js b/packages/build-user-config/src/config/validation.js similarity index 67% rename from packages/plugin-app-base/src/config/validation.js rename to packages/build-user-config/src/config/validation.js index b9deed7bfe..43c46a8b9c 100644 --- a/packages/plugin-app-base/src/config/validation.js +++ b/packages/build-user-config/src/config/validation.js @@ -1,20 +1,4 @@ -const assert = require('assert'); -const { isPlainObject } = require('lodash'); - -const validation = (key, value, types) => { - const validateResult = types.split('|').some((type) => { - if (type === 'array') { - return Array.isArray(value); - } else if (type === 'object') { - return isPlainObject(value); - } else { - // eslint-disable-next-line valid-typeof - return typeof value === type; - } - }); - assert(validateResult, `Config ${key} should be ${types.replace('|', ' | ')}, but got ${value}`); - return validateResult; -}; +const { validation } = require('@builder/app-helpers'); module.exports = { alias: 'object', @@ -33,9 +17,6 @@ module.exports = { hash: (val) => { return validation('hash', val, 'string|boolean'); }, - injectBabel: (val) => { - return validation('injectBabel', val, 'string|boolean'); - }, minify: 'boolean', mock: 'boolean', outputAssetsPath: 'object', @@ -71,5 +52,7 @@ module.exports = { dll: 'boolean', // dllEntry: { [string]: string[] } dllEntry: 'object', - inlineStyle: 'boolean' + polyfill: (val) => { + return validation('polyfill', val, 'string|boolean|object'); + } }; diff --git a/packages/build-user-config/src/getEnhancedWebpackConfig.js b/packages/build-user-config/src/getEnhancedWebpackConfig.js new file mode 100644 index 0000000000..833882b36c --- /dev/null +++ b/packages/build-user-config/src/getEnhancedWebpackConfig.js @@ -0,0 +1,64 @@ +let ESLintReportingPluginUsed = false; + +module.exports = (api, { target, webpackConfig, babelConfig, libName = 'rax' }) => { + const { context } = api; + const { command, webpack, commandArgs, userConfig } = context; + const appMode = commandArgs.mode || command; + + const mode = command === 'start' ? 'development' : 'production'; + // 1M = 1024 KB = 1048576 B + webpackConfig.performance.maxAssetSize(1048576).maxEntrypointSize(1048576); + + // setup DefinePlugin and CopyWebpackPlugin out of onGetWebpackConfig + // in case of registerUserConfig will be excute before onGetWebpackConfig + + // DefinePlugin + const defineVariables = { + 'process.env.NODE_ENV': JSON.stringify(mode || 'development'), + 'process.env.APP_MODE': JSON.stringify(appMode), + 'process.env.SERVER_PORT': JSON.stringify(commandArgs.port), + }; + + webpackConfig + .plugin('DefinePlugin') + .use(webpack.DefinePlugin, [defineVariables]); + + if (!userConfig.eslint && !ESLintReportingPluginUsed) { + // Add friendly eslint reporting + webpackConfig + .plugin('ESLintReportingPlugin') + .use(require.resolve('eslint-reporting-webpack-plugin')); + ESLintReportingPluginUsed = true; + } + // Process app.json file + webpackConfig.module + .rule('appJSON') + .type('javascript/auto') + .test(/app\.json$/) + .use('babel-loader') + .loader(require.resolve('babel-loader')) + .options(babelConfig) + .end() + .use('loader') + .loader(require.resolve('./loaders/AppConfigLoader')) + .options({ + libName, + target + }); + + if (command === 'start') { + // disable build-scripts stats output + process.env.DISABLE_STATS = true; + + webpackConfig + .plugin('friendly-error') + .use(require.resolve('friendly-errors-webpack-plugin'), [ + { + clearConsole: false, + }, + ]) + .end(); + } + + return webpackConfig; +}; diff --git a/packages/build-user-config/src/index.ts b/packages/build-user-config/src/index.ts new file mode 100644 index 0000000000..c2215ea006 --- /dev/null +++ b/packages/build-user-config/src/index.ts @@ -0,0 +1,11 @@ +const applyCliOption = require('./applyCliOption'); +const applyUserConfig = require('./applyUserConfig'); +const getEnhancedWebpackConfig = require('./getEnhancedWebpackConfig'); +const defaultConfig = require('./config/default.config'); + +export { + applyCliOption, + applyUserConfig, + getEnhancedWebpackConfig, + defaultConfig +}; diff --git a/packages/plugin-react-app/src/loaders/AppConfigLoader/index.js b/packages/build-user-config/src/loaders/AppConfigLoader/index.js similarity index 71% rename from packages/plugin-react-app/src/loaders/AppConfigLoader/index.js rename to packages/build-user-config/src/loaders/AppConfigLoader/index.js index 7a48cef2b9..b2d6562233 100644 --- a/packages/plugin-react-app/src/loaders/AppConfigLoader/index.js +++ b/packages/build-user-config/src/loaders/AppConfigLoader/index.js @@ -1,6 +1,7 @@ const { getOptions } = require('loader-utils'); +const { join } = require('path'); +const { formatPath, getRoutesByAppJson } = require('@builder/app-helpers'); const getRouteName = require('../../utils/getRouteName'); -const getDepPath = require('./getDepPath'); /** * universal-app-config-loader @@ -11,27 +12,16 @@ const getDepPath = require('./getDepPath'); "source": "pages/Home/index", "component": fn, } - ], + ] "hydrate": false } */ -module.exports = function(appJSON) { +module.exports = function (appJSON) { const options = getOptions(this) || {}; - const { type } = options; + const { target, libName } = options; const appConfig = JSON.parse(appJSON); - if (!appConfig.routes || !Array.isArray(appConfig.routes)) { - throw new Error('routes should be an array in app.json.'); - } - - appConfig.routes = appConfig.routes.filter(route => { - if (Array.isArray(route.targets) && !route.targets.includes(type)) { - return false; - } - - return true; - }); - + appConfig.routes = getRoutesByAppJson(target, { appJsonContent: appConfig }); const assembleRoutes = appConfig.routes.map((route) => { if (!route.path || !route.source) { throw new Error('route object should have path and source.'); @@ -49,29 +39,28 @@ module.exports = function(appJSON) { // Second level function to support rax-use-router rule autorun function type component. const dynamicImportComponent = `(routeProps) => - import(/* webpackChunkName: "${getRouteName(route, this.rootContext).toLocaleLowerCase()}.chunk" */ '${getDepPath(route.source, this.rootContext)}') + import(/* webpackChunkName: "${getRouteName(route, this.rootContext).toLocaleLowerCase()}.chunk" */ '${formatPath(route.pageSource || join(this.rootContext, 'src', route.source))}') .then((mod) => () => { const reference = interopRequire(mod); function Component(props) { - return React.createElement(reference, Object.assign({}, routeProps, props)); + return createElement(reference, Object.assign({}, routeProps, props)); } ${routeTitle ? `document.title="${routeTitle}"` : ''} Component.__path = '${route.path}'; return Component; }) `; - const importComponent = `() => () => interopRequire(require('${getDepPath(route.source, this.rootContext)}'))`; - + const importComponent = `() => () => interopRequire(require('${formatPath(route.pageSource || join(this.rootContext, 'src', route.source))}'))`; return `routes.push( { ...${JSON.stringify(route)}, - component: ${type === 'web' ? dynamicImportComponent : importComponent} + component: ${target === 'web' ? dynamicImportComponent : importComponent} } );`; }).join('\n'); return ` - import React from 'react'; + import { createElement } from '${libName}'; const interopRequire = (mod) => mod && mod.__esModule ? mod.default : mod; const routes = []; ${assembleRoutes} diff --git a/packages/plugin-app-base/src/userConfig/alias.js b/packages/build-user-config/src/userConfig/alias.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/alias.js rename to packages/build-user-config/src/userConfig/alias.js diff --git a/packages/plugin-app-base/src/userConfig/babelPlugins.js b/packages/build-user-config/src/userConfig/babelPlugins.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/babelPlugins.js rename to packages/build-user-config/src/userConfig/babelPlugins.js diff --git a/packages/plugin-app-base/src/userConfig/babelPresets.js b/packages/build-user-config/src/userConfig/babelPresets.js similarity index 81% rename from packages/plugin-app-base/src/userConfig/babelPresets.js rename to packages/build-user-config/src/userConfig/babelPresets.js index 1ac619ea0d..208ad036aa 100644 --- a/packages/plugin-app-base/src/userConfig/babelPresets.js +++ b/packages/build-user-config/src/userConfig/babelPresets.js @@ -1,4 +1,4 @@ -const formatWinPath = require('../utils/formatWinPath'); +const { formatPath } = require('@builder/app-helpers'); module.exports = (config, babelPresets) => { ['jsx', 'tsx'].forEach((rule) => { @@ -11,7 +11,7 @@ module.exports = (config, babelPresets) => { const [presetPath] = Array.isArray(preset) ? preset : [preset]; let matchedPreset = null; extraPresets = extraPresets.filter((babelPreset) => { - const matched = formatWinPath(presetPath).indexOf(Array.isArray(babelPreset) ? babelPreset[0] : babelPreset) > -1; + const matched = formatPath(presetPath).indexOf(Array.isArray(babelPreset) ? babelPreset[0] : babelPreset) > -1; if (matched) { matchedPreset = babelPreset; } @@ -30,4 +30,4 @@ module.exports = (config, babelPresets) => { }; }); }); -}; \ No newline at end of file +}; diff --git a/packages/plugin-app-base/src/userConfig/browserslist.js b/packages/build-user-config/src/userConfig/browserslist.js similarity index 75% rename from packages/plugin-app-base/src/userConfig/browserslist.js rename to packages/build-user-config/src/userConfig/browserslist.js index 5b0dc239ff..1fd6eab73e 100644 --- a/packages/plugin-app-base/src/userConfig/browserslist.js +++ b/packages/build-user-config/src/userConfig/browserslist.js @@ -1,4 +1,4 @@ -const formatWinPath = require('../utils/formatWinPath'); +const { formatPath } = require('@builder/app-helpers'); module.exports = (config, browserslist) => { ['jsx', 'tsx'].forEach((rule) => { @@ -8,7 +8,7 @@ module.exports = (config, browserslist) => { .tap((options) => { const babelPresets = options.presets || []; const presets = babelPresets.map((preset) => { - if (Array.isArray(preset) && formatWinPath(preset[0]).indexOf(formatWinPath('@babel/preset-env')) > -1) { + if (Array.isArray(preset) && formatPath(preset[0]).indexOf(formatPath('@babel/preset-env')) > -1) { return [ preset[0], Object.assign(preset[1], { targets: browserslist }), diff --git a/packages/plugin-app-base/src/userConfig/compileDependencies.js b/packages/build-user-config/src/userConfig/compileDependencies.js similarity index 86% rename from packages/plugin-app-base/src/userConfig/compileDependencies.js rename to packages/build-user-config/src/userConfig/compileDependencies.js index 4e15ff18a8..487f0e1c49 100644 --- a/packages/plugin-app-base/src/userConfig/compileDependencies.js +++ b/packages/build-user-config/src/userConfig/compileDependencies.js @@ -1,4 +1,4 @@ -const { MINIAPP, WECHAT_MINIPROGRAM, BYTEDANCE_MICROAPP } = require('../constants'); +const { MINIAPP, WECHAT_MINIPROGRAM, BYTEDANCE_MICROAPP } = require('../config/constants'); const defaultCompileDependencies = [ 'ansi-regex', @@ -11,7 +11,7 @@ const defaultCompileDependencies = [ 'strip-ansi' ]; module.exports = (config, compileDependencies) => { - const excludeNodeModules = ![MINIAPP, WECHAT_MINIPROGRAM, BYTEDANCE_MICROAPP].includes(config.taskName); + if ([MINIAPP, WECHAT_MINIPROGRAM, BYTEDANCE_MICROAPP].includes(config.taskName)) return false; const matchExclude = (filepath) => { // exclude the core-js for that it will fail to run in IE if (filepath.match(/core-js/)) @@ -33,7 +33,7 @@ module.exports = (config, compileDependencies) => { } // exclude node_modules as default - return excludeNodeModules && /node_modules/.test(filepath); + return /node_modules/.test(filepath); }; ['jsx', 'tsx'].forEach((rule) => { diff --git a/packages/plugin-app-base/src/userConfig/cssLoaderOptions.js b/packages/build-user-config/src/userConfig/cssLoaderOptions.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/cssLoaderOptions.js rename to packages/build-user-config/src/userConfig/cssLoaderOptions.js diff --git a/packages/plugin-app-base/src/userConfig/define.js b/packages/build-user-config/src/userConfig/define.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/define.js rename to packages/build-user-config/src/userConfig/define.js diff --git a/packages/plugin-app-base/src/userConfig/devPublicPath.js b/packages/build-user-config/src/userConfig/devPublicPath.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/devPublicPath.js rename to packages/build-user-config/src/userConfig/devPublicPath.js diff --git a/packages/plugin-app-base/src/userConfig/devServer.js b/packages/build-user-config/src/userConfig/devServer.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/devServer.js rename to packages/build-user-config/src/userConfig/devServer.js diff --git a/packages/plugin-app-base/src/userConfig/dll.js b/packages/build-user-config/src/userConfig/dll.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/dll.js rename to packages/build-user-config/src/userConfig/dll.js diff --git a/packages/plugin-app-base/src/userConfig/dllEntry.js b/packages/build-user-config/src/userConfig/dllEntry.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/dllEntry.js rename to packages/build-user-config/src/userConfig/dllEntry.js diff --git a/packages/plugin-react-app/src/userConfig/eslint.js b/packages/build-user-config/src/userConfig/eslint.js similarity index 100% rename from packages/plugin-react-app/src/userConfig/eslint.js rename to packages/build-user-config/src/userConfig/eslint.js diff --git a/packages/plugin-app-base/src/userConfig/extensions.js b/packages/build-user-config/src/userConfig/extensions.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/extensions.js rename to packages/build-user-config/src/userConfig/extensions.js diff --git a/packages/plugin-app-base/src/userConfig/externals.js b/packages/build-user-config/src/userConfig/externals.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/externals.js rename to packages/build-user-config/src/userConfig/externals.js diff --git a/packages/plugin-app-base/src/userConfig/filename.js b/packages/build-user-config/src/userConfig/filename.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/filename.js rename to packages/build-user-config/src/userConfig/filename.js diff --git a/packages/plugin-app-base/src/userConfig/hash.js b/packages/build-user-config/src/userConfig/hash.js similarity index 75% rename from packages/plugin-app-base/src/userConfig/hash.js rename to packages/build-user-config/src/userConfig/hash.js index a1b6129ebb..decb4d87a1 100644 --- a/packages/plugin-app-base/src/userConfig/hash.js +++ b/packages/build-user-config/src/userConfig/hash.js @@ -1,5 +1,5 @@ const path = require('path'); -const formatWinPath = require('../utils/formatWinPath'); +const { formatPath } = require('@builder/app-helpers'); module.exports = (config, hash, context) => { const { command } = context; @@ -12,10 +12,10 @@ module.exports = (config, hash, context) => { pathArray.pop(); // pop filename pathArray = pathArray.filter((v) => v); const outputPath = pathArray.length ? pathArray.join('/') : ''; - config.output.filename(formatWinPath(path.join(outputPath, `[name].[${hashStr}].js`))); + config.output.filename(formatPath(path.join(outputPath, `[name].[${hashStr}].js`))); if (config.plugins.get('MiniCssExtractPlugin')) { config.plugin('MiniCssExtractPlugin').tap((args) => [Object.assign(...args, { - filename: formatWinPath(path.join(outputPath, `[name].[${hashStr}].css`)), + filename: formatPath(path.join(outputPath, `[name].[${hashStr}].css`)), })]); } } diff --git a/packages/plugin-app-base/src/userConfig/lessLoaderOptions.js b/packages/build-user-config/src/userConfig/lessLoaderOptions.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/lessLoaderOptions.js rename to packages/build-user-config/src/userConfig/lessLoaderOptions.js diff --git a/packages/plugin-app-base/src/userConfig/library.js b/packages/build-user-config/src/userConfig/library.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/library.js rename to packages/build-user-config/src/userConfig/library.js diff --git a/packages/plugin-app-base/src/userConfig/libraryExport.js b/packages/build-user-config/src/userConfig/libraryExport.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/libraryExport.js rename to packages/build-user-config/src/userConfig/libraryExport.js diff --git a/packages/plugin-app-base/src/userConfig/libraryTarget.js b/packages/build-user-config/src/userConfig/libraryTarget.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/libraryTarget.js rename to packages/build-user-config/src/userConfig/libraryTarget.js diff --git a/packages/plugin-app-base/src/userConfig/minify.js b/packages/build-user-config/src/userConfig/minify.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/minify.js rename to packages/build-user-config/src/userConfig/minify.js diff --git a/packages/plugin-app-base/src/userConfig/mock.js b/packages/build-user-config/src/userConfig/mock.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/mock.js rename to packages/build-user-config/src/userConfig/mock.js diff --git a/packages/plugin-app-base/src/userConfig/modules.js b/packages/build-user-config/src/userConfig/modules.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/modules.js rename to packages/build-user-config/src/userConfig/modules.js diff --git a/packages/plugin-app-base/src/userConfig/outputAssetsPath.js b/packages/build-user-config/src/userConfig/outputAssetsPath.js similarity index 66% rename from packages/plugin-app-base/src/userConfig/outputAssetsPath.js rename to packages/build-user-config/src/userConfig/outputAssetsPath.js index 9df7f06686..30d0a585a4 100644 --- a/packages/plugin-app-base/src/userConfig/outputAssetsPath.js +++ b/packages/build-user-config/src/userConfig/outputAssetsPath.js @@ -1,18 +1,18 @@ const path = require('path'); const { last } = require('lodash'); -const formatWinPath = require('../utils/formatWinPath'); +const { formatPath } = require('@builder/app-helpers'); function getFilename(filePath) { return last((filePath || '').split('/')); } module.exports = (config, outputAssetsPath) => { const filename = getFilename(config.output.get('filename')); - config.output.filename(formatWinPath(path.join(outputAssetsPath.js || '', filename))); + config.output.filename(formatPath(path.join(outputAssetsPath.js || '', filename))); if (config.plugins.get('MiniCssExtractPlugin')) { const options = config.plugin('MiniCssExtractPlugin').get('args')[0]; config.plugin('MiniCssExtractPlugin').tap((args) => [Object.assign(...args, { - filename: formatWinPath(path.join(outputAssetsPath.css || '', getFilename(options.filename))), + filename: formatPath(path.join(outputAssetsPath.css || '', getFilename(options.filename))), })]); } }; diff --git a/packages/plugin-app-base/src/userConfig/outputDir.js b/packages/build-user-config/src/userConfig/outputDir.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/outputDir.js rename to packages/build-user-config/src/userConfig/outputDir.js diff --git a/packages/build-user-config/src/userConfig/polyfill.js b/packages/build-user-config/src/userConfig/polyfill.js new file mode 100644 index 0000000000..757d2b6b53 --- /dev/null +++ b/packages/build-user-config/src/userConfig/polyfill.js @@ -0,0 +1,40 @@ +const { injectTransformRuntime } = require('@builder/app-helpers'); +const processPresetEnv = require('../utils/processPresetEnv'); +const addBablePlugins = require('../utils/addBabelPlugins'); + +module.exports = (config, polyfill) => { + const presetEnvParam = { + useBuiltIns: polyfill + }; + if (typeof polyfill === 'string') { + presetEnvParam.corejs = 3; + if (polyfill === 'usage') { + injectTransformRuntime(config); + } else if (polyfill === 'entry') { + const entries = config.toConfig().entry; + const rule = config.module.rule('polyfill').test(/\.jsx?|\.tsx?$/); + const fileList = []; + if (!entries) return; + Object.keys(entries).forEach((key) => { + let addPolyfill = false; + // only include entry path + for (let i = 0; i < entries[key].length; i += 1) { + // filter node_modules file add by plugin + if (!/node_modules/.test(entries[key][i])) { + rule.include.add(entries[key][i]); + fileList.push(entries[key][i]); + addPolyfill = true; + break; + } + } + if (!addPolyfill) { + rule.include.add(entries[key][0]); + fileList.push(entries[key][0]); + } + }); + rule.use('polyfill-loader').loader(require.resolve('../utils/polyfillLoader')).options({}); + addBablePlugins(config, [[require.resolve('../utils/babelPluginCorejsLock.js'), { fileList }]]); + } + } + processPresetEnv(config, presetEnvParam); +}; diff --git a/packages/plugin-app-base/src/userConfig/postcssrc.js b/packages/build-user-config/src/userConfig/postcssrc.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/postcssrc.js rename to packages/build-user-config/src/userConfig/postcssrc.js diff --git a/packages/plugin-app-base/src/userConfig/proxy.js b/packages/build-user-config/src/userConfig/proxy.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/proxy.js rename to packages/build-user-config/src/userConfig/proxy.js diff --git a/packages/plugin-app-base/src/userConfig/publicPath.js b/packages/build-user-config/src/userConfig/publicPath.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/publicPath.js rename to packages/build-user-config/src/userConfig/publicPath.js diff --git a/packages/plugin-app-base/src/userConfig/sassLoaderOptions.js b/packages/build-user-config/src/userConfig/sassLoaderOptions.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/sassLoaderOptions.js rename to packages/build-user-config/src/userConfig/sassLoaderOptions.js diff --git a/packages/plugin-app-base/src/userConfig/sourceMap.js b/packages/build-user-config/src/userConfig/sourceMap.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/sourceMap.js rename to packages/build-user-config/src/userConfig/sourceMap.js diff --git a/packages/plugin-app-base/src/userConfig/terserOptions.js b/packages/build-user-config/src/userConfig/terserOptions.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/terserOptions.js rename to packages/build-user-config/src/userConfig/terserOptions.js diff --git a/packages/plugin-app-base/src/userConfig/tsChecker.js b/packages/build-user-config/src/userConfig/tsChecker.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/tsChecker.js rename to packages/build-user-config/src/userConfig/tsChecker.js diff --git a/packages/plugin-app-base/src/userConfig/vendor.js b/packages/build-user-config/src/userConfig/vendor.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/vendor.js rename to packages/build-user-config/src/userConfig/vendor.js diff --git a/packages/plugin-react-app/src/userConfig/babelPlugins.js b/packages/build-user-config/src/utils/addBabelPlugins.js similarity index 99% rename from packages/plugin-react-app/src/userConfig/babelPlugins.js rename to packages/build-user-config/src/utils/addBabelPlugins.js index 1d3a588d5b..a9451ae049 100644 --- a/packages/plugin-react-app/src/userConfig/babelPlugins.js +++ b/packages/build-user-config/src/utils/addBabelPlugins.js @@ -14,4 +14,4 @@ module.exports = (config, babelPlugins) => { }; }); }); -}; \ No newline at end of file +}; diff --git a/packages/plugin-app-base/src/utils/babelPluginCorejsLock.js b/packages/build-user-config/src/utils/babelPluginCorejsLock.js similarity index 100% rename from packages/plugin-app-base/src/utils/babelPluginCorejsLock.js rename to packages/build-user-config/src/utils/babelPluginCorejsLock.js diff --git a/packages/plugin-react-app/src/utils/collect.js b/packages/build-user-config/src/utils/collect.js similarity index 100% rename from packages/plugin-react-app/src/utils/collect.js rename to packages/build-user-config/src/utils/collect.js diff --git a/packages/plugin-react-app/src/utils/getCertificate.js b/packages/build-user-config/src/utils/getCertificate.js similarity index 100% rename from packages/plugin-react-app/src/utils/getCertificate.js rename to packages/build-user-config/src/utils/getCertificate.js diff --git a/packages/plugin-app-base/src/utils/getRouteName.js b/packages/build-user-config/src/utils/getRouteName.js similarity index 100% rename from packages/plugin-app-base/src/utils/getRouteName.js rename to packages/build-user-config/src/utils/getRouteName.js diff --git a/packages/plugin-react-app/src/modifyUserConfig.js b/packages/build-user-config/src/utils/modifyUserConfig.js similarity index 67% rename from packages/plugin-react-app/src/modifyUserConfig.js rename to packages/build-user-config/src/utils/modifyUserConfig.js index 3d6f8d8932..eaca4bf86f 100644 --- a/packages/plugin-react-app/src/modifyUserConfig.js +++ b/packages/build-user-config/src/utils/modifyUserConfig.js @@ -1,17 +1,20 @@ -const defaultConfig = require('./config/default.config'); +const { USER_CONFIG_KEY_WITHOUT_BUILD } = require('../config/constants'); -module.exports = (api) => { +module.exports = (api, defaultRegistration) => { const { modifyUserConfig } = api; - + const defaultConfig = {}; + defaultRegistration.forEach(({name, defaultValue}) => { + defaultConfig[name] = defaultValue; + }); // modify user config to keep excute order modifyUserConfig((userConfig) => { const configKeys = [...Object.keys(userConfig), 'filename'].sort(); const newConfig = {}; configKeys.forEach((configKey) => { - if (configKey !== 'plugins') { + if (!USER_CONFIG_KEY_WITHOUT_BUILD.includes(configKey)) { newConfig[configKey] = Object.prototype.hasOwnProperty.call(userConfig, configKey) ? userConfig[configKey] - : defaultConfig[configKey];; + : defaultConfig[configKey]; // eslint-disable-next-line no-param-reassign delete userConfig[configKey]; } @@ -21,7 +24,6 @@ module.exports = (api) => { newConfig.sourceMap = newConfig.sourcemap; } delete newConfig.sourcemap; - return newConfig; }); }; diff --git a/packages/plugin-app-base/src/utils/polyfillLoader.js b/packages/build-user-config/src/utils/polyfillLoader.js similarity index 100% rename from packages/plugin-app-base/src/utils/polyfillLoader.js rename to packages/build-user-config/src/utils/polyfillLoader.js diff --git a/packages/build-user-config/src/utils/processPresetEnv.js b/packages/build-user-config/src/utils/processPresetEnv.js new file mode 100644 index 0000000000..d689b68b3e --- /dev/null +++ b/packages/build-user-config/src/utils/processPresetEnv.js @@ -0,0 +1,19 @@ +module.exports = (config, presetEnvParam) => { + ['jsx', 'tsx'].forEach((rule) => { + config.module + .rule(rule) + .use('babel-loader') + .tap((options) => { + const presetEnv = options.presets.find(preset => { + const [presetName] = Array.isArray(preset) ? preset : [preset]; + return presetName.indexOf('@babel/preset-env') > -1; + }); + if (presetEnvParam.useBuiltIns === 'usage') { + // Force babel sourceType unambiguous when preset env useBuiltIns is usage + options.sourceType = 'unambiguous'; + } + presetEnv[1] = { ...presetEnv[1], ...presetEnvParam }; + return options; + }); + }); +}; diff --git a/packages/plugin-app-base/src/utils/updateMiniCssLoaderPath.js b/packages/build-user-config/src/utils/updateMiniCssLoaderPath.js similarity index 100% rename from packages/plugin-app-base/src/utils/updateMiniCssLoaderPath.js rename to packages/build-user-config/src/utils/updateMiniCssLoaderPath.js diff --git a/packages/build-user-config/tsconfig.json b/packages/build-user-config/tsconfig.json new file mode 100644 index 0000000000..1ba6ca74d5 --- /dev/null +++ b/packages/build-user-config/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.settings.json", + "compilerOptions": { + "baseUrl": "./", + "rootDir": "src", + "outDir": "lib" + }, +} diff --git a/packages/eslint-reporting-webpack-plugin/README.md b/packages/eslint-reporting-webpack-plugin/README.md new file mode 100644 index 0000000000..7c241514f6 --- /dev/null +++ b/packages/eslint-reporting-webpack-plugin/README.md @@ -0,0 +1,33 @@ +# eslint-reporting-webpack-plugin + +> A friendly ESLint reporting plugin for webpack. + +## Install + +```bash +npm install eslint-reporting-webpack-plugin +``` + +## Usage + +In your webpack configuration: + +```js +const ESLintReportingPlugin = require('eslint-reporting-webpack-plugin'); + +module.exports = { + // ... + plugins: [new ESLintReportingPlugin()], + // ... +}; +``` + +The ESLint error and warning are blocking hot update when [eslint-webpack-plugin](https://www.npmjs.com/package/eslint-webpack-plugin) is used. + +We provide a friendly way to show eslint reporting, like: + +![img](https://img.alicdn.com/tfs/TB1R2wv1oY1gK0jSZFMXXaWcVXa-584-166.png) + +PS: Used ESLint rules and config is base on your project `.eslintrc.*` setting. + +Enjoy! diff --git a/packages/eslint-reporting-webpack-plugin/package.json b/packages/eslint-reporting-webpack-plugin/package.json new file mode 100644 index 0000000000..3b96044f04 --- /dev/null +++ b/packages/eslint-reporting-webpack-plugin/package.json @@ -0,0 +1,22 @@ +{ + "name": "eslint-reporting-webpack-plugin", + "version": "0.1.0", + "description": "A friendly ESLint reporting plugin for webpack.", + "author": "ice-admin@alibaba-inc.com", + "homepage": "", + "main": "src/index.js", + "files": [ + "src" + ], + "dependencies": { + "eslint": "^6.8.0", + "glob": "^7.1.6" + }, + "keywords": [ + "eslint", + "reporting", + "lint", + "plugin", + "webpack" + ] +} diff --git a/packages/eslint-reporting-webpack-plugin/src/index.js b/packages/eslint-reporting-webpack-plugin/src/index.js new file mode 100644 index 0000000000..8c4066d901 --- /dev/null +++ b/packages/eslint-reporting-webpack-plugin/src/index.js @@ -0,0 +1,75 @@ + +const glob = require('glob'); +const { CLIEngine } = require('eslint'); +const { isAbsolute, join } = require('path'); + +const NAME = 'EslintReportingPlugin'; + +const extensions = ['.js', '.jsx', '.ts', '.tsx']; +const extensionsReg = new RegExp(`(${extensions.join('|')})$`); + +module.exports = class EslintReportingPlugin { + constructor(options = {}) { + this.options = options; + } + + apply(compiler) { + const context = this.getContext(compiler); + const configFiles = glob.sync(`${context}/.eslintrc.*`); + + if (!configFiles[0]) return; + + let files = []; + const eslint = new CLIEngine({ + extensions, + useEslintrc: false, + configFile: configFiles[0], + }); + const formatter = eslint.getFormatter(); + + compiler.hooks.thisCompilation.tap(NAME, (compilation) => { + // Gather Files to lint + compilation.hooks.succeedModule.tap(NAME, (module) => { + const file = module.resource; + if (file && !eslint.isPathIgnored(file || '') && extensionsReg.test(file)) { + files.push(file); + } + }); + // await and interpret results + compilation.hooks.afterSeal.tapPromise(NAME, processResults); + + async function processResults() { + const report = eslint.executeOnFiles(files); + const message = formatter(report.results); + + if (message) { + console.log('ESLint(https://eslint.org/) activated. Report:'); + console.log(message); + + if (report.fixableErrorCount || report.fixableWarningCount) { + console.log('You can add `--fix` to eslint script in package.json, like: "eslint": "eslint --fix --ext .js,.jsx,.ts,.tsx ./"'); + } else { + console.log('Please check ESLint problems'); + } + + console.log(''); + console.log(''); + } + + files = []; + } + }); + } + + getContext(compiler) { + if (!this.options.context) { + return String(compiler.options.context); + } + + if (!isAbsolute(this.options.context)) { + return join(String(compiler.options.context), this.options.context); + } + + return this.options.context; + } +}; diff --git a/packages/icejs/package.json b/packages/icejs/package.json index 75d45220f4..7658e5bfb5 100644 --- a/packages/icejs/package.json +++ b/packages/icejs/package.json @@ -1,6 +1,6 @@ { "name": "ice.js", - "version": "1.10.0", + "version": "1.11.0", "description": "command line interface and builtin plugin for icejs", "author": "ice-admin@alibaba-inc.com", "homepage": "", @@ -22,17 +22,17 @@ }, "dependencies": { "@alib/build-scripts": "^0.1.13", - "build-plugin-app-core": "0.1.22", + "build-plugin-app-core": "0.1.23", "build-plugin-ice-config": "1.7.1", "build-plugin-ice-helpers": "1.7.1", "build-plugin-ice-logger": "1.7.2", "build-plugin-ice-mpa": "1.7.1", "build-plugin-ice-request": "1.7.2", "build-plugin-ice-router": "1.7.5", - "build-plugin-ice-ssr": "1.7.5", - "build-plugin-ice-store": "1.7.7", - "build-plugin-react-app": "1.7.8", - "build-plugin-miniapp": "0.1.6", + "build-plugin-ice-ssr": "1.7.6", + "build-plugin-ice-store": "1.7.8", + "build-plugin-react-app": "1.7.9", + "build-plugin-miniapp": "0.1.7", "chalk": "^4.1.0", "chokidar": "^3.3.1", "commander": "^5.0.0", diff --git a/packages/plugin-app-base/package.json b/packages/plugin-app-base/package.json deleted file mode 100644 index 60dec8f10c..0000000000 --- a/packages/plugin-app-base/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "build-plugin-app-base", - "version": "1.0.8", - "description": "rax app base plugin", - "main": "lib/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [ - "plugin", - "rax" - ], - "author": "", - "license": "MIT", - "peerDependencies": { - "@alib/build-scripts": "^0.1.0", - "rax": "^1.0.0" - }, - "dependencies": { - "@babel/core": "7.2.0", - "@babel/generator": "^7.9.6", - "@reactml/loader": "^0.1.2", - "add-asset-html-webpack-plugin": "^3.1.3", - "autoprefixer": "^9.4.3", - "babel-loader": "8.0.4", - "chalk": "^2.4.2", - "core-js": "^3.3.1", - "css-loader": "^3.4.2", - "debug": "^4.1.1", - "eslint-loader": "^4.0.0", - "fork-ts-checker-webpack-plugin": "^5.2.0", - "friendly-errors-webpack-plugin": "^1.7.0", - "fs-extra": "^8.1.0", - "loader-utils": "^1.1.0", - "lodash": "^4.17.15", - "memory-fs": "^0.5.0", - "miniapp-builder-shared": "^0.1.6", - "mkcert": "^1.2.0", - "null-loader": "^4.0.0", - "path-exists": "^4.0.0", - "postcss": "^7.0.17", - "postcss-import": "^12.0.1", - "postcss-plugin-rpx2vw": "^0.0.2", - "postcss-preset-env": "^6.7.0", - "qrcode-terminal": "^0.12.0", - "rax-babel-config": "^1.0.0", - "rax-jest-config": "^1.0.0", - "rax-webpack-config": "^1.0.0", - "react-dev-utils": "^10.2.1", - "regenerator-runtime": "^0.13.3", - "stylesheet-loader": "^0.8.5", - "terser": "^4.6.4", - "terser-webpack-plugin": "^2.1.3", - "ts-loader": "^5.3.3", - "typescript": "^3.2.4", - "webpack": "^4.27.1", - "webpack-bundle-analyzer": "^3.6.0", - "webpack-chain": "^6.0.0", - "webpack-dev-mock": "^1.0.1", - "webpack-plugin-import": "^0.2.6", - "webpack-sources": "^1.3.0", - "webpackbar": "^4.0.0", - "copy-webpack-plugin": "^5.0.0" - } -} diff --git a/packages/plugin-app-base/src/base.js b/packages/plugin-app-base/src/base.js deleted file mode 100644 index 106f462210..0000000000 --- a/packages/plugin-app-base/src/base.js +++ /dev/null @@ -1,127 +0,0 @@ -const getWebpackConfig = require('rax-webpack-config'); -const getBabelConfig = require('rax-babel-config'); -const ProgressPlugin = require('webpackbar'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const path = require('path'); -const fs = require('fs-extra'); - -module.exports = (api, { target, babelConfigOptions, progressOptions }) => { - const { context, onGetWebpackConfig } = api; - const { rootDir, command, webpack, commandArgs, userConfig } = context; - const appMode = commandArgs.mode || command; - const babelConfig = getBabelConfig(babelConfigOptions); - - const mode = command === 'start' ? 'development' : 'production'; - const chainConfig = getWebpackConfig({ - rootDir, - mode, - babelConfig, - target, - }); - // 1M = 1024 KB = 1048576 B - chainConfig.performance.maxAssetSize(1048576).maxEntrypointSize(1048576); - - // setup DefinePlugin and CopyWebpackPlugin out of onGetWebpackConfig - // in case of registerUserConfig will be excute before onGetWebpackConfig - - // DefinePlugin - const defineVariables = { - 'process.env.NODE_ENV': JSON.stringify(mode || 'development'), - 'process.env.APP_MODE': JSON.stringify(appMode), - 'process.env.SERVER_PORT': JSON.stringify(commandArgs.port), - }; - - chainConfig - .plugin('ProgressPlugin') - .use(ProgressPlugin, [Object.assign({ color: '#F4AF3D' }, progressOptions)]) - .end() - .plugin('DefinePlugin') - .use(webpack.DefinePlugin, [defineVariables]); - - // Copy public dir - if (fs.existsSync(path.resolve(rootDir, 'public'))) { - chainConfig.plugin('CopyWebpackPlugin').use(CopyWebpackPlugin, [[]]); - } - - chainConfig - .plugin('friendly-error') - .use(require.resolve('friendly-errors-webpack-plugin'), [ - { - clearConsole: false, - }, - ]) - .end(); - - chainConfig.externals([ - function(ctx, request, callback) { - if (request.indexOf('@weex-module') !== -1) { - return callback(null, `commonjs ${request}`); - } - // compatible with @system for quickapp - if (request.indexOf('@system') !== -1) { - return callback(null, `commonjs ${request}`); - } - // compatible with plugin with miniapp plugin - if (/^plugin:\/\//.test(request)) { - return callback(null, `commonjs ${request}`); - } - callback(); - }, - ]); - - // Process app.json file - chainConfig.module - .rule('appJSON') - .type('javascript/auto') - .test(/app\.json$/) - .use('babel-loader') - .loader(require.resolve('babel-loader')) - .options(babelConfig) - .end() - .use('loader') - .loader(require.resolve('./loaders/AppConfigLoader')); - - ['jsx', 'tsx'].forEach((ruleName) => { - chainConfig.module - .rule(ruleName) - .use('platform-loader') - .loader(require.resolve('rax-compile-config/src/platformLoader')); - }); - - if (command === 'start') { - // disable build-scripts stats output - process.env.DISABLE_STATS = true; - } - - onGetWebpackConfig(target, (config) => { - // Set public url after developer has set public path - // Get public path - let publicUrl = config.output.get('publicPath'); - - // Developer will use process.env.PUBLIC_URL + '/logo.png', so it need remove last / - if (publicUrl && publicUrl.endsWith('/')) { - publicUrl = publicUrl.substring(0, publicUrl.length - 1); - } - - config - .plugin('DefinePlugin') - .tap((args) => [ - Object.assign(...args, { - 'process.env.PUBLIC_URL': JSON.stringify(publicUrl), - }), - ]); - - const { outputDir = 'build' } = userConfig; - // Copy public dir - if (config.plugins.has('CopyWebpackPlugin')) { - config.plugin('CopyWebpackPlugin').tap(([copyList]) => { - return [copyList.concat([{ - from: path.resolve(rootDir, 'public'), - to: path.resolve(rootDir, outputDir, target) - }])]; - }); - } - }); - - return chainConfig; -}; diff --git a/packages/plugin-app-base/src/cliOption/https.js b/packages/plugin-app-base/src/cliOption/https.js deleted file mode 100644 index cfc68fddb3..0000000000 --- a/packages/plugin-app-base/src/cliOption/https.js +++ /dev/null @@ -1,21 +0,0 @@ -const getCertificate = require('../utils/getCertificate'); - -module.exports = async(config, https) => { - let httpsConfig; - if (https) { - try { - const cert = await getCertificate(); - httpsConfig = { - key: cert.key, - cert: cert.cert, - }; - } catch (e) { - console.log('HTTPS certificate generation failed and has been converted to HTTP.'); - } - } - if (httpsConfig) { - config.devServer.https(httpsConfig); - } else { - config.devServer.https(false); - } -}; diff --git a/packages/plugin-app-base/src/config/default.config.js b/packages/plugin-app-base/src/config/default.config.js deleted file mode 100644 index 5e78bc525c..0000000000 --- a/packages/plugin-app-base/src/config/default.config.js +++ /dev/null @@ -1,66 +0,0 @@ -module.exports = { - alias: {}, - define: {}, - devPublicPath: '/', - filename: '[name].js', - // resolve.extensions - extensions: ['.js', '.jsx', '.json', '.html', '.ts', '.tsx', 'rml'], - // resolve.modules - modules: ['node_modules'], - devServer: { - disableHostCheck: true, - compress: true, - // Use 'ws' instead of 'sockjs-node' on server since webpackHotDevClient is using native websocket - transportMode: 'ws', - logLevel: 'silent', - clientLogLevel: 'none', - hot: true, - publicPath: '/', - quiet: false, - watchOptions: { - ignored: /node_modules/, - aggregateTimeout: 600, - }, - // For mutilple task, web will occupy the server root route - writeToDisk: true, - historyApiFallback: true, - before(app) { - app.use((req, res, next) => { - // set cros for all served files - res.set('Access-Control-Allow-Origin', '*'); - next(); - }); - }, - }, - mock: true, - externals: {}, - hash: false, - injectBabel: 'polyfill', - minify: true, - outputAssetsPath: { - js: '', - css: '', - }, - outputDir: 'build', - proxy: {}, - publicPath: '/', - browserslist: 'last 2 versions, Firefox ESR, > 1%, ie >= 9, iOS >= 8, Android >= 4', - vendor: true, - libraryTarget: '', - library: '', - libraryExport: '', - sourceMap: false, - terserOptions: {}, - cssLoaderOptions: {}, - lessLoaderOptions: {}, - sassLoaderOptions: {}, - postcssrc: false, - compileDependencies: [], - babelPlugins: [], - babelPresets: [], - eslint: false, - tsChecker: false, - dll: false, - dllEntry: {}, - inlineStyle: false -}; diff --git a/packages/plugin-app-base/src/index.js b/packages/plugin-app-base/src/index.js deleted file mode 100644 index c8c037d4a4..0000000000 --- a/packages/plugin-app-base/src/index.js +++ /dev/null @@ -1,46 +0,0 @@ -const path = require('path'); -const registerCliOption = require('./registerCliOption'); -const registerUserConfig = require('./registerUserConfig'); -const modifyUserConfig = require('./modifyUserConfig'); -const getBase = require('./base'); -const dev = require('./setDev'); -const build = require('./setBuild'); -const test = require('./setTest'); -const { GET_WEBPACK_BASE_CONFIG } = require('./constants'); - -module.exports = (api) => { - const { - onGetWebpackConfig, - context, - setValue, - } = api; - const { command, rootDir } = context; - setValue(GET_WEBPACK_BASE_CONFIG, getBase); - - // register cli option - registerCliOption(api); - - // register user config - registerUserConfig(api); - - // modify user config to keep excute order - modifyUserConfig(api); - - // set webpack config - onGetWebpackConfig((chainConfig) => { - // add resolve modules of project node_modules - chainConfig.resolve.modules.add(path.join(rootDir, 'node_modules')); - }); - - if (command === 'test') { - test(api); - } - - if (command === 'start') { - dev(api); - } - - if (command === 'build') { - build(api); - } -}; diff --git a/packages/plugin-app-base/src/loaders/AppConfigLoader/getDepPath.js b/packages/plugin-app-base/src/loaders/AppConfigLoader/getDepPath.js deleted file mode 100644 index f0b3ddb1a3..0000000000 --- a/packages/plugin-app-base/src/loaders/AppConfigLoader/getDepPath.js +++ /dev/null @@ -1,15 +0,0 @@ -const { join } = require('path'); -const formatWinPath = require('../../utils/formatWinPath'); - -/** - * ./pages/foo -> based on src, return original - * /pages/foo -> based on rootContext - * pages/foo -> based on src, add prefix: './' - */ -// Todo: Will support ice later -module.exports = function getDepPath(path, rootContext = '') { - const splitPath = path.split('/'); - splitPath[splitPath.length - 1] = 'Page'; - const tempPagePath = splitPath.join('/'); - return formatWinPath(join(rootContext, '.rax', tempPagePath)); -}; diff --git a/packages/plugin-app-base/src/loaders/AppConfigLoader/index.js b/packages/plugin-app-base/src/loaders/AppConfigLoader/index.js deleted file mode 100644 index 49ed9334b0..0000000000 --- a/packages/plugin-app-base/src/loaders/AppConfigLoader/index.js +++ /dev/null @@ -1,102 +0,0 @@ -const { getOptions } = require('loader-utils'); -const getRouteName = require('../../utils/getRouteName'); -const getDepPath = require('./getDepPath'); - -/** - * universal-app-config-loader - * return { - * "routes": [ - { - "path": "/", - "source": "pages/Home/index", - "component": fn, - } - ], - "shell": { - "source": "shell/index", - "component": fn - }, - "hydrate": false - } - */ -module.exports = function (appJSON) { - const options = getOptions(this) || {}; - const { type } = options; - const appConfig = JSON.parse(appJSON); - - if (!appConfig.routes || !Array.isArray(appConfig.routes)) { - throw new Error('routes should be an array in app.json.'); - } - - appConfig.routes = appConfig.routes.filter(route => { - if (Array.isArray(route.targets) && !route.targets.includes(type)) { - return false; - } - - return true; - }); - - const assembleRoutes = appConfig.routes.map((route) => { - if (!route.path || !route.source) { - throw new Error('route object should have path and source.'); - } - - // Set page title: Web use document.title; Weex need Native App support title api; - // Default route title: appConfig.window.title - let routeTitle = appConfig.window && appConfig.window.title ? appConfig.window.title : ''; - if (route.window && route.window.title) { - // Current route title: route.window.title - routeTitle = route.window.title; - } - - // First level function to support hooks will autorun function type state, - // Second level function to support rax-use-router rule autorun function type component. - const dynamicImportComponent = - `(routeProps) => - import(/* webpackChunkName: "${getRouteName(route, this.rootContext).toLocaleLowerCase()}.chunk" */ '${getDepPath(route.source, this.rootContext)}') - .then((mod) => () => { - const reference = interopRequire(mod); - function Component(props) { - return createElement(reference, Object.assign({}, routeProps, props)); - } - ${routeTitle ? `document.title="${routeTitle}"` : ''} - Component.__path = '${route.path}'; - return Component; - }) - `; - const importComponent = `() => () => interopRequire(require('${getDepPath(route.source, this.rootContext)}'))`; - - return `routes.push( - { - ...${JSON.stringify(route)}, - component: ${type === 'web' ? dynamicImportComponent : importComponent} - } - );`; - }).join('\n'); - - let processShell; - if (appConfig.shell) { - processShell = ` - import Shell from "${getDepPath(appConfig.shell.source, this.rootContext)}"; - appConfig.shell = { - source: '${appConfig.shell.source}', - component: Shell - }; - `; - } else { - processShell = ''; - } - - return ` - import { createElement } from 'rax'; - const interopRequire = (mod) => mod && mod.__esModule ? mod.default : mod; - const routes = []; - ${assembleRoutes} - const appConfig = { - ...${appJSON}, - routes - }; - ${processShell} - export default appConfig; - `; -}; diff --git a/packages/plugin-app-base/src/modifyUserConfig.js b/packages/plugin-app-base/src/modifyUserConfig.js deleted file mode 100644 index 5cb3532671..0000000000 --- a/packages/plugin-app-base/src/modifyUserConfig.js +++ /dev/null @@ -1,21 +0,0 @@ -const defaultConfig = require('./config/default.config'); - -module.exports = (api) => { - const { modifyUserConfig } = api; - - // modify user config to keep excute order - modifyUserConfig((userConfig) => { - const configKeys = [...Object.keys(userConfig), 'filename'].sort(); - const newConfig = {}; - configKeys.forEach((configKey) => { - if (!['plugins', 'web', 'miniapp', 'weex', 'kraken', 'wechat-miniprogram', 'targets'].includes(configKey)) { - newConfig[configKey] = Object.prototype.hasOwnProperty.call(userConfig, configKey) - ? userConfig[configKey] - : defaultConfig[configKey]; - delete userConfig[configKey]; - } - }); - - return newConfig; - }); -}; diff --git a/packages/plugin-app-base/src/registerUserConfig.js b/packages/plugin-app-base/src/registerUserConfig.js deleted file mode 100644 index c3bc88679f..0000000000 --- a/packages/plugin-app-base/src/registerUserConfig.js +++ /dev/null @@ -1,39 +0,0 @@ -const defaultConfig = require('./config/default.config'); -const validation = require('./config/validation'); - -const CONFIG = [ - { - name: 'modeConfig', - validation: 'object', - defaultValue: {}, - } -]; - -module.exports = (api) => { - const { registerUserConfig, log } = api; - CONFIG.forEach((item) => registerUserConfig(item)); - - // sort config key to make sure entry config is always excute before injectBabel - const configKeys = Object.keys(defaultConfig).sort(); - // register user config - registerUserConfig(configKeys.map((configKey) => { - let configFunc = null; - let configValidation = null; - try { - // eslint-disable-next-line - configFunc = require(`./userConfig/${configKey}`); - configValidation = validation[configKey]; - } catch (err) { - log.error(err); - } - if (configFunc && configValidation) { - return { - name: configKey, - validation: configValidation, - configWebpack: configFunc, - defaultValue: defaultConfig[configKey], - }; - } - return false; - }).filter(Boolean)); -}; diff --git a/packages/plugin-app-base/src/userConfig/eslint.js b/packages/plugin-app-base/src/userConfig/eslint.js deleted file mode 100644 index 80038eccb1..0000000000 --- a/packages/plugin-app-base/src/userConfig/eslint.js +++ /dev/null @@ -1,27 +0,0 @@ -const path = require('path'); - -module.exports = (config, eslint, { rootDir }) => { - if (typeof eslint === 'boolean' && eslint === false) { - return config; - } - const { disable, ...args } = eslint; - if (!disable) { - const appSrc = path.join(rootDir, 'src'); - config.module - .rule('eslint') - .test(/\.(jsx?|tsx?)$/) - .include - .add(appSrc) - .end() - .enforce('pre') - .use('eslint') - .loader(require.resolve('eslint-loader')) - .tap((options) => ({ - cache: true, - eslintPath: require.resolve('eslint'), - formatter: require.resolve('react-dev-utils/eslintFormatter'), - ...options, - ...args - })); - } -}; diff --git a/packages/plugin-app-base/src/userConfig/injectBabel.js b/packages/plugin-app-base/src/userConfig/injectBabel.js deleted file mode 100644 index da971b062a..0000000000 --- a/packages/plugin-app-base/src/userConfig/injectBabel.js +++ /dev/null @@ -1,60 +0,0 @@ -const formatWinPath = require('../utils/formatWinPath'); -const addBablePlugins = require('./babelPlugins'); - -module.exports = (config, injectBabel, context) => { - const { userConfig: { targets = [] } } = context; - if (targets.includes('miniapp') || targets.includes('wechat-miniprogram')) { - return; - } - if (injectBabel === 'runtime') { - ['jsx', 'tsx'].forEach((rule) => { - config.module - .rule(rule) - .use('babel-loader') - .tap((options) => { - // get @babel/plugin-transform-runtime - const babelPlugins = options.plugins || []; - const targetPlugin = formatWinPath('@babel/plugin-transform-runtime'); - const plguinOption = { - corejs: false, - helpers: true, - regenerator: true, - useESModules: false, - }; - const plugins = babelPlugins.map((plugin) => { - if (typeof plugin === 'string' && formatWinPath(plugin).indexOf(targetPlugin) > -1 - || Array.isArray(plugin) && formatWinPath(plugin[0]).indexOf(targetPlugin) > -1 ) { - return [Array.isArray(plugin) ? plugin[0] : plugin, plguinOption]; - } else { - return [require.resolve('@babel/plugin-transform-runtime'), plguinOption]; - } - }); - return Object.assign(options, { plugins }); - }); - }); - } else if (injectBabel === 'polyfill') { - const entries = config.toConfig().entry; - const rule = config.module.rule('polyfill').test(/\.jsx?|\.tsx?$/); - const fileList = []; - if (!entries) return; - Object.keys(entries).forEach((key) => { - let addPolyfill = false; - // only include entry path - for (let i = 0; i < entries[key].length; i += 1) { - // filter node_modules file add by plugin - if (!/node_modules/.test(entries[key][i])) { - rule.include.add(entries[key][i]); - fileList.push(entries[key][i]); - addPolyfill = true; - break; - } - } - if (!addPolyfill) { - rule.include.add(entries[key][0]); - fileList.push(entries[key][0]); - } - }); - rule.use('polyfill-loader').loader(require.resolve('../utils/polyfillLoader')).options({}); - addBablePlugins(config, [[require.resolve('../utils/babelPluginCorejsLock.js'), { fileList }]]); - } -}; diff --git a/packages/plugin-app-base/src/utils/formatWinPath.js b/packages/plugin-app-base/src/utils/formatWinPath.js deleted file mode 100644 index 21801a2529..0000000000 --- a/packages/plugin-app-base/src/utils/formatWinPath.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = (outputPath) => { - const isWin = process.platform === 'win32'; - // js\index.js => js/index.js - return isWin ? outputPath.replace(/\\/g, '/') : outputPath; -}; diff --git a/packages/plugin-app-base/src/utils/getCertificate.js b/packages/plugin-app-base/src/utils/getCertificate.js deleted file mode 100644 index c75a805fcb..0000000000 --- a/packages/plugin-app-base/src/utils/getCertificate.js +++ /dev/null @@ -1,50 +0,0 @@ -const mkcert = require('mkcert'); -const fs = require('fs-extra'); -const path = require('path'); - -const rootDirPath = path.resolve(__dirname, '../Rax_CA'); - -function generateCA() { - return new Promise((resolve, reject) => { - mkcert.createCA({ - organization: 'Rax Team', - countryCode: 'CN', - state: 'ZJ', - locality: 'HZ', - validityDays: 3650, - }).then((ca) => { - if (!fs.existsSync(rootDirPath)) { - // create Rax_CA folder if not exists - fs.mkdirSync(rootDirPath); - } - const keyPath = path.join(rootDirPath, 'rootCa.key'); - const certPath = path.join(rootDirPath, 'rootCa.crt'); - fs.writeFileSync(keyPath, ca.key); - fs.writeFileSync(certPath, ca.cert); - resolve({ - key: keyPath, - cert: certPath, - }); - }).catch((err) => { - reject(err); - }); - }); -} - -module.exports = async function getCertificate() { - const certPath = path.join(rootDirPath, 'rootCa.crt'); - const keyPath = path.join(rootDirPath, 'rootCa.key'); - if (!fs.existsSync(certPath) || !fs.existsSync(keyPath)) { - await generateCA(); - } - console.log('当前使用的 HTTPS 证书路径(如有需要请手动信任此文件)'); - console.log(' ', certPath); - return new Promise((resolve, reject) => { - mkcert.createCert({ - domains: ['127.0.0.1', 'localhost'], - validityDays: 365, - caKey: fs.readFileSync(keyPath), - caCert: fs.readFileSync(certPath), - }).then(resolve).catch(reject); - }); -}; diff --git a/packages/plugin-app-core/package.json b/packages/plugin-app-core/package.json index 1c786a720f..371c362c19 100644 --- a/packages/plugin-app-core/package.json +++ b/packages/plugin-app-core/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-app-core", - "version": "0.1.22", + "version": "0.1.23", "description": "the core plugin for icejs and raxjs.", "author": "ice-admin@alibaba-inc.com", "homepage": "", diff --git a/packages/plugin-app-core/src/generator/templates/common/runApp.ts.ejs b/packages/plugin-app-core/src/generator/templates/common/runApp.ts.ejs index b02203ab56..717ff82a64 100644 --- a/packages/plugin-app-core/src/generator/templates/common/runApp.ts.ejs +++ b/packages/plugin-app-core/src/generator/templates/common/runApp.ts.ejs @@ -15,17 +15,19 @@ import createShareAPI, { history } from 'create-app-shared'; const defaultWithRouter = createWithRouter({ createElement }); <% } %> +<% if (globalStyle) {%> + // eslint-disable-next-line + import '../<%= globalStyle %>' +<% } %> + import loadRuntimeModules from './loadRuntimeModules'; import loadStaticModules from './loadStaticModules'; import defaultStaticConfig from './staticConfig'; + import { setAppConfig } from './appConfig'; import { mount, unmount } from './render'; import ErrorBoundary from './ErrorBoundary'; -<% if (globalStyle) {%> - import '../<%= globalStyle %>' -<% } %> - const { createBaseApp, withRouter, @@ -57,9 +59,11 @@ export function runApp(appConfig, staticConfig?: any) { renderer = reactAppRenderer; } <% } %> + const buildConfig = <%- buildConfig %>; renderer({ appConfig, staticConfig: staticConfig || defaultStaticConfig, + buildConfig, setAppConfig, createBaseApp, createHistory, diff --git a/packages/plugin-app-core/src/index.ts b/packages/plugin-app-core/src/index.ts index 7b865767e0..49d7482ec4 100644 --- a/packages/plugin-app-core/src/index.ts +++ b/packages/plugin-app-core/src/index.ts @@ -5,6 +5,7 @@ import getRuntimeModules from './utils/getRuntimeModules'; import { TEMP_PATH } from './constant'; import dev from './dev'; import { setAlias, setProjectType, setEntry, setTempDir, setRegisterMethod, setRegisterUserConfig } from './config'; +import getBuildConfig from './utils/getBuildConfig'; // eslint-disable-next-line const chalk = require('chalk'); @@ -62,7 +63,7 @@ function initGenerator(api, options) { const plugins = getAllPlugin(); const templatesDir = path.join(__dirname, './generator/templates'); const { targets = [] } = userConfig; - const isMiniapp = targets.includes('miniapp') || targets.includes('wechat-miniprogram'); + const isMiniapp = targets.includes('miniapp') || targets.includes('wechat-miniprogram') || targets.includes('bytedance-microapp'); return new Generator({ rootDir, targetDir: getValue(TEMP_PATH), @@ -75,9 +76,9 @@ function initGenerator(api, options) { isRax: framework === 'rax', isMiniapp, runtimeModules: getRuntimeModules(plugins), - buildConfig: JSON.stringify(userConfig) + buildConfig: JSON.stringify(getBuildConfig(userConfig)), }, - log + log, }); } diff --git a/packages/plugin-app-core/src/utils/getBuildConfig.ts b/packages/plugin-app-core/src/utils/getBuildConfig.ts new file mode 100644 index 0000000000..b71c364505 --- /dev/null +++ b/packages/plugin-app-core/src/utils/getBuildConfig.ts @@ -0,0 +1,27 @@ +interface IBuildConfig { + router?: object; + store?: boolean; + icestarkUMD?: boolean; +} + +function getBuildConfig(userConfig): IBuildConfig{ + const { plugins } = userConfig; + const buildConfig: IBuildConfig = {}; + // filter userConfig + ['router', 'store'].forEach((configKey) => { + if (Object.prototype.hasOwnProperty.call(userConfig, configKey)) { + buildConfig[configKey] = userConfig[configKey]; + } + }); + // get icestark umd config + buildConfig.icestarkUMD = plugins && !!plugins.find((plugin) => { + if (Array.isArray(plugin)) { + const [pluginName, pluginOptions] = plugin; + return pluginName === 'build-plugin-icestark' && pluginOptions.umd; + } + return false; + }); + return buildConfig; +} + +export default getBuildConfig; diff --git a/packages/plugin-ice-ssr/package.json b/packages/plugin-ice-ssr/package.json index 1ee6967b12..9a17f32776 100644 --- a/packages/plugin-ice-ssr/package.json +++ b/packages/plugin-ice-ssr/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-ice-ssr", - "version": "1.7.5", + "version": "1.7.6", "description": "ssr plugin", "author": "ice-admin@alibaba-inc.com", "homepage": "", diff --git a/packages/plugin-ice-ssr/src/server.ts.ejs b/packages/plugin-ice-ssr/src/server.ts.ejs index 8367a6c821..459ad15aaa 100644 --- a/packages/plugin-ice-ssr/src/server.ts.ejs +++ b/packages/plugin-ice-ssr/src/server.ts.ejs @@ -79,7 +79,9 @@ function getComponentByPath(routes, currPath) { const matchedRoute = routeList.find(route => { return matchPath(currPath, route); }); - return matchedRoute.children ? findMatchRoute(matchedRoute.children) : matchedRoute; + if (matchedRoute) { + return matchedRoute.children ? findMatchRoute(matchedRoute.children) : matchedRoute; + } } const matchedRoute = findMatchRoute(routes); return matchedRoute && matchedRoute.component; diff --git a/packages/plugin-icestark/package.json b/packages/plugin-icestark/package.json index 1baf8805b5..b85a0d4de8 100644 --- a/packages/plugin-icestark/package.json +++ b/packages/plugin-icestark/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-icestark", - "version": "1.7.1", + "version": "2.0.0", "description": "Easy use `icestark` in icejs.", "author": "ice-admin@alibaba-inc.com", "homepage": "", @@ -15,7 +15,8 @@ "src/types" ], "dependencies": { - "@ice/stark": "^1.3.1", + "@babel/types": "^7.11.5", + "@ice/stark": "^2.0.0", "@ice/stark-app": "^1.2.0", "fs-extra": "^8.1.0", "glob": "^7.1.6" diff --git a/packages/plugin-icestark/src/babelPluginMicroapp.ts b/packages/plugin-icestark/src/babelPluginMicroapp.ts new file mode 100644 index 0000000000..47bc58fdad --- /dev/null +++ b/packages/plugin-icestark/src/babelPluginMicroapp.ts @@ -0,0 +1,163 @@ +import * as t from '@babel/types'; + +const templateIfStatement = 'if (!isInIcestark()) {}'; +const templateExportStatement = ` +export const mount = (props) => { + APP_CALLEE(APP_CONFIG); +}; +export const unmount = ({ container, customProps }) => { + if (APP_CONFIG?.icestark?.regsiterAppLeave) { + APP_CONFIG.icestark.regsiterAppLeave(container, customProps); + } else { + ReactDOM.unmountComponentAtNode(container); + } +};`; +const templateModeStatement = ` +if (typeof window !== 'undefined' && window.ICESTARK && window.ICESTARK.loadMode && window.ICESTARK.loadMode !== 'umd') { + console.warn('[icestark] unable to get lifecycle from umd module without specify the configration of umd'); +} +`; + +const getUid = () => { + let uid = 0; + return () => `_APP_CONFIG${(uid++) || ''}`; +}; + +export default (api, { entryList }) => { + let namespaceSpecifier: string; + let importSpecifier: string; + let configIdentifier: string; + let replaced = false; + + const checkEntryFile = (filename: string) => { + return !!entryList.find((filePath: string) => { + // filePath may not have an extension + return filePath.includes((filename || '').replace(/\.[^/.]+$/, '')); + }); + }; + + return { + visitor: { + Program(nodePath, state) { + if (checkEntryFile(state.filename)) { + const node: t.Program = nodePath.node; + const { body } = node; + let starkappStatement = false; + let reactdomStatement = false; + let lastImportIndex = 0; + body.forEach((item, index) => { + // check ImportDeclaration + if (t.isImportDeclaration(item)) { + if (t.isStringLiteral(item.source, { value: 'ice'})) { + item.specifiers.forEach((value) => { + if (t.isImportNamespaceSpecifier(value)) { + namespaceSpecifier = value.local.name; + } + if (t.isImportSpecifier(value)) { + importSpecifier = value.local.name; + } + }); + } else if (t.isIdentifier(item.source, { value: '@ice/stark-app'})) { + starkappStatement = true; + let importIsInIcestark = false; + item.specifiers.forEach((value) => { + if (t.isImportSpecifier(value) && t.isIdentifier(value.local, { name: 'isInIcestark'})) { + importIsInIcestark = true; + } + }); + if (!importIsInIcestark) { + item.specifiers.push(t.importSpecifier(t.identifier('isInIcestark'), t.identifier('isInIcestark'))); + } + // check import ReactDOM from 'react-dom'; + } else if (t.isIdentifier(item.source, { value: 'react-dom'})) { + reactdomStatement = true; + let importReactDOM = false; + item.specifiers.forEach((value) => { + if (t.isImportDefaultSpecifier(value) && t.isIdentifier(value.local, { name: 'ReactDOM'})) { + importReactDOM = true; + } + }); + if (!importReactDOM) { + item.specifiers.push(t.importDefaultSpecifier(t.identifier('ReactDOM'))); + } + } + lastImportIndex = index; + } + }); + // import @ice/stark-app + if (!starkappStatement) { + const starkappImport = t.importDeclaration( + [t.importSpecifier(t.identifier('isInIcestark'), t.identifier('isInIcestark'))], + t.stringLiteral('@ice/stark-app'), + ); + lastImportIndex += 1; + body.splice(lastImportIndex, 0, starkappImport); + } + + // import ReactDOM from 'react-dom'; + if (!reactdomStatement) { + lastImportIndex += 1; + body.splice(lastImportIndex, 0, t.importDeclaration([t.importDefaultSpecifier(t.identifier('ReactDOM'))], t.stringLiteral('react-dom'))); + } + + // inject code of icestark load mode + const codeAst = api.template(templateModeStatement)({ + ICESTARK: 'ICESTARK', + }); + body.push(codeAst); + } + }, + ExpressionStatement(nodePath, state) { + if (checkEntryFile(state.filename) && !replaced) { + const node: t.ExpressionStatement = nodePath.node; + let callIdentifier = ''; + if (namespaceSpecifier + && t.isCallExpression(node.expression) + && t.isMemberExpression(node.expression.callee) + && t.isIdentifier(node.expression.callee.object, { name: namespaceSpecifier})) { + callIdentifier = t.isIdentifier(node.expression.callee.property, { name: 'createApp'}) ? 'createApp' : 'runApp'; + } + const identifierCallee = importSpecifier + && t.isCallExpression(node.expression) + && t.isIdentifier(node.expression.callee, { name: importSpecifier}); + + if (callIdentifier || identifierCallee) { + const expression = node.expression as t.CallExpression; + if (t.isIdentifier(expression.arguments[0])) { + configIdentifier = expression.arguments[0].name; + } else { + // check current scope + const gid = getUid(); + let breakLoop = false; + while(!breakLoop) { + configIdentifier = gid(); + if (!nodePath.scope.hasOwnBinding(configIdentifier)) { + breakLoop = true; + } + } + nodePath.container.splice(nodePath.key - 1, 0, + t.variableDeclaration( + 'var', + [t.variableDeclarator( + t.identifier(configIdentifier), + expression.arguments[0] as t.Expression) + ])); + expression.arguments = [t.identifier(configIdentifier)]; + } + // replace with if statement + const astIf = api.template(templateIfStatement)(); + astIf.consequent.body.push(node); + nodePath.replaceWith(astIf); + + const astExport = api.template(templateExportStatement)({ + APP_CONFIG: configIdentifier, + APP_CALLEE: callIdentifier || importSpecifier, + }); + nodePath.insertAfter(astExport); + replaced = true; + } + } + } + }, + }; +}; \ No newline at end of file diff --git a/packages/plugin-icestark/src/index.ts b/packages/plugin-icestark/src/index.ts index 167e34b9e1..42a32a0dff 100644 --- a/packages/plugin-icestark/src/index.ts +++ b/packages/plugin-icestark/src/index.ts @@ -1,11 +1,12 @@ import * as path from 'path'; import * as glob from 'glob'; import * as fse from 'fs-extra'; -import { IPlugin } from '@alib/build-scripts'; +import { IPlugin, Json } from '@alib/build-scripts'; -const plugin: IPlugin = async ({ onGetWebpackConfig, getValue, applyMethod, context }) => { - const { rootDir } = context; - const iceTempPath = getValue('TEMP_PATH'); +const plugin: IPlugin = async ({ onGetWebpackConfig, getValue, applyMethod, context }, options = {}) => { + const { rootDir, pkg } = context; + const { umd, library } = options as Json; + const iceTempPath = getValue('TEMP_PATH') || path.join(rootDir, '.ice'); const hasDefaultLayout = glob.sync(`${path.join(rootDir, 'src/layouts/index')}.@(ts?(x)|js?(x))`).length; onGetWebpackConfig((config) => { @@ -15,6 +16,43 @@ const plugin: IPlugin = async ({ onGetWebpackConfig, getValue, applyMethod, cont ['@ice/stark', '@ice/stark-app'].forEach((pkgName) => { config.resolve.alias.set(pkgName, require.resolve(pkgName)); }); + + // umd config + if (umd) { + const libraryName = library as string || pkg.name as string || 'microApp'; + config.output + .library(libraryName) + .libraryTarget('umd'); + + // collect entry + const entries = config.toConfig().entry; + const entryList = []; + Object.keys(entries).forEach((key) => { + // only include entry path + for (let i = 0; i < entries[key].length; i += 1) { + // filter node_modules file add by plugin + if (!/node_modules/.test(entries[key][i])) { + entryList.push(entries[key][i]); + } + } + }); + // add build-plugin-microapp + ['jsx', 'tsx'].forEach((rule) => { + config.module + .rule(rule) + .use('babel-loader') + .tap((babelOptions) => { + const { plugins = [] } = babelOptions; + return { + ...babelOptions, + plugins: [ + [require.resolve('./babelPluginMicroapp'), { entryList }], + ...plugins, + ], + }; + }); + }); + } }); await fse.copy(path.join(__dirname, '..', 'src/types/index.ts'), path.join(iceTempPath, 'types/icestark.ts')); diff --git a/packages/plugin-icestark/src/runtime.tsx b/packages/plugin-icestark/src/runtime.tsx index 25440ad03a..807828309d 100644 --- a/packages/plugin-icestark/src/runtime.tsx +++ b/packages/plugin-icestark/src/runtime.tsx @@ -15,7 +15,7 @@ import { IIceStark } from './types'; const { useEffect, useState } = React; -const module = ({ appConfig, addDOMRender, setRenderRouter, modifyRoutes, createHistory }) => { +const module = ({ appConfig, addDOMRender, buildConfig, setRenderRouter, modifyRoutes, createHistory }) => { const { icestark, router } = appConfig; const { type: appType, registerAppEnter: enterRegistration, registerAppLeave: leaveRegistration } = (icestark || {}) as IIceStark; const { type, basename, modifyRoutes: runtimeModifyRoutes, fallback } = router; @@ -24,11 +24,12 @@ const module = ({ appConfig, addDOMRender, setRenderRouter, modifyRoutes, create modifyRoutes(runtimeModifyRoutes); } if (appType === 'child') { + const { icestarkUMD } = buildConfig; const history = createHistory({ type, basename: getBasename() }); addDOMRender(({ App, appMountNode }) => { return new Promise(resolve => { - if (isInIcestark()) { + if (isInIcestark() && !icestarkUMD) { registerAppEnter(() => { const mountNode = getMountNode(); if (enterRegistration) { @@ -46,6 +47,9 @@ const module = ({ appConfig, addDOMRender, setRenderRouter, modifyRoutes, create ReactDOM.unmountComponentAtNode(mountNode); } }); + } else if (icestarkUMD) { + const mountNode = getMountNode(); + ReactDOM.render(, mountNode, resolve); } else { ReactDOM.render(, appMountNode, resolve); } diff --git a/packages/plugin-miniapp/package.json b/packages/plugin-miniapp/package.json index 4cb067cf07..b3cc0f7e60 100644 --- a/packages/plugin-miniapp/package.json +++ b/packages/plugin-miniapp/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-miniapp", - "version": "0.1.6", + "version": "0.1.7", "description": "Using icejs and React.js to write miniapp", "author": "ice-admin@alibaba-inc.com", "homepage": "https://github.com/alibaba/ice#readme", diff --git a/packages/plugin-miniapp/src/index.ts b/packages/plugin-miniapp/src/index.ts index f64500f73a..8eaa429d19 100644 --- a/packages/plugin-miniapp/src/index.ts +++ b/packages/plugin-miniapp/src/index.ts @@ -27,7 +27,7 @@ module.exports = (api) => { miniappConfig.setConfig(config, userConfig[target] || {}, { context, target, babelRuleName: 'babel-loader', outputPath }); if (config.plugins.get('MiniCssExtractPlugin')) { - config.plugin('MiniCssExtractPlugin').tap((args) => [ + config.plugin('MiniCssExtractPlugin').tap(([args]) => [ { ...args, filename: `${target}/[name].css`, diff --git a/packages/plugin-mpa/src/index.ts b/packages/plugin-mpa/src/index.ts index bed233972d..e4d4a2f52d 100644 --- a/packages/plugin-mpa/src/index.ts +++ b/packages/plugin-mpa/src/index.ts @@ -94,7 +94,7 @@ function setPageTemplate(rootDir, entries, template = {}, config) { const htmlPluginKey = `HtmlWebpackPlugin_${defaultEntryName}`; if (config.plugins.get(htmlPluginKey)) { const htmlPluginOption = {}; - const entryTemplate = path.join(rootDir, 'public', entryNames[defaultEntryName]); + const entryTemplate = path.join(rootDir, 'public', entryNames[defaultEntryName] || 'index.html'); if (fs.existsSync(entryTemplate)) { (htmlPluginOption as any).template = entryTemplate; diff --git a/packages/plugin-rax-app/README.md b/packages/plugin-rax-app/README.md new file mode 100644 index 0000000000..63690f3668 --- /dev/null +++ b/packages/plugin-rax-app/README.md @@ -0,0 +1,38 @@ +# plugin-rax-app + +> The basic webpack configuration for rax project + +## Usage + +### registerUserConfig + +`build.json` + +```json +{ + "entry": "", + "alias": {}, + "publicPath": "", + //... +} +``` + +### registerCliOption + +```bash +--port +--https +# ... +``` + +### webpack config + +- TypeScript +- css/sass/less/CSS Modules +- mock +- proxy +- public/ + +## License + +MIT diff --git a/packages/plugin-rax-app/package.json b/packages/plugin-rax-app/package.json new file mode 100644 index 0000000000..bb1ae584a4 --- /dev/null +++ b/packages/plugin-rax-app/package.json @@ -0,0 +1,45 @@ +{ + "name": "build-plugin-rax-app", + "version": "6.0.0", + "description": "The basic webpack configuration for rax project", + "author": "Rax Team", + "main": "lib/index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [ + "plugin", + "rax" + ], + "license": "MIT", + "dependencies": { + "rax-webpack-config": "^1.0.0", + "rax-babel-config": "^1.0.1", + "rax-jest-config": "^1.0.0", + "rax-platform-loader": "^1.0.0", + "@builder/user-config": "^0.1.0", + "@builder/app-helpers": "^1.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "fs-extra": "^8.1.0", + "lodash": "^4.17.15", + "mkcert": "^1.2.0", + "path-exists": "^4.0.0", + "react-dev-utils": "^10.2.1", + "webpackbar": "^4.0.0", + "qrcode-terminal": "^0.12.0", + "mini-css-extract-plugin": "^1.2.1", + "copy-webpack-plugin": "^5.0.4", + "postcss-import": "^12.0.1", + "postcss-preset-env": "^6.7.0", + "null-loader": "^4.0.1" + }, + "devDependencies": { + "webpack": "^4.41.1" + }, + "repository": { + "type": "git", + "url": "git@github.com:alibaba/ice.git" + }, + "gitHead": "07ac7bb07162aac8c90778dd1de4a2060f8df498" +} diff --git a/packages/plugin-rax-app/src/base.js b/packages/plugin-rax-app/src/base.js new file mode 100644 index 0000000000..74b2f78a20 --- /dev/null +++ b/packages/plugin-rax-app/src/base.js @@ -0,0 +1,81 @@ +const { getEnhancedWebpackConfig } = require('@builder/user-config'); +const getWebpackConfig = require('rax-webpack-config'); +const getBabelConfig = require('rax-babel-config'); +const ProgressPlugin = require('webpackbar'); +const path = require('path'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); +const fs = require('fs-extra'); + +module.exports = (api, { target, babelConfigOptions, progressOptions = {} }) => { + const { context, onGetWebpackConfig } = api; + const { rootDir, command, userConfig } = context; + + const mode = command === 'start' ? 'development' : 'production'; + const babelConfig = getBabelConfig(babelConfigOptions); + const webpackConfig = getWebpackConfig({ + rootDir, + mode, + babelConfig, + target, + }); + const enhancedWebpackConfig = getEnhancedWebpackConfig(api, { + target, + webpackConfig, + babelConfig, + }); + + enhancedWebpackConfig + .plugin('ProgressPlugin') + .use(ProgressPlugin, [ + Object.assign({ color: '#F4AF3D' }, progressOptions), + ]); + + // Copy public dir + if (fs.existsSync(path.resolve(rootDir, 'public'))) { + enhancedWebpackConfig.plugin('CopyWebpackPlugin').use(CopyWebpackPlugin, [[]]); + } + + ['jsx', 'tsx'].forEach((ruleName) => { + enhancedWebpackConfig.module + .rule(ruleName) + .use('platform-loader') + .loader(require.resolve('rax-platform-loader')) + .options({ + platform: target + }); + }); + + onGetWebpackConfig(target, (config) => { + // Set public url after developer has set public path + // Get public path + let publicUrl = config.output.get('publicPath'); + + // Developer will use process.env.PUBLIC_URL + '/logo.png', so it need remove last / + if (publicUrl && publicUrl.endsWith('/')) { + publicUrl = publicUrl.substring(0, publicUrl.length - 1); + } + + config.plugin('DefinePlugin').tap((args) => [ + Object.assign(...args, { + 'process.env.PUBLIC_URL': JSON.stringify(publicUrl), + }), + ]); + + const { outputDir = 'build' } = userConfig; + // Copy public dir + if (config.plugins.has('CopyWebpackPlugin')) { + config.plugin('CopyWebpackPlugin').tap(([copyList]) => { + return [ + copyList.concat([ + { + from: path.resolve(rootDir, 'public'), + to: path.resolve(rootDir, outputDir, target), + }, + ]), + ]; + }); + } + }); + + return enhancedWebpackConfig; +}; diff --git a/packages/plugin-rax-app/src/config.js b/packages/plugin-rax-app/src/config.js new file mode 100644 index 0000000000..495362a006 --- /dev/null +++ b/packages/plugin-rax-app/src/config.js @@ -0,0 +1,52 @@ +/* eslint global-require: 0 */ +module.exports = [ + { + name: 'devServer', + defaultValue: { + disableHostCheck: true, + compress: true, + // Use 'ws' instead of 'sockjs-node' on server since webpackHotDevClient is using native websocket + transportMode: 'ws', + logLevel: 'silent', + clientLogLevel: 'none', + hot: true, + publicPath: '/', + quiet: false, + watchOptions: { + ignored: /node_modules/, + aggregateTimeout: 600, + }, + before(app) { + app.use((req, res, next) => { + // set cros for all served files + res.set('Access-Control-Allow-Origin', '*'); + next(); + }); + }, + // For mutilple task, web will occupy the server root route + writeToDisk: true, + historyApiFallback: true, + } + }, + { + name: 'outputAssetsPath', + defaultValue: { + js: '', + css: '', + } + }, + { + name: 'inlineStyle', + defaultValue: false, + configWebpack: require('./userConfig/inlineStyle'), + validation: 'boolean' + }, + { + name: 'polyfill', + defaultValue: 'usage' + }, + { + name: 'compileDependencies', + defaultValue: [''] + } +]; diff --git a/packages/plugin-app-base/src/constants.js b/packages/plugin-rax-app/src/constants.js similarity index 81% rename from packages/plugin-app-base/src/constants.js rename to packages/plugin-rax-app/src/constants.js index cd259e1026..b9faccf672 100644 --- a/packages/plugin-app-base/src/constants.js +++ b/packages/plugin-rax-app/src/constants.js @@ -8,5 +8,5 @@ module.exports = { WECHAT_MINIPROGRAM: 'wechat-miniprogram', BYTEDANCE_MICROAPP: 'bytedance-microapp', QUICKAPP: 'quickapp', - GET_WEBPACK_BASE_CONFIG: 'getWebpackBaseConfig' + GET_RAX_APP_WEBPACK_CONFIG: 'getRaxAppWebpackConfig' }; diff --git a/packages/plugin-rax-app/src/index.js b/packages/plugin-rax-app/src/index.js new file mode 100644 index 0000000000..2e9f4c234d --- /dev/null +++ b/packages/plugin-rax-app/src/index.js @@ -0,0 +1,40 @@ +const path = require('path'); +const { applyCliOption, applyUserConfig } = require('@builder/user-config'); +const getBase = require('./base'); +const { GET_RAX_APP_WEBPACK_CONFIG } = require('./constants'); +const setTest = require('./setTest'); +const setDev = require('./setDev'); +const setBuild = require('./setBuild'); +const customConfigs = require('./config'); + +module.exports = (api) => { + const { onGetWebpackConfig, context, setValue } = api; + const { command, rootDir } = context; + setValue(GET_RAX_APP_WEBPACK_CONFIG, getBase); + + // register cli option + applyCliOption(api); + + // register user config + applyUserConfig(api, { customConfigs }); + + // set webpack config + onGetWebpackConfig((chainConfig) => { + // add resolve modules of project node_modules + chainConfig.resolve.modules.add(path.join(rootDir, 'node_modules')); + }); + + if (command === 'start') { + setDev(api); + } + + if (command === 'build') { + setBuild(api); + } + + if (command === 'test') { + setTest(api); + } +}; + + diff --git a/packages/plugin-app-base/src/postcss.config.js b/packages/plugin-rax-app/src/postcss.config.js similarity index 100% rename from packages/plugin-app-base/src/postcss.config.js rename to packages/plugin-rax-app/src/postcss.config.js diff --git a/packages/plugin-app-base/src/setBuild.js b/packages/plugin-rax-app/src/setBuild.js similarity index 93% rename from packages/plugin-app-base/src/setBuild.js rename to packages/plugin-rax-app/src/setBuild.js index 9a900035f5..5cf152dcd5 100644 --- a/packages/plugin-app-base/src/setBuild.js +++ b/packages/plugin-rax-app/src/setBuild.js @@ -11,18 +11,14 @@ const { } = require('./constants'); const highlightPrint = chalk.hex('#F4AF3D'); +const { logWebpackConfig } = require('./utils'); module.exports = (api) => { - // eslint-disable-next-line global-require - const debug = require('debug')('rax-app'); const { context, onHook } = api; const { rootDir, userConfig } = context; onHook('before.build.run', ({ config: configs }) => { - try { - debug(configs); - // eslint-disable-next-line no-empty - } catch (err) {} + logWebpackConfig(configs); }); onHook('after.build.compile', ({ stats }) => { @@ -97,3 +93,4 @@ module.exports = (api) => { } }); }; + diff --git a/packages/plugin-app-base/src/setDev.js b/packages/plugin-rax-app/src/setDev.js similarity index 79% rename from packages/plugin-app-base/src/setDev.js rename to packages/plugin-rax-app/src/setDev.js index 5f8856c31f..f29fe612bf 100644 --- a/packages/plugin-app-base/src/setDev.js +++ b/packages/plugin-rax-app/src/setDev.js @@ -1,10 +1,11 @@ +const chalk = require('chalk'); const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); const openBrowser = require('react-dev-utils/openBrowser'); -const chalk = require('chalk'); const qrcode = require('qrcode-terminal'); const path = require('path'); const fs = require('fs-extra'); +const logWebpackConfig = require('./utils/logWebpackConfig'); const { MINIAPP, WEB, @@ -18,8 +19,7 @@ const highlightPrint = chalk.hex('#F4AF3D'); module.exports = function(api) { // eslint-disable-next-line global-require - const debug = require('debug')('rax-app'); - const { context, onHook } = api; + const { context, onHook, log } = api; const { commandArgs, userConfig, rootDir } = context; const { targets} = userConfig; let webEntryKeys = []; @@ -49,10 +49,7 @@ module.exports = function(api) { fs.removeSync(path.resolve(rootDir, outputDir, config.name)); }); - try { - debug(configs); - // eslint-disable-next-line no-empty - } catch (err) {} + logWebpackConfig(configs); }); onHook('after.start.compile', async({ urls, stats }) => { @@ -67,7 +64,6 @@ module.exports = function(api) { const isSuccessful = !messages.errors.length; const { outputDir = 'build' } = userConfig; - if (isSuccessful) { if (commandArgs.disableAssets === false) { console.log( @@ -124,12 +120,33 @@ module.exports = function(api) { } if (targets.includes(WEB)) { console.log(highlightPrint(' [Web] Development server at: ')); - webEntryKeys.forEach((entryKey) => { - const entryPath = webMpa ? `${entryKey}.html` : ''; - console.log(` ${chalk.underline.white(`${getLocalUrl(urls.localUrlForBrowser)}${entryPath}`)}`); - console.log(` ${chalk.underline.white(`${getLocalUrl(urls.lanUrlForBrowser)}${entryPath}`)}`); + // do not open browser when restart dev + const shouldOpenBrowser = !commandArgs.disableOpen && !process.env.RESTART_DEV; + if (webEntryKeys.length > 0) { + let openEntries = []; + if (commandArgs.mpaEntry) { + openEntries = commandArgs.mpaEntry.split(','); + } else { + openEntries.push(webEntryKeys[0]); + } + webEntryKeys.forEach((entryKey) => { + const entryPath = webMpa ? `${entryKey}.html` : ''; + console.log(` ${chalk.underline.white(`${urls.localUrlForBrowser}${entryPath}`)}`); + console.log(` ${chalk.underline.white(`${urls.lanUrlForBrowser}${entryPath}`)}`); + console.log(); + if (shouldOpenBrowser && openEntries.includes(entryKey)) { + openBrowser(`${urls.localUrlForBrowser}${entryPath}`); + } + }); + } else { + console.log(` ${chalk.underline.white(`${urls.localUrlForBrowser}`)}`); + console.log(` ${chalk.underline.white(`${urls.lanUrlForBrowser}`)}`); console.log(); - }); + + if (shouldOpenBrowser) { + openBrowser(`${urls.localUrlForBrowser}`); + } + } } if (targets.includes(KRAKEN)) { @@ -162,14 +179,4 @@ module.exports = function(api) { } }); - if (!commandArgs.disableOpen && targets.includes[WEB]) { - onHook('after.start.devServer', ({ url }) => { - // do not open browser when restart dev - if (!process.env.RESTART_DEV) openBrowser(getLocalUrl(url)); - }); - } }; - -function getLocalUrl(url, entryHtml) { - return entryHtml ? `${url}${entryHtml}` : url; -} diff --git a/packages/plugin-app-base/src/setTest.js b/packages/plugin-rax-app/src/setTest.js similarity index 75% rename from packages/plugin-app-base/src/setTest.js rename to packages/plugin-rax-app/src/setTest.js index 2261474f5d..50dfff7592 100644 --- a/packages/plugin-app-base/src/setTest.js +++ b/packages/plugin-rax-app/src/setTest.js @@ -1,26 +1,25 @@ const getJestConfig = require('rax-jest-config'); +const logWebpackConfig = require('./utils/logWebpackConfig'); module.exports = (api) => { - // eslint-disable-next-line global-require - const debug = require('debug')('rax-app'); - const { onGetJestConfig, context, onHook } = api; + const { onHook, onGetJestConfig, context } = api; const { rootDir } = context; - onHook('before.test.run', ({ config: configs }) => { - debug(configs); + onHook('before.test.run', ({ config }) => { + logWebpackConfig(config); }); onGetJestConfig((jestConfig) => { const { moduleNameMapper, ...rest } = jestConfig; - Object.keys(moduleNameMapper).forEach((key) => { + Object.keys(moduleNameMapper).forEach(key => { // escape $ in the beginning. because $ match the end position end in regular expression // '^$ice/history$' -> '^\$ice/history$' if (key.indexOf('^$') === 0) { const newKey = `^\\${key.slice(1)}`; moduleNameMapper[newKey] = moduleNameMapper[key]; delete moduleNameMapper[key]; - } + }; }); const defaultJestConfig = getJestConfig({ rootDir, moduleNameMapper }); diff --git a/packages/plugin-app-base/src/userConfig/inlineStyle.js b/packages/plugin-rax-app/src/userConfig/inlineStyle.js similarity index 100% rename from packages/plugin-app-base/src/userConfig/inlineStyle.js rename to packages/plugin-rax-app/src/userConfig/inlineStyle.js diff --git a/packages/plugin-rax-app/src/utils/index.js b/packages/plugin-rax-app/src/utils/index.js new file mode 100644 index 0000000000..eb63c62e39 --- /dev/null +++ b/packages/plugin-rax-app/src/utils/index.js @@ -0,0 +1,5 @@ +const logWebpackConfig = require('./logWebpackConfig'); + +module.exports = { + logWebpackConfig +}; diff --git a/packages/plugin-rax-app/src/utils/logWebpackConfig.js b/packages/plugin-rax-app/src/utils/logWebpackConfig.js new file mode 100644 index 0000000000..ca1aa1d85e --- /dev/null +++ b/packages/plugin-rax-app/src/utils/logWebpackConfig.js @@ -0,0 +1,18 @@ +const debug = require('debug')('rax-app'); + +module.exports = (configs) => { + try { + const tmp = []; + debug(JSON.stringify(configs, function(key, val) { + if (val != null && typeof val === 'object') { + if (tmp.indexOf(val) >= 0) { + return; + } + tmp.push(val); + } + return val; + }, 2)); + } catch (error) { + // ignore error + } +}; diff --git a/packages/plugin-rax-kraken/package.json b/packages/plugin-rax-kraken/package.json index 24b54b9d3f..1a893b4559 100644 --- a/packages/plugin-rax-kraken/package.json +++ b/packages/plugin-rax-kraken/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-rax-kraken", - "version": "1.0.4", + "version": "1.0.5", "description": "rax kraken app plugin", "main": "lib/index.js", "scripts": { @@ -19,7 +19,7 @@ "dependencies": { "fs-extra": "^9.0.1", "webpack-sources": "^2.0.0", - "build-mpa-config": "^1.0.2", - "build-app-helpers": "^1.0.0" + "@builder/mpa-config": "^1.0.0", + "@builder/app-helpers": "^1.0.0" } } diff --git a/packages/plugin-rax-kraken/src/constants.js b/packages/plugin-rax-kraken/src/constants.js index a9d6ad857d..0aef3e1502 100644 --- a/packages/plugin-rax-kraken/src/constants.js +++ b/packages/plugin-rax-kraken/src/constants.js @@ -1,3 +1,3 @@ module.exports = { - GET_WEBPACK_BASE_CONFIG: 'getWebpackBaseConfig' + GET_RAX_APP_WEBPACK_CONFIG: 'getRaxAppWebpackConfig' }; diff --git a/packages/plugin-rax-kraken/src/index.js b/packages/plugin-rax-kraken/src/index.js index ed3c0483db..af52cb2cfd 100644 --- a/packages/plugin-rax-kraken/src/index.js +++ b/packages/plugin-rax-kraken/src/index.js @@ -1,13 +1,13 @@ const path = require('path'); -const setMPAConfig = require('build-mpa-config'); -const { getMpaEntries } = require('build-app-helpers'); +const setMPAConfig = require('@builder/mpa-config'); +const { getMpaEntries } = require('@builder/app-helpers'); const setEntry = require('./setEntry'); -const { GET_WEBPACK_BASE_CONFIG } = require('./constants'); +const { GET_RAX_APP_WEBPACK_CONFIG } = require('./constants'); module.exports = (api) => { const { getValue, context, registerTask, onGetWebpackConfig, registerUserConfig } = api; - const getWebpackBase = getValue(GET_WEBPACK_BASE_CONFIG); + const getWebpackBase = getValue(GET_RAX_APP_WEBPACK_CONFIG); const target = 'kraken'; const chainConfig = getWebpackBase(api, { target, diff --git a/packages/plugin-rax-kraken/src/setEntry.js b/packages/plugin-rax-kraken/src/setEntry.js index 5c6dae13c2..bb200543a8 100644 --- a/packages/plugin-rax-kraken/src/setEntry.js +++ b/packages/plugin-rax-kraken/src/setEntry.js @@ -9,17 +9,11 @@ module.exports = (config, context) => { const appEntry = moduleResolve(formatPath(path.join(rootDir, './src/app'))); const entryConfig = config.entry('index'); - config.module.rule('appJSON') - .use('loader') - .tap(() => ({ type: target })); - - ['jsx', 'tsx'].forEach(tag => { - config.module.rule(tag) - .use('platform-loader') - .options({ - platform: target, - }); - }); + config.module.rule('platform-loader') + .use('platform-loader') + .options({ + platform: target, + }); entryConfig.add(appEntry); }; diff --git a/packages/plugin-rax-miniapp/package.json b/packages/plugin-rax-miniapp/package.json index 8a3ca2df2f..742fcbdc80 100644 --- a/packages/plugin-rax-miniapp/package.json +++ b/packages/plugin-rax-miniapp/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-rax-miniapp", - "version": "1.0.3", + "version": "1.1.0", "description": "rax miniapp app plugin", "main": "lib/index.js", "scripts": { diff --git a/packages/plugin-rax-miniapp/src/constants.js b/packages/plugin-rax-miniapp/src/constants.js index a9d6ad857d..444a34cd31 100644 --- a/packages/plugin-rax-miniapp/src/constants.js +++ b/packages/plugin-rax-miniapp/src/constants.js @@ -1,3 +1,4 @@ module.exports = { - GET_WEBPACK_BASE_CONFIG: 'getWebpackBaseConfig' + GET_RAX_APP_WEBPACK_CONFIG: 'getRaxAppWebpackConfig', + MINIAPP_COMPILED_DIR: 'miniapp-compiled' }; diff --git a/packages/plugin-rax-miniapp/src/index.js b/packages/plugin-rax-miniapp/src/index.js index 25d7fd0a28..598ded6904 100644 --- a/packages/plugin-rax-miniapp/src/index.js +++ b/packages/plugin-rax-miniapp/src/index.js @@ -2,17 +2,17 @@ const path = require('path'); const fs = require('fs-extra'); const { platformMap } = require('miniapp-builder-shared'); const { setConfig } = require('miniapp-runtime-config'); -const { setAppConfig: setCompileConfig } = require('miniapp-compile-config'); +const { setAppConfig: setAppCompileConfig, setComponentConfig: setComponentCompileConfig } = require('miniapp-compile-config'); const CopyWebpackPlugin = require('copy-webpack-plugin'); const setEntry = require('./setEntry'); -const { GET_WEBPACK_BASE_CONFIG } = require('./constants'); +const { GET_RAX_APP_WEBPACK_CONFIG, MINIAPP_COMPILED_DIR } = require('./constants'); module.exports = (api) => { const { getValue, context, registerTask, onGetWebpackConfig, registerUserConfig } = api; const { userConfig } = context; const { targets, inlineStyle } = userConfig; - const getWebpackBase = getValue(GET_WEBPACK_BASE_CONFIG); + const getWebpackBase = getValue(GET_RAX_APP_WEBPACK_CONFIG); targets.forEach(target => { if (['miniapp', 'wechat-miniprogram', 'bytedance-microapp'].includes(target)) { const chainConfig = getWebpackBase(api, { @@ -27,7 +27,7 @@ module.exports = (api) => { const isCompileProject = userConfig[target] && userConfig[target].buildType === 'compile'; // Set Entry when it's runtime project if (!isCompileProject) { - setEntry(chainConfig, context, target); + setEntry(chainConfig, context); } // Register task registerTask(target, chainConfig); @@ -58,14 +58,14 @@ module.exports = (api) => { config.plugin('CopyWebpackPlugin').tap(([copyList]) => { return [copyList.concat(needCopyDirs)]; }); - } else if (needCopyDirs.length > 1) { + } else if (needCopyDirs.length > 0) { config .plugin('CopyWebpackPlugin') .use(CopyWebpackPlugin, [needCopyDirs]); } if (isCompileProject) { - setCompileConfig(config, userConfig[target] || {}, { target, context, outputPath, entryPath: './src/app' }); + setAppCompileConfig(config, userConfig[target] || {}, { target, context, outputPath, entryPath: './src/app' }); } else { setConfig(config, userConfig[target] || {}, { context, @@ -73,6 +73,29 @@ module.exports = (api) => { babelRuleName: 'babel-loader', modernMode: true }); + + // If miniapp-compiled dir exists, register a new task + const compiledComponentsPath = path.resolve(rootDir, 'src', MINIAPP_COMPILED_DIR); + if (fs.existsSync(compiledComponentsPath)) { + const compiledComponentsChainConfig = getWebpackBase(api, { + target: 'rax-compiled-components', + babelConfigOptions: { styleSheet: inlineStyle, disableRegenerator: true } + }); + compiledComponentsChainConfig.plugins.delete('ProgressPlugin'); + compiledComponentsChainConfig.name('rax-compiled-components'); + compiledComponentsChainConfig.taskName = 'rax-compiled-components'; + + setComponentCompileConfig( + compiledComponentsChainConfig, + { disableCopyNpm: true }, + { + target, + context, + outputPath: path.resolve(rootDir, outputDir, target, MINIAPP_COMPILED_DIR), + entryPath: path.join('src', MINIAPP_COMPILED_DIR, 'index') + }); + registerTask('rax-compiled-components', compiledComponentsChainConfig); + } } }); } diff --git a/packages/plugin-rax-miniapp/src/setEntry.js b/packages/plugin-rax-miniapp/src/setEntry.js index 72f3a9e66c..9bb36223b4 100644 --- a/packages/plugin-rax-miniapp/src/setEntry.js +++ b/packages/plugin-rax-miniapp/src/setEntry.js @@ -1,26 +1,13 @@ const fs = require('fs-extra'); const path = require('path'); -module.exports = (config, context, target) => { +module.exports = (config, context) => { const { rootDir } = context; // SPA const appEntry = moduleResolve(formatPath(path.join(rootDir, './src/app'))); const entryConfig = config.entry('index'); - config.module.rule('appJSON') - .use('loader') - .tap(() => ({ type: target })); - - - ['jsx', 'tsx'].forEach(tag => { - config.module.rule(tag) - .use('platform-loader') - .options({ - platform: target, - }); - }); - entryConfig.add(appEntry); }; diff --git a/packages/plugin-rax-web/package.json b/packages/plugin-rax-web/package.json index 97c31ae459..29d7a1be07 100644 --- a/packages/plugin-rax-web/package.json +++ b/packages/plugin-rax-web/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-rax-web", - "version": "1.0.5", + "version": "1.0.6", "description": "rax web app plugin", "main": "lib/index.js", "scripts": { @@ -17,15 +17,16 @@ "rax": "^1.0.0" }, "dependencies": { - "build-mpa-config": "^1.0.2", + "@builder/mpa-config": "^1.0.0", "error-stack-tracey": "^0.1.3", "fs-extra": "^9.0.1", "klaw-sync": "^6.0.0", "qs": "^6.9.4", - "rax-compile-config": "^0.2.16", "rax-server-renderer": "^1.2.0", "webpack-sources": "^2.0.0", "webpack": "^4.0.0", - "build-app-helpers": "^1.0.0" + "@builder/app-helpers": "^1.0.0", + "react-dev-utils": "^10.0.0", + "chalk": "^4.1.0" } } diff --git a/packages/plugin-rax-web/src/DocumentPlugin/index.js b/packages/plugin-rax-web/src/DocumentPlugin/index.js index 820e04e844..777f5cc825 100644 --- a/packages/plugin-rax-web/src/DocumentPlugin/index.js +++ b/packages/plugin-rax-web/src/DocumentPlugin/index.js @@ -3,7 +3,6 @@ const path = require('path'); const fs = require('fs-extra'); const webpack = require('webpack'); const { RawSource } = require('webpack-sources'); -const { handleWebpackErr } = require('rax-compile-config'); const { parse, print } = require('error-stack-tracey'); const PLUGIN_NAME = 'DocumentPlugin'; @@ -66,10 +65,6 @@ module.exports = class DocumentPlugin { // Document path is specified const absoluteDocumentPath = getAbsoluteFilePath(rootDir, 'src/document/index'); - // Shell is enabled by config in app.json, so it can be disabled without delete code - const appConfig = fs.readJsonSync(path.join(rootDir, 'src/app.json')); - const shellPath = appConfig.shell && appConfig.shell.source; - const absoluteShellPath = shellPath ? getAbsoluteFilePath(rootDir, path.join('src', shellPath)) : null; const manifestString = options.manifests ? JSON.stringify(options.manifests) : null; delete webpackConfig.entry.index; @@ -79,10 +74,8 @@ module.exports = class DocumentPlugin { const { tempFile, source, pagePath } = pageInfo; const absolutePagePath = options.staticExport && source ? getAbsoluteFilePath(rootDir, path.join('src', source)) : ''; - const query = { absoluteDocumentPath, - absoluteShellPath, absolutePagePath, pagePath, doctype: options.doctype, @@ -132,7 +125,7 @@ module.exports = class DocumentPlugin { // Run as child to get child compilation childCompiler.runAsChild((err, entries, childCompilation) => { if (err) { - handleWebpackErr(err); + console.log(err); } else { fileDependencies = childCompilation.fileDependencies; } @@ -257,7 +250,6 @@ function getAssetsForPage(files, publicPath) { /** * Get the exact file * @param {*} rootDir '/Document/work/code/rax-demo/' - * @param {*} filePath 'src/shell/index' */ function getAbsoluteFilePath(rootDir, filePath) { const exts = ['.js', '.jsx', '.tsx']; diff --git a/packages/plugin-rax-web/src/constants.js b/packages/plugin-rax-web/src/constants.js index a9d6ad857d..0aef3e1502 100644 --- a/packages/plugin-rax-web/src/constants.js +++ b/packages/plugin-rax-web/src/constants.js @@ -1,3 +1,3 @@ module.exports = { - GET_WEBPACK_BASE_CONFIG: 'getWebpackBaseConfig' + GET_RAX_APP_WEBPACK_CONFIG: 'getRaxAppWebpackConfig' }; diff --git a/packages/plugin-rax-web/src/index.js b/packages/plugin-rax-web/src/index.js index 6be0f910f5..561339326c 100644 --- a/packages/plugin-rax-web/src/index.js +++ b/packages/plugin-rax-web/src/index.js @@ -1,15 +1,15 @@ const path = require('path'); -const setMPAConfig = require('build-mpa-config'); -const { getMpaEntries } = require('build-app-helpers'); +const setMPAConfig = require('@builder/mpa-config'); +const { getMpaEntries } = require('@builder/app-helpers'); const setDev = require('./setDev'); const setEntry = require('./setEntry'); const DocumentPlugin = require('./DocumentPlugin'); -const { GET_WEBPACK_BASE_CONFIG } = require('./constants'); +const { GET_RAX_APP_WEBPACK_CONFIG } = require('./constants'); module.exports = (api) => { - const { onGetWebpackConfig, getValue, context, registerTask, registerUserConfig } = api; + const { onGetWebpackConfig, getValue, context, registerTask, registerUserConfig, registerCliOption } = api; - const getWebpackBase = getValue(GET_WEBPACK_BASE_CONFIG); + const getWebpackBase = getValue(GET_RAX_APP_WEBPACK_CONFIG); const target = 'web'; const { userConfig = {} } = context; const chainConfig = getWebpackBase(api, { @@ -66,6 +66,11 @@ module.exports = (api) => { }, ]); if (webConfig.mpa) { + // support --mpa-entry to specify mpa entry + registerCliOption({ + name: 'mpa-entry', + commands: ['start'], + }); setMPAConfig.default(config, { context, type: 'web', entries: getMpaEntries(api, { target, appJsonPath: path.join(rootDir, 'src/app.json') diff --git a/packages/plugin-rax-web/src/setEntry.js b/packages/plugin-rax-web/src/setEntry.js index c19c9f2c02..e966b380ec 100644 --- a/packages/plugin-rax-web/src/setEntry.js +++ b/packages/plugin-rax-web/src/setEntry.js @@ -1,32 +1,19 @@ const path = require('path'); const fs = require('fs-extra'); -const { hmrClient } = require('rax-compile-config'); - module.exports = (config, context) => { const { rootDir, command } = context; const isDev = command === 'start'; - const target = 'web'; // SPA const appEntry = moduleResolve(formatPath(path.join(rootDir, './src/app'))); const entryConfig = config.entry('index'); config.module.rule('appJSON') - .use('loader') - .tap(() => ({ type: target })); - - - ['jsx', 'tsx'].forEach(tag => { - config.module.rule(tag) - .use('platform-loader') - .options({ - platform: target, - }); - }); + .use('loader'); if (isDev) { - entryConfig.add(hmrClient); + entryConfig.add(require.resolve('react-dev-utils/webpackHotDevClient')); } entryConfig.add(appEntry); }; diff --git a/packages/plugin-rax-weex/package.json b/packages/plugin-rax-weex/package.json index 85d99388f8..5f40d67063 100644 --- a/packages/plugin-rax-weex/package.json +++ b/packages/plugin-rax-weex/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-rax-weex", - "version": "1.0.5", + "version": "1.0.6", "description": "rax weex app plugin", "main": "lib/index.js", "scripts": { @@ -17,10 +17,10 @@ "rax": "^1.0.0" }, "dependencies": { - "build-mpa-config": "^1.0.2", + "@builder/mpa-config": "^1.0.0", "fs-extra": "^9.0.1", - "rax-compile-config": "^0.2.16", "webpack-sources": "^2.0.0", - "build-app-helpers": "^1.0.0" + "@builder/app-helpers": "^1.0.0", + "react-dev-utils": "^10.0.0" } } diff --git a/packages/plugin-rax-weex/src/constants.js b/packages/plugin-rax-weex/src/constants.js index a9d6ad857d..0aef3e1502 100644 --- a/packages/plugin-rax-weex/src/constants.js +++ b/packages/plugin-rax-weex/src/constants.js @@ -1,3 +1,3 @@ module.exports = { - GET_WEBPACK_BASE_CONFIG: 'getWebpackBaseConfig' + GET_RAX_APP_WEBPACK_CONFIG: 'getRaxAppWebpackConfig' }; diff --git a/packages/plugin-rax-weex/src/index.js b/packages/plugin-rax-weex/src/index.js index 532adc9815..79983c10b8 100644 --- a/packages/plugin-rax-weex/src/index.js +++ b/packages/plugin-rax-weex/src/index.js @@ -1,15 +1,15 @@ const path = require('path'); -const setMPAConfig = require('build-mpa-config'); -const { getMpaEntries } = require('build-app-helpers'); +const setMPAConfig = require('@builder/mpa-config'); +const { getMpaEntries } = require('@builder/app-helpers'); const setEntry = require('./setEntry'); -const { GET_WEBPACK_BASE_CONFIG } = require('./constants'); +const { GET_RAX_APP_WEBPACK_CONFIG } = require('./constants'); const WeexFrameworkBannerPlugin = require('./WeexFrameworkBannerPlugin'); module.exports = (api) => { const { getValue, context, registerTask, onGetWebpackConfig, registerUserConfig } = api; const { userConfig, rootDir, command } = context; - const getWebpackBase = getValue(GET_WEBPACK_BASE_CONFIG); + const getWebpackBase = getValue(GET_RAX_APP_WEBPACK_CONFIG); const target = 'weex'; const chainConfig = getWebpackBase(api, { target: 'weex', diff --git a/packages/plugin-rax-weex/src/setEntry.js b/packages/plugin-rax-weex/src/setEntry.js index 382c68ccde..442c90c2cf 100644 --- a/packages/plugin-rax-weex/src/setEntry.js +++ b/packages/plugin-rax-weex/src/setEntry.js @@ -1,31 +1,16 @@ -const { hmrClient } = require('rax-compile-config'); const fs = require('fs-extra'); const path = require('path'); module.exports = (config, context) => { const { rootDir, command } = context; const isDev = command === 'start'; - const target = 'weex'; // SPA const appEntry = moduleResolve(formatPath(path.join(rootDir, './src/app'))); const entryConfig = config.entry('index'); - config.module.rule('appJSON') - .use('loader') - .tap(() => ({ type: target })); - - - ['jsx', 'tsx'].forEach(tag => { - config.module.rule(tag) - .use('platform-loader') - .options({ - platform: target, - }); - }); - if (isDev) { - entryConfig.add(hmrClient); + entryConfig.add(require.resolve('react-dev-utils/webpackHotDevClient')); } entryConfig.add(appEntry); }; diff --git a/packages/plugin-react-app/package.json b/packages/plugin-react-app/package.json index fb591fabad..68349e135e 100644 --- a/packages/plugin-react-app/package.json +++ b/packages/plugin-react-app/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-react-app", - "version": "1.7.8", + "version": "1.7.9", "description": "The basic webpack configuration for ice project", "author": "ice-admin@alibaba-inc.com", "main": "src/index.js", @@ -13,28 +13,20 @@ ], "license": "MIT", "dependencies": { - "@alifd/fusion-collector": "^1.2.5", - "@babel/plugin-transform-runtime": "^7.6.2", - "add-asset-html-webpack-plugin": "^3.1.3", + "@builder/app-helpers": "^1.0.0", + "@builder/user-config": "^0.1.0", "build-scripts-config": "^0.1.0", "chalk": "^4.0.0", "copy-webpack-plugin": "^5.0.4", - "core-js": "^3.3.1", + "core-js": "^3.7.0", "debug": "^4.1.1", - "eslint-loader": "^4.0.0", - "fork-ts-checker-webpack-plugin": "^5.0.5", - "friendly-errors-webpack-plugin": "^1.7.0", "fs-extra": "^8.1.0", "html-webpack-plugin": "^3.2.0", - "loader-utils": "^2.0.0", "lodash": "^4.17.15", "mkcert": "^1.2.0", "path-exists": "^4.0.0", "postcss-plugin-rpx2vw": "^0.0.2", "react-dev-utils": "^10.2.1", - "regenerator-runtime": "^0.13.3", - "webpack-bundle-analyzer": "^3.6.0", - "webpack-dev-mock": "^1.0.1", "webpack-plugin-import": "^0.2.6" }, "devDependencies": { diff --git a/packages/plugin-react-app/src/base.js b/packages/plugin-react-app/src/base.js deleted file mode 100644 index 0f53c37196..0000000000 --- a/packages/plugin-react-app/src/base.js +++ /dev/null @@ -1,152 +0,0 @@ -/* eslint-disable import/no-dynamic-require, global-require */ -const path = require('path'); -const { getWebpackConfig, getBabelConfig } = require('build-scripts-config'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const WebpackPluginImport = require('webpack-plugin-import'); -const getWebOutputPath = require('./utils/getWebOutputPath'); -const getFilePath = require('./utils/getFilePath'); -const collect = require('./utils/collect'); -const { WEB } = require('./constants'); - -// eslint-disable-next-line -const chalk = require('chalk'); - -module.exports = (api, { isMiniapp, target }) => { - const { context, log } = api; - const { command, rootDir, webpack, commandArgs, pkg } = context; - const appMode = commandArgs.mode || command; - collect({ command, log, rootDir, pkg }); - const babelConfig = getBabelConfig(); - - const mode = command === 'start' ? 'development' : 'production'; - const config = getWebpackConfig(mode); - // 1M = 1024 KB = 1048576 B - config.performance.maxAssetSize(1048576).maxEntrypointSize(1048576); - - // setup DefinePlugin, HtmlWebpackPlugin and CopyWebpackPlugin out of onGetWebpackConfig - // in case of registerUserConfig will be excute before onGetWebpackConfig - - // DefinePlugin - const defineVariables = { - 'process.env.NODE_ENV': JSON.stringify(mode || 'development'), - 'process.env.APP_MODE': JSON.stringify(appMode), - 'process.env.SERVER_PORT': JSON.stringify(commandArgs.port), - }; - - const outputPath = getWebOutputPath(context, { target }); - - config - .plugin('SimpleProgressPlugin') - .tap(([args]) => { - return [{ - ...args, - progressOptions: { - clear: true, - callback: () => { - console.log(); - } - } - }]; - }) - .end() - .plugin('DefinePlugin') - .use(webpack.DefinePlugin, [defineVariables]) - .end() - // HtmlWebpackPlugin - .plugin('HtmlWebpackPlugin') - .use(HtmlWebpackPlugin, [{ - inject: true, - templateParameters: { - NODE_ENV: process.env.NODE_ENV, - }, - favicon: getFilePath([ - path.join(rootDir, 'public/favicon.ico'), - path.join(rootDir, 'public/favicon.png'), - ]), - template: path.resolve(rootDir, 'public/index.html'), - minify: false, - }]) - .end() - // CopyWebpackPlugin - .plugin('CopyWebpackPlugin') - .use(CopyWebpackPlugin, [[ - { - from: path.resolve(rootDir, 'public'), - to: path.resolve(rootDir, outputPath), - ignore: ['index.html'], - }, - ]]) - .end() - // WebpackPluginImport - .plugin('WebpackPluginImport') - .use(WebpackPluginImport, [[ - { - libraryName: /@ali\/ice-.*/, - stylePath: 'style.js', - }, - ]]) - .end(); - - // Process rpx to vw - if (target === WEB) { - const cssPreprocessor = [ 'scss', 'scss-module', 'css', 'css-module', 'less', 'less-module']; - cssPreprocessor.forEach(rule => { - if (config.module.rules.get(rule)) { - config.module - .rule(rule) - .use('postcss-loader') - .tap((options) => { - const { plugins = [] } = options; - return { - ...options, - plugins: [ - ...plugins, - // eslint-disable-next-line - require('postcss-plugin-rpx2vw') - ], - }; - }); - } - }); - } - - // Process app.json file - config.module.rule('appJSON') - .type('javascript/auto') - .test(/app\.json$/) - .use('babel-loader') - .loader(require.resolve('babel-loader')) - .options(babelConfig) - .end() - .use('loader') - .loader(require.resolve('./loaders/AppConfigLoader')); - - - config.devServer.set('writeToDisk', isMiniapp); - - if (command === 'start') { - // disable build-scripts stats output - process.env.DISABLE_STATS = true; - - // set hot reload plugin - config - .plugin('HotModuleReplacementPlugin') - .use(webpack.HotModuleReplacementPlugin) - .end() - .plugin('friendly-error') - .use(require.resolve('friendly-errors-webpack-plugin'), [ - { - clearConsole: false, - } - ]) - .end(); - - if (isMiniapp) { - config.plugins.delete('HotModuleReplacementPlugin'); - config.devServer.hot(false).inline(false); - } - } - - return config; -}; diff --git a/packages/plugin-react-app/src/cliOption/analyzer.js b/packages/plugin-react-app/src/cliOption/analyzer.js deleted file mode 100644 index 42e4f79ab3..0000000000 --- a/packages/plugin-react-app/src/cliOption/analyzer.js +++ /dev/null @@ -1,8 +0,0 @@ -const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); - -module.exports = (config, analyzer) => { - if (analyzer) { - config.plugin('webpack-bundle-analyzer') - .use(BundleAnalyzerPlugin, [{ analyzerPort: '9000' }]); - } -}; diff --git a/packages/plugin-react-app/src/cliOption/analyzerPort.js b/packages/plugin-react-app/src/cliOption/analyzerPort.js deleted file mode 100644 index 2f383937c6..0000000000 --- a/packages/plugin-react-app/src/cliOption/analyzerPort.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = (config, port) => { - if (port && config.plugins.get('webpack-bundle-analyzer')) { - config.plugin('webpack-bundle-analyzer').tap(([args]) => { - const newArgs = {...args, analyzerPort: port }; - return [newArgs]; - }); - } -}; diff --git a/packages/plugin-react-app/src/cliOption/disableReload.js b/packages/plugin-react-app/src/cliOption/disableReload.js deleted file mode 100644 index 2296b4a0db..0000000000 --- a/packages/plugin-react-app/src/cliOption/disableReload.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = (config, disableReload) => { - if (disableReload) { - config.plugins.delete('HotModuleReplacementPlugin'); - - // remove css hot loader of scss/module-scss/css/module-css/less/module-less - ['scss', 'scss-module', 'css', 'css-module', 'less', 'less-module'].forEach((rule) => { - if (config.module.rules.get(rule)) { - config.module.rule(rule).uses.delete('css-hot-loader'); - } - }); - config.devServer.hot(false).inline(false); - } -}; diff --git a/packages/plugin-react-app/src/config.js b/packages/plugin-react-app/src/config.js new file mode 100644 index 0000000000..e40c91d6a2 --- /dev/null +++ b/packages/plugin-react-app/src/config.js @@ -0,0 +1,44 @@ +const { validation } = require('@builder/app-helpers'); + +/* eslint global-require: 0 */ +module.exports = function(userConfig) { + let polyfillDefaultValue = 'entry'; + if (Object.prototype.hasOwnProperty.call(userConfig, 'injectBabel') && userConfig.injectBabel === false) { + polyfillDefaultValue = false; + } + return [ + { + name: 'entry', + defaultValue: 'src/index.jsx', + configWebpack: require('./userConfig/entry'), + validation: (val) => { + // entry: string | array + // entry : { [name]: string | array } + return validation('entry', val, 'string|array|object'); + }, + }, + { + name: 'ignoreHtmlTemplate', + defauleValue: false, + configWebpack: require('./userConfig/ignoreHtmlTemplate'), + validation: 'boolean', + }, + { + name: 'outputDir', + defaultValue: 'build', + configWebpack: require('./userConfig/outputDir'), + validation: 'string' + }, + { + name: 'injectBabel', + defaultValue: 'polyfill', + validation: (val) => { + return validation('injectBabel', val, 'string|boolean'); + } + }, + { + name: 'polyfill', + defaultValue: polyfillDefaultValue + } + ]; +}; diff --git a/packages/plugin-react-app/src/config/option.config.js b/packages/plugin-react-app/src/config/option.config.js deleted file mode 100644 index b071852232..0000000000 --- a/packages/plugin-react-app/src/config/option.config.js +++ /dev/null @@ -1,32 +0,0 @@ -module.exports = { - https: { - commands: ['start'], - }, - analyzer: { - commands: ['start', 'build'], - }, - 'analyzer-port': { - commands: ['start', 'build'], - module: 'analyzerPort', - }, - 'disable-reload': { - commands: ['start'], - module: 'disableReload', - }, - 'disable-mock': { - module: false, - commands: ['start'], - }, - 'disable-open': { - module: false, - commands: ['start'], - }, - 'mode': { - module: false, - commands: ['start', 'build'], - }, - 'disable-assets': { - module: false, - commands: ['start'], - }, -}; diff --git a/packages/plugin-react-app/src/config/validation.js b/packages/plugin-react-app/src/config/validation.js deleted file mode 100644 index a994fdc9c4..0000000000 --- a/packages/plugin-react-app/src/config/validation.js +++ /dev/null @@ -1,74 +0,0 @@ -const assert = require('assert'); -const { isPlainObject } = require('lodash'); - -const validation = (key, value, types) => { - const validateResult = types.split('|').some((type) => { - if (type === 'array') { - return Array.isArray(value); - } else if (type === 'object') { - return isPlainObject(value); - } else { - // eslint-disable-next-line valid-typeof - return typeof value === type; - } - }); - assert(validateResult, `Config ${key} should be ${types.replace('|', ' | ')}, but got ${value}`); - return validateResult; -}; - -module.exports = { - alias: 'object', - define: 'object', - devPublicPath: 'string', - filename: 'string', - extensions: 'array', - modules: 'array', - devServer: 'object', - entry: (val) => { - // entry: string | array - // entry : { [name]: string | array } - return validation('entry', val, 'string|array|object'); - }, - externals: 'object', - hash: (val) => { - return validation('hash', val, 'string|boolean'); - }, - injectBabel: (val) => { - return validation('injectBabel', val, 'string|boolean'); - }, - minify: 'boolean', - mock: 'boolean', - outputAssetsPath: 'object', - outputDir: 'string', - proxy: 'object', - publicPath: 'string', - targets: 'array', - browserslist: (val) => { - return validation('browserslist', val, 'string|object'); - }, - vendor: 'boolean', - library: (val) => { - return validation('library', val, 'string|object'); - }, - libraryTarget: 'string', - libraryExport: (val) => { - return validation('library', val, 'string|array'); - }, - ignoreHtmlTemplate: 'boolean', - sourceMap: 'boolean', - terserOptions: 'object', - cssLoaderOptions:'object', - lessLoaderOptions: 'object', - sassLoaderOptions: 'object', - postcssrc: 'boolean', - compileDependencies: 'array', - babelPlugins: 'array', - babelPresets: 'array', - eslint: (val) => { - return validation('eslint', val, 'boolean|object'); - }, - tsChecker: 'boolean', - dll: 'boolean', - // dllEntry: { [string]: string[] } - dllEntry: 'object' -}; diff --git a/packages/plugin-react-app/src/index.js b/packages/plugin-react-app/src/index.js index 16a636c75b..a76c9b9cb5 100644 --- a/packages/plugin-react-app/src/index.js +++ b/packages/plugin-react-app/src/index.js @@ -1,55 +1,34 @@ const path = require('path'); -const { getJestConfig } = require('build-scripts-config'); -const openBrowser = require('react-dev-utils/openBrowser'); -const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); -const chalk = require('chalk'); -const debug = require('debug')('icejs'); -const registerCliOption = require('./registerCliOption'); -const registerUserConfig = require('./registerUserConfig'); -const modifyUserConfig = require('./modifyUserConfig'); -const getBase = require('./base'); -const getMiniappOutputPath = require('./utils/getMiniappOutputPath'); -const getWebOutputPath = require('./utils/getWebOutputPath'); +const { applyCliOption, applyUserConfig, getEnhancedWebpackConfig } = require('@builder/user-config'); +const { getWebpackConfig, getBabelConfig } = require('build-scripts-config'); const { WEB, MINIAPP, WECHAT_MINIPROGRAM} = require('./constants'); +const getCustomConfigs = require('./config'); +const setBase = require('./setBase'); +const setDev = require('./setDev'); +const setBuild = require('./setBuild'); +const setTest = require('./setTest'); +const logDetectedTip = require('./utils/logDetectedTip'); module.exports = (api) => { - const { onGetJestConfig, onGetWebpackConfig, context, registerTask, onHook } = api; - const { command, rootDir, commandArgs, userConfig } = context; - const { targets = [WEB], mpa } = userConfig; + const { onGetWebpackConfig, context, registerTask } = api; + const { command, rootDir, userConfig } = context; + const { targets = [WEB] } = userConfig; + const mode = command === 'start' ? 'development' : 'production'; + const webpackConfig = getWebpackConfig(mode); + const babelConfig = getBabelConfig(); const isMiniapp = targets.includes(MINIAPP) || targets.includes(WECHAT_MINIPROGRAM); - // open the specified html in MPA mode - let entryHtml; - if (mpa) { - if (commandArgs.mpaEntry) { - const arr = commandArgs.mpaEntry.split(','); - const pageName = arr[0].toLocaleLowerCase(); - entryHtml = `${pageName}.html`; - } else { - onGetWebpackConfig(config => { - const defaultEntryNames = Object.keys(config.entryPoints.entries()); - let pageName = ''; - if (typeof mpa.openPage === 'string') { - pageName = mpa.openPage.split('.html')[0]; - } else { - pageName = defaultEntryNames[0]; - } - entryHtml = pageName ? `${pageName.toLocaleLowerCase()}.html` : ''; - }); - } - } + // tip detected injectBabel + logDetectedTip(userConfig); // register cli option - registerCliOption(api); + applyCliOption(api); // register user config - registerUserConfig(api); - - // modify user config to keep excute order - modifyUserConfig(api); + applyUserConfig(api, { customConfigs: getCustomConfigs(userConfig) }); // set webpack config - onGetWebpackConfig((chainConfig) => { + onGetWebpackConfig(chainConfig => { // add resolve modules of project node_modules chainConfig.resolve.modules.add(path.join(rootDir, 'node_modules')); }); @@ -60,134 +39,29 @@ module.exports = (api) => { if (target === WEB && !userConfig.targets) { target = ''; } - registerTask(target, getBase(api, { isMiniapp, target })); - }); - - if (command === 'test') { - onHook('before.test.run', ({ config }) => { - logWebpackConfig(config); - }); + registerTask(target, getEnhancedWebpackConfig(api, { target, webpackConfig, babelConfig })); - onGetJestConfig((jestConfig) => { - const { moduleNameMapper, ...rest } = jestConfig; - - Object.keys(moduleNameMapper).forEach(key => { - // escape $ in the beginning. because $ match the end position end in regular expression - // '^$ice/history$' -> '^\$ice/history$' - if (key.indexOf('^$') === 0) { - const newKey = `^\\${key.slice(1)}`; - moduleNameMapper[newKey] = moduleNameMapper[key]; - delete moduleNameMapper[key]; - }; - }); - - const defaultJestConfig = getJestConfig({ rootDir, moduleNameMapper }); - return { - ...defaultJestConfig, - ...rest, - // defaultJestConfig.moduleNameMapper already combine jestConfig.moduleNameMapper - moduleNameMapper: defaultJestConfig.moduleNameMapper, - }; + onGetWebpackConfig((chainConfig) => { + setBase(api, { target, webpackConfig: chainConfig }); }); - } + }); if (command === 'start') { - onHook('before.start.run', ({ config }) => { - logWebpackConfig(config); - }); - - onHook('after.start.compile', ({ urls, stats }) => { - const statsJson = stats.toJson({ - all: false, - errors: true, - warnings: true, - timings: true, - }); - const messages = formatWebpackMessages(statsJson); - // 包含错误时不打印 localUrl 和 assets 信息 - const isSuccessful = !messages.errors.length; - if (isSuccessful) { - - if (isMiniapp) { - console.log(chalk.green(' Starting the development server at:')); - console.log(); - - if (targets.includes(MINIAPP)) { - console.log(chalk.green(' [Ali Miniapp] Use ali miniapp developer tools to open the following folder:')); - console.log(' ', chalk.underline.white(getMiniappOutputPath(context))); - console.log(); - } - - if (targets.includes(WECHAT_MINIPROGRAM)) { - console.log(chalk.green(' [WeChat MiniProgram] Use wechat miniprogram developer tools to open the following folder:')); - console.log(' ', chalk.underline.white(getMiniappOutputPath(context, { target: WECHAT_MINIPROGRAM }))); - console.log(); - } - } - - if (targets.includes('web')) { - if (!commandArgs.disableAssets) { - console.log(stats.toString({ - errors: false, - warnings: false, - colors: true, - assets: true, - chunks: false, - entrypoints: false, - modules: false, - timings: false - })); - } - - console.log(); - console.log(chalk.green(' Starting the development server at:')); - console.log(' - Local : ', chalk.underline.white(getLocalUrl(urls.localUrlForBrowser, entryHtml))); - console.log(' - Network: ', chalk.underline.white(getLocalUrl(urls.lanUrlForTerminal, entryHtml))); - console.log(); - } + onGetWebpackConfig(config => { + if (isMiniapp) { + config.plugins.delete('HotModuleReplacementPlugin'); + config.devServer.set('writeToDisk', isMiniapp); + config.devServer.hot(false).inline(false); } }); + setDev(api, { targets, isMiniapp }); } if (command === 'build') { - onHook('before.build.run', ({ config }) => { - logWebpackConfig(config); - }); - - targets.forEach((target) => { - onGetWebpackConfig(target, (config) => { - const outputPath = getWebOutputPath(context, { target }); - config.output.path(outputPath); - }); - }); + setBuild(api, { targets }); } - // open browser on server start - if (!commandArgs.disableOpen && !isMiniapp) { - onHook('after.start.devServer', ({ url }) => { - // do not open browser when restart dev - if (!process.env.RESTART_DEV) openBrowser(getLocalUrl(url, entryHtml)); - }); + if (command === 'test') { + setTest(api); } }; - -function getLocalUrl(url, entryHtml) { - return entryHtml ? `${url}${entryHtml}` : url; -} - -function logWebpackConfig(config) { - try { - const tmp = []; - debug(JSON.stringify(config, function(key, val) { - if (val != null && typeof val === 'object') { - if (tmp.indexOf(val) >= 0) { - return; - } - tmp.push(val); - } - return val; - }, 2)); - } catch (error) { - // ignore error - } -} diff --git a/packages/plugin-react-app/src/loaders/AppConfigLoader/getDepPath.js b/packages/plugin-react-app/src/loaders/AppConfigLoader/getDepPath.js deleted file mode 100644 index 54aa9812d0..0000000000 --- a/packages/plugin-react-app/src/loaders/AppConfigLoader/getDepPath.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * ./pages/foo -> based on src, return original - * / -> based on absolute path - * pages/foo -> based on src, add prefix: './' - */ -module.exports = function getDepPath(path) { - if (path[0] === '.' || path[0] === '/') { - return path; - } else { - return `./${path}`; - } -}; diff --git a/packages/plugin-react-app/src/registerCliOption.js b/packages/plugin-react-app/src/registerCliOption.js deleted file mode 100644 index f7140633d6..0000000000 --- a/packages/plugin-react-app/src/registerCliOption.js +++ /dev/null @@ -1,23 +0,0 @@ -const optionConfig = require('./config/option.config'); - -module.exports = (api) => { - const { registerCliOption, log } = api; - const optionKeys = Object.keys(optionConfig); - registerCliOption(optionKeys.map((optionKey) => { - const { module, commands } = optionConfig[optionKey]; - const moduleName = module || optionKey; - const optionDefination = { - name: optionKey, - commands, - }; - if (module !== false) { - try { - // eslint-disable-next-line - optionDefination.configWebpack = require(`./cliOption/${moduleName}`); - } catch (err) { - log.error(err); - } - } - return optionDefination; - })); -}; diff --git a/packages/plugin-react-app/src/setBase.js b/packages/plugin-react-app/src/setBase.js new file mode 100644 index 0000000000..ca929c7b7c --- /dev/null +++ b/packages/plugin-react-app/src/setBase.js @@ -0,0 +1,86 @@ +const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); +const WebpackPluginImport = require('webpack-plugin-import'); +const { getFilePath, getWebOutputPath } = require('./utils'); +const { WEB } = require('./constants'); + +module.exports = (api, { target, webpackConfig }) => { + const { context } = api; + const { rootDir } = context; + const outputPath = getWebOutputPath(context, { target }); + webpackConfig + // SimpleProgressPlugin + .plugin('SimpleProgressPlugin') + .tap(([args]) => { + return [{ + ...args, + progressOptions: { + clear: true, + callback: () => { + console.log(); + } + } + }]; + }) + .end() + // HtmlWebpackPlugin + .plugin('HtmlWebpackPlugin') + .use(HtmlWebpackPlugin, [{ + inject: true, + templateParameters: { + NODE_ENV: process.env.NODE_ENV, + }, + favicon: getFilePath([ + path.join(rootDir, 'public/favicon.ico'), + path.join(rootDir, 'public/favicon.png'), + ]), + template: path.resolve(rootDir, 'public/index.html'), + minify: false, + }]) + .end() + // CopyWebpackPlugin + .plugin('CopyWebpackPlugin') + .use(CopyWebpackPlugin, [[ + { + from: path.resolve(rootDir, 'public'), + to: path.resolve(rootDir, outputPath), + ignore: ['index.html'], + }, + ]]) + .end() + // WebpackPluginImport + .plugin('WebpackPluginImport') + .use(WebpackPluginImport, [[ + { + libraryName: /@ali\/ice-.*/, + stylePath: 'style.js', + }, + ]]) + .end(); + + // Process rpx to vw + if (target === WEB) { + const cssPreprocessor = [ 'scss', 'scss-module', 'css', 'css-module', 'less', 'less-module']; + cssPreprocessor.forEach(rule => { + if (webpackConfig.module.rules.get(rule)) { + webpackConfig.module + .rule(rule) + .use('postcss-loader') + .tap((options) => { + const { plugins = [] } = options; + return { + ...options, + plugins: [ + ...plugins, + // eslint-disable-next-line + require('postcss-plugin-rpx2vw') + ], + }; + }); + } + }); + } + + return webpackConfig; +}; diff --git a/packages/plugin-react-app/src/setBuild.js b/packages/plugin-react-app/src/setBuild.js new file mode 100644 index 0000000000..9df900ca40 --- /dev/null +++ b/packages/plugin-react-app/src/setBuild.js @@ -0,0 +1,17 @@ +const { getWebOutputPath, logWebpackConfig } = require('./utils'); + +module.exports = (api, opts) => { + const { context, onHook, onGetWebpackConfig } = api; + const { targets } = opts; + + onHook('before.build.run', ({ config }) => { + logWebpackConfig(config); + }); + + targets.forEach((target) => { + onGetWebpackConfig(target, (config) => { + const outputPath = getWebOutputPath(context, { target }); + config.output.path(outputPath); + }); + }); +}; diff --git a/packages/plugin-react-app/src/setDev.js b/packages/plugin-react-app/src/setDev.js new file mode 100644 index 0000000000..e90e1d47a8 --- /dev/null +++ b/packages/plugin-react-app/src/setDev.js @@ -0,0 +1,101 @@ +const chalk = require('chalk'); +const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); +const openBrowser = require('react-dev-utils/openBrowser'); +const getMiniappOutputPath = require('./utils/getMiniappOutputPath'); +const logWebpackConfig = require('./utils/logWebpackConfig'); +const { MINIAPP, WECHAT_MINIPROGRAM} = require('./constants'); + +module.exports = (api, opts) => { + const { onHook, context, onGetWebpackConfig } = api; + const { commandArgs, userConfig: { mpa } } = context; + const { targets, isMiniapp } = opts; + + // open the specified html in MPA mode + let entryHtml; + if (mpa) { + if (commandArgs.mpaEntry) { + const arr = commandArgs.mpaEntry.split(','); + const pageName = arr[0].toLocaleLowerCase(); + entryHtml = `${pageName}.html`; + } else { + onGetWebpackConfig(config => { + const defaultEntryNames = Object.keys(config.entryPoints.entries()); + let pageName = ''; + if (typeof mpa.openPage === 'string') { + pageName = mpa.openPage.split('.html')[0]; + } else { + pageName = defaultEntryNames[0]; + } + entryHtml = pageName ? `${pageName.toLocaleLowerCase()}.html` : ''; + }); + } + } + + onHook('before.start.run', ({ config }) => { + logWebpackConfig(config); + }); + + onHook('after.start.compile', ({ urls, stats }) => { + const statsJson = stats.toJson({ + all: false, + errors: true, + warnings: true, + timings: true, + }); + const messages = formatWebpackMessages(statsJson); + // 包含错误时不打印 localUrl 和 assets 信息 + const isSuccessful = !messages.errors.length; + if (isSuccessful) { + + if (isMiniapp) { + console.log(chalk.green(' Starting the development server at:')); + console.log(); + + if (targets.includes(MINIAPP)) { + console.log(chalk.green(' [Ali Miniapp] Use ali miniapp developer tools to open the following folder:')); + console.log(' ', chalk.underline.white(getMiniappOutputPath(context))); + console.log(); + } + + if (targets.includes(WECHAT_MINIPROGRAM)) { + console.log(chalk.green(' [WeChat MiniProgram] Use wechat miniprogram developer tools to open the following folder:')); + console.log(' ', chalk.underline.white(getMiniappOutputPath(context, { target: WECHAT_MINIPROGRAM }))); + console.log(); + } + } + + if (targets.includes('web')) { + if (!commandArgs.disableAssets) { + console.log(stats.toString({ + errors: false, + warnings: false, + colors: true, + assets: true, + chunks: false, + entrypoints: false, + modules: false, + timings: false + })); + } + + console.log(); + console.log(chalk.green(' Starting the development server at:')); + console.log(' - Local : ', chalk.underline.white(getLocalUrl(urls.localUrlForBrowser, entryHtml))); + console.log(' - Network: ', chalk.underline.white(getLocalUrl(urls.lanUrlForTerminal, entryHtml))); + console.log(); + } + } + }); + + // open browser on server start + if (!commandArgs.disableOpen && !isMiniapp) { + onHook('after.start.devServer', ({ url }) => { + // do not open browser when restart dev + if (!process.env.RESTART_DEV) openBrowser(getLocalUrl(url, entryHtml)); + }); + } +}; + +function getLocalUrl(url, entryHtml) { + return entryHtml ? `${url}${entryHtml}` : url; +} diff --git a/packages/plugin-react-app/src/setTest.js b/packages/plugin-react-app/src/setTest.js new file mode 100644 index 0000000000..84ae68db9f --- /dev/null +++ b/packages/plugin-react-app/src/setTest.js @@ -0,0 +1,33 @@ +const { getJestConfig } = require('build-scripts-config'); +const logWebpackConfig = require('./utils/logWebpackConfig'); + +module.exports = (api) => { + const { onHook, onGetJestConfig, context } = api; + const { rootDir } = context; + + onHook('before.test.run', ({ config }) => { + logWebpackConfig(config); + }); + + onGetJestConfig((jestConfig) => { + const { moduleNameMapper, ...rest } = jestConfig; + + Object.keys(moduleNameMapper).forEach(key => { + // escape $ in the beginning. because $ match the end position end in regular expression + // '^$ice/history$' -> '^\$ice/history$' + if (key.indexOf('^$') === 0) { + const newKey = `^\\${key.slice(1)}`; + moduleNameMapper[newKey] = moduleNameMapper[key]; + delete moduleNameMapper[key]; + }; + }); + + const defaultJestConfig = getJestConfig({ rootDir, moduleNameMapper }); + return { + ...defaultJestConfig, + ...rest, + // defaultJestConfig.moduleNameMapper already combine jestConfig.moduleNameMapper + moduleNameMapper: defaultJestConfig.moduleNameMapper, + }; + }); +}; diff --git a/packages/plugin-react-app/src/userConfig/alias.js b/packages/plugin-react-app/src/userConfig/alias.js deleted file mode 100644 index a7322654bd..0000000000 --- a/packages/plugin-react-app/src/userConfig/alias.js +++ /dev/null @@ -1,18 +0,0 @@ -const path = require('path'); - -module.exports = (config, alias, context) => { - const { rootDir } = context; - const aliasWithRoot = {}; - Object.keys(alias).forEach((key) => { - if (path.isAbsolute(alias[key])) { - aliasWithRoot[key] = alias[key]; - } else { - aliasWithRoot[key] = path.resolve(rootDir, alias[key]); - } - }); - config.merge({ - resolve: { - alias: aliasWithRoot, - }, - }); -}; diff --git a/packages/plugin-react-app/src/userConfig/babelPresets.js b/packages/plugin-react-app/src/userConfig/babelPresets.js deleted file mode 100644 index 846c0d8f21..0000000000 --- a/packages/plugin-react-app/src/userConfig/babelPresets.js +++ /dev/null @@ -1,33 +0,0 @@ -const formatWinPath = require('../utils/formatWinPath'); - -module.exports = (config, babelPresets) => { - ['jsx', 'tsx'].forEach((rule) => { - config.module - .rule(rule) - .use('babel-loader') - .tap((options) => { - let extraPresets = [...babelPresets]; - const presets = options.presets.map((preset) => { - const [presetPath] = Array.isArray(preset) ? preset : [preset]; - let matchedPreset = null; - extraPresets = extraPresets.filter((babelPreset) => { - const matched = formatWinPath(presetPath).indexOf(Array.isArray(babelPreset) ? babelPreset[0] : babelPreset) > -1; - if (matched) { - matchedPreset = babelPreset; - } - return !matched; - }); - // replace current preset if match - return matchedPreset || preset ; - }); - - return { - ...options, - presets: [ - ...presets, - ...extraPresets, - ], - }; - }); - }); -}; \ No newline at end of file diff --git a/packages/plugin-react-app/src/userConfig/browserslist.js b/packages/plugin-react-app/src/userConfig/browserslist.js deleted file mode 100644 index 5b0dc239ff..0000000000 --- a/packages/plugin-react-app/src/userConfig/browserslist.js +++ /dev/null @@ -1,22 +0,0 @@ -const formatWinPath = require('../utils/formatWinPath'); - -module.exports = (config, browserslist) => { - ['jsx', 'tsx'].forEach((rule) => { - config.module - .rule(rule) - .use('babel-loader') - .tap((options) => { - const babelPresets = options.presets || []; - const presets = babelPresets.map((preset) => { - if (Array.isArray(preset) && formatWinPath(preset[0]).indexOf(formatWinPath('@babel/preset-env')) > -1) { - return [ - preset[0], - Object.assign(preset[1], { targets: browserslist }), - ]; - } - return preset; - }); - return Object.assign(options, { presets }); - }); - }); -}; diff --git a/packages/plugin-react-app/src/userConfig/compileDependencies.js b/packages/plugin-react-app/src/userConfig/compileDependencies.js deleted file mode 100644 index af13981b2a..0000000000 --- a/packages/plugin-react-app/src/userConfig/compileDependencies.js +++ /dev/null @@ -1,41 +0,0 @@ -const defaultCompileDependencies = [ - 'ansi-regex', - 'ansi-styles', - 'chalk', - 'query-string', - 'react-dev-utils', - 'split-on-first', - 'strict-uri-encode', - 'strip-ansi' -]; -module.exports = (config, compileDependencies) => { - const matchExclude = (filepath) => { - // exclude the core-js for that it will fail to run in IE - if (filepath.match(/core-js/)) - return true; - // compile build-plugin module for default - const deps = [/build-plugin.*module/].concat(defaultCompileDependencies, compileDependencies).map(dep => { - if (dep instanceof RegExp) { - return dep.source; - } else if (typeof dep === 'string') { - // add default node_modules - const matchStr = `node_modules/?.+${dep}/`; - return process.platform === 'win32' ? matchStr.replace(/\//g, '\\\\') : matchStr; - } - return false; - }).filter(Boolean); - const matchReg = deps.length ? new RegExp(deps.join('|')) : null; - if (matchReg && matchReg.test(filepath)) { - return false; - } - // exclude node_modules as default - return /node_modules/.test(filepath); - }; - - ['jsx', 'tsx'].forEach((rule) => { - config.module - .rule(rule) - .exclude.clear() - .add(matchExclude); - }); -}; diff --git a/packages/plugin-react-app/src/userConfig/cssLoaderOptions.js b/packages/plugin-react-app/src/userConfig/cssLoaderOptions.js deleted file mode 100644 index 46691daa7e..0000000000 --- a/packages/plugin-react-app/src/userConfig/cssLoaderOptions.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = (config, cssLoaderOptions) => { - if (cssLoaderOptions) { - [ - 'scss', - 'scss-module', - 'css', - 'css-module', - 'less', - 'less-module', - ].forEach(rule => { - if (config.module.rules.get(rule)) { - config.module - .rule(rule) - .use('css-loader') - .tap((options) => ({ - ...options, - ...cssLoaderOptions, - })); - } - }); - } -}; \ No newline at end of file diff --git a/packages/plugin-react-app/src/userConfig/define.js b/packages/plugin-react-app/src/userConfig/define.js deleted file mode 100644 index 06f3c48d70..0000000000 --- a/packages/plugin-react-app/src/userConfig/define.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = (config, define) => { - if (config.plugins.get('DefinePlugin')) { - const defineVariables = {}; - // JSON.stringify define values - Object.keys(define).forEach((defineKey) => { - defineVariables[defineKey] = JSON.stringify(define[defineKey]); - }); - config - .plugin('DefinePlugin') - .tap((args) => [Object.assign(...args, defineVariables)]); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/devPublicPath.js b/packages/plugin-react-app/src/userConfig/devPublicPath.js deleted file mode 100644 index 1393c1e144..0000000000 --- a/packages/plugin-react-app/src/userConfig/devPublicPath.js +++ /dev/null @@ -1,9 +0,0 @@ -const updateMiniCssLoaderPath = require('../utils/updateMiniCssLoaderPath'); - -module.exports = (config, value, context) => { - const { command, userConfig } = context; - if (command === 'start') { - config.output.publicPath(value); - updateMiniCssLoaderPath(config, value, userConfig); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/devServer.js b/packages/plugin-react-app/src/userConfig/devServer.js deleted file mode 100644 index c8bbd5b059..0000000000 --- a/packages/plugin-react-app/src/userConfig/devServer.js +++ /dev/null @@ -1,12 +0,0 @@ -const defaultConfig = require('../config/default.config'); - -module.exports = (config, devServer, context) => { - const { userConfig } = context; - // make sure to use config proxy instead of config devServer.proxy - if (userConfig.proxy && devServer.proxy) { - console.log('use config proxy instead of devServer.proxy'); - delete devServer.proxy; - } - // merge default devServer - config.merge({ devServer: { ...defaultConfig.devServer, ...devServer } }); -}; diff --git a/packages/plugin-react-app/src/userConfig/dll.js b/packages/plugin-react-app/src/userConfig/dll.js deleted file mode 100644 index ea9ab93395..0000000000 --- a/packages/plugin-react-app/src/userConfig/dll.js +++ /dev/null @@ -1,119 +0,0 @@ -const path = require('path'); -const fse = require('fs-extra'); -const AddAssetHtmlPlugin = require('add-asset-html-webpack-plugin'); -const Config = require('webpack-chain'); -const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); - -module.exports = async (chainConfig, dll, { userConfig, rootDir, pkg, webpack }) => { - if (!dll) return; - - const dllPath = path.join(rootDir, 'dll'); - - let entry = {}; - const { dllEntry } = userConfig; - if (Object.keys(dllEntry).length !== 0) { - entry = dllEntry; - } else { - entry = { - vendor: Object.keys(pkg.dependencies) - }; - } - - const rebuildNeeded = rebuildCheck(entry, dllPath); - - if (rebuildNeeded) { - await buildDll(dllPath, entry, webpack, rootDir); - }; - - withDll(chainConfig, dllPath, entry, webpack); -}; - -function rebuildCheck (curEntry, prevEntryPath) { - const pkgPath = path.join(prevEntryPath, 'dll-pkg.json'); - if (!fse.pathExistsSync(pkgPath)) { - fse.ensureDirSync(prevEntryPath); - fse.emptyDirSync(prevEntryPath); - fse.writeFileSync(pkgPath, JSON.stringify(curEntry)); - return true; - } else { - const prevEntryString = fse.readFileSync(pkgPath, 'utf-8'); - if (prevEntryString === JSON.stringify(curEntry)) { - return false; - } - fse.emptyDirSync(prevEntryPath); - fse.writeFileSync(pkgPath, JSON.stringify(curEntry)); - return true; - } -} - -async function buildDll (dllPath, entry, webpack, rootDir) { - const chainConfig = new Config(); - chainConfig.entryPoints.clear(); - const entryKeys = Object.keys(entry); - entryKeys.forEach(entryKey => { - const entryValues = entry[entryKey]; - const escapedEntryKey = escapeStr(entryKey); - entryValues.forEach(entryVal => { - chainConfig.entry(escapedEntryKey).add(entryVal); - }); - }); - - chainConfig.output - .path(dllPath) - .library('_dll_[name]') - .filename('[name].dll.js'); - - chainConfig.plugin('dllPlugin').use(webpack.DllPlugin, [{ - name: '_dll_[name]', - path: path.join(dllPath, '[name].manifest.json') - }]); - - chainConfig.name('dll'); - - chainConfig.resolve.modules - .add('node_modules') - .add(path.resolve(rootDir, 'node_modules')); - - return new Promise((resolve, reject) => { - webpack(chainConfig.toConfig(), (err, stats) => { - if (err) { - reject(err); - } - - const info = stats.toJson({ - all: false, - errors: true, - warnings: true, - timings: true, - }); - - const messages = formatWebpackMessages(info); - - if (messages.errors.length) { - fse.ensureDirSync(dllPath); - fse.emptyDirSync(dllPath); - reject(messages.errors.join('')); - } - - resolve(); - }); - }); -} - -function withDll (chainConfig, dllPath, entry, webpack) { - const entryKeys = Object.keys(entry); - entryKeys.forEach(entryKey => { - const escapedEntryKey = escapeStr(entryKey); - chainConfig.plugin(`DllReferencePlugin_${entryKey}`).use(webpack.DllReferencePlugin, [{ - manifest: path.resolve(dllPath, `${escapedEntryKey}.manifest.json`) - }]); - }); - - chainConfig.plugin('AddAssetHtmlPlugin').use(AddAssetHtmlPlugin, [{ - filepath: path.resolve(dllPath, '*.dll.js') - }]).after('HtmlWebpackPlugin'); -} - -function escapeStr (str) { - return Buffer.from(str, 'utf8').toString('hex'); -} diff --git a/packages/plugin-react-app/src/userConfig/dllEntry.js b/packages/plugin-react-app/src/userConfig/dllEntry.js deleted file mode 100644 index cc40a4649c..0000000000 --- a/packages/plugin-react-app/src/userConfig/dllEntry.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = () => {}; diff --git a/packages/plugin-react-app/src/userConfig/extensions.js b/packages/plugin-react-app/src/userConfig/extensions.js deleted file mode 100644 index c8d48d4617..0000000000 --- a/packages/plugin-react-app/src/userConfig/extensions.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = (config, extensions) => { - if (Array.isArray(extensions)) { - extensions.forEach((extension) => { - config.resolve.extensions - .add(extension); - }); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/externals.js b/packages/plugin-react-app/src/userConfig/externals.js deleted file mode 100644 index a9a0db4453..0000000000 --- a/packages/plugin-react-app/src/userConfig/externals.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = (config, value) => { - config.merge({ externals: value }); -}; diff --git a/packages/plugin-react-app/src/userConfig/filename.js b/packages/plugin-react-app/src/userConfig/filename.js deleted file mode 100644 index 0d5179f16d..0000000000 --- a/packages/plugin-react-app/src/userConfig/filename.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = (config, filename) => { - if (filename) { - config.output.filename(filename); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/hash.js b/packages/plugin-react-app/src/userConfig/hash.js deleted file mode 100644 index a1b6129ebb..0000000000 --- a/packages/plugin-react-app/src/userConfig/hash.js +++ /dev/null @@ -1,22 +0,0 @@ -const path = require('path'); -const formatWinPath = require('../utils/formatWinPath'); - -module.exports = (config, hash, context) => { - const { command } = context; - // default is false - if (hash) { - // can not use [chunkhash] or [contenthash] for chunk in dev mode - const hashStr = typeof hash === 'boolean' || command === 'start' ? 'hash:6' : hash; - const fileName = config.output.get('filename'); - let pathArray = fileName.split('/'); - pathArray.pop(); // pop filename - pathArray = pathArray.filter((v) => v); - const outputPath = pathArray.length ? pathArray.join('/') : ''; - config.output.filename(formatWinPath(path.join(outputPath, `[name].[${hashStr}].js`))); - if (config.plugins.get('MiniCssExtractPlugin')) { - config.plugin('MiniCssExtractPlugin').tap((args) => [Object.assign(...args, { - filename: formatWinPath(path.join(outputPath, `[name].[${hashStr}].css`)), - })]); - } - } -}; diff --git a/packages/plugin-react-app/src/userConfig/injectBabel.js b/packages/plugin-react-app/src/userConfig/injectBabel.js deleted file mode 100644 index 91d103a3da..0000000000 --- a/packages/plugin-react-app/src/userConfig/injectBabel.js +++ /dev/null @@ -1,59 +0,0 @@ -const formatWinPath = require('../utils/formatWinPath'); -const addBablePlugins = require('./babelPlugins'); - -module.exports = (config, injectBabel, context) => { - const { userConfig: { targets = [] } } = context; - if (targets.includes('miniapp') || targets.includes('wechat-miniprogram')) { - return; - } - if (injectBabel === 'runtime') { - ['jsx', 'tsx'].forEach((rule) => { - config.module - .rule(rule) - .use('babel-loader') - .tap((options) => { - // get @babel/plugin-transform-runtime - const babelPlugins = options.plugins || []; - const targetPlugin = formatWinPath('@babel/plugin-transform-runtime'); - const plguinOption = { - corejs: false, - helpers: true, - regenerator: true, - useESModules: false, - }; - const plugins = babelPlugins.map((plugin) => { - if ((typeof plugin === 'string' && formatWinPath(plugin).indexOf(targetPlugin) > -1) - || (Array.isArray(plugin) && formatWinPath(plugin[0]).indexOf(targetPlugin) > -1 )) { - return [Array.isArray(plugin) ? plugin[0] : plugin, plguinOption]; - } else { - return [require.resolve('@babel/plugin-transform-runtime'), plguinOption]; - } - }); - return Object.assign(options, { plugins }); - }); - }); - } else if (injectBabel === 'polyfill') { - const entries = config.toConfig().entry; - const rule = config.module.rule('polyfill').test(/\.jsx?|\.tsx?$/); - const fileList = []; - Object.keys(entries).forEach((key) => { - let addPolyfill = false; - // only include entry path - for (let i = 0; i < entries[key].length; i += 1) { - // filter node_modules file add by plugin - if (!/node_modules/.test(entries[key][i])) { - rule.include.add(entries[key][i]); - fileList.push(entries[key][i]); - addPolyfill = true; - break; - } - } - if (!addPolyfill) { - rule.include.add(entries[key][0]); - fileList.push(entries[key][0]); - } - }); - rule.use('polyfill-loader').loader(require.resolve('../utils/polyfillLoader')).options({}); - addBablePlugins(config, [[require.resolve('../utils/babelPluginCorejsLock.js'), { fileList }]]); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/lessLoaderOptions.js b/packages/plugin-react-app/src/userConfig/lessLoaderOptions.js deleted file mode 100644 index 5cd022f43e..0000000000 --- a/packages/plugin-react-app/src/userConfig/lessLoaderOptions.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = (config, lessLoaderOptions) => { - if (lessLoaderOptions) { - [ - 'less', - 'less-module', - ].forEach(rule => { - if (config.module.rules.get(rule)) { - config.module - .rule(rule) - .use('less-loader') - .tap((options) => ({ - ...options, - ...lessLoaderOptions, - })); - } - }); - } -}; \ No newline at end of file diff --git a/packages/plugin-react-app/src/userConfig/library.js b/packages/plugin-react-app/src/userConfig/library.js deleted file mode 100644 index e712028865..0000000000 --- a/packages/plugin-react-app/src/userConfig/library.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = (config, library) => { - if (library) { - config.output.library(library); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/libraryExport.js b/packages/plugin-react-app/src/userConfig/libraryExport.js deleted file mode 100644 index 5da28b918e..0000000000 --- a/packages/plugin-react-app/src/userConfig/libraryExport.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = (config, libraryExport) => { - if (libraryExport) { - config.output.libraryExport(libraryExport); - } -}; \ No newline at end of file diff --git a/packages/plugin-react-app/src/userConfig/libraryTarget.js b/packages/plugin-react-app/src/userConfig/libraryTarget.js deleted file mode 100644 index a952912a5c..0000000000 --- a/packages/plugin-react-app/src/userConfig/libraryTarget.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = (config, libraryTarget) => { - if (libraryTarget) { - config.output.libraryTarget(libraryTarget); - } -}; \ No newline at end of file diff --git a/packages/plugin-react-app/src/userConfig/minify.js b/packages/plugin-react-app/src/userConfig/minify.js deleted file mode 100644 index 71f2288ad9..0000000000 --- a/packages/plugin-react-app/src/userConfig/minify.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = (config, value, context) => { - const { command } = context; - // minify always be false in dev mode - const minify = command === 'start' ? false : value; - config.optimization.minimize(minify); -}; diff --git a/packages/plugin-react-app/src/userConfig/mock.js b/packages/plugin-react-app/src/userConfig/mock.js deleted file mode 100644 index b58abe0308..0000000000 --- a/packages/plugin-react-app/src/userConfig/mock.js +++ /dev/null @@ -1,19 +0,0 @@ -const webpackDevMock = require('webpack-dev-mock'); - -module.exports = (config, mock, context) => { - // dev mock - const { commandArgs, command } = context; - if (!commandArgs.disableMock && command === 'start' && mock) { - - const originalDevServeBefore = config.devServer.get('before'); - // replace devServer before function - config.merge({ devServer: { - before(app, server) { - webpackDevMock(app); - if (typeof originalDevServeBefore === 'function') { - originalDevServeBefore(app, server); - } - }, - }}); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/modules.js b/packages/plugin-react-app/src/userConfig/modules.js deleted file mode 100644 index c463108c35..0000000000 --- a/packages/plugin-react-app/src/userConfig/modules.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = (config, modules) => { - if (Array.isArray(modules)) { - modules.forEach((module) => { - config.resolve.modules - .add(module); - }); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/outputAssetsPath.js b/packages/plugin-react-app/src/userConfig/outputAssetsPath.js deleted file mode 100644 index 59cf5efdd0..0000000000 --- a/packages/plugin-react-app/src/userConfig/outputAssetsPath.js +++ /dev/null @@ -1,19 +0,0 @@ -const path = require('path'); -const { last } = require('lodash'); -const formatWinPath = require('../utils/formatWinPath'); - -function getFilename(filePath) { - return last((filePath || '').split('/')); -} -module.exports = (config, outputAssetsPath) => { - - const filename = getFilename(config.output.get('filename')); - config.output.filename(formatWinPath(path.join(outputAssetsPath.js || '', filename))); - - if (config.plugins.get('MiniCssExtractPlugin')) { - const options = config.plugin('MiniCssExtractPlugin').get('args')[0]; - config.plugin('MiniCssExtractPlugin').tap((args) => [Object.assign(...args, { - filename: formatWinPath(path.join(outputAssetsPath.css || '', getFilename(options.filename))), - })]); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/postcssrc.js b/packages/plugin-react-app/src/userConfig/postcssrc.js deleted file mode 100644 index e2af012e67..0000000000 --- a/packages/plugin-react-app/src/userConfig/postcssrc.js +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = (config, postcssrc) => { - if (postcssrc) { - // remove postcss-loader options, use postcss config file - [ - 'scss', - 'scss-module', - 'css', - 'css-module', - 'less', - 'less-module', - ].forEach(rule => { - if (config.module.rules.get(rule)) { - config.module - .rule(rule) - .use('postcss-loader') - .tap(() => ({})); - } - }); - } -}; \ No newline at end of file diff --git a/packages/plugin-react-app/src/userConfig/proxy.js b/packages/plugin-react-app/src/userConfig/proxy.js deleted file mode 100644 index f365b4f1f1..0000000000 --- a/packages/plugin-react-app/src/userConfig/proxy.js +++ /dev/null @@ -1,40 +0,0 @@ -const merge = require('lodash/merge'); - -module.exports = (config, proxyConfig) => { - const proxyRules = Object.entries(proxyConfig); - if (proxyRules.length) { - const proxy = proxyRules.map(([match, opts]) => { - // set enable false to disable proxy rule - const { enable, target, ...proxyRule } = opts; - if (enable !== false) { - return merge({ - target, - changeOrigin: true, - logLevel: 'warn', - onProxyRes: function onProxyReq(proxyRes, req) { - proxyRes.headers['x-proxy-by'] = 'ice-proxy'; - proxyRes.headers['x-proxy-match'] = match; - proxyRes.headers['x-proxy-target'] = target; - - let distTarget = target; - if (target && target.endsWith('/')) { - distTarget = target.replace(/\/$/, ''); - } - proxyRes.headers['x-proxy-target-path'] = distTarget + req.url; - }, - onError: function onError(err, req, res) { - // proxy server error can't trigger onProxyRes - res.writeHead(500, { - 'x-proxy-by': 'ice-proxy', - 'x-proxy-match': match, - 'x-proxy-target': target, - }); - res.end(`proxy server error: ${err.message}`); - }, - }, proxyRule, { context: match }); - } - return false; - }).filter((v) => v); - config.devServer.proxy(proxy); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/publicPath.js b/packages/plugin-react-app/src/userConfig/publicPath.js deleted file mode 100644 index 0231a84397..0000000000 --- a/packages/plugin-react-app/src/userConfig/publicPath.js +++ /dev/null @@ -1,9 +0,0 @@ -const updateMiniCssLoaderPath = require('../utils/updateMiniCssLoaderPath'); - -module.exports = (config, value, context) => { - const { command, userConfig } = context; - if (command === 'build') { - config.output.publicPath(value); - updateMiniCssLoaderPath(config, value, userConfig); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/sassLoaderOptions.js b/packages/plugin-react-app/src/userConfig/sassLoaderOptions.js deleted file mode 100644 index 85a3a16452..0000000000 --- a/packages/plugin-react-app/src/userConfig/sassLoaderOptions.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = (config, sassLoaderOptions) => { - if (sassLoaderOptions) { - [ - 'scss', - 'scss-module', - ].forEach(rule => { - if (config.module.rules.get(rule)) { - config.module - .rule(rule) - .use('sass-loader') - .tap((options) => ({ - ...options, - ...sassLoaderOptions, - })); - } - }); - } -}; \ No newline at end of file diff --git a/packages/plugin-react-app/src/userConfig/sourceMap.js b/packages/plugin-react-app/src/userConfig/sourceMap.js deleted file mode 100644 index 1fe20bf812..0000000000 --- a/packages/plugin-react-app/src/userConfig/sourceMap.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = (config, sourceMap, context) => { - const { command } = context; - if (command === 'build' && sourceMap) { - config.devtool('source-map'); - config.optimization - .minimizer('TerserPlugin') - .tap(([options]) => [ - { ...options, sourceMap: true }, - ]); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/terserOptions.js b/packages/plugin-react-app/src/userConfig/terserOptions.js deleted file mode 100644 index b77386a8ee..0000000000 --- a/packages/plugin-react-app/src/userConfig/terserOptions.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = (config, terserOptions, context) => { - const { command } = context; - if (command === 'build' && terserOptions && config.optimization.minimizers.get('TerserPlugin')) { - config.optimization.minimizer('TerserPlugin').tap(([options]) => [ - { - ...options, - ...terserOptions, - }, - ]); - } -}; \ No newline at end of file diff --git a/packages/plugin-react-app/src/userConfig/tsChecker.js b/packages/plugin-react-app/src/userConfig/tsChecker.js deleted file mode 100644 index 2b3993e5b0..0000000000 --- a/packages/plugin-react-app/src/userConfig/tsChecker.js +++ /dev/null @@ -1,8 +0,0 @@ -const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); - -module.exports = (config, tsChecker) => { - if (tsChecker) { - config.plugin('fork-ts-checker-webpack-plugin') - .use(ForkTsCheckerWebpackPlugin); - } -}; diff --git a/packages/plugin-react-app/src/userConfig/vendor.js b/packages/plugin-react-app/src/userConfig/vendor.js deleted file mode 100644 index 1a0fabce15..0000000000 --- a/packages/plugin-react-app/src/userConfig/vendor.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = (config, vendor) => { - if (!vendor) { - config.optimization.splitChunks({ cacheGroups: {} }); - } else { - config.optimization.splitChunks({ cacheGroups: { - vendor: { - test: /[\\/]node_modules[\\/]/, - name: 'vendor', - chunks: 'initial', - minChunks: 2, - }, - } }); - } -}; diff --git a/packages/plugin-react-app/src/utils/babelPluginCorejsLock.js b/packages/plugin-react-app/src/utils/babelPluginCorejsLock.js deleted file mode 100644 index 2422e437ef..0000000000 --- a/packages/plugin-react-app/src/utils/babelPluginCorejsLock.js +++ /dev/null @@ -1,23 +0,0 @@ -const path = require('path'); - -const coreJSPath = path.dirname(require.resolve('core-js/package.json')); -// eslint-disable-next-line no-unused-vars -module.exports = ({ types }, { fileList }) => { - return { - visitor: { - ImportDeclaration(nodePath, state) { - const entryFile = fileList.find((filePath) => { - // filePath may not have an extension - return filePath.includes((state.filename || '').replace(/\.[^/.]+$/, '')); - }); - if (entryFile) { - const { node } = nodePath; - // only replace core-js/modules/xxx added by @babel/preset-env - if (node.source.value.startsWith('core-js/modules')) { - node.source.value = node.source.value.replace('core-js/', `${coreJSPath}/`); - } - } - }, - }, - }; -}; diff --git a/packages/plugin-react-app/src/utils/formatWinPath.js b/packages/plugin-react-app/src/utils/formatWinPath.js deleted file mode 100644 index 21801a2529..0000000000 --- a/packages/plugin-react-app/src/utils/formatWinPath.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = (outputPath) => { - const isWin = process.platform === 'win32'; - // js\index.js => js/index.js - return isWin ? outputPath.replace(/\\/g, '/') : outputPath; -}; diff --git a/packages/plugin-react-app/src/utils/getMiniappOutputPath.js b/packages/plugin-react-app/src/utils/getMiniappOutputPath.js index babca5ae33..a2cb4bd00b 100644 --- a/packages/plugin-react-app/src/utils/getMiniappOutputPath.js +++ b/packages/plugin-react-app/src/utils/getMiniappOutputPath.js @@ -1,12 +1,14 @@ const fs = require('fs-extra'); const path = require('path'); +const { defaultConfig } = require('@builder/user-config'); const { MINIAPP } = require('../constants'); -const defaultConfig = require('../config/default.config'); module.exports = (context, options = {}) => { const { rootDir, userConfig } = context; const { outputDir = defaultConfig.outputDir } = userConfig; const output = path.resolve(rootDir, outputDir); + fs.ensureDirSync(output); + return path.resolve(output, options.target || MINIAPP); }; diff --git a/packages/plugin-react-app/src/utils/getRouteName.js b/packages/plugin-react-app/src/utils/getRouteName.js deleted file mode 100644 index 026c8d8838..0000000000 --- a/packages/plugin-react-app/src/utils/getRouteName.js +++ /dev/null @@ -1,27 +0,0 @@ -const path = require('path'); -const fs = require('fs-extra'); - -module.exports = (route, rootDir) => { - if (route.name) { - return route.name; - } - - const appConfig = fs.readJsonSync(path.resolve(rootDir, 'src/app.json')); - - const routeName = appConfig.routeName ? appConfig.routeName : 'path'; - - if (routeName === 'path') { - return route.source.replace(/\//g, '_'); - } - - if (routeName === 'pages') { - try { - // get Home from pages/Home/index or pages/Home - const name = route.source.match(/pages\/([^/]*)/); - return name[1]; - } catch (e) { - console.error('"routeName": "pages" mode request routes in /pages directory'); - process.exit(1); - } - } -}; diff --git a/packages/plugin-react-app/src/utils/getWebOutputPath.js b/packages/plugin-react-app/src/utils/getWebOutputPath.js index f8534a6fe6..c49c9cb579 100644 --- a/packages/plugin-react-app/src/utils/getWebOutputPath.js +++ b/packages/plugin-react-app/src/utils/getWebOutputPath.js @@ -1,9 +1,10 @@ const path = require('path'); +const { defaultConfig } = require('@builder/user-config'); const { WEB } = require('../constants'); -const defaultConfig = require('../config/default.config'); module.exports = (context, { target }) => { const { userConfig, rootDir } = context; + let outputPath = path.join(rootDir, defaultConfig.outputDir); if (userConfig.outputDir) { diff --git a/packages/plugin-react-app/src/utils/index.js b/packages/plugin-react-app/src/utils/index.js new file mode 100644 index 0000000000..277b6f8b05 --- /dev/null +++ b/packages/plugin-react-app/src/utils/index.js @@ -0,0 +1,11 @@ +const getMiniappOutputPath = require('./getMiniappOutputPath'); +const getWebOutputPath = require('./getWebOutputPath'); +const logWebpackConfig = require('./logWebpackConfig'); +const getFilePath = require('./getFilePath'); + +module.exports = { + getMiniappOutputPath, + getWebOutputPath, + logWebpackConfig, + getFilePath +}; diff --git a/packages/plugin-react-app/src/utils/logDetectedTip.js b/packages/plugin-react-app/src/utils/logDetectedTip.js new file mode 100644 index 0000000000..1feac3604a --- /dev/null +++ b/packages/plugin-react-app/src/utils/logDetectedTip.js @@ -0,0 +1,7 @@ +const chalk = require('chalk'); + +module.exports = (userConfig) => { + if (Object.prototype.hasOwnProperty.call(userConfig, 'injectBabel')) { + console.log(chalk.cyan('Detected that you are using injectBabel, please use polyfill field, Visit https://ice.work/docs/guide/basic/build.')); + } +}; diff --git a/packages/plugin-react-app/src/utils/logWebpackConfig.js b/packages/plugin-react-app/src/utils/logWebpackConfig.js new file mode 100644 index 0000000000..cd4bfb80dd --- /dev/null +++ b/packages/plugin-react-app/src/utils/logWebpackConfig.js @@ -0,0 +1,18 @@ +const debug = require('debug')('icejs'); + +module.exports = (config) => { + try { + const tmp = []; + debug(JSON.stringify(config, function(key, val) { + if (val != null && typeof val === 'object') { + if (tmp.indexOf(val) >= 0) { + return; + } + tmp.push(val); + } + return val; + }, 2)); + } catch (error) { + // ignore error + } +}; diff --git a/packages/plugin-react-app/src/utils/polyfillLoader.js b/packages/plugin-react-app/src/utils/polyfillLoader.js deleted file mode 100644 index c1e1ada573..0000000000 --- a/packages/plugin-react-app/src/utils/polyfillLoader.js +++ /dev/null @@ -1,13 +0,0 @@ -const { extname } = require('path'); - -module.exports = function(content) { - // Polyfill code needn't be added into json file. - if (extname(this.resourcePath) === '.json') { - return content; - } - return ` -import "core-js/stable"; -import "regenerator-runtime/runtime"; -${content} - `; -}; diff --git a/packages/plugin-react-app/src/utils/updateMiniCssLoaderPath.js b/packages/plugin-react-app/src/utils/updateMiniCssLoaderPath.js deleted file mode 100644 index 156c4ac313..0000000000 --- a/packages/plugin-react-app/src/utils/updateMiniCssLoaderPath.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = (config, value, userConfig) => { - const shouldUseRelativeAssetPaths = value === './'; - const outputCssPath = userConfig.outputAssetsPath && userConfig.outputAssetsPath.css; - // when publicPath is ./ assets in css will be resolve as ./assets/xxx - // the actual path where assets exist is ../assets/xxx when output css path is `css` - if (shouldUseRelativeAssetPaths && outputCssPath) { - const pathArray = outputCssPath.split('/').length; - const publicPath = `${[...Array(pathArray)].map(() => '..').join('/')}/`; - // MiniCssExtractPlugin.loader will use output.publicPath as default - ['scss', 'scss-module', 'css', 'css-module', 'less', 'less-module'].forEach((rule) => { - if (config.module.rules.get(rule)) { - config.module.rule(rule).use('MiniCssExtractPlugin.loader').tap(() => ({ publicPath })); - } - }); - } -}; - diff --git a/packages/plugin-ssr/package.json b/packages/plugin-ssr/package.json index e397cb6507..c77fd5a4d3 100644 --- a/packages/plugin-ssr/package.json +++ b/packages/plugin-ssr/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-ssr", - "version": "1.0.5", + "version": "1.0.6", "description": "", "author": "", "homepage": "https://github.com/alibaba/ice#readme", @@ -24,12 +24,12 @@ "url": "https://github.com/alibaba/ice/issues" }, "dependencies": { - "build-mpa-config": "^1.0.2", + "@builder/mpa-config": "^1.0.0", "chalk": "^4.1.0", - "rax-compile-config": "^0.2.16", "fs-extra": "^9.0.1", "error-stack-tracey": "^0.1.3", "qs": "^6.9.4", - "build-app-helpers": "^1.0.0" + "@builder/app-helpers": "^1.0.0", + "react-dev-utils": "^10.0.0" } } diff --git a/packages/plugin-ssr/src/ssr/entryLoader.js b/packages/plugin-ssr/src/ssr/entryLoader.js index 33fc4832f1..e186836c01 100644 --- a/packages/plugin-ssr/src/ssr/entryLoader.js +++ b/packages/plugin-ssr/src/ssr/entryLoader.js @@ -40,7 +40,6 @@ module.exports = function() { const initialHtml = renderer.renderToString(contentElement, { defaultUnit: 'rpx' }); - // use let statement, because styles and scripts may be changed by assetsProcessor let styles = ${JSON.stringify(styles)}; let scripts = ${JSON.stringify(scripts)}; diff --git a/packages/plugin-ssr/src/ssr/getBase.js b/packages/plugin-ssr/src/ssr/getBase.js index edae9e314d..526f5e5952 100644 --- a/packages/plugin-ssr/src/ssr/getBase.js +++ b/packages/plugin-ssr/src/ssr/getBase.js @@ -1,13 +1,13 @@ const path = require('path'); -const setMPAConfig = require('build-mpa-config'); +const setMPAConfig = require('@builder/mpa-config'); const fs = require('fs-extra'); -const { getMpaEntries } = require('build-app-helpers'); +const { getMpaEntries } = require('@builder/app-helpers'); const getEntryName = require('./getEntryName'); const EntryPlugin = require('./entryPlugin'); const EntryLoader = require.resolve('./entryLoader'); -const GET_WEBPACK_BASE_CONFIG = 'getWebpackBaseConfig'; +const GET_RAX_APP_WEBPACK_CONFIG = 'getRaxAppWebpackConfig'; const TARGET = 'node'; // Can‘t clone webpack chain object, so generate a new chain and reset config @@ -16,7 +16,7 @@ module.exports = (api) => { const { userConfig, rootDir } = context; const { web: webConfig = {}, inlineStyle = false } = userConfig; - const getWebpackBase = getValue(GET_WEBPACK_BASE_CONFIG); + const getWebpackBase = getValue(GET_RAX_APP_WEBPACK_CONFIG); const config = getWebpackBase(api, { target: TARGET, @@ -26,6 +26,8 @@ module.exports = (api) => { } }); + config.name('node'); + const appJsonPath = path.resolve(rootDir, 'src/app.json'); let entries = {}; diff --git a/packages/plugin-ssr/src/web/setDev.js b/packages/plugin-ssr/src/web/setDev.js index ce3e1884d6..1cab0ef29e 100644 --- a/packages/plugin-ssr/src/web/setDev.js +++ b/packages/plugin-ssr/src/web/setDev.js @@ -1,12 +1,10 @@ -const { hmrClient } = require('rax-compile-config'); - module.exports = (config) => { const allEntries = config.entryPoints.entries(); // eslint-disable-next-line for (const entryName in allEntries) { if (Object.prototype.hasOwnProperty.call(allEntries, entryName)) { // remove hmrClient - config.entry(entryName).delete(hmrClient); + config.entry(entryName).delete(require.resolve('react-dev-utils/webpackHotDevClient')); } } diff --git a/packages/plugin-stark-module/package.json b/packages/plugin-stark-module/package.json index 4fb9278631..8c18e6beb9 100644 --- a/packages/plugin-stark-module/package.json +++ b/packages/plugin-stark-module/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-stark-module", - "version": "1.0.0", + "version": "1.0.1", "description": "build-scripts plugin for build stark module", "main": "lib/index.js", "files": [ diff --git a/packages/plugin-stark-module/src/index.ts b/packages/plugin-stark-module/src/index.ts index 71cf205c22..d29bf9bf47 100644 --- a/packages/plugin-stark-module/src/index.ts +++ b/packages/plugin-stark-module/src/index.ts @@ -39,7 +39,7 @@ const plugin: IPlugin = ({ registerTask, onGetWebpackConfig, context, onHook }, .library((library as string) || 'module') .libraryTarget('umd'); // css - config.plugin('MiniCssExtractPlugin').tap((args) => [{ ...args, filename: '[name].css' }]); + config.plugin('MiniCssExtractPlugin').tap(([args]) => [{ ...args, filename: '[name].css' }]); config.devServer.contentBase(path.join(rootDir, 'dist')); config.devServer.writeToDisk(true); config.externals(externals as webpack.ExternalsElement[]); diff --git a/packages/plugin-store/package.json b/packages/plugin-store/package.json index eb4a57863d..d98b80531a 100644 --- a/packages/plugin-store/package.json +++ b/packages/plugin-store/package.json @@ -1,6 +1,6 @@ { "name": "build-plugin-ice-store", - "version": "1.7.7", + "version": "1.7.8", "description": "builtin `icestore` in icejs", "author": "ice-admin@alibaba-inc.com", "homepage": "", diff --git a/packages/plugin-store/src/pageSourceLoader.ts b/packages/plugin-store/src/pageSourceLoader.ts index 0460507895..80714b9efc 100644 --- a/packages/plugin-store/src/pageSourceLoader.ts +++ b/packages/plugin-store/src/pageSourceLoader.ts @@ -17,10 +17,19 @@ export default function pageSourceLoader(appJSON) { const content = JSON.parse(appJSON); content.routes = content.routes.map(route => { - return { - ...route, - realSource: join(targetPath, route.source) - }; + let pageSource = route.source; + if (/^\/?pages/.test(pageSource)) { + if (/index$/.test(pageSource)) { + pageSource = pageSource.replace(/index$/, 'Page'); + } else { + pageSource = join(pageSource, 'Page'); + } + return { + ...route, + pageSource: join(targetPath, pageSource) + }; + } + return route; }); return JSON.stringify(content); }; diff --git a/packages/rax-app/CHANGELOG.md b/packages/rax-app/CHANGELOG.md new file mode 100644 index 0000000000..dd11235d85 --- /dev/null +++ b/packages/rax-app/CHANGELOG.md @@ -0,0 +1,32 @@ +## Changelog + +### 3.0.7 (November 12, 2020) + +- Feat: support manually close store.([#3750](https://github.com/alibaba/ice/pull/3750)) +- Feat: support pages that are not in the `src/pages`.([#3750](https://github.com/alibaba/ice/pull/3750)) +- Feat: use `polyfill` field instead of `injectBabel` that can add polyfill by usage.([#3777](https://github.com/alibaba/ice/pull/3777)) +- Feat: add `eslint-reporting-webpack-plugin` for dev mode.([#3771](https://github.com/alibaba/ice/pull/3771)) +- Feat: support use miniapp compile mode in its runtime mode project.([#3766](https://github.com/alibaba/ice/pull/3766)) +- Feat: add rax-platform-loader.([raxjs/rax-scripts#480](https://github.com/raxjs/rax-scripts/pull/480)) +- Fix: `miniapp-native` dir copy logic.([#3761](https://github.com/alibaba/ice/pull/3761)) +- Fix: error when set `ssr: true`.([#3775](https://github.com/alibaba/ice/pull/3775)) +- Chore: remove rax-compile-config.([raxjs/rax-scripts#480](https://github.com/raxjs/rax-scripts/pull/480)) +- Chore: use `react-dev-utils/webpackHotDevClient` instead of `rax-compile-config/hmr`.([#3806](https://github.com/alibaba/ice/pull/3806)) +- Chore: change polyfill load settings.([raxjs/rax-scripts#480](https://github.com/raxjs/rax-scripts/pull/475)) +- Chore: update mini-css-extract-plugin version and set `esModule` to `false` as default.([raxjs/rax-scripts#475](https://github.com/raxjs/rax-scripts/pull/475)) +- Chore: unify the packaging mechanism of icejs and rax-app.([#3753](https://github.com/alibaba/ice/pull/3753)) +- Chore: change `compileDependencies` default value to `['']`.([#3802](https://github.com/alibaba/ice/pull/3802)) +- Enhance: open browser logic, now you can use ` -- --mpa-entry=home` to specify mpa entry.([#3798](https://github.com/alibaba/ice/pull/3798)) +- Docs: update router and change `compileDependencies` related docs.([raxjs/docs#42](https://github.com/raxjs/docs/pull/42) +) + + + +### 3.0.6 (October 30, 2020) + +- Feat: support browser history for web.([#3736](https://github.com/alibaba/ice/pull/3736)) +- Fix: windows path error.([#3695](https://github.com/alibaba/ice/pull/3695)) +- Fix: kraken/weex assets couldn't find.([#3736](https://github.com/alibaba/ice/pull/3736)) +- Enhance: format debug info.([#3736](https://github.com/alibaba/ice/pull/3736)) +- Feat: support miniapp compile config.([#3730](https://github.com/alibaba/ice/pull/3730)) + diff --git a/packages/rax-app/package.json b/packages/rax-app/package.json index 6fbfa95a9c..f276d87d87 100644 --- a/packages/rax-app/package.json +++ b/packages/rax-app/package.json @@ -1,6 +1,6 @@ { "name": "rax-app", - "version": "3.0.6", + "version": "3.0.7", "description": "command line interface and builtin plugin for rax app", "author": "ice-admin@alibaba-inc.com", "homepage": "https://github.com/alibaba/ice#readme", @@ -15,14 +15,14 @@ }, "dependencies": { "@alib/build-scripts": "^0.1.24", - "build-plugin-app-core": "0.1.20", - "build-plugin-ice-store": "1.7.6", - "build-plugin-app-base": "1.0.8", - "build-plugin-rax-web": "1.0.5", - "build-plugin-rax-weex": "1.0.5", - "build-plugin-rax-kraken": "1.0.4", - "build-plugin-rax-miniapp": "1.0.3", - "build-plugin-ssr": "1.0.5", + "build-plugin-app-core": "0.1.23", + "build-plugin-rax-app": "6.0.0", + "build-plugin-ice-store": "1.7.8", + "build-plugin-rax-web": "1.0.6", + "build-plugin-rax-weex": "1.0.6", + "build-plugin-rax-kraken": "1.0.5", + "build-plugin-rax-miniapp": "1.1.0", + "build-plugin-ssr": "1.0.6", "chokidar": "^3.3.1", "commander": "^5.0.0", "create-cli-utils": "0.1.4", diff --git a/packages/rax-app/src/index.ts b/packages/rax-app/src/index.ts index 62f47f6f72..8f87e39263 100644 --- a/packages/rax-app/src/index.ts +++ b/packages/rax-app/src/index.ts @@ -1,5 +1,5 @@ const getBuiltInPlugins = (userConfig) => { - const { targets = ['web'] } = userConfig; + const { targets = ['web'], store = true } = userConfig; // built-in plugins for rax app const builtInPlugins = [ @@ -10,10 +10,13 @@ const getBuiltInPlugins = (userConfig) => { alias: 'rax-app', }, ], - ['build-plugin-app-base', userConfig], - 'build-plugin-ice-store', + ['build-plugin-rax-app'], ]; + if (store) { + builtInPlugins.push(['build-plugin-ice-store']); + } + if (targets.includes('web')) { builtInPlugins.push(['build-plugin-rax-web']); if (userConfig.web && userConfig.web.ssr) { diff --git a/tsconfig.json b/tsconfig.json index 235708ee08..687e108eb5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,7 @@ { "files": [], "references": [ + { "path": "packages/build-user-config" }, { "path": "packages/build-app-helpers" }, { "path": "packages/plugin-app-core" }, { "path": "packages/plugin-router" }, diff --git a/yarn.lock b/yarn.lock index 4f724d05a4..d7b75f11b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,9 +3,9 @@ "@ahooksjs/use-request@^2.0.0": - version "2.7.0" - resolved "https://registry.npm.taobao.org/@ahooksjs/use-request/download/@ahooksjs/use-request-2.7.0.tgz?cache=0&sync_timestamp=1602835691370&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ahooksjs%2Fuse-request%2Fdownload%2F%40ahooksjs%2Fuse-request-2.7.0.tgz#87fb77543baece6c785292c46b592c00d5a4dafa" - integrity sha1-h/t3VDuuzmx4UpLEa1ksANWk2vo= + version "2.8.1" + resolved "https://registry.npm.taobao.org/@ahooksjs/use-request/download/@ahooksjs/use-request-2.8.1.tgz#bf06a63368df1859b6b79a946612eb0d2889ab6f" + integrity sha1-vwamM2jfGFm2t5qUZhLrDSiJq28= dependencies: lodash.debounce "^4.0.8" lodash.throttle "^4.1.1" @@ -65,10 +65,10 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.12.1": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.12.1.tgz?cache=0&sync_timestamp=1602802621380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" - integrity sha1-1zhqaJqg3fBiVQBbS5kZiAIRAaA= +"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.12.5": + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.12.5.tgz?cache=0&sync_timestamp=1604443727355&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.12.5.tgz#f56db0c4bb1bbbf221b4e81345aab4141e7cb0e9" + integrity sha1-9W2wxLsbu/IhtOgTRaq0FB58sOk= "@babel/core@7.2.0": version "7.2.0" @@ -112,16 +112,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.12.1", "@babel/generator@^7.2.0", "@babel/generator@^7.4.0", "@babel/generator@^7.6.4", "@babel/generator@^7.9.6": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.12.1.tgz?cache=0&sync_timestamp=1602802522241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" - integrity sha1-DXC+Mr2qA9fFHIWX3aduDfHxVGg= - dependencies: - "@babel/types" "^7.12.1" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.5", "@babel/generator@^7.3.4": +"@babel/generator@^7.12.1", "@babel/generator@^7.12.5", "@babel/generator@^7.2.0", "@babel/generator@^7.3.4", "@babel/generator@^7.4.0", "@babel/generator@^7.6.4": version "7.12.5" resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.12.5.tgz?cache=0&sync_timestamp=1604443729171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" integrity sha1-osUN5ci21wirlb5eYFOTbBiEpN4= @@ -147,7 +138,7 @@ "@babel/helper-builder-react-jsx-experimental@^7.12.1": version "7.12.4" - resolved "https://registry.npm.taobao.org/@babel/helper-builder-react-jsx-experimental/download/@babel/helper-builder-react-jsx-experimental-7.12.4.tgz?cache=0&sync_timestamp=1603132756241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-builder-react-jsx-experimental%2Fdownload%2F%40babel%2Fhelper-builder-react-jsx-experimental-7.12.4.tgz#55fc1ead5242caa0ca2875dcb8eed6d311e50f48" + resolved "https://registry.npm.taobao.org/@babel/helper-builder-react-jsx-experimental/download/@babel/helper-builder-react-jsx-experimental-7.12.4.tgz#55fc1ead5242caa0ca2875dcb8eed6d311e50f48" integrity sha1-VfwerVJCyqDKKHXcuO7W0xHlD0g= dependencies: "@babel/helper-annotate-as-pure" "^7.10.4" @@ -163,18 +154,18 @@ "@babel/types" "^7.10.4" "@babel/helper-compilation-targets@^7.12.1": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.12.1.tgz?cache=0&sync_timestamp=1602802634565&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" - integrity sha1-MQ41KIj7292Fd76N/dKvueetz1A= + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.12.5.tgz?cache=0&sync_timestamp=1604443728981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" + integrity sha1-y0cMdhmNtqJOnbyJhydWMeXSmDE= dependencies: - "@babel/compat-data" "^7.12.1" + "@babel/compat-data" "^7.12.5" "@babel/helper-validator-option" "^7.12.1" - browserslist "^4.12.0" + browserslist "^4.14.5" semver "^5.5.0" "@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.12.1.tgz?cache=0&sync_timestamp=1602802519528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" + resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" integrity sha1-PEWZj0Me3UqSFMXx060USKYTf24= dependencies: "@babel/helper-function-name" "^7.10.4" @@ -185,7 +176,7 @@ "@babel/helper-create-regexp-features-plugin@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.12.1.tgz?cache=0&sync_timestamp=1602802622238&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-regexp-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" + resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" integrity sha1-GLEwLUZ3+dxHQP6MntlmgOKdN+g= dependencies: "@babel/helper-annotate-as-pure" "^7.10.4" @@ -203,7 +194,7 @@ "@babel/helper-explode-assignable-expression@^7.10.4": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.12.1.tgz?cache=0&sync_timestamp=1602802634287&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" + resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" integrity sha1-gAakZmlcSthqKl8vsVtfLDGtVjM= dependencies: "@babel/types" "^7.12.1" @@ -233,17 +224,17 @@ "@babel/helper-member-expression-to-functions@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.12.1.tgz?cache=0&sync_timestamp=1602802634425&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" + resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" integrity sha1-+6Dy/P8/ugDm7LZku15uJuLWFlw= dependencies: "@babel/types" "^7.12.1" "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.12.1.tgz?cache=0&sync_timestamp=1602802634702&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" - integrity sha1-FkTAFZGhWi8ITdbQktlDDrHRIWw= + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.12.5.tgz?cache=0&sync_timestamp=1604441102741&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" + integrity sha1-G/wCKfeUmI927QpNTpCGCFC1Tfs= dependencies: - "@babel/types" "^7.12.1" + "@babel/types" "^7.12.5" "@babel/helper-module-transforms@^7.12.1": version "7.12.1" @@ -281,7 +272,7 @@ "@babel/helper-remap-async-to-generator@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.12.1.tgz?cache=0&sync_timestamp=1602802635385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-remap-async-to-generator%2Fdownload%2F%40babel%2Fhelper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" + resolved "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" integrity sha1-jE27+RYxT2BH3AXmoiFwdCODR/0= dependencies: "@babel/helper-annotate-as-pure" "^7.10.4" @@ -289,14 +280,14 @@ "@babel/types" "^7.12.1" "@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.12.1": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.12.1.tgz?cache=0&sync_timestamp=1602802341371&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" - integrity sha1-8VycyJdDkoGJHhHVzhJWKsDPP6k= + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.12.5.tgz?cache=0&sync_timestamp=1604443729886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" + integrity sha1-8AmhdUO7u84WsGIGrnO2PT/KaNk= dependencies: "@babel/helper-member-expression-to-functions" "^7.12.1" "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" "@babel/helper-simple-access@^7.12.1": version "7.12.1" @@ -340,13 +331,13 @@ "@babel/types" "^7.10.4" "@babel/helpers@^7.12.1", "@babel/helpers@^7.2.0": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.12.1.tgz?cache=0&sync_timestamp=1602802518843&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" - integrity sha1-ioJhwdQ47BjLiQQ0307HaHNMHnk= + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" + integrity sha1-Ghukp2jZtYMQ7aUWxEmRP+ZHEW4= dependencies: "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" "@babel/highlight@^7.0.0", "@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3": version "7.10.4" @@ -357,12 +348,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3", "@babel/parser@^7.2.0", "@babel/parser@^7.4.3", "@babel/parser@^7.6.4", "@babel/parser@^7.7.0": - version "7.12.3" - resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.12.3.tgz?cache=0&sync_timestamp=1602881390944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" - integrity sha1-owVBXr56bHAjtAtRIqBmLZKDNM0= - -"@babel/parser@^7.12.5", "@babel/parser@^7.3.4": +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.12.3", "@babel/parser@^7.12.5", "@babel/parser@^7.2.0", "@babel/parser@^7.3.4", "@babel/parser@^7.4.3", "@babel/parser@^7.6.4", "@babel/parser@^7.7.0": version "7.12.5" resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.12.5.tgz?cache=0&sync_timestamp=1604443727561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" integrity sha1-tK8y3dRzwL+mQ71/8HKLjnG4HqA= @@ -378,15 +364,15 @@ "@babel/plugin-proposal-class-properties@7.2.0": version "7.2.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.2.0.tgz?cache=0&sync_timestamp=1602802520476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.2.0.tgz#12ade6dc7b92ea4fa4c84b4d7b87e9d0f446b4f8" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.2.0.tgz#12ade6dc7b92ea4fa4c84b4d7b87e9d0f446b4f8" integrity sha1-Eq3m3HuS6k+kyEtNe4fp0PRGtPg= dependencies: "@babel/helper-create-class-features-plugin" "^7.2.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.5.5", "@babel/plugin-proposal-class-properties@^7.7.4": +"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.2.0", "@babel/plugin-proposal-class-properties@^7.5.5", "@babel/plugin-proposal-class-properties@^7.7.4": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.12.1.tgz?cache=0&sync_timestamp=1602802520476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" integrity sha1-oIL/VB8qKaSCEGW4rdk0bAwW5d4= dependencies: "@babel/helper-create-class-features-plugin" "^7.12.1" @@ -394,7 +380,7 @@ "@babel/plugin-proposal-decorators@7.2.0": version "7.2.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.2.0.tgz?cache=0&sync_timestamp=1602802520042&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.2.0.tgz#6b4278282a6f5dd08b5d89b94f21aa1671fea071" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.2.0.tgz#6b4278282a6f5dd08b5d89b94f21aa1671fea071" integrity sha1-a0J4KCpvXdCLXYm5TyGqFnH+oHE= dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -402,9 +388,9 @@ "@babel/helper-split-export-declaration" "^7.0.0" "@babel/plugin-syntax-decorators" "^7.2.0" -"@babel/plugin-proposal-decorators@^7.1.2", "@babel/plugin-proposal-decorators@^7.7.4": +"@babel/plugin-proposal-decorators@^7.1.2", "@babel/plugin-proposal-decorators@^7.2.0", "@babel/plugin-proposal-decorators@^7.7.4": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.12.1.tgz?cache=0&sync_timestamp=1602802520042&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" integrity sha1-WScUOf7UFFRWxBBnRQVDruMy0V8= dependencies: "@babel/helper-create-class-features-plugin" "^7.12.1" @@ -413,7 +399,7 @@ "@babel/plugin-proposal-do-expressions@^7.0.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-do-expressions/download/@babel/plugin-proposal-do-expressions-7.12.1.tgz?cache=0&sync_timestamp=1602802635675&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-do-expressions%2Fdownload%2F%40babel%2Fplugin-proposal-do-expressions-7.12.1.tgz#8d7f1bc532d8168147555c26e3db922cc0dfd2f8" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-do-expressions/download/@babel/plugin-proposal-do-expressions-7.12.1.tgz#8d7f1bc532d8168147555c26e3db922cc0dfd2f8" integrity sha1-jX8bxTLYFoFHVVwm49uSLMDf0vg= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -429,15 +415,15 @@ "@babel/plugin-proposal-export-default-from@7.2.0": version "7.2.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-export-default-from/download/@babel/plugin-proposal-export-default-from-7.2.0.tgz?cache=0&sync_timestamp=1602802636289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-export-default-from%2Fdownload%2F%40babel%2Fplugin-proposal-export-default-from-7.2.0.tgz#737b0da44b9254b6152fe29bb99c64e5691f6f68" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-export-default-from/download/@babel/plugin-proposal-export-default-from-7.2.0.tgz#737b0da44b9254b6152fe29bb99c64e5691f6f68" integrity sha1-c3sNpEuSVLYVL+KbuZxk5Wkfb2g= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-export-default-from" "^7.2.0" -"@babel/plugin-proposal-export-default-from@^7.0.0", "@babel/plugin-proposal-export-default-from@^7.5.2", "@babel/plugin-proposal-export-default-from@^7.7.4": +"@babel/plugin-proposal-export-default-from@^7.0.0", "@babel/plugin-proposal-export-default-from@^7.2.0", "@babel/plugin-proposal-export-default-from@^7.5.2", "@babel/plugin-proposal-export-default-from@^7.7.4": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-export-default-from/download/@babel/plugin-proposal-export-default-from-7.12.1.tgz?cache=0&sync_timestamp=1602802636289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-export-default-from%2Fdownload%2F%40babel%2Fplugin-proposal-export-default-from-7.12.1.tgz#c6e62d668a8abcfe0d28b82f560395fecb611c5a" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-export-default-from/download/@babel/plugin-proposal-export-default-from-7.12.1.tgz#c6e62d668a8abcfe0d28b82f560395fecb611c5a" integrity sha1-xuYtZoqKvP4NKLgvVgOV/sthHFo= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -453,7 +439,7 @@ "@babel/plugin-proposal-function-bind@^7.0.0", "@babel/plugin-proposal-function-bind@^7.2.0", "@babel/plugin-proposal-function-bind@^7.7.4": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-function-bind/download/@babel/plugin-proposal-function-bind-7.12.1.tgz?cache=0&sync_timestamp=1602802636000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-function-bind%2Fdownload%2F%40babel%2Fplugin-proposal-function-bind-7.12.1.tgz#8b891b412ffbc8e8ff3fd4df67b8d4bbe5947004" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-function-bind/download/@babel/plugin-proposal-function-bind-7.12.1.tgz#8b891b412ffbc8e8ff3fd4df67b8d4bbe5947004" integrity sha1-i4kbQS/7yOj/P9TfZ7jUu+WUcAQ= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -470,7 +456,7 @@ "@babel/plugin-proposal-json-strings@^7.0.0", "@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.12.1.tgz?cache=0&sync_timestamp=1602802623592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" integrity sha1-1FQjtRdxTu3VYhqd/cA/qfTrJBw= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -493,9 +479,9 @@ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" "@babel/plugin-proposal-numeric-separator@^7.0.0", "@babel/plugin-proposal-numeric-separator@^7.12.1": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.12.1.tgz?cache=0&sync_timestamp=1602802625204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" - integrity sha1-DixndMTOSL5BIRm01pOsd392haY= + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.12.5.tgz?cache=0&sync_timestamp=1604443727018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.12.5.tgz#b1ce757156d40ed79d59d467cb2b154a5c4149ba" + integrity sha1-sc51cVbUDtedWdRnyysVSlxBSbo= dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" @@ -528,7 +514,7 @@ "@babel/plugin-proposal-pipeline-operator@^7.0.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-pipeline-operator/download/@babel/plugin-proposal-pipeline-operator-7.12.1.tgz?cache=0&sync_timestamp=1602802637209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-pipeline-operator%2Fdownload%2F%40babel%2Fplugin-proposal-pipeline-operator-7.12.1.tgz#4bd377bc7e5be92f22f1c08b3f3963636bd8f4a1" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-pipeline-operator/download/@babel/plugin-proposal-pipeline-operator-7.12.1.tgz#4bd377bc7e5be92f22f1c08b3f3963636bd8f4a1" integrity sha1-S9N3vH5b6S8i8cCLPzljY2vY9KE= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -536,7 +522,7 @@ "@babel/plugin-proposal-private-methods@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.12.1.tgz?cache=0&sync_timestamp=1602802641145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" integrity sha1-hoFPbnohN0yYDBDTi0ST5wP0o4k= dependencies: "@babel/helper-create-class-features-plugin" "^7.12.1" @@ -588,7 +574,7 @@ "@babel/plugin-syntax-do-expressions@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-do-expressions/download/@babel/plugin-syntax-do-expressions-7.12.1.tgz?cache=0&sync_timestamp=1602802625659&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-do-expressions%2Fdownload%2F%40babel%2Fplugin-syntax-do-expressions-7.12.1.tgz#6b83dfab79540b66912b559860ce6d4be4f7d960" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-do-expressions/download/@babel/plugin-syntax-do-expressions-7.12.1.tgz#6b83dfab79540b66912b559860ce6d4be4f7d960" integrity sha1-a4Pfq3lUC2aRK1WYYM5tS+T32WA= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -602,7 +588,7 @@ "@babel/plugin-syntax-export-default-from@^7.12.1", "@babel/plugin-syntax-export-default-from@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-export-default-from/download/@babel/plugin-syntax-export-default-from-7.12.1.tgz?cache=0&sync_timestamp=1602802625507&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-export-default-from%2Fdownload%2F%40babel%2Fplugin-syntax-export-default-from-7.12.1.tgz#a9eb31881f4f9a1115a3d2c6d64ac3f6016b5a9d" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-export-default-from/download/@babel/plugin-syntax-export-default-from-7.12.1.tgz#a9eb31881f4f9a1115a3d2c6d64ac3f6016b5a9d" integrity sha1-qesxiB9PmhEVo9LG1krD9gFrWp0= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -623,7 +609,7 @@ "@babel/plugin-syntax-function-bind@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-function-bind/download/@babel/plugin-syntax-function-bind-7.12.1.tgz?cache=0&sync_timestamp=1602802625908&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-function-bind%2Fdownload%2F%40babel%2Fplugin-syntax-function-bind-7.12.1.tgz#1e15da3e568c96dabe21579f2d66821db98aafcc" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-function-bind/download/@babel/plugin-syntax-function-bind-7.12.1.tgz#1e15da3e568c96dabe21579f2d66821db98aafcc" integrity sha1-HhXaPlaMltq+IVefLWaCHbmKr8w= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -651,7 +637,7 @@ "@babel/plugin-syntax-jsx@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.12.1.tgz?cache=0&sync_timestamp=1602802626350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" integrity sha1-nZ01fMgYqnrnk1kXwSV/Z2d6CSY= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -686,7 +672,7 @@ "@babel/plugin-syntax-optional-catch-binding@^7.2.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz?cache=0&sync_timestamp=1600349131752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= dependencies: "@babel/helper-plugin-utils" "^7.8.0" @@ -712,7 +698,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-top-level-await@^7.12.1": +"@babel/plugin-syntax-top-level-await@^7.12.1", "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.12.1" resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.12.1.tgz?cache=0&sync_timestamp=1602802626493&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" integrity sha1-3WwLNXrBuxQtmFN0UKMZYl0T0qA= @@ -728,14 +714,14 @@ "@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.12.1.tgz?cache=0&sync_timestamp=1602802627130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" integrity sha1-gIP/yGrI53f74ktZZ8SyUh88srM= dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.12.1.tgz?cache=0&sync_timestamp=1602802336965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" integrity sha1-OEmknMKiLpdDy9a1KSbTAzcimvE= dependencies: "@babel/helper-module-imports" "^7.12.1" @@ -744,7 +730,7 @@ "@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.12.1.tgz?cache=0&sync_timestamp=1602802627440&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" integrity sha1-8qGjZb3itxEuCm3tkGf918B5Bdk= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -794,14 +780,14 @@ "@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.12.1.tgz?cache=0&sync_timestamp=1602802628850&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-duplicate-keys%2Fdownload%2F%40babel%2Fplugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" integrity sha1-dFZhuropWsBuaGgieXpp+6osoig= dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.12.1.tgz?cache=0&sync_timestamp=1602802628995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" integrity sha1-sPLtNWuhvhQo7K8Sj/iiTwKDCuA= dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" @@ -809,7 +795,7 @@ "@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-flow-strip-types/download/@babel/plugin-transform-flow-strip-types-7.12.1.tgz?cache=0&sync_timestamp=1602802637358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-flow-strip-types%2Fdownload%2F%40babel%2Fplugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-flow-strip-types/download/@babel/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" integrity sha1-hDDez6frKupUFO1KP6bhZSt9d8Q= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -832,7 +818,7 @@ "@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.12.1.tgz?cache=0&sync_timestamp=1602802629143&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" integrity sha1-1zuAOiazcBfd+dO7j03Fi/uAb1c= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -846,7 +832,7 @@ "@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.12.1.tgz?cache=0&sync_timestamp=1602802642464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" integrity sha1-MVQwCwJhhWZu67DA7X+EFf789vk= dependencies: "@babel/helper-module-transforms" "^7.12.1" @@ -876,7 +862,7 @@ "@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.12.1.tgz?cache=0&sync_timestamp=1602802642614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" integrity sha1-61ohjWscaPPWIXuPosyC/sZUeQI= dependencies: "@babel/helper-module-transforms" "^7.12.1" @@ -913,7 +899,7 @@ "@babel/plugin-transform-property-literals@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.12.1.tgz?cache=0&sync_timestamp=1602802629848&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-property-literals%2Fdownload%2F%40babel%2Fplugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" integrity sha1-QbyBIA1zCrtEVquLP71VN7Wa3s0= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -925,10 +911,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx-development@^7.12.1": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.12.1.tgz?cache=0&sync_timestamp=1602802639882&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx-development%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-development-7.12.1.tgz#0b8f8cd531dcf7991f1e5f2c10a2a4f1cfc78e36" - integrity sha1-C4+M1THc95kfHl8sEKKk8c/HjjY= +"@babel/plugin-transform-react-jsx-development@^7.12.5": + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.12.5.tgz#677de5b96da310430d6cfb7fee16a1603afa3d56" + integrity sha1-Z33luW2jEEMNbPt/7hahYDr6PVY= dependencies: "@babel/helper-builder-react-jsx-experimental" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" @@ -936,7 +922,7 @@ "@babel/plugin-transform-react-jsx-self@^7.0.0", "@babel/plugin-transform-react-jsx-self@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.12.1.tgz?cache=0&sync_timestamp=1602802631309&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx-self%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28" integrity sha1-70PLyioU8b0XgH2+Q3b/idcUzyg= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -948,10 +934,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.12.1": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.12.1.tgz?cache=0&sync_timestamp=1602802640033&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-7.12.1.tgz#c2d96c77c2b0e4362cc4e77a43ce7c2539d478cb" - integrity sha1-wtlsd8Kw5DYsxOd6Q858JTnUeMs= +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.12.5": + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.12.5.tgz#39ede0e30159770561b6963be143e40af3bde00c" + integrity sha1-Oe3g4wFZdwVhtpY74UPkCvO94Aw= dependencies: "@babel/helper-builder-react-jsx" "^7.10.4" "@babel/helper-builder-react-jsx-experimental" "^7.12.1" @@ -960,7 +946,7 @@ "@babel/plugin-transform-react-pure-annotations@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-pure-annotations/download/@babel/plugin-transform-react-pure-annotations-7.12.1.tgz?cache=0&sync_timestamp=1602802630842&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-pure-annotations%2Fdownload%2F%40babel%2Fplugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-pure-annotations/download/@babel/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" integrity sha1-BdRvCrTRM5rFmt8goUYskbN6GkI= dependencies: "@babel/helper-annotate-as-pure" "^7.10.4" @@ -1007,7 +993,7 @@ "@babel/plugin-transform-sticky-regex@^7.12.1", "@babel/plugin-transform-sticky-regex@^7.2.0": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.12.1.tgz?cache=0&sync_timestamp=1602802631645&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-sticky-regex%2Fdownload%2F%40babel%2Fplugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" integrity sha1-XCTPUN45bTDpmvyNHHAOi84PXK8= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -1038,7 +1024,7 @@ "@babel/plugin-transform-unicode-escapes@^7.12.1": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.12.1.tgz?cache=0&sync_timestamp=1602802632174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-escapes%2Fdownload%2F%40babel%2Fplugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" integrity sha1-UjK5+BzLBwcLfDw2xnobePGEVwk= dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -1053,7 +1039,7 @@ "@babel/preset-env@7.2.0": version "7.2.0" - resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.2.0.tgz?cache=0&sync_timestamp=1602802642837&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.2.0.tgz#a5030e7e4306af5a295dd5d7c78dc5464af3fee2" + resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.2.0.tgz#a5030e7e4306af5a295dd5d7c78dc5464af3fee2" integrity sha1-pQMOfkMGr1opXdXXx43FRkrz/uI= dependencies: "@babel/helper-module-imports" "^7.0.0" @@ -1098,9 +1084,9 @@ js-levenshtein "^1.1.3" semver "^5.3.0" -"@babel/preset-env@^7.4.0", "@babel/preset-env@^7.5.5", "@babel/preset-env@^7.7.7": +"@babel/preset-env@^7.2.0", "@babel/preset-env@^7.4.0", "@babel/preset-env@^7.5.5", "@babel/preset-env@^7.7.7": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.12.1.tgz?cache=0&sync_timestamp=1602802642837&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" + resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" integrity sha1-nH5cqCoZ78hlOEu0mJFI0u5desI= dependencies: "@babel/compat-data" "^7.12.1" @@ -1199,7 +1185,7 @@ "@babel/preset-react@7.0.0": version "7.0.0" - resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.0.0.tgz?cache=0&sync_timestamp=1602802641293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-react%2Fdownload%2F%40babel%2Fpreset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" + resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" integrity sha1-6GtLPZlDPHs+npF0fiZTlYvGs8A= dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -1209,38 +1195,38 @@ "@babel/plugin-transform-react-jsx-source" "^7.0.0" "@babel/preset-react@^7.0.0", "@babel/preset-react@^7.7.4": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.12.1.tgz?cache=0&sync_timestamp=1602802641293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-react%2Fdownload%2F%40babel%2Fpreset-react-7.12.1.tgz#7f022b13f55b6dd82f00f16d1c599ae62985358c" - integrity sha1-fwIrE/VbbdgvAPFtHFma5imFNYw= + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.12.5.tgz#d45625f65d53612078a43867c5c6750e78772c56" + integrity sha1-1FYl9l1TYSB4pDhnxcZ1Dnh3LFY= dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-react-display-name" "^7.12.1" - "@babel/plugin-transform-react-jsx" "^7.12.1" - "@babel/plugin-transform-react-jsx-development" "^7.12.1" + "@babel/plugin-transform-react-jsx" "^7.12.5" + "@babel/plugin-transform-react-jsx-development" "^7.12.5" "@babel/plugin-transform-react-jsx-self" "^7.12.1" "@babel/plugin-transform-react-jsx-source" "^7.12.1" "@babel/plugin-transform-react-pure-annotations" "^7.12.1" "@babel/preset-typescript@^7.3.3": version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/preset-typescript/download/@babel/preset-typescript-7.12.1.tgz?cache=0&sync_timestamp=1602802643038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-typescript%2Fdownload%2F%40babel%2Fpreset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" + resolved "https://registry.npm.taobao.org/@babel/preset-typescript/download/@babel/preset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" integrity sha1-hkgLSDu5f3UDbohk/kBMx4LMMRs= dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-typescript" "^7.12.1" "@babel/runtime-corejs3@^7.10.2": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.12.1.tgz?cache=0&sync_timestamp=1602802632829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime-corejs3%2Fdownload%2F%40babel%2Fruntime-corejs3-7.12.1.tgz#51b9092befbeeed938335a109dbe0df51451e9dc" - integrity sha1-UbkJK+++7tk4M1oQnb4N9RRR6dw= + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.12.5.tgz#ffee91da0eb4c6dae080774e94ba606368e414f4" + integrity sha1-/+6R2g60xtrggHdOlLpgY2jkFPQ= dependencies: core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.2.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" - integrity sha1-tBFqa2cR0BCy2tO3tuQ78bmVR0A= +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.2.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.8.4": + version "7.12.5" + resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.12.5.tgz?cache=0&sync_timestamp=1604443606981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" + integrity sha1-QQ5+SHRB4bNgwpvnFdhw2bmFiC4= dependencies: regenerator-runtime "^0.13.4" @@ -1253,22 +1239,7 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.4.3", "@babel/traverse@^7.6.3", "@babel/traverse@^7.7.0": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.12.1.tgz?cache=0&sync_timestamp=1602802339226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" - integrity sha1-lBOV4MXMhtXT51yqCV05JFJvDB4= - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.12.1" - "@babel/types" "^7.12.1" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/traverse@^7.3.4": +"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.3.4", "@babel/traverse@^7.4.3", "@babel/traverse@^7.6.3", "@babel/traverse@^7.7.0": version "7.12.5" resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.12.5.tgz?cache=0&sync_timestamp=1604443729710&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095" integrity sha1-eKDGjI6KNeTKz9MduLswPVYG8JU= @@ -1283,16 +1254,7 @@ globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0", "@babel/types@^7.5.5", "@babel/types@^7.6.3", "@babel/types@^7.7.0", "@babel/types@^7.7.4": - version "7.12.1" - resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" - integrity sha1-4QnZq5mo3nNb4ofuPWqZR6GQxK4= - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.12.5", "@babel/types@^7.3.4": +"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.3.4", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0", "@babel/types@^7.5.5", "@babel/types@^7.6.3", "@babel/types@^7.7.0", "@babel/types@^7.7.4": version "7.12.6" resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.12.6.tgz?cache=0&sync_timestamp=1604486388959&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" integrity sha1-rg5V7xzOH7yIHNJvgjTrPmV+3JY= @@ -1333,7 +1295,7 @@ "@commitlint/config-conventional@^8.1.0": version "8.3.4" - resolved "https://registry.npm.taobao.org/@commitlint/config-conventional/download/@commitlint/config-conventional-8.3.4.tgz?cache=0&sync_timestamp=1599988776207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40commitlint%2Fconfig-conventional%2Fdownload%2F%40commitlint%2Fconfig-conventional-8.3.4.tgz#fed13b3711690663b176c1f6b39c205a565618d2" + resolved "https://registry.npm.taobao.org/@commitlint/config-conventional/download/@commitlint/config-conventional-8.3.4.tgz#fed13b3711690663b176c1f6b39c205a565618d2" integrity sha1-/tE7NxFpBmOxdsH2s5wgWlZWGNI= dependencies: conventional-changelog-conventionalcommits "4.2.1" @@ -1366,7 +1328,7 @@ "@commitlint/lint@^8.3.5": version "8.3.5" - resolved "https://registry.npm.taobao.org/@commitlint/lint/download/@commitlint/lint-8.3.5.tgz#627e75adb1cc803cc723e33cc2ba4aa27cbb9f0c" + resolved "https://registry.npm.taobao.org/@commitlint/lint/download/@commitlint/lint-8.3.5.tgz?cache=0&sync_timestamp=1599988778322&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40commitlint%2Flint%2Fdownload%2F%40commitlint%2Flint-8.3.5.tgz#627e75adb1cc803cc723e33cc2ba4aa27cbb9f0c" integrity sha1-Yn51rbHMgDzHI+M8wrpKony7nww= dependencies: "@commitlint/is-ignored" "^8.3.5" @@ -1555,10 +1517,10 @@ resolved "https://registry.npm.taobao.org/@ice/stark-app/download/@ice/stark-app-1.2.0.tgz#e8672a7dacc07dee14826dc0b53663922e2b9fa6" integrity sha1-6GcqfazAfe4Ugm3AtTZjki4rn6Y= -"@ice/stark@^1.3.1": - version "1.5.6" - resolved "https://registry.npm.taobao.org/@ice/stark/download/@ice/stark-1.5.6.tgz#aaea8424ebb34b7e1f4a1ea67b1f9e9b6540b422" - integrity sha1-quqEJOuzS34fSh6mex+em2VAtCI= +"@ice/stark@^2.0.0": + version "2.0.1" + resolved "https://registry.npm.taobao.org/@ice/stark/download/@ice/stark-2.0.1.tgz#4f9b8e5985187f25b1c684b878f854771317950f" + integrity sha1-T5uOWYUYfyWxxoS4ePhUdxMXlQ8= dependencies: "@ice/sandbox" "^1.0.4" lodash.isequal "^4.5.0" @@ -1619,7 +1581,7 @@ "@jest/console@^24.9.0": version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-24.9.0.tgz?cache=0&sync_timestamp=1603108863735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-24.9.0.tgz?cache=0&sync_timestamp=1604319693613&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" integrity sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A= dependencies: "@jest/source-map" "^24.9.0" @@ -1628,7 +1590,7 @@ "@jest/console@^25.5.0": version "25.5.0" - resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-25.5.0.tgz?cache=0&sync_timestamp=1603108863735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" + resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-25.5.0.tgz?cache=0&sync_timestamp=1604319693613&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" integrity sha1-dwgAeZ1RDzcynFCKnt0Le0R9mrs= dependencies: "@jest/types" "^25.5.0" @@ -1637,21 +1599,21 @@ jest-util "^25.5.0" slash "^3.0.0" -"@jest/console@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-26.6.0.tgz?cache=0&sync_timestamp=1603108863735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-26.6.0.tgz#fd4a4733df3c50260aefb227414296aee96e682f" - integrity sha1-/UpHM988UCYK77InQUKWruluaC8= +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-26.6.2.tgz?cache=0&sync_timestamp=1604319693613&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha1-TgS8RkAUNYsDq0k3gF7jagrrmPI= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.6.0" - jest-util "^26.6.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" slash "^3.0.0" "@jest/core@^25.5.4": version "25.5.4" - resolved "https://registry.npm.taobao.org/@jest/core/download/@jest/core-25.5.4.tgz?cache=0&sync_timestamp=1603108872657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fcore%2Fdownload%2F%40jest%2Fcore-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" + resolved "https://registry.npm.taobao.org/@jest/core/download/@jest/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" integrity sha1-PvdBL3M5IQ8APN82ZGu8p4bv57Q= dependencies: "@jest/console" "^25.5.0" @@ -1683,34 +1645,34 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/core@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/core/download/@jest/core-26.6.0.tgz?cache=0&sync_timestamp=1603108872657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fcore%2Fdownload%2F%40jest%2Fcore-26.6.0.tgz#04dd3e046e9ebbe06a4f330e05a67f21f7bb314a" - integrity sha1-BN0+BG6eu+BqTzMOBaZ/Ife7MUo= +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.npm.taobao.org/@jest/core/download/@jest/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha1-djn8s4M9dIpGVq2lS94ZMFHkX60= dependencies: - "@jest/console" "^26.6.0" - "@jest/reporters" "^26.6.0" - "@jest/test-result" "^26.6.0" - "@jest/transform" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^26.6.0" - jest-config "^26.6.0" - jest-haste-map "^26.6.0" - jest-message-util "^26.6.0" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" jest-regex-util "^26.0.0" - jest-resolve "^26.6.0" - jest-resolve-dependencies "^26.6.0" - jest-runner "^26.6.0" - jest-runtime "^26.6.0" - jest-snapshot "^26.6.0" - jest-util "^26.6.0" - jest-validate "^26.6.0" - jest-watcher "^26.6.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" micromatch "^4.0.2" p-each-series "^2.1.0" rimraf "^3.0.0" @@ -1719,26 +1681,26 @@ "@jest/environment@^25.5.0": version "25.5.0" - resolved "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-25.5.0.tgz?cache=0&sync_timestamp=1603108865869&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" + resolved "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-25.5.0.tgz?cache=0&sync_timestamp=1604319695236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" integrity sha1-qjOwwhpxbGVoZjjn74FsDjoMezc= dependencies: "@jest/fake-timers" "^25.5.0" "@jest/types" "^25.5.0" jest-mock "^25.5.0" -"@jest/environment@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-26.6.0.tgz?cache=0&sync_timestamp=1603108865869&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-26.6.0.tgz#695ee24cbf110456272caa9debbbf7e01afb2f78" - integrity sha1-aV7iTL8RBFYnLKqd67v34Br7L3g= +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-26.6.2.tgz?cache=0&sync_timestamp=1604319695236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha1-ujZMxy4iHnnMjwqZVVv111d8+Sw= dependencies: - "@jest/fake-timers" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" - jest-mock "^26.6.0" + jest-mock "^26.6.2" "@jest/fake-timers@^24.9.0": version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz?cache=0&sync_timestamp=1603108862410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ffake-timers%2Fdownload%2F%40jest%2Ffake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" integrity sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM= dependencies: "@jest/types" "^24.9.0" @@ -1747,7 +1709,7 @@ "@jest/fake-timers@^25.5.0": version "25.5.0" - resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-25.5.0.tgz?cache=0&sync_timestamp=1603108862410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ffake-timers%2Fdownload%2F%40jest%2Ffake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" + resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" integrity sha1-RjUuAFM8AkyQwrwq2fKVn38RQYU= dependencies: "@jest/types" "^25.5.0" @@ -1756,39 +1718,39 @@ jest-util "^25.5.0" lolex "^5.0.0" -"@jest/fake-timers@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-26.6.0.tgz?cache=0&sync_timestamp=1603108862410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ffake-timers%2Fdownload%2F%40jest%2Ffake-timers-26.6.0.tgz#5b4cc83fab91029963c53e6e2716f02544323b22" - integrity sha1-W0zIP6uRApljxT5uJxbwJUQyOyI= +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha1-RZwym89wzuSvTX4/PmeEgSNTWq0= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" "@sinonjs/fake-timers" "^6.0.1" "@types/node" "*" - jest-message-util "^26.6.0" - jest-mock "^26.6.0" - jest-util "^26.6.0" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" "@jest/globals@^25.5.2": version "25.5.2" - resolved "https://registry.npm.taobao.org/@jest/globals/download/@jest/globals-25.5.2.tgz?cache=0&sync_timestamp=1603108869019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fglobals%2Fdownload%2F%40jest%2Fglobals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" + resolved "https://registry.npm.taobao.org/@jest/globals/download/@jest/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" integrity sha1-XkXp3o0ihxavMlfus5kcwuFiyog= dependencies: "@jest/environment" "^25.5.0" "@jest/types" "^25.5.0" expect "^25.5.0" -"@jest/globals@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/globals/download/@jest/globals-26.6.0.tgz?cache=0&sync_timestamp=1603108869019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fglobals%2Fdownload%2F%40jest%2Fglobals-26.6.0.tgz#da2f58d17105b6a7531ee3c8724acb5f233400e2" - integrity sha1-2i9Y0XEFtqdTHuPIckrLXyM0AOI= +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/globals/download/@jest/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha1-W2E7eKGqJlWukI66Y4zJaiDfcgo= dependencies: - "@jest/environment" "^26.6.0" - "@jest/types" "^26.6.0" - expect "^26.6.0" + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" "@jest/reporters@^25.5.1": version "25.5.1" - resolved "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-25.5.1.tgz?cache=0&sync_timestamp=1603108867339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" + resolved "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-25.5.1.tgz?cache=0&sync_timestamp=1604321765718&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" integrity sha1-y2hrzGgPZkwtuvfthz6TqmgRU4s= dependencies: "@bcoe/v8-coverage" "^0.2.3" @@ -1818,16 +1780,16 @@ optionalDependencies: node-notifier "^6.0.0" -"@jest/reporters@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-26.6.0.tgz?cache=0&sync_timestamp=1603108867339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-26.6.0.tgz#2a8d631ad3b19a722fd0fae58ce9fa25e8aac1cf" - integrity sha1-Ko1jGtOxmnIv0PrljOn6Jeiqwc8= +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-26.6.2.tgz?cache=0&sync_timestamp=1604321765718&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha1-H1GLmWN6Xxgwe9Ps+SdfaIKmZ/Y= dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.0" - "@jest/test-result" "^26.6.0" - "@jest/transform" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -1838,21 +1800,21 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^26.6.0" - jest-resolve "^26.6.0" - jest-util "^26.6.0" - jest-worker "^26.5.0" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" - v8-to-istanbul "^6.0.1" + v8-to-istanbul "^7.0.0" optionalDependencies: node-notifier "^8.0.0" "@jest/source-map@^24.9.0": version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-24.9.0.tgz?cache=0&sync_timestamp=1601890413378&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-24.9.0.tgz?cache=0&sync_timestamp=1604319655862&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" integrity sha1-DiY6lEML5LQdpoPMwea//ioZFxQ= dependencies: callsites "^3.0.0" @@ -1861,17 +1823,17 @@ "@jest/source-map@^25.5.0": version "25.5.0" - resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-25.5.0.tgz?cache=0&sync_timestamp=1601890413378&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" + resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-25.5.0.tgz?cache=0&sync_timestamp=1604319655862&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" integrity sha1-31wg1gUKopLCxtPw0sdgavMVvRs= dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/source-map@^26.5.0": - version "26.5.0" - resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-26.5.0.tgz?cache=0&sync_timestamp=1601890413378&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-26.5.0.tgz#98792457c85bdd902365cd2847b58fff05d96367" - integrity sha1-mHkkV8hb3ZAjZc0oR7WP/wXZY2c= +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-26.6.2.tgz?cache=0&sync_timestamp=1604319655862&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha1-Ka9eHi4yTK/MyTbyGDCfVKtp1TU= dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" @@ -1879,7 +1841,7 @@ "@jest/test-result@^24.9.0": version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-24.9.0.tgz?cache=0&sync_timestamp=1603108865102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-result%2Fdownload%2F%40jest%2Ftest-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" integrity sha1-EXluiqnb+I6gJXV7MVJZWtBroMo= dependencies: "@jest/console" "^24.9.0" @@ -1888,7 +1850,7 @@ "@jest/test-result@^25.5.0": version "25.5.0" - resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-25.5.0.tgz?cache=0&sync_timestamp=1603108865102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-result%2Fdownload%2F%40jest%2Ftest-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" + resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" integrity sha1-E5oEMjDN7/6botg0Gyfy78d86Hw= dependencies: "@jest/console" "^25.5.0" @@ -1896,19 +1858,19 @@ "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-result@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-26.6.0.tgz?cache=0&sync_timestamp=1603108865102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-result%2Fdownload%2F%40jest%2Ftest-result-26.6.0.tgz#79705c8a57165777af5ef1d45c65dcc4a5965c11" - integrity sha1-eXBcilcWV3evXvHUXGXcxKWWXBE= +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha1-VdpYti3xNFdsyVR276X3lJ4/Xxg= dependencies: - "@jest/console" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" "@jest/test-sequencer@^25.5.4": version "25.5.4" - resolved "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-25.5.4.tgz?cache=0&sync_timestamp=1603108870920&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-sequencer%2Fdownload%2F%40jest%2Ftest-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" + resolved "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-25.5.4.tgz?cache=0&sync_timestamp=1604468905463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-sequencer%2Fdownload%2F%40jest%2Ftest-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" integrity sha1-m05oWzaVTDjQ8FLlltKBYb3Itzc= dependencies: "@jest/test-result" "^25.5.0" @@ -1917,20 +1879,20 @@ jest-runner "^25.5.4" jest-runtime "^25.5.4" -"@jest/test-sequencer@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-26.6.0.tgz?cache=0&sync_timestamp=1603108870920&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-sequencer%2Fdownload%2F%40jest%2Ftest-sequencer-26.6.0.tgz#a9dbc6545b1c59e7f375b05466e172126609906d" - integrity sha1-qdvGVFscWefzdbBUZuFyEmYJkG0= +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-26.6.3.tgz?cache=0&sync_timestamp=1604468905463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-sequencer%2Fdownload%2F%40jest%2Ftest-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha1-mOikUQCGOIbQdCBej/3Fp+tYKxc= dependencies: - "@jest/test-result" "^26.6.0" + "@jest/test-result" "^26.6.2" graceful-fs "^4.2.4" - jest-haste-map "^26.6.0" - jest-runner "^26.6.0" - jest-runtime "^26.6.0" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" "@jest/transform@^24.9.0": version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-24.9.0.tgz?cache=0&sync_timestamp=1603108866204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-24.9.0.tgz?cache=0&sync_timestamp=1604319693372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" integrity sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY= dependencies: "@babel/core" "^7.1.0" @@ -1952,7 +1914,7 @@ "@jest/transform@^25.5.1": version "25.5.1" - resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-25.5.1.tgz?cache=0&sync_timestamp=1603108866204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" + resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-25.5.1.tgz?cache=0&sync_timestamp=1604319693372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" integrity sha1-BGndwXaZ3Sv5hdtV+g+5MJ9cLbM= dependencies: "@babel/core" "^7.1.0" @@ -1972,21 +1934,21 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/transform@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-26.6.0.tgz?cache=0&sync_timestamp=1603108866204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-26.6.0.tgz#1a6b95d0c7f9b4f96dd3aab9d28422a9e5e4043e" - integrity sha1-GmuV0Mf5tPlt06q50oQiqeXkBD4= +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-26.6.2.tgz?cache=0&sync_timestamp=1604319693372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha1-WsV8X6GtF7Kq6D5z5FgTiU3PLks= dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" babel-plugin-istanbul "^6.0.0" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^26.6.0" + jest-haste-map "^26.6.2" jest-regex-util "^26.0.0" - jest-util "^26.6.0" + jest-util "^26.6.2" micromatch "^4.0.2" pirates "^4.0.1" slash "^3.0.0" @@ -1995,7 +1957,7 @@ "@jest/types@^24.9.0": version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-24.9.0.tgz?cache=0&sync_timestamp=1603108827096&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-24.9.0.tgz?cache=0&sync_timestamp=1604321690386&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= dependencies: "@types/istanbul-lib-coverage" "^2.0.0" @@ -2004,7 +1966,7 @@ "@jest/types@^25.5.0": version "25.5.0" - resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-25.5.0.tgz?cache=0&sync_timestamp=1603108827096&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-25.5.0.tgz?cache=0&sync_timestamp=1604321690386&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" integrity sha1-TWpHk/e5WZ/DaAh3uFapfbzPKp0= dependencies: "@types/istanbul-lib-coverage" "^2.0.0" @@ -2012,10 +1974,10 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@jest/types@^26.6.0": - version "26.6.0" - resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.0.tgz?cache=0&sync_timestamp=1603108827096&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-26.6.0.tgz#2c045f231bfd79d52514cda3fbc93ef46157fa6a" - integrity sha1-LARfIxv9edUlFM2j+8k+9GFX+mo= +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz?cache=0&sync_timestamp=1604321690386&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha1-vvWlMgMOHYii9abZM/hOlyJu1I4= dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" @@ -2719,7 +2681,7 @@ "@midwayjs/command-core@^1.2.20": version "1.2.20" - resolved "https://registry.npm.taobao.org/@midwayjs/command-core/download/@midwayjs/command-core-1.2.20.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40midwayjs%2Fcommand-core%2Fdownload%2F%40midwayjs%2Fcommand-core-1.2.20.tgz#d83782a06ff45bc213f02ead592abb004dc762ea" + resolved "https://registry.npm.taobao.org/@midwayjs/command-core/download/@midwayjs/command-core-1.2.20.tgz#d83782a06ff45bc213f02ead592abb004dc762ea" integrity sha1-2DeCoG/0W8IT8C6tWSq7AE3HYuo= dependencies: light-spinner "^1.0.0" @@ -2736,7 +2698,7 @@ "@midwayjs/faas-code-analysis@^1.2.20": version "1.2.20" - resolved "https://registry.npm.taobao.org/@midwayjs/faas-code-analysis/download/@midwayjs/faas-code-analysis-1.2.20.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40midwayjs%2Ffaas-code-analysis%2Fdownload%2F%40midwayjs%2Ffaas-code-analysis-1.2.20.tgz#eb1bafb9042584f799c19758b68a53abca715b02" + resolved "https://registry.npm.taobao.org/@midwayjs/faas-code-analysis/download/@midwayjs/faas-code-analysis-1.2.20.tgz#eb1bafb9042584f799c19758b68a53abca715b02" integrity sha1-6xuvuQQlhPeZwZdYtopTq8pxWwI= dependencies: "@midwayjs/mwcc" "^0.3.x" @@ -2745,7 +2707,7 @@ "@midwayjs/faas-dev-pack@^1.0.0": version "1.2.20" - resolved "https://registry.npm.taobao.org/@midwayjs/faas-dev-pack/download/@midwayjs/faas-dev-pack-1.2.20.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40midwayjs%2Ffaas-dev-pack%2Fdownload%2F%40midwayjs%2Ffaas-dev-pack-1.2.20.tgz#411c29c4bd90732db8845d10b669dbdccf438b38" + resolved "https://registry.npm.taobao.org/@midwayjs/faas-dev-pack/download/@midwayjs/faas-dev-pack-1.2.20.tgz?cache=0&sync_timestamp=1605168708167&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40midwayjs%2Ffaas-dev-pack%2Fdownload%2F%40midwayjs%2Ffaas-dev-pack-1.2.20.tgz#411c29c4bd90732db8845d10b669dbdccf438b38" integrity sha1-QRwpxL2Qcy24hF0Qtmnb3M9Dizg= dependencies: "@midwayjs/gateway-common-core" "^1.2.12" @@ -2764,7 +2726,7 @@ "@midwayjs/fcli-plugin-invoke@^1.2.12": version "1.2.20" - resolved "https://registry.npm.taobao.org/@midwayjs/fcli-plugin-invoke/download/@midwayjs/fcli-plugin-invoke-1.2.20.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40midwayjs%2Ffcli-plugin-invoke%2Fdownload%2F%40midwayjs%2Ffcli-plugin-invoke-1.2.20.tgz#3b9a3c306bb702312e86a772571e0a0f827ca1ca" + resolved "https://registry.npm.taobao.org/@midwayjs/fcli-plugin-invoke/download/@midwayjs/fcli-plugin-invoke-1.2.20.tgz?cache=0&sync_timestamp=1605168704662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40midwayjs%2Ffcli-plugin-invoke%2Fdownload%2F%40midwayjs%2Ffcli-plugin-invoke-1.2.20.tgz#3b9a3c306bb702312e86a772571e0a0f827ca1ca" integrity sha1-O5o8MGu3AjEuhqdyVx4KD4J8oco= dependencies: "@midwayjs/command-core" "^1.2.20" @@ -2807,9 +2769,9 @@ globby "^10.0.1" "@midwayjs/mwcc@^0.3.x": - version "0.3.5" - resolved "https://registry.npm.taobao.org/@midwayjs/mwcc/download/@midwayjs/mwcc-0.3.5.tgz#e9da571456823ce666ae315c282853628ba5cf85" - integrity sha1-6dpXFFaCPOZmrjFcKChTYoulz4U= + version "0.3.6" + resolved "https://registry.npm.taobao.org/@midwayjs/mwcc/download/@midwayjs/mwcc-0.3.6.tgz?cache=0&sync_timestamp=1604578434663&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40midwayjs%2Fmwcc%2Fdownload%2F%40midwayjs%2Fmwcc-0.3.6.tgz#ebbb1086d2fea2d6b79d9b7cc0164d7f51faed34" + integrity sha1-67sQhtL+ota3nZt8wBZNf1H67TQ= dependencies: "@midwayjs/ncc" "^0.22.2-1" source-map "^0.7.3" @@ -2901,7 +2863,7 @@ "@midwayjs/serverless-spec-builder@^1.2.12", "@midwayjs/serverless-spec-builder@^1.2.20": version "1.2.21" - resolved "https://registry.npm.taobao.org/@midwayjs/serverless-spec-builder/download/@midwayjs/serverless-spec-builder-1.2.21.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40midwayjs%2Fserverless-spec-builder%2Fdownload%2F%40midwayjs%2Fserverless-spec-builder-1.2.21.tgz#4390142653fd13c47d04f99c73cfcc9b421715ac" + resolved "https://registry.npm.taobao.org/@midwayjs/serverless-spec-builder/download/@midwayjs/serverless-spec-builder-1.2.21.tgz?cache=0&sync_timestamp=1605168699106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40midwayjs%2Fserverless-spec-builder%2Fdownload%2F%40midwayjs%2Fserverless-spec-builder-1.2.21.tgz#4390142653fd13c47d04f99c73cfcc9b421715ac" integrity sha1-Q5AUJlP9E8R9BPmcc8/Mm0IXFaw= dependencies: ejs "^3.1.3" @@ -2951,16 +2913,16 @@ mkdirp "^1.0.4" "@octokit/auth-token@^2.4.0": - version "2.4.2" - resolved "https://registry.npm.taobao.org/@octokit/auth-token/download/@octokit/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a" - integrity sha1-ENCul5sQD6a3L6Do5j4n5tDb/4o= + version "2.4.3" + resolved "https://registry.npm.taobao.org/@octokit/auth-token/download/@octokit/auth-token-2.4.3.tgz?cache=0&sync_timestamp=1604253907683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Fauth-token%2Fdownload%2F%40octokit%2Fauth-token-2.4.3.tgz#b868b5f2366533a7e62933eaa1181a8924228cc4" + integrity sha1-uGi18jZlM6fmKTPqoRgaiSQijMQ= dependencies: "@octokit/types" "^5.0.0" "@octokit/endpoint@^6.0.1": - version "6.0.8" - resolved "https://registry.npm.taobao.org/@octokit/endpoint/download/@octokit/endpoint-6.0.8.tgz#91b07e236fdb69929c678c6439f7a560dc6058ac" - integrity sha1-kbB+I2/baZKcZ4xkOfelYNxgWKw= + version "6.0.9" + resolved "https://registry.npm.taobao.org/@octokit/endpoint/download/@octokit/endpoint-6.0.9.tgz?cache=0&sync_timestamp=1604252064864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Fendpoint%2Fdownload%2F%40octokit%2Fendpoint-6.0.9.tgz#c6a772e024202b1bd19ab69f90e0536a2598b13e" + integrity sha1-xqdy4CQgKxvRmrafkOBTaiWYsT4= dependencies: "@octokit/types" "^5.0.0" is-plain-object "^5.0.0" @@ -2979,9 +2941,9 @@ "@octokit/types" "^2.0.1" "@octokit/plugin-request-log@^1.0.0": - version "1.0.0" - resolved "https://registry.npm.taobao.org/@octokit/plugin-request-log/download/@octokit/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" - integrity sha1-7vh6QxMA9hSMOaf3X4z+shiyVH4= + version "1.0.2" + resolved "https://registry.npm.taobao.org/@octokit/plugin-request-log/download/@octokit/plugin-request-log-1.0.2.tgz#394d59ec734cd2f122431fbaf05099861ece3c44" + integrity sha1-OU1Z7HNM0vEiQx+68FCZhh7OPEQ= "@octokit/plugin-rest-endpoint-methods@2.4.0": version "2.4.0" @@ -2993,7 +2955,7 @@ "@octokit/request-error@^1.0.2": version "1.2.1" - resolved "https://registry.npm.taobao.org/@octokit/request-error/download/@octokit/request-error-1.2.1.tgz#ede0714c773f32347576c25649dc013ae6b31801" + resolved "https://registry.npm.taobao.org/@octokit/request-error/download/@octokit/request-error-1.2.1.tgz?cache=0&sync_timestamp=1604252062832&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Frequest-error%2Fdownload%2F%40octokit%2Frequest-error-1.2.1.tgz#ede0714c773f32347576c25649dc013ae6b31801" integrity sha1-7eBxTHc/MjR1dsJWSdwBOuazGAE= dependencies: "@octokit/types" "^2.0.0" @@ -3001,18 +2963,18 @@ once "^1.4.0" "@octokit/request-error@^2.0.0": - version "2.0.2" - resolved "https://registry.npm.taobao.org/@octokit/request-error/download/@octokit/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" - integrity sha1-Dna4P12P3aHbmQJ+pfYXwua6ntA= + version "2.0.3" + resolved "https://registry.npm.taobao.org/@octokit/request-error/download/@octokit/request-error-2.0.3.tgz?cache=0&sync_timestamp=1604252062832&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Frequest-error%2Fdownload%2F%40octokit%2Frequest-error-2.0.3.tgz#b51b200052bf483f6fa56c9e7e3aa51ead36ecd8" + integrity sha1-tRsgAFK/SD9vpWyefjqlHq027Ng= dependencies: "@octokit/types" "^5.0.1" deprecation "^2.0.0" once "^1.4.0" "@octokit/request@^5.2.0": - version "5.4.9" - resolved "https://registry.npm.taobao.org/@octokit/request/download/@octokit/request-5.4.9.tgz#0a46f11b82351b3416d3157261ad9b1558c43365" - integrity sha1-CkbxG4I1GzQW0xVyYa2bFVjEM2U= + version "5.4.10" + resolved "https://registry.npm.taobao.org/@octokit/request/download/@octokit/request-5.4.10.tgz?cache=0&sync_timestamp=1604252061384&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Frequest%2Fdownload%2F%40octokit%2Frequest-5.4.10.tgz#402d2c53768bde12b99348329ba4129746aebb9c" + integrity sha1-QC0sU3aL3hK5k0gym6QSl0auu5w= dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.0.0" @@ -3025,7 +2987,7 @@ "@octokit/rest@^16.28.4": version "16.43.2" - resolved "https://registry.npm.taobao.org/@octokit/rest/download/@octokit/rest-16.43.2.tgz#c53426f1e1d1044dee967023e3279c50993dd91b" + resolved "https://registry.npm.taobao.org/@octokit/rest/download/@octokit/rest-16.43.2.tgz?cache=0&sync_timestamp=1604333501219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Frest%2Fdownload%2F%40octokit%2Frest-16.43.2.tgz#c53426f1e1d1044dee967023e3279c50993dd91b" integrity sha1-xTQm8eHRBE3ulnAj4yecUJk92Rs= dependencies: "@octokit/auth-token" "^2.4.0" @@ -3060,9 +3022,9 @@ "@types/node" ">= 8" "@pmmmwh/react-refresh-webpack-plugin@^0.4.2": - version "0.4.2" - resolved "https://registry.npm.taobao.org/@pmmmwh/react-refresh-webpack-plugin/download/@pmmmwh/react-refresh-webpack-plugin-0.4.2.tgz?cache=0&sync_timestamp=1599117136933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40pmmmwh%2Freact-refresh-webpack-plugin%2Fdownload%2F%40pmmmwh%2Freact-refresh-webpack-plugin-0.4.2.tgz#1f9741e0bde9790a0e13272082ed7272a083620d" - integrity sha1-H5dB4L3peQoOEycggu1ycqCDYg0= + version "0.4.3" + resolved "https://registry.npm.taobao.org/@pmmmwh/react-refresh-webpack-plugin/download/@pmmmwh/react-refresh-webpack-plugin-0.4.3.tgz?cache=0&sync_timestamp=1604271394842&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40pmmmwh%2Freact-refresh-webpack-plugin%2Fdownload%2F%40pmmmwh%2Freact-refresh-webpack-plugin-0.4.3.tgz#1eec460596d200c0236bf195b078a5d1df89b766" + integrity sha1-HuxGBZbSAMAja/GVsHil0d+Jt2Y= dependencies: ansi-html "^0.0.7" error-stack-parser "^2.0.6" @@ -3088,7 +3050,7 @@ promise-limit "^2.5.0" puppeteer "^1.7.0" -"@reactml/loader@^0.1.2", "@reactml/loader@^0.1.3": +"@reactml/loader@^0.1.3": version "0.1.3" resolved "https://registry.npm.taobao.org/@reactml/loader/download/@reactml/loader-0.1.3.tgz#841ec7a988b50d7ed3359737ba2e3b580ef7d621" integrity sha1-hB7HqYi1DX7TNZc3ui47WA731iE= @@ -3158,13 +3120,13 @@ "@types/anymatch@*": version "1.3.1" - resolved "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" + resolved "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz?cache=0&sync_timestamp=1605052639708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fanymatch%2Fdownload%2F%40types%2Fanymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha1-M2utwb7sudrMOL6izzKt9ieoQho= "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.0", "@types/babel__core@^7.1.7": - version "7.1.10" - resolved "https://registry.npm.taobao.org/@types/babel__core/download/@types/babel__core-7.1.10.tgz?cache=0&sync_timestamp=1600979095030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__core%2Fdownload%2F%40types%2Fbabel__core-7.1.10.tgz#ca58fc195dd9734e77e57c6f2df565623636ab40" - integrity sha1-ylj8GV3Zc0535XxvLfVlYjY2q0A= + version "7.1.12" + resolved "https://registry.npm.taobao.org/@types/babel__core/download/@types/babel__core-7.1.12.tgz?cache=0&sync_timestamp=1605052813383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__core%2Fdownload%2F%40types%2Fbabel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha1-TY6eUesmVVKn5PH/IhmrYTO9+y0= dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -3174,14 +3136,14 @@ "@types/babel__generator@*": version "7.6.2" - resolved "https://registry.npm.taobao.org/@types/babel__generator/download/@types/babel__generator-7.6.2.tgz?cache=0&sync_timestamp=1601076616721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__generator%2Fdownload%2F%40types%2Fbabel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + resolved "https://registry.npm.taobao.org/@types/babel__generator/download/@types/babel__generator-7.6.2.tgz?cache=0&sync_timestamp=1605052818194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__generator%2Fdownload%2F%40types%2Fbabel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" integrity sha1-89cReOGHhY98ReMDgPjxt0FaEtg= dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.0.3" - resolved "https://registry.npm.taobao.org/@types/babel__template/download/@types/babel__template-7.0.3.tgz?cache=0&sync_timestamp=1600979095662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__template%2Fdownload%2F%40types%2Fbabel__template-7.0.3.tgz#b8aaeba0a45caca7b56a5de9459872dde3727214" + resolved "https://registry.npm.taobao.org/@types/babel__template/download/@types/babel__template-7.0.3.tgz?cache=0&sync_timestamp=1605052818495&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__template%2Fdownload%2F%40types%2Fbabel__template-7.0.3.tgz#b8aaeba0a45caca7b56a5de9459872dde3727214" integrity sha1-uKrroKRcrKe1al3pRZhy3eNychQ= dependencies: "@babel/parser" "^7.1.0" @@ -3189,7 +3151,7 @@ "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": version "7.0.15" - resolved "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.0.15.tgz?cache=0&sync_timestamp=1601076616559&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__traverse%2Fdownload%2F%40types%2Fbabel__traverse-7.0.15.tgz#db9e4238931eb69ef8aab0ad6523d4d4caa39d03" + resolved "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.0.15.tgz?cache=0&sync_timestamp=1605052818019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__traverse%2Fdownload%2F%40types%2Fbabel__traverse-7.0.15.tgz#db9e4238931eb69ef8aab0ad6523d4d4caa39d03" integrity sha1-255COJMetp74qrCtZSPU1MqjnQM= dependencies: "@babel/types" "^7.3.0" @@ -3204,7 +3166,7 @@ "@types/connect@*": version "3.4.33" - resolved "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546" + resolved "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.33.tgz?cache=0&sync_timestamp=1605052812480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fconnect%2Fdownload%2F%40types%2Fconnect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546" integrity sha1-MWEMkB7KVzuHE8MzCrxua59YhUY= dependencies: "@types/node" "*" @@ -3226,7 +3188,7 @@ "@types/express-serve-static-core@*": version "4.17.13" - resolved "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.13.tgz?cache=0&sync_timestamp=1600732516513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fexpress-serve-static-core%2Fdownload%2F%40types%2Fexpress-serve-static-core-4.17.13.tgz#d9af025e925fc8b089be37423b8d1eac781be084" + resolved "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.13.tgz#d9af025e925fc8b089be37423b8d1eac781be084" integrity sha1-2a8CXpJfyLCJvjdCO40erHgb4IQ= dependencies: "@types/node" "*" @@ -3234,9 +3196,9 @@ "@types/range-parser" "*" "@types/express@^4.17.0": - version "4.17.8" - resolved "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.8.tgz#3df4293293317e61c60137d273a2e96cd8d5f27a" - integrity sha1-PfQpMpMxfmHGATfSc6LpbNjV8no= + version "4.17.9" + resolved "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.9.tgz?cache=0&sync_timestamp=1605057477768&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fexpress%2Fdownload%2F%40types%2Fexpress-4.17.9.tgz#f5f2df6add703ff28428add52bdec8a1091b0a78" + integrity sha1-9fLfat1wP/KEKK3VK97IoQkbCng= dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "*" @@ -3252,27 +3214,27 @@ "@types/glob@^7.1.1": version "7.1.3" - resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz?cache=0&sync_timestamp=1605053345113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" integrity sha1-5rqA82t9qtLGhazZJmOC5omFwYM= dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/graceful-fs@^4.1.2": - version "4.1.3" - resolved "https://registry.npm.taobao.org/@types/graceful-fs/download/@types/graceful-fs-4.1.3.tgz?cache=0&sync_timestamp=1600472533872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fgraceful-fs%2Fdownload%2F%40types%2Fgraceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" - integrity sha1-A5rzX+Jr7DUAPo2G0u6cWGNUNI8= + version "4.1.4" + resolved "https://registry.npm.taobao.org/@types/graceful-fs/download/@types/graceful-fs-4.1.4.tgz?cache=0&sync_timestamp=1605053305847&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fgraceful-fs%2Fdownload%2F%40types%2Fgraceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" + integrity sha1-T/n2QafG0aNQj/iLwxQbFSdy51M= dependencies: "@types/node" "*" "@types/history@*", "@types/history@^4.7.5": version "4.7.8" - resolved "https://registry.npm.taobao.org/@types/history/download/@types/history-4.7.8.tgz?cache=0&sync_timestamp=1600298448174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fhistory%2Fdownload%2F%40types%2Fhistory-4.7.8.tgz#49348387983075705fe8f4e02fb67f7daaec4934" + resolved "https://registry.npm.taobao.org/@types/history/download/@types/history-4.7.8.tgz?cache=0&sync_timestamp=1605053835793&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fhistory%2Fdownload%2F%40types%2Fhistory-4.7.8.tgz#49348387983075705fe8f4e02fb67f7daaec4934" integrity sha1-STSDh5gwdXBf6PTgL7Z/farsSTQ= "@types/hoist-non-react-statics@^3.3.0": version "3.3.1" - resolved "https://registry.npm.taobao.org/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + resolved "https://registry.npm.taobao.org/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz?cache=0&sync_timestamp=1605053525852&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fhoist-non-react-statics%2Fdownload%2F%40types%2Fhoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58= dependencies: "@types/react" "*" @@ -3285,7 +3247,7 @@ "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.3" - resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.3.tgz?cache=0&sync_timestamp=1605053724780&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-lib-coverage%2Fdownload%2F%40types%2Fistanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" integrity sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I= "@types/istanbul-lib-report@*": @@ -3297,7 +3259,7 @@ "@types/istanbul-reports@^1.1.1": version "1.1.2" - resolved "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + resolved "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz?cache=0&sync_timestamp=1605053987654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" integrity sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI= dependencies: "@types/istanbul-lib-coverage" "*" @@ -3305,14 +3267,14 @@ "@types/istanbul-reports@^3.0.0": version "3.0.0" - resolved "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + resolved "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1605053987654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" integrity sha1-UIsTqjRPpJdiNOdd3cw0klc32CE= dependencies: "@types/istanbul-lib-report" "*" "@types/jest@^25.2.1": version "25.2.3" - resolved "https://registry.npm.taobao.org/@types/jest/download/@types/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" + resolved "https://registry.npm.taobao.org/@types/jest/download/@types/jest-25.2.3.tgz?cache=0&sync_timestamp=1605053725964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjest%2Fdownload%2F%40types%2Fjest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" integrity sha1-M9J+TEcWyq5OztNVCXpHrTY/3K8= dependencies: jest-diff "^25.2.1" @@ -3320,7 +3282,7 @@ "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": version "7.0.6" - resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.6.tgz?cache=0&sync_timestamp=1605053861867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha1-9MfsQ+gbMZqYFRFQMXCfJph4kfA= "@types/json5@^0.0.29": @@ -3339,23 +3301,23 @@ integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= "@types/minimist@^1.2.0": - version "1.2.0" - resolved "https://registry.npm.taobao.org/@types/minimist/download/@types/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" - integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + version "1.2.1" + resolved "https://registry.npm.taobao.org/@types/minimist/download/@types/minimist-1.2.1.tgz?cache=0&sync_timestamp=1604943486106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" + integrity sha1-KD9mn/dte4Jg34q3pCYsyD2YglY= "@types/node@*", "@types/node@>= 8", "@types/node@^14.0.1": - version "14.14.0" - resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.0.tgz?cache=0&sync_timestamp=1603194135498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.0.tgz#f1091b6ad5de18e8e91bdbd43ec63f13de372538" - integrity sha1-8QkbatXeGOjpG9vUPsY/E943JTg= + version "14.14.7" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.7.tgz?cache=0&sync_timestamp=1604951079891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.7.tgz#8ea1e8f8eae2430cf440564b98c6dfce1ec5945d" + integrity sha1-jqHo+OriQwz0QFZLmMbfzh7FlF0= "@types/node@^12.12.12": - version "12.12.69" - resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.69.tgz?cache=0&sync_timestamp=1603194135498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.12.69.tgz#7cb6a3aa0d16664bf2dcd1450ccb8477464fbd79" - integrity sha1-fLajqg0WZkvy3NFFDMuEd0ZPvXk= + version "12.19.4" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.19.4.tgz?cache=0&sync_timestamp=1604951079891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.19.4.tgz#cdfbb62e26c7435ed9aab9c941393cc3598e9b46" + integrity sha1-zfu2LibHQ17ZqrnJQTk8w1mOm0Y= "@types/normalize-package-data@^2.4.0": version "2.4.0" - resolved "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + resolved "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz?cache=0&sync_timestamp=1605054783883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" integrity sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4= "@types/npmlog@^4.1.2": @@ -3365,32 +3327,32 @@ "@types/parse-json@^4.0.0": version "4.0.0" - resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fparse-json%2Fdownload%2F%40types%2Fparse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA= "@types/prettier@^1.19.0": version "1.19.1" - resolved "https://registry.npm.taobao.org/@types/prettier/download/@types/prettier-1.19.1.tgz?cache=0&sync_timestamp=1602871226694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fprettier%2Fdownload%2F%40types%2Fprettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" + resolved "https://registry.npm.taobao.org/@types/prettier/download/@types/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" integrity sha1-M1CYSfjmeeSt0ViVn9sIZEDpVT8= "@types/prettier@^2.0.0": version "2.1.5" - resolved "https://registry.npm.taobao.org/@types/prettier/download/@types/prettier-2.1.5.tgz?cache=0&sync_timestamp=1602871226694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fprettier%2Fdownload%2F%40types%2Fprettier-2.1.5.tgz#b6ab3bba29e16b821d84e09ecfaded462b816b00" + resolved "https://registry.npm.taobao.org/@types/prettier/download/@types/prettier-2.1.5.tgz#b6ab3bba29e16b821d84e09ecfaded462b816b00" integrity sha1-tqs7uinha4IdhOCez63tRiuBawA= "@types/prop-types@*": version "15.7.3" - resolved "https://registry.npm.taobao.org/@types/prop-types/download/@types/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + resolved "https://registry.npm.taobao.org/@types/prop-types/download/@types/prop-types-15.7.3.tgz?cache=0&sync_timestamp=1605055213103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fprop-types%2Fdownload%2F%40types%2Fprop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" integrity sha1-KrDV2i5YFflLC51LldHl8kOrLKc= "@types/q@^1.5.1": version "1.5.4" - resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz?cache=0&sync_timestamp=1605055096527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fq%2Fdownload%2F%40types%2Fq-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" integrity sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ= "@types/qs@*": version "6.9.5" - resolved "https://registry.npm.taobao.org/@types/qs/download/@types/qs-6.9.5.tgz?cache=0&sync_timestamp=1600296350500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fqs%2Fdownload%2F%40types%2Fqs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" + resolved "https://registry.npm.taobao.org/@types/qs/download/@types/qs-6.9.5.tgz?cache=0&sync_timestamp=1605055106687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fqs%2Fdownload%2F%40types%2Fqs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" integrity sha1-Q0cRvdSete5p2QwdZ8NUqajssYs= "@types/range-parser@*": @@ -3399,9 +3361,9 @@ integrity sha1-fuMwunyq+5gJC+zoal7kQRWQTCw= "@types/react-redux@^7.1.7": - version "7.1.9" - resolved "https://registry.npm.taobao.org/@types/react-redux/download/@types/react-redux-7.1.9.tgz#280c13565c9f13ceb727ec21e767abe0e9b4aec3" - integrity sha1-KAwTVlyfE863J+wh52er4Om0rsM= + version "7.1.11" + resolved "https://registry.npm.taobao.org/@types/react-redux/download/@types/react-redux-7.1.11.tgz?cache=0&sync_timestamp=1605057108974&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact-redux%2Fdownload%2F%40types%2Freact-redux-7.1.11.tgz#a18e8ab3651e8e8cc94798934927937c66021217" + integrity sha1-oY6Ks2UejozJR5iTSSeTfGYCEhc= dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" @@ -3410,7 +3372,7 @@ "@types/react-router-dom@^5.1.4": version "5.1.6" - resolved "https://registry.npm.taobao.org/@types/react-router-dom/download/@types/react-router-dom-5.1.6.tgz#07b14e7ab1893a837c8565634960dc398564b1fb" + resolved "https://registry.npm.taobao.org/@types/react-router-dom/download/@types/react-router-dom-5.1.6.tgz?cache=0&sync_timestamp=1605057109274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact-router-dom%2Fdownload%2F%40types%2Freact-router-dom-5.1.6.tgz#07b14e7ab1893a837c8565634960dc398564b1fb" integrity sha1-B7FOerGJOoN8hWVjSWDcOYVksfs= dependencies: "@types/history" "*" @@ -3419,7 +3381,7 @@ "@types/react-router@*": version "5.1.8" - resolved "https://registry.npm.taobao.org/@types/react-router/download/@types/react-router-5.1.8.tgz#4614e5ba7559657438e17766bb95ef6ed6acc3fa" + resolved "https://registry.npm.taobao.org/@types/react-router/download/@types/react-router-5.1.8.tgz?cache=0&sync_timestamp=1605057109509&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact-router%2Fdownload%2F%40types%2Freact-router-5.1.8.tgz#4614e5ba7559657438e17766bb95ef6ed6acc3fa" integrity sha1-RhTlunVZZXQ44Xdmu5Xvbtasw/o= dependencies: "@types/history" "*" @@ -3433,17 +3395,17 @@ "@types/react" "*" "@types/react@*", "@types/react@^16.9.19": - version "16.9.53" - resolved "https://registry.npm.taobao.org/@types/react/download/@types/react-16.9.53.tgz?cache=0&sync_timestamp=1602873003542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact%2Fdownload%2F%40types%2Freact-16.9.53.tgz#40cd4f8b8d6b9528aedd1fff8fcffe7a112a3d23" - integrity sha1-QM1Pi41rlSiu3R//j8/+ehEqPSM= + version "16.9.56" + resolved "https://registry.npm.taobao.org/@types/react/download/@types/react-16.9.56.tgz?cache=0&sync_timestamp=1604651667761&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact%2Fdownload%2F%40types%2Freact-16.9.56.tgz#ea25847b53c5bec064933095fc366b1462e2adf0" + integrity sha1-6iWEe1PFvsBkkzCV/DZrFGLirfA= dependencies: "@types/prop-types" "*" csstype "^3.0.2" "@types/serve-static@*": - version "1.13.6" - resolved "https://registry.npm.taobao.org/@types/serve-static/download/@types/serve-static-1.13.6.tgz?cache=0&sync_timestamp=1603136619823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fserve-static%2Fdownload%2F%40types%2Fserve-static-1.13.6.tgz#866b1b8dec41c36e28c7be40ac725b88be43c5c1" - integrity sha1-hmsbjexBw24ox75ArHJbiL5DxcE= + version "1.13.7" + resolved "https://registry.npm.taobao.org/@types/serve-static/download/@types/serve-static-1.13.7.tgz?cache=0&sync_timestamp=1605057599583&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fserve-static%2Fdownload%2F%40types%2Fserve-static-1.13.7.tgz#e51b51a0becda910f9fd04c718044da69d6c492e" + integrity sha1-5RtRoL7NqRD5/QTHGARNpp1sSS4= dependencies: "@types/mime" "*" "@types/node" "*" @@ -3455,17 +3417,17 @@ "@types/stack-utils@^1.0.1": version "1.0.1" - resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz?cache=0&sync_timestamp=1600733056390&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fstack-utils%2Fdownload%2F%40types%2Fstack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= "@types/stack-utils@^2.0.0": version "2.0.0" - resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-2.0.0.tgz?cache=0&sync_timestamp=1600733056390&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fstack-utils%2Fdownload%2F%40types%2Fstack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" integrity sha1-cDZkC04hzC8lmugmzoQ9J32tjP8= "@types/tapable@*", "@types/tapable@^1.0.5": version "1.0.6" - resolved "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" + resolved "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.6.tgz?cache=0&sync_timestamp=1605057449125&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Ftapable%2Fdownload%2F%40types%2Ftapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" integrity sha1-qcpLcKGLJwzLK8Cqr+/R1Ia36nQ= "@types/testing-library__react-hooks@^3.4.0": @@ -3476,9 +3438,9 @@ "@types/react-test-renderer" "*" "@types/uglify-js@*": - version "3.11.0" - resolved "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.11.0.tgz#2868d405cc45cd9dc3069179052103032c33afbc" - integrity sha1-KGjUBcxFzZ3DBpF5BSEDAywzr7w= + version "3.11.1" + resolved "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.11.1.tgz?cache=0&sync_timestamp=1605057452755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.11.1.tgz#97ff30e61a0aa6876c270b5f538737e2d6ab8ceb" + integrity sha1-l/8w5hoKpodsJwtfU4c34tarjOs= dependencies: source-map "^0.6.1" @@ -3489,7 +3451,7 @@ "@types/url-parse@^1.4.3": version "1.4.3" - resolved "https://registry.npm.taobao.org/@types/url-parse/download/@types/url-parse-1.4.3.tgz#fba49d90f834951cb000a674efee3d6f20968329" + resolved "https://registry.npm.taobao.org/@types/url-parse/download/@types/url-parse-1.4.3.tgz?cache=0&sync_timestamp=1605057453689&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Furl-parse%2Fdownload%2F%40types%2Furl-parse-1.4.3.tgz#fba49d90f834951cb000a674efee3d6f20968329" integrity sha1-+6SdkPg0lRywAKZ07+49byCWgyk= "@types/vfile-message@*": @@ -3517,7 +3479,7 @@ "@types/webpack-sources@*": version "2.0.0" - resolved "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-2.0.0.tgz?cache=0&sync_timestamp=1601462682767&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-2.0.0.tgz#08216ab9be2be2e1499beaebc4d469cec81e82a7" + resolved "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-2.0.0.tgz?cache=0&sync_timestamp=1605057455848&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-2.0.0.tgz#08216ab9be2be2e1499beaebc4d469cec81e82a7" integrity sha1-CCFqub4r4uFJm+rrxNRpzsgegqc= dependencies: "@types/node" "*" @@ -3525,9 +3487,9 @@ source-map "^0.7.3" "@types/webpack@^4.41.12", "@types/webpack@^4.41.8": - version "4.41.23" - resolved "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.23.tgz?cache=0&sync_timestamp=1603207042383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack%2Fdownload%2F%40types%2Fwebpack-4.41.23.tgz#1925f42a7325be4ae0fce38329f1cc27768fcda7" - integrity sha1-GSX0KnMlvkrg/OODKfHMJ3aPzac= + version "4.41.25" + resolved "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" + integrity sha1-TTta7MTkQRezdigPv9LcNml5aMQ= dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -3557,7 +3519,7 @@ "@typescript-eslint/eslint-plugin@^2.20.0": version "2.34.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.34.0.tgz?cache=0&sync_timestamp=1603126121370&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" + resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.34.0.tgz?cache=0&sync_timestamp=1605077430804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" integrity sha1-b4zopGx96kpvHRcdK7j7rm2sK+k= dependencies: "@typescript-eslint/experimental-utils" "2.34.0" @@ -3567,7 +3529,7 @@ "@typescript-eslint/experimental-utils@2.34.0": version "2.34.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.34.0.tgz?cache=0&sync_timestamp=1603126118925&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" + resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.34.0.tgz?cache=0&sync_timestamp=1605077383610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" integrity sha1-01JLZEzbQO687KZ/jPPkzJyPmA8= dependencies: "@types/json-schema" "^7.0.3" @@ -3577,7 +3539,7 @@ "@typescript-eslint/parser@^2.20.0": version "2.34.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-2.34.0.tgz?cache=0&sync_timestamp=1603126120125&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" + resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-2.34.0.tgz?cache=0&sync_timestamp=1605077603138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" integrity sha1-UCUmMMoxloVCDpo5ygX+GFola8g= dependencies: "@types/eslint-visitor-keys" "^1.0.0" @@ -3587,7 +3549,7 @@ "@typescript-eslint/typescript-estree@2.34.0", "@typescript-eslint/typescript-estree@^2.29.0": version "2.34.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.34.0.tgz?cache=0&sync_timestamp=1603126126088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" + resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.34.0.tgz?cache=0&sync_timestamp=1605077382948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" integrity sha1-FK62NTs57wcyzH8bgoUpSTfPN9U= dependencies: debug "^4.1.1" @@ -3871,21 +3833,26 @@ address@1.1.2, address@>=0.0.1, address@^1.0.0, address@^1.0.1, address@^1.1.0: agent-base@4, agent-base@^4.2.0, agent-base@^4.3.0: version "4.3.0" - resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-4.3.0.tgz?cache=0&sync_timestamp=1603479872755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" integrity sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4= dependencies: es6-promisify "^5.0.0" +agent-base@5: + version "5.1.1" + resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-5.1.1.tgz?cache=0&sync_timestamp=1603479872755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + integrity sha1-6Ps/JClZ20TWO+Zl23qOc5U3oyw= + agent-base@6: - version "6.0.1" - resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-6.0.1.tgz#808007e4e5867decb0ab6ab2f928fbdb5a596db4" - integrity sha1-gIAH5OWGfeywq2qy+Sj721pZbbQ= + version "6.0.2" + resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-6.0.2.tgz?cache=0&sync_timestamp=1603479872755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c= dependencies: debug "4" agent-base@~4.2.1: version "4.2.1" - resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" + resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-4.2.1.tgz?cache=0&sync_timestamp=1603479872755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" integrity sha1-2J5ZmfeXh1Z0wH2H8mD8Qeg+jKk= dependencies: es6-promisify "^5.0.0" @@ -3912,12 +3879,12 @@ ajv-errors@^1.0.0: ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" - resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1604565145136&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" - resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1602353715225&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ= dependencies: fast-deep-equal "^3.1.1" @@ -4236,9 +4203,9 @@ assign-symbols@^1.0.0: integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= ast-module-types@^2.6.0: - version "2.6.0" - resolved "https://registry.npm.taobao.org/ast-module-types/download/ast-module-types-2.6.0.tgz#f9f367fd273bbe01e52f2c51b5f46b65801d5d7f" - integrity sha1-+fNn/Sc7vgHlLyxRtfRrZYAdXX8= + version "2.7.1" + resolved "https://registry.npm.taobao.org/ast-module-types/download/ast-module-types-2.7.1.tgz#3f7989ef8dfa1fdb82dfe0ab02bdfc7c77a57dd3" + integrity sha1-P3mJ7436H9uC3+CrAr38fHelfdM= ast-types-flow@^0.0.7: version "0.0.7" @@ -4304,9 +4271,9 @@ atob@^2.1.2: resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= -autoprefixer@^9.0.0, autoprefixer@^9.4.3, autoprefixer@^9.6.1: +autoprefixer@^9.0.0, autoprefixer@^9.6.1: version "9.8.6" - resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1605020715075&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" integrity sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8= dependencies: browserslist "^4.12.0" @@ -4323,23 +4290,23 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha1-4eguTz6Zniz9YbFhKA0WoRH4ZCg= + version "1.11.0" + resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101385256&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk= -axe-core@^3.5.4: - version "3.5.5" - resolved "https://registry.npm.taobao.org/axe-core/download/axe-core-3.5.5.tgz?cache=0&sync_timestamp=1603212006086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxe-core%2Fdownload%2Faxe-core-3.5.5.tgz#84315073b53fa3c0c51676c588d59da09a192227" - integrity sha1-hDFQc7U/o8DFFnbFiNWdoJoZIic= +axe-core@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/axe-core/download/axe-core-4.0.2.tgz#c7cf7378378a51fcd272d3c09668002a4990b1cb" + integrity sha1-x89zeDeKUfzSctPAlmgAKkmQscs= axios@^0.19.2: version "0.19.2" - resolved "https://registry.npm.taobao.org/axios/download/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" + resolved "https://registry.npm.taobao.org/axios/download/axios-0.19.2.tgz?cache=0&sync_timestamp=1603468783865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" integrity sha1-PqNsXYgY0NX4qKl6bTa4bNwAyyc= dependencies: follow-redirects "1.5.10" -axobject-query@^2.1.2: +axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.npm.taobao.org/axobject-query/download/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" integrity sha1-lD1H4QwLcEqkInXiDt83ImSJib4= @@ -4355,7 +4322,7 @@ babel-code-frame@^6.22.0: babel-eslint@^10.0.2: version "10.1.0" - resolved "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + resolved "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz?cache=0&sync_timestamp=1600349064486&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" integrity sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI= dependencies: "@babel/code-frame" "^7.0.0" @@ -4397,7 +4364,7 @@ babel-helper-remove-or-void@^0.4.3: babel-jest@^24.9.0: version "24.9.0" - resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-24.9.0.tgz?cache=0&sync_timestamp=1603108866943&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-jest%2Fdownload%2Fbabel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" integrity sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ= dependencies: "@jest/transform" "^24.9.0" @@ -4410,7 +4377,7 @@ babel-jest@^24.9.0: babel-jest@^25.5.1: version "25.5.1" - resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-25.5.1.tgz?cache=0&sync_timestamp=1603108866943&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-jest%2Fdownload%2Fbabel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" + resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" integrity sha1-vC5hAfhJ1vauwJcg/8e8UzLmKFM= dependencies: "@jest/transform" "^25.5.1" @@ -4422,38 +4389,28 @@ babel-jest@^25.5.1: graceful-fs "^4.2.4" slash "^3.0.0" -babel-jest@^26.1.0, babel-jest@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-26.6.0.tgz?cache=0&sync_timestamp=1603108866943&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-jest%2Fdownload%2Fbabel-jest-26.6.0.tgz#eca57ac8af99d6e06047e595b1faf0b5adf8a7bb" - integrity sha1-7KV6yK+Z1uBgR+WVsfrwta34p7s= +babel-jest@^26.1.0, babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha1-2H0lywA3V3oMifguV1XF0pPAEFY= dependencies: - "@jest/transform" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" "@types/babel__core" "^7.1.7" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.5.0" + babel-preset-jest "^26.6.2" chalk "^4.0.0" graceful-fs "^4.2.4" slash "^3.0.0" -babel-loader@8.0.4: - version "8.0.4" - resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.0.4.tgz#7bbf20cbe4560629e2e41534147692d3fecbdce6" - integrity sha1-e78gy+RWBini5BU0FHaS0/7L3OY= - dependencies: - find-cache-dir "^1.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - util.promisify "^1.0.0" - babel-loader@^8.0.4, babel-loader@^8.0.6: - version "8.1.0" - resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha1-xhHVESvVIJq+i5+oTD5NolJ18cM= + version "8.2.1" + resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.2.1.tgz#e53313254677e86f27536f5071d807e01d24ec00" + integrity sha1-5TMTJUZ36G8nU29QcdgH4B0k7AA= dependencies: find-cache-dir "^2.1.0" loader-utils "^1.4.0" - mkdirp "^0.5.3" + make-dir "^2.1.0" pify "^4.0.1" schema-utils "^2.6.5" @@ -4487,7 +4444,7 @@ babel-plugin-import@^1.11.2: babel-plugin-istanbul@^5.1.0: version "5.2.0" - resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz?cache=0&sync_timestamp=1577063366639&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-istanbul%2Fdownload%2Fbabel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" integrity sha1-30reg9iXqS3wacTZolzyZxKTyFQ= dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -4497,7 +4454,7 @@ babel-plugin-istanbul@^5.1.0: babel-plugin-istanbul@^6.0.0: version "6.0.0" - resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-6.0.0.tgz?cache=0&sync_timestamp=1577063366639&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-istanbul%2Fdownload%2Fbabel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" integrity sha1-4VnM3Jr5XgtXDHW0Vzt8NNZx12U= dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -4508,24 +4465,24 @@ babel-plugin-istanbul@^6.0.0: babel-plugin-jest-hoist@^24.9.0: version "24.9.0" - resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz?cache=0&sync_timestamp=1601890412578&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-jest-hoist%2Fdownload%2Fbabel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz?cache=0&sync_timestamp=1604319713233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-jest-hoist%2Fdownload%2Fbabel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" integrity sha1-T4NwketAfgFEfIhDy+xUbQAC11Y= dependencies: "@types/babel__traverse" "^7.0.6" babel-plugin-jest-hoist@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-25.5.0.tgz?cache=0&sync_timestamp=1601890412578&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-jest-hoist%2Fdownload%2Fbabel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" + resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-25.5.0.tgz?cache=0&sync_timestamp=1604319713233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-jest-hoist%2Fdownload%2Fbabel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" integrity sha1-EpyAulx/x1uvOkW5Pi43LVfKJnc= dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" "@types/babel__traverse" "^7.0.6" -babel-plugin-jest-hoist@^26.5.0: - version "26.5.0" - resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-26.5.0.tgz?cache=0&sync_timestamp=1601890412578&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-jest-hoist%2Fdownload%2Fbabel-plugin-jest-hoist-26.5.0.tgz#3916b3a28129c29528de91e5784a44680db46385" - integrity sha1-ORazooEpwpUo3pHleEpEaA20Y4U= +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-26.6.2.tgz?cache=0&sync_timestamp=1604319713233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-jest-hoist%2Fdownload%2Fbabel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha1-gYW9AwNI0lTG192XQ1Xmoosh5i0= dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -4627,9 +4584,9 @@ babel-polyfill@6.26.0: core-js "^2.5.0" regenerator-runtime "^0.10.5" -babel-preset-current-node-syntax@^0.1.2, babel-preset-current-node-syntax@^0.1.3: +babel-preset-current-node-syntax@^0.1.2: version "0.1.4" - resolved "https://registry.npm.taobao.org/babel-preset-current-node-syntax/download/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" + resolved "https://registry.npm.taobao.org/babel-preset-current-node-syntax/download/babel-preset-current-node-syntax-0.1.4.tgz?cache=0&sync_timestamp=1604147750025&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-current-node-syntax%2Fdownload%2Fbabel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" integrity sha1-gm8fjnJFrVNHFLoAH4T36QbDthU= dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -4644,9 +4601,27 @@ babel-preset-current-node-syntax@^0.1.2, babel-preset-current-node-syntax@^0.1.3 "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" +babel-preset-current-node-syntax@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/babel-preset-current-node-syntax/download/babel-preset-current-node-syntax-1.0.0.tgz?cache=0&sync_timestamp=1604147750025&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-current-node-syntax%2Fdownload%2Fbabel-preset-current-node-syntax-1.0.0.tgz#cf5feef29551253471cfa82fc8e0f5063df07a77" + integrity sha1-z1/u8pVRJTRxz6gvyOD1Bj3wenc= + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + babel-preset-jest@^24.9.0: version "24.9.0" - resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz?cache=0&sync_timestamp=1601890338356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz?cache=0&sync_timestamp=1604319712402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" integrity sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw= dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" @@ -4654,19 +4629,19 @@ babel-preset-jest@^24.9.0: babel-preset-jest@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-25.5.0.tgz?cache=0&sync_timestamp=1601890338356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" + resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-25.5.0.tgz?cache=0&sync_timestamp=1604319712402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" integrity sha1-wdfxkYKUh6kHdkxlMH+qDmZZC0k= dependencies: babel-plugin-jest-hoist "^25.5.0" babel-preset-current-node-syntax "^0.1.2" -babel-preset-jest@^26.5.0: - version "26.5.0" - resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-26.5.0.tgz?cache=0&sync_timestamp=1601890338356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-26.5.0.tgz#f1b166045cd21437d1188d29f7fba470d5bdb0e7" - integrity sha1-8bFmBFzSFDfRGI0p9/ukcNW9sOc= +babel-preset-jest@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-26.6.2.tgz?cache=0&sync_timestamp=1604319712402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha1-dHhysRcd8DIlJCZYaIHWLTF5j+4= dependencies: - babel-plugin-jest-hoist "^26.5.0" - babel-preset-current-node-syntax "^0.1.3" + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" babel-runtime-jsx-plus@^0.1.3, babel-runtime-jsx-plus@^0.1.4: version "0.1.5" @@ -4692,9 +4667,9 @@ balanced-match@^1.0.0: integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.0.2: - 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= + version "1.5.1" + resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= base@^0.11.1: version "0.11.2" @@ -4934,7 +4909,7 @@ browserify-zlib@^0.2.0: browserslist@4.10.0: version "4.10.0" - resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.10.0.tgz?cache=0&sync_timestamp=1600991362823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.10.0.tgz#f179737913eaf0d2b98e4926ac1ca6a15cbcc6a9" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.10.0.tgz#f179737913eaf0d2b98e4926ac1ca6a15cbcc6a9" integrity sha1-8XlzeRPq8NK5jkkmrBymoVy8xqk= dependencies: caniuse-lite "^1.0.30001035" @@ -4944,22 +4919,23 @@ browserslist@4.10.0: browserslist@4.7.0: version "4.7.0" - resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.7.0.tgz?cache=0&sync_timestamp=1600991362823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" integrity sha1-nuiSJf/AfbA0CfL+5STcgidFihc= dependencies: caniuse-lite "^1.0.30000989" electron-to-chromium "^1.3.247" node-releases "^1.1.29" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.3.4, browserslist@^4.6.4, browserslist@^4.8.5: - version "4.14.5" - resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.5.tgz?cache=0&sync_timestamp=1600991362823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015" - integrity sha1-HHUUYaEC3cYOQJk2ObcJvn8sQBU= +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.6, browserslist@^4.3.4, browserslist@^4.6.4: + version "4.14.7" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" + integrity sha1-wHHBs2IsHC55B5mje7CUc6Q1HLY= dependencies: - caniuse-lite "^1.0.30001135" - electron-to-chromium "^1.3.571" - escalade "^3.1.0" - node-releases "^1.1.61" + caniuse-lite "^1.0.30001157" + colorette "^1.2.1" + electron-to-chromium "^1.3.591" + escalade "^3.1.1" + node-releases "^1.1.66" bs-logger@0.x: version "0.2.6" @@ -5002,48 +4978,13 @@ buffer-xor@^1.0.3: buffer@^4.3.0: version "4.9.2" - resolved "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + resolved "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1604959639859&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg= dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" isarray "^1.0.0" -build-plugin-app-core@0.1.20: - version "0.1.20" - resolved "https://registry.npm.taobao.org/build-plugin-app-core/download/build-plugin-app-core-0.1.20.tgz?cache=0&sync_timestamp=1603271114189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuild-plugin-app-core%2Fdownload%2Fbuild-plugin-app-core-0.1.20.tgz#a056e7853c4efd1803e54aa5944159717a5bbfd5" - integrity sha1-oFbnhTxO/RgD5UqllEFZcXpbv9U= - dependencies: - chalk "^4.0.0" - chokidar "^3.4.1" - create-app-shared "^0.1.12" - ejs "^3.0.1" - fs-extra "^8.1.0" - globby "^11.0.0" - history "^4.9.0" - miniapp-history "^0.1.0" - miniapp-renderer "^0.1.4" - prettier "^2.0.2" - query-string "^6.13.1" - rax-app-renderer "^0.1.3" - rax-use-router "^3.0.0" - react-app-renderer "^0.1.9" - universal-env "^3.0.0" - -build-plugin-ice-store@1.7.6: - version "1.7.6" - resolved "https://registry.npm.taobao.org/build-plugin-ice-store/download/build-plugin-ice-store-1.7.6.tgz#c98e8f5ee90fa88620734b4b8aca59860c97d910" - integrity sha1-yY6PXukPqIYgc0tLispZhgyX2RA= - dependencies: - "@ice/store" "^1.3.1" - ejs "^3.0.2" - enhanced-resolve "^4.3.0" - fs-extra "^8.1.0" - fs-readdir-recursive "^1.1.0" - loader-utils "^2.0.0" - prettier "^2.0.4" - rax-redux "^1.0.0" - builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -5084,7 +5025,7 @@ bytes@3.1.0: cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: version "12.0.4" - resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1594428108619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= dependencies: bluebird "^3.5.5" @@ -5105,7 +5046,7 @@ cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: cacache@^13.0.1: version "13.0.1" - resolved "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1594428108619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" integrity sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw= dependencies: chownr "^1.1.2" @@ -5129,7 +5070,7 @@ cacache@^13.0.1: cacache@^15.0.5: version "15.0.5" - resolved "https://registry.npm.taobao.org/cacache/download/cacache-15.0.5.tgz?cache=0&sync_timestamp=1594428108619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" integrity sha1-aRYoM9opFw1nMjNGQ8YOAF9fF9A= dependencies: "@npmcli/move-file" "^1.0.1" @@ -5173,6 +5114,14 @@ cache-content-type@^1.0.1: mime-types "^2.1.18" ylru "^1.2.0" +call-bind@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.0.tgz?cache=0&sync_timestamp=1604117087261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" + integrity sha1-JBJwVLs/m9y0sfuCQYGGBy93uM4= + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.0" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" @@ -5246,28 +5195,28 @@ camelcase-keys@^6.2.2: camelcase@^2.0.0: version "2.1.1" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz?cache=0&sync_timestamp=1602349860948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= camelcase@^3.0.0: version "3.0.0" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz?cache=0&sync_timestamp=1602349860948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= camelcase@^4.1.0: version "4.1.0" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz?cache=0&sync_timestamp=1602349860948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1602349860948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= camelcase@^6.0.0: - version "6.1.0" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-6.1.0.tgz?cache=0&sync_timestamp=1602349860948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" - integrity sha1-J9wXYXNyX7Ct+KSLZH9NeHGUTXg= + version "6.2.0" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk= caniuse-api@^3.0.0: version "3.0.0" @@ -5279,10 +5228,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: - version "1.0.30001150" - resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001150.tgz?cache=0&sync_timestamp=1603260358006&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001150.tgz#6d0d829da654b0b233576de00335586bc2004df1" - integrity sha1-bQ2CnaZUsLIzV23gAzVYa8IATfE= +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: + version "1.0.30001157" + resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" + integrity sha1-LRGq6yObNAvBqnMOyhijf9sHqas= capture-exit@^2.0.0: version "2.0.0" @@ -5302,9 +5251,9 @@ caseless@~0.12.0: integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= ccount@^1.0.0: - version "1.0.5" - resolved "https://registry.npm.taobao.org/ccount/download/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17" - integrity sha1-rIKpRJBaZc4gTrAwIxV+3ylCXBc= + version "1.1.0" + resolved "https://registry.npm.taobao.org/ccount/download/ccount-1.1.0.tgz?cache=0&sync_timestamp=1603876798070&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fccount%2Fdownload%2Fccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" + integrity sha1-JGaH3rtgFHNRMb6KurLZOJj40EM= chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" @@ -5468,6 +5417,11 @@ circular-json-for-egg@^1.0.0: resolved "https://registry.npm.taobao.org/circular-json-for-egg/download/circular-json-for-egg-1.0.0.tgz#eacb71b57af28b4822cabc52a5961cd2f0817fc5" integrity sha1-6stxtXryi0giyrxSpZYc0vCBf8U= +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/cjs-module-lexer/download/cjs-module-lexer-0.6.0.tgz?cache=0&sync_timestamp=1604331805325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcjs-module-lexer%2Fdownload%2Fcjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha1-QYb8yg6uF1lwruhwuf4tbPjVZV8= + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -5506,7 +5460,7 @@ cli-cursor@^3.1.0: cli-spinners@^2.2.0: version "2.5.0" - resolved "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047" + resolved "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.5.0.tgz?cache=0&sync_timestamp=1602505897921&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047" integrity sha1-EnY+RyUb+VHLdcIB36WP8byy0Ec= cli-width@^2.0.0: @@ -5521,7 +5475,7 @@ cli-width@^3.0.0: cliui@^5.0.0: version "5.0.0" - resolved "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1602861396898&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= dependencies: string-width "^3.1.0" @@ -5530,7 +5484,7 @@ cliui@^5.0.0: cliui@^6.0.0: version "6.0.0" - resolved "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz?cache=0&sync_timestamp=1602861396898&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" integrity sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE= dependencies: string-width "^4.2.0" @@ -5599,14 +5553,14 @@ code-point-at@^1.0.0: integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= codecov@^3.6.5: - version "3.8.0" - resolved "https://registry.npm.taobao.org/codecov/download/codecov-3.8.0.tgz#134bb6ff329711590a91e20441ca1ace66f1528d" - integrity sha1-E0u2/zKXEVkKkeIEQcoazmbxUo0= + version "3.8.1" + resolved "https://registry.npm.taobao.org/codecov/download/codecov-3.8.1.tgz#06fe026b75525ed1ce864d4a34f1010c52c51546" + integrity sha1-Bv4Ca3VSXtHOhk1KNPEBDFLFFUY= dependencies: argv "0.0.2" ignore-walk "3.0.3" js-yaml "3.14.0" - teeny-request "7.0.1" + teeny-request "6.0.1" urlgrey "0.4.4" collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: @@ -5694,32 +5648,32 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: commander@2.17.x: version "2.17.1" - resolved "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1603599581184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= commander@^2.14.1, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0: version "2.20.3" - resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1603599581184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= commander@^4.1.1: version "4.1.1" - resolved "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + resolved "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1603599581184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha1-n9YCvZNilOnp70aj9NaWQESxgGg= commander@^5.0.0: version "5.1.0" - resolved "https://registry.npm.taobao.org/commander/download/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + resolved "https://registry.npm.taobao.org/commander/download/commander-5.1.0.tgz?cache=0&sync_timestamp=1603599581184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha1-Rqu9FlL44Fm92u+Zu9yyrZzxea4= commander@^6.0.0, commander@^6.1.0: - version "6.1.0" - resolved "https://registry.npm.taobao.org/commander/download/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" - integrity sha1-+Ncit4EDFBAGtm9Me6HpcxW6dbw= + version "6.2.0" + resolved "https://registry.npm.taobao.org/commander/download/commander-6.2.0.tgz?cache=0&sync_timestamp=1603599581184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" + integrity sha1-uZC/uKwDCu3G0RvATRSI/+9W23U= commander@~2.19.0: version "2.19.0" - resolved "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1603599581184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= common-tags@1.8.0: @@ -5815,10 +5769,10 @@ config-chain@^1.1.11: ini "^1.3.4" proto-list "~1.2.1" -confusing-browser-globals@^1.0.9: - version "1.0.9" - resolved "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.9.tgz?cache=0&sync_timestamp=1600297017629&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconfusing-browser-globals%2Fdownload%2Fconfusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" - integrity sha1-crwTtIPAJ2gBaBhx1ImFFvj1T90= +confusing-browser-globals@^1.0.10: + version "1.0.10" + resolved "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.10.tgz?cache=0&sync_timestamp=1603462500059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconfusing-browser-globals%2Fdownload%2Fconfusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" + integrity sha1-MNHn89G4grJexJM9HRraw1PSClk= connect-history-api-fallback@^1.6.0: version "1.6.0" @@ -5864,23 +5818,23 @@ content-type@^1.0.2, content-type@~1.0.4: conventional-changelog-angular@^1.3.3: version "1.6.6" - resolved "https://registry.npm.taobao.org/conventional-changelog-angular/download/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" + resolved "https://registry.npm.taobao.org/conventional-changelog-angular/download/conventional-changelog-angular-1.6.6.tgz?cache=0&sync_timestamp=1604539522350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-angular%2Fdownload%2Fconventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" integrity sha1-sn8rMVwW0KHyPrGBMJ0OakaY6g8= dependencies: compare-func "^1.3.1" q "^1.5.1" conventional-changelog-angular@^5.0.3: - version "5.0.11" - resolved "https://registry.npm.taobao.org/conventional-changelog-angular/download/conventional-changelog-angular-5.0.11.tgz#99a3ca16e4a5305e0c2c2fae3ef74fd7631fc3fb" - integrity sha1-maPKFuSlMF4MLC+uPvdP12Mfw/s= + version "5.0.12" + resolved "https://registry.npm.taobao.org/conventional-changelog-angular/download/conventional-changelog-angular-5.0.12.tgz?cache=0&sync_timestamp=1604539522350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-angular%2Fdownload%2Fconventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" + integrity sha1-yXm4uSHL/iZALrPaW7/aAthlork= dependencies: compare-func "^2.0.0" q "^1.5.1" conventional-changelog-conventionalcommits@4.2.1: version "4.2.1" - resolved "https://registry.npm.taobao.org/conventional-changelog-conventionalcommits/download/conventional-changelog-conventionalcommits-4.2.1.tgz#d6cb2e2c5d7bfca044a08b9dba84b4082e1a1bd9" + resolved "https://registry.npm.taobao.org/conventional-changelog-conventionalcommits/download/conventional-changelog-conventionalcommits-4.2.1.tgz?cache=0&sync_timestamp=1604539670758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-conventionalcommits%2Fdownload%2Fconventional-changelog-conventionalcommits-4.2.1.tgz#d6cb2e2c5d7bfca044a08b9dba84b4082e1a1bd9" integrity sha1-1ssuLF17/KBEoIuduoS0CC4aG9k= dependencies: compare-func "^1.3.1" @@ -5889,7 +5843,7 @@ conventional-changelog-conventionalcommits@4.2.1: conventional-changelog-core@^3.1.6: version "3.2.3" - resolved "https://registry.npm.taobao.org/conventional-changelog-core/download/conventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb" + resolved "https://registry.npm.taobao.org/conventional-changelog-core/download/conventional-changelog-core-3.2.3.tgz?cache=0&sync_timestamp=1604539582288&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-core%2Fdownload%2Fconventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb" integrity sha1-sxQQhW9DHIRwhqfctNLKGEp9iPs= dependencies: conventional-changelog-writer "^4.0.6" @@ -5912,45 +5866,45 @@ conventional-changelog-preset-loader@^2.1.1: integrity sha1-FKhVq7/9WQJ/1gJYHx802YYupEw= conventional-changelog-writer@^4.0.6: - version "4.0.17" - resolved "https://registry.npm.taobao.org/conventional-changelog-writer/download/conventional-changelog-writer-4.0.17.tgz?cache=0&sync_timestamp=1596851819333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-writer%2Fdownload%2Fconventional-changelog-writer-4.0.17.tgz#4753aaa138bf5aa59c0b274cb5937efcd2722e21" - integrity sha1-R1OqoTi/WqWcCydMtZN+/NJyLiE= + version "4.0.18" + resolved "https://registry.npm.taobao.org/conventional-changelog-writer/download/conventional-changelog-writer-4.0.18.tgz?cache=0&sync_timestamp=1604539583402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-writer%2Fdownload%2Fconventional-changelog-writer-4.0.18.tgz#10b73baa59c7befc69b360562f8b9cd19e63daf8" + integrity sha1-ELc7qlnHvvxps2BWL4uc0Z5j2vg= dependencies: compare-func "^2.0.0" - conventional-commits-filter "^2.0.6" + conventional-commits-filter "^2.0.7" dateformat "^3.0.0" handlebars "^4.7.6" json-stringify-safe "^5.0.1" lodash "^4.17.15" - meow "^7.0.0" + meow "^8.0.0" semver "^6.0.0" split "^1.0.0" - through2 "^3.0.0" + through2 "^4.0.0" -conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.6: - version "2.0.6" - resolved "https://registry.npm.taobao.org/conventional-commits-filter/download/conventional-commits-filter-2.0.6.tgz#0935e1240c5ca7698329affee1b6a46d33324c4c" - integrity sha1-CTXhJAxcp2mDKa/+4bakbTMyTEw= +conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.npm.taobao.org/conventional-commits-filter/download/conventional-commits-filter-2.0.7.tgz?cache=0&sync_timestamp=1604539523826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-commits-filter%2Fdownload%2Fconventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha1-+Nm08YL84Aya9xOdpJNlsTbIoLM= dependencies: lodash.ismatch "^4.4.0" modify-values "^1.0.0" conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.0.3: - version "3.1.0" - resolved "https://registry.npm.taobao.org/conventional-commits-parser/download/conventional-commits-parser-3.1.0.tgz#10140673d5e7ef5572633791456c5d03b69e8be4" - integrity sha1-EBQGc9Xn71VyYzeRRWxdA7aei+Q= + version "3.2.0" + resolved "https://registry.npm.taobao.org/conventional-commits-parser/download/conventional-commits-parser-3.2.0.tgz?cache=0&sync_timestamp=1604539565501&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-commits-parser%2Fdownload%2Fconventional-commits-parser-3.2.0.tgz#9e261b139ca4b7b29bcebbc54460da36894004ca" + integrity sha1-niYbE5ykt7KbzrvFRGDaNolABMo= dependencies: JSONStream "^1.0.4" is-text-path "^1.0.1" lodash "^4.17.15" - meow "^7.0.0" + meow "^8.0.0" split2 "^2.0.0" - through2 "^3.0.0" + through2 "^4.0.0" trim-off-newlines "^1.0.0" conventional-recommended-bump@^5.0.0: version "5.0.1" - resolved "https://registry.npm.taobao.org/conventional-recommended-bump/download/conventional-recommended-bump-5.0.1.tgz#5af63903947b6e089e77767601cb592cabb106ba" + resolved "https://registry.npm.taobao.org/conventional-recommended-bump/download/conventional-recommended-bump-5.0.1.tgz?cache=0&sync_timestamp=1604539581319&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-recommended-bump%2Fdownload%2Fconventional-recommended-bump-5.0.1.tgz#5af63903947b6e089e77767601cb592cabb106ba" integrity sha1-WvY5A5R7bgied3Z2ActZLKuxBro= dependencies: concat-stream "^2.0.0" @@ -6014,9 +5968,9 @@ copy-to@^2.0.1: resolved "https://registry.npm.taobao.org/copy-to/download/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= -copy-webpack-plugin@^5.0.0, copy-webpack-plugin@^5.0.4: +copy-webpack-plugin@^5.0.4: version "5.1.2" - resolved "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-5.1.2.tgz?cache=0&sync_timestamp=1602262196907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" + resolved "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-5.1.2.tgz?cache=0&sync_timestamp=1604418593690&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" integrity sha1-ioieHcr6bJHGzUvhrRWPHTgjuuI= dependencies: cacache "^12.0.3" @@ -6033,9 +5987,9 @@ copy-webpack-plugin@^5.0.0, copy-webpack-plugin@^5.0.4: webpack-log "^2.0.0" copy-webpack-plugin@^6.0.3: - version "6.2.1" - resolved "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-6.2.1.tgz?cache=0&sync_timestamp=1602262196907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-6.2.1.tgz#8015e4d5c5e637ab7b39c76daa9e03c7a4bf1ae5" - integrity sha1-gBXk1cXmN6t7Ocdtqp4Dx6S/GuU= + version "6.3.0" + resolved "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-6.3.0.tgz?cache=0&sync_timestamp=1604418593690&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-6.3.0.tgz#91820b63bbde7d73609accb86dab7e7386863f6f" + integrity sha1-kYILY7vefXNgmsy4bat+c4aGP28= dependencies: cacache "^15.0.5" fast-glob "^3.2.4" @@ -6050,27 +6004,27 @@ copy-webpack-plugin@^6.0.3: webpack-sources "^1.4.3" core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha1-KlHZpOJd/W5pAlGqgfmePAVIHxw= + version "3.7.0" + resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.7.0.tgz#8479c5d3d672d83f1f5ab94cf353e57113e065ed" + integrity sha1-hHnF09Zy2D8fWrlM81PlcRPgZe0= dependencies: - browserslist "^4.8.5" + browserslist "^4.14.6" semver "7.0.0" core-js-pure@^3.0.0: - version "3.6.5" - resolved "https://registry.npm.taobao.org/core-js-pure/download/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" - integrity sha1-x5519eONvIWmYtke6lK4JW1TuBM= + version "3.7.0" + resolved "https://registry.npm.taobao.org/core-js-pure/download/core-js-pure-3.7.0.tgz?cache=0&sync_timestamp=1604675666268&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js-pure%2Fdownload%2Fcore-js-pure-3.7.0.tgz#28a57c861d5698e053f0ff36905f7a3301b4191e" + integrity sha1-KKV8hh1WmOBT8P82kF96MwG0GR4= core-js@^2.4.0, core-js@^2.5.0: version "2.6.11" resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" integrity sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw= -core-js@^3.3.1, core-js@^3.6.4: - version "3.6.5" - resolved "https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo= +core-js@^3.3.1, core-js@^3.6.4, core-js@^3.7.0: + version "3.7.0" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-3.7.0.tgz#b0a761a02488577afbf97179e4681bf49568520f" + integrity sha1-sKdhoCSIV3r7+XF55Ggb9JVoUg8= core-util-is@1.0.2, core-util-is@^1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -6079,7 +6033,7 @@ core-util-is@1.0.2, core-util-is@^1.0.2, core-util-is@~1.0.0: cosmiconfig@5.0.6: version "5.0.6" - resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.0.6.tgz?cache=0&sync_timestamp=1596310657948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.0.6.tgz#dca6cf680a0bd03589aff684700858c81abeeb39" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.0.6.tgz#dca6cf680a0bd03589aff684700858c81abeeb39" integrity sha1-3KbPaAoL0DWJr/aEcAhYyBq+6zk= dependencies: is-directory "^0.3.1" @@ -6088,7 +6042,7 @@ cosmiconfig@5.0.6: cosmiconfig@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-4.0.0.tgz?cache=0&sync_timestamp=1596310657948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" integrity sha1-dgORVJWAu9LfHlYrwXexPCkJctw= dependencies: is-directory "^0.3.1" @@ -6098,7 +6052,7 @@ cosmiconfig@^4.0.0: cosmiconfig@^5.0.0, cosmiconfig@^5.1.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: version "5.2.1" - resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1596310657948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= dependencies: import-fresh "^2.0.0" @@ -6108,7 +6062,7 @@ cosmiconfig@^5.0.0, cosmiconfig@^5.1.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: cosmiconfig@^6.0.0: version "6.0.0" - resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-6.0.0.tgz?cache=0&sync_timestamp=1596310657948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" integrity sha1-2k/uhTxS9rHmk19BwaL8UL1KmYI= dependencies: "@types/parse-json" "^4.0.0" @@ -6251,7 +6205,7 @@ css-color-names@0.0.4, css-color-names@^0.0.4: css-declaration-sorter@^4.0.1: version "4.0.1" - resolved "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1602012449508&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + resolved "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1604519271783&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= dependencies: postcss "^7.0.1" @@ -6274,9 +6228,9 @@ css-hot-loader@^1.4.4: lodash "^4.17.5" normalize-url "^1.9.1" -css-loader@^3.2.0, css-loader@^3.4.2: +css-loader@^3.0.0, css-loader@^3.2.0: version "3.6.0" - resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-3.6.0.tgz?cache=0&sync_timestamp=1602609194593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" + resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-3.6.0.tgz?cache=0&sync_timestamp=1604507120816&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" integrity sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU= dependencies: camelcase "^5.3.1" @@ -6354,7 +6308,7 @@ css-selector-tokenizer@^0.7.0: css-tree@1.0.0-alpha.29: version "1.0.0-alpha.29" - resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.29.tgz?cache=0&sync_timestamp=1603806468338&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" integrity sha1-P6nU7zFCy9HDAedmTB81K9gvWjk= dependencies: mdn-data "~1.1.0" @@ -6368,12 +6322,12 @@ css-tree@1.0.0-alpha.37: mdn-data "2.0.4" source-map "^0.6.1" -css-tree@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" - integrity sha1-K/8//huz93bPfu/ZHuXLp3oUnus= +css-tree@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.1.tgz#7726678dfe2a57993a018d9dce519bf1760e3b6d" + integrity sha1-dyZnjf4qV5k6AY2dzlGb8XYOO20= dependencies: - mdn-data "2.0.6" + mdn-data "2.0.12" source-map "^0.6.1" css-what@2.1: @@ -6471,7 +6425,7 @@ cssnano-util-same-parent@^4.0.0: cssnano@^4.1.10: version "4.1.10" - resolved "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz?cache=0&sync_timestamp=1603212699463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano%2Fdownload%2Fcssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + resolved "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" integrity sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI= dependencies: cosmiconfig "^5.0.0" @@ -6487,11 +6441,11 @@ csso@^3.5.1: css-tree "1.0.0-alpha.29" csso@^4.0.2, csso@^4.0.3: - version "4.0.3" - resolved "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" - integrity sha1-DZmF3IUsfMKyys+74QeQFNGo6QM= + version "4.1.0" + resolved "https://registry.npm.taobao.org/csso/download/csso-4.1.0.tgz#1d31193efa99b87aa6bad6c0cef155e543d09e8b" + integrity sha1-HTEZPvqZuHqmutbAzvFV5UPQnos= dependencies: - css-tree "1.0.0-alpha.39" + css-tree "^1.0.0" cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0", cssom@~0.3.6: version "0.3.8" @@ -6518,9 +6472,9 @@ cssstyle@^2.0.0, cssstyle@^2.2.0: cssom "~0.3.6" csstype@^3.0.2: - version "3.0.3" - resolved "https://registry.npm.taobao.org/csstype/download/csstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8" - integrity sha1-K0ELvro4upYzNTr/NLBdl1XQZfg= + version "3.0.4" + resolved "https://registry.npm.taobao.org/csstype/download/csstype-3.0.4.tgz?cache=0&sync_timestamp=1603440028767&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-3.0.4.tgz#b156d7be03b84ff425c9a0a4b1e5f4da9c5ca888" + integrity sha1-sVbXvgO4T/QlyaCkseX02pxcqIg= currently-unhandled@^0.4.1: version "0.4.1" @@ -6893,17 +6847,17 @@ dicer@0.2.5: diff-sequences@^25.2.6: version "25.2.6" - resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-25.2.6.tgz?cache=0&sync_timestamp=1601890413010&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-sequences%2Fdownload%2Fdiff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" + resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-25.2.6.tgz?cache=0&sync_timestamp=1604319712782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-sequences%2Fdownload%2Fdiff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" integrity sha1-X0Z8AO3TU1K3vKRteSfWDmh6dt0= -diff-sequences@^26.5.0: - version "26.5.0" - resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-26.5.0.tgz?cache=0&sync_timestamp=1601890413010&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-sequences%2Fdownload%2Fdiff-sequences-26.5.0.tgz#ef766cf09d43ed40406611f11c6d8d9dd8b2fefd" - integrity sha1-73Zs8J1D7UBAZhHxHG2Nndiy/v0= +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-26.6.2.tgz?cache=0&sync_timestamp=1604319712782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-sequences%2Fdownload%2Fdiff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha1-SLqZFX3hkjQS7tQdtrbUqpynwLE= diff@^4.0.1: version "4.0.2" - resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= diffie-hellman@^5.0.0: @@ -7011,7 +6965,7 @@ dom-serializer@~0.1.1: domain-browser@^1.1.1: version "1.2.0" - resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1600349140047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: @@ -7047,7 +7001,7 @@ domhandler@^2.3.0: 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=1601761124698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= dependencies: dom-serializer "0" @@ -7055,7 +7009,7 @@ domutils@1.5.1: domutils@^1.5.1, domutils@^1.7.0: version "1.7.0" - resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1601761124698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= dependencies: dom-serializer "0" @@ -7114,7 +7068,7 @@ driver-server@^1.0.0: driver-universal@^3.1.0: version "3.1.5" - resolved "https://registry.npm.taobao.org/driver-universal/download/driver-universal-3.1.5.tgz?cache=0&sync_timestamp=1602744196405&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdriver-universal%2Fdownload%2Fdriver-universal-3.1.5.tgz#ced986871cc38310be5002f7afdeb4072d0b1222" + resolved "https://registry.npm.taobao.org/driver-universal/download/driver-universal-3.1.5.tgz#ced986871cc38310be5002f7afdeb4072d0b1222" integrity sha1-ztmGhxzDgxC+UAL3r960By0LEiI= dependencies: driver-dom "^2.0.5" @@ -7184,10 +7138,10 @@ ejs@^3.0.1, ejs@^3.0.2, ejs@^3.1.2, ejs@^3.1.3: dependencies: jake "^10.6.1" -electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.571: - version "1.3.582" - resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.582.tgz#1adfac5affce84d85b3d7b3dfbc4ade293a6ffc4" - integrity sha1-Gt+sWv/OhNhbPXs9+8St4pOm/8Q= +electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.591: + version "1.3.593" + resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.593.tgz?cache=0&sync_timestamp=1605121547884&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.593.tgz#947ccf6dc8e013e2b053d2463ecd1043c164fcef" + integrity sha1-lHzPbcjgE+KwU9JGPs0QQ8Fk/O8= elliptic@^6.5.3: version "6.5.3" @@ -7258,7 +7212,7 @@ end-or-error@^1.0.1: enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: version "4.3.0" - resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.3.0.tgz?cache=0&sync_timestamp=1603193035222&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.3.0.tgz?cache=0&sync_timestamp=1603455539233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" integrity sha1-O4BvO/r8HsfeaVUe+TzKRsFwQSY= dependencies: graceful-fs "^4.1.2" @@ -7382,17 +7336,17 @@ es6-promisify@^6.0.0: esbuild-webpack-plugin@^1.0.3: version "1.1.0" - resolved "https://registry.npm.taobao.org/esbuild-webpack-plugin/download/esbuild-webpack-plugin-1.1.0.tgz?cache=0&sync_timestamp=1603075021980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesbuild-webpack-plugin%2Fdownload%2Fesbuild-webpack-plugin-1.1.0.tgz#dcf0971284bf3c174fdb27832209a59f2079075b" + resolved "https://registry.npm.taobao.org/esbuild-webpack-plugin/download/esbuild-webpack-plugin-1.1.0.tgz#dcf0971284bf3c174fdb27832209a59f2079075b" integrity sha1-3PCXEoS/PBdP2yeDIgmlnyB5B1s= dependencies: esbuild "^0.7.15" esbuild@^0.7.15: - version "0.7.19" - resolved "https://registry.npm.taobao.org/esbuild/download/esbuild-0.7.19.tgz?cache=0&sync_timestamp=1603264588545&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesbuild%2Fdownload%2Fesbuild-0.7.19.tgz#6f8b94445e06f8bf6125183a877de6046c965abc" - integrity sha1-b4uURF4G+L9hJRg6h33mBGyWWrw= + version "0.7.22" + resolved "https://registry.npm.taobao.org/esbuild/download/esbuild-0.7.22.tgz?cache=0&sync_timestamp=1605094466654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesbuild%2Fdownload%2Fesbuild-0.7.22.tgz#9149b903f8128b7c45a754046c24199d76bbe08e" + integrity sha1-kUm5A/gSi3xFp1QEbCQZnXa74I4= -escalade@^3.1.0: +escalade@^3.1.1: version "3.1.1" resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567230854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= @@ -7424,28 +7378,28 @@ escodegen@1.x.x, escodegen@^1.11.1, escodegen@^1.14.1, escodegen@^1.6.1: optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@^14.2.0: - version "14.2.0" - resolved "https://registry.npm.taobao.org/eslint-config-airbnb-base/download/eslint-config-airbnb-base-14.2.0.tgz#fe89c24b3f9dc8008c9c0d0d88c28f95ed65e9c4" - integrity sha1-/onCSz+dyACMnA0NiMKPle1l6cQ= +eslint-config-airbnb-base@^14.2.1: + version "14.2.1" + resolved "https://registry.npm.taobao.org/eslint-config-airbnb-base/download/eslint-config-airbnb-base-14.2.1.tgz#8a2eb38455dc5a312550193b319cdaeef042cd1e" + integrity sha1-ii6zhFXcWjElUBk7MZza7vBCzR4= dependencies: - confusing-browser-globals "^1.0.9" - object.assign "^4.1.0" + confusing-browser-globals "^1.0.10" + object.assign "^4.1.2" object.entries "^1.1.2" eslint-config-airbnb@^18.0.1: - version "18.2.0" - resolved "https://registry.npm.taobao.org/eslint-config-airbnb/download/eslint-config-airbnb-18.2.0.tgz#8a82168713effce8fc08e10896a63f1235499dcd" - integrity sha1-ioIWhxPv/Oj8COEIlqY/EjVJnc0= + version "18.2.1" + resolved "https://registry.npm.taobao.org/eslint-config-airbnb/download/eslint-config-airbnb-18.2.1.tgz#b7fe2b42f9f8173e825b73c8014b592e449c98d9" + integrity sha1-t/4rQvn4Fz6CW3PIAUtZLkScmNk= dependencies: - eslint-config-airbnb-base "^14.2.0" - object.assign "^4.1.0" + eslint-config-airbnb-base "^14.2.1" + object.assign "^4.1.2" object.entries "^1.1.2" eslint-config-prettier@^6.0.0: - version "6.13.0" - resolved "https://registry.npm.taobao.org/eslint-config-prettier/download/eslint-config-prettier-6.13.0.tgz?cache=0&sync_timestamp=1602857988893&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-prettier%2Fdownload%2Feslint-config-prettier-6.13.0.tgz#207d88796b5624e5bb815bbbdfc5891ceb9ebffa" - integrity sha1-IH2IeWtWJOW7gVu738WJHOuev/o= + version "6.15.0" + resolved "https://registry.npm.taobao.org/eslint-config-prettier/download/eslint-config-prettier-6.15.0.tgz?cache=0&sync_timestamp=1603818865312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-prettier%2Fdownload%2Feslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" + integrity sha1-f5P2y31FqS8VN6cOzAY2bhrG/tk= dependencies: get-stdin "^6.0.0" @@ -7496,25 +7450,25 @@ eslint-plugin-import@^2.18.0: tsconfig-paths "^3.9.0" eslint-plugin-jsx-a11y@^6.2.3: - version "6.3.1" - resolved "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.3.1.tgz#99ef7e97f567cc6a5b8dd5ab95a94a67058a2660" - integrity sha1-me9+l/VnzGpbjdWrlalKZwWKJmA= + version "6.4.1" + resolved "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" + integrity sha1-othMqkl1aUL0Lx/6uQAkNjkXGP0= dependencies: - "@babel/runtime" "^7.10.2" + "@babel/runtime" "^7.11.2" aria-query "^4.2.2" array-includes "^3.1.1" ast-types-flow "^0.0.7" - axe-core "^3.5.4" - axobject-query "^2.1.2" + axe-core "^4.0.2" + axobject-query "^2.2.0" damerau-levenshtein "^1.0.6" emoji-regex "^9.0.0" has "^1.0.3" - jsx-ast-utils "^2.4.1" + jsx-ast-utils "^3.1.0" language-tags "^1.0.5" eslint-plugin-react-hooks@^2.4.0: version "2.5.1" - resolved "https://registry.npm.taobao.org/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" + resolved "https://registry.npm.taobao.org/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-2.5.1.tgz?cache=0&sync_timestamp=1603367136749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-react-hooks%2Fdownload%2Feslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" integrity sha1-TvWTBZJYjOFxq+sm9ADH+8vCPNA= eslint-plugin-react@^7.14.2: @@ -7571,7 +7525,7 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: eslint@^6.8.0: version "6.8.0" - resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.8.0.tgz?cache=0&sync_timestamp=1602274794041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" integrity sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s= dependencies: "@babel/code-frame" "^7.0.0" @@ -7652,12 +7606,12 @@ esrecurse@^4.1.0, esrecurse@^4.3.0: estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" - resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596641261331&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= estraverse@^5.1.0, estraverse@^5.2.0: version "5.2.0" - resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596641261331&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA= esutils@^2.0.2, esutils@^2.0.3: @@ -7707,7 +7661,7 @@ exec-sh@^0.3.2: execa@^1.0.0: version "1.0.0" - resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1603882924514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= dependencies: cross-spawn "^6.0.0" @@ -7720,7 +7674,7 @@ execa@^1.0.0: execa@^3.2.0: version "3.4.0" - resolved "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + resolved "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1603882924514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" integrity sha1-wI7UVQ72XYWPrCaf/IVyRG8364k= dependencies: cross-spawn "^7.0.0" @@ -7735,9 +7689,9 @@ execa@^3.2.0: strip-final-newline "^2.0.0" execa@^4.0.0: - version "4.0.3" - resolved "https://registry.npm.taobao.org/execa/download/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" - integrity sha1-CjTau61tZhAL1vLFdshmlAPzF/I= + version "4.1.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-4.1.0.tgz?cache=0&sync_timestamp=1603882924514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha1-TlSRrRVy8vF6d9OIxshXE1sihHo= dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" @@ -7776,7 +7730,7 @@ expand-brackets@^2.1.4: expect@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/expect/download/expect-25.5.0.tgz?cache=0&sync_timestamp=1603108868200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpect%2Fdownload%2Fexpect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" + resolved "https://registry.npm.taobao.org/expect/download/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" integrity sha1-8H+EhxKigTu1kWfaP7goyiH1i7o= dependencies: "@jest/types" "^25.5.0" @@ -7786,16 +7740,16 @@ expect@^25.5.0: jest-message-util "^25.5.0" jest-regex-util "^25.2.6" -expect@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/expect/download/expect-26.6.0.tgz?cache=0&sync_timestamp=1603108868200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpect%2Fdownload%2Fexpect-26.6.0.tgz#f48861317f62bb9f1248eaab7ae9e50a9a5a8339" - integrity sha1-9IhhMX9iu58SSOqreunlCppagzk= +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/expect/download/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha1-xrmWvya/P+GLZ7LQ9R/JgbqTRBc= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" ansi-styles "^4.0.0" jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.0" - jest-message-util "^26.6.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" jest-regex-util "^26.0.0" express-http-proxy@^1.2.0: @@ -7887,9 +7841,9 @@ extglob@^2.0.4: to-regex "^3.0.1" extract-css-assets-webpack-plugin@^0.2.5: - version "0.2.7" - resolved "https://registry.npm.taobao.org/extract-css-assets-webpack-plugin/download/extract-css-assets-webpack-plugin-0.2.7.tgz#394fc0cef36a272a51022100afd54b08886e4a59" - integrity sha1-OU/AzvNqJypRAiEAr9VLCIhuSlk= + version "0.2.8" + resolved "https://registry.npm.taobao.org/extract-css-assets-webpack-plugin/download/extract-css-assets-webpack-plugin-0.2.8.tgz#0ae334d926dfbb55ca225536de3d2021b7f4a485" + integrity sha1-CuM02Sbfu1XKIlU23j0gIbf0pIU= dependencies: chalk "^2.4.1" file-type "^8.1.0" @@ -7963,9 +7917,9 @@ fastparse@^1.1.2: integrity sha1-kXKMWllC7O2FMSg8eUQe5BIsNak= fastq@^1.6.0: - version "1.8.0" - resolved "https://registry.npm.taobao.org/fastq/download/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" - integrity sha1-VQ4fn1m7xl/hhctqm02VNXEH9IE= + version "1.9.0" + resolved "https://registry.npm.taobao.org/fastq/download/fastq-1.9.0.tgz?cache=0&sync_timestamp=1603877271066&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffastq%2Fdownload%2Ffastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" + integrity sha1-4Wpy8zjqykjpG1wjWTvMLvZreUc= dependencies: reusify "^1.0.4" @@ -8004,14 +7958,14 @@ figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: figures@^2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + resolved "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz?cache=0&sync_timestamp=1600349107095&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= dependencies: escape-string-regexp "^1.0.5" figures@^3.0.0: version "3.2.0" - resolved "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + resolved "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1600349107095&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= dependencies: escape-string-regexp "^1.0.5" @@ -8032,7 +7986,7 @@ file-entry-cache@^5.0.1: file-loader@^5.0.2: version "5.1.0" - resolved "https://registry.npm.taobao.org/file-loader/download/file-loader-5.1.0.tgz?cache=0&sync_timestamp=1602254082696&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-5.1.0.tgz#cb56c070efc0e40666424309bd0d9e45ac6f2bb8" + resolved "https://registry.npm.taobao.org/file-loader/download/file-loader-5.1.0.tgz?cache=0&sync_timestamp=1603816990383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-5.1.0.tgz#cb56c070efc0e40666424309bd0d9e45ac6f2bb8" integrity sha1-y1bAcO/A5AZmQkMJvQ2eRaxvK7g= dependencies: loader-utils "^1.4.0" @@ -8040,7 +7994,7 @@ file-loader@^5.0.2: file-type@^8.1.0: version "8.1.0" - resolved "https://registry.npm.taobao.org/file-type/download/file-type-8.1.0.tgz#244f3b7ef641bbe0cca196c7276e4b332399f68c" + resolved "https://registry.npm.taobao.org/file-type/download/file-type-8.1.0.tgz?cache=0&sync_timestamp=1604315099809&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-type%2Fdownload%2Ffile-type-8.1.0.tgz#244f3b7ef641bbe0cca196c7276e4b332399f68c" integrity sha1-JE87fvZBu+DMoZbHJ25LMyOZ9ow= file-uri-to-path@1, file-uri-to-path@1.0.0: @@ -8103,15 +8057,6 @@ find-babel-config@^1.2.0: json5 "^0.5.1" path-exists "^3.0.0" -find-cache-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" - integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^2.0.0" - find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" @@ -8216,7 +8161,7 @@ forever-agent@~0.6.1: fork-ts-checker-webpack-plugin@1.5.0: version "1.5.0" - resolved "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-1.5.0.tgz?cache=0&sync_timestamp=1602876698565&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffork-ts-checker-webpack-plugin%2Fdownload%2Ffork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" + resolved "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" integrity sha1-zh13GQtE2Bp2GxC2KEo3N5XkHww= dependencies: babel-code-frame "^6.22.0" @@ -8230,7 +8175,7 @@ fork-ts-checker-webpack-plugin@1.5.0: fork-ts-checker-webpack-plugin@3.1.1: version "3.1.1" - resolved "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-3.1.1.tgz?cache=0&sync_timestamp=1602876698565&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffork-ts-checker-webpack-plugin%2Fdownload%2Ffork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19" + resolved "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19" integrity sha1-oWQsDT5l9QwswXQunAqA9EH4axk= dependencies: babel-code-frame "^6.22.0" @@ -8242,10 +8187,10 @@ fork-ts-checker-webpack-plugin@3.1.1: tapable "^1.0.0" worker-rpc "^0.1.0" -fork-ts-checker-webpack-plugin@^5.0.5, fork-ts-checker-webpack-plugin@^5.2.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-5.2.0.tgz?cache=0&sync_timestamp=1602876698565&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffork-ts-checker-webpack-plugin%2Fdownload%2Ffork-ts-checker-webpack-plugin-5.2.0.tgz#780a14fb0da02a892baedd7aa0d089a1eda7b3e5" - integrity sha1-eAoU+w2gKokrrt16oNCJoe2ns+U= +fork-ts-checker-webpack-plugin@^5.0.5: + version "5.2.1" + resolved "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-5.2.1.tgz#79326d869797906fa8b24e2abcf9421fc805450d" + integrity sha1-eTJthpeXkG+osk4qvPlCH8gFRQ0= dependencies: "@babel/code-frame" "^7.8.3" "@types/json-schema" "^7.0.5" @@ -8261,7 +8206,7 @@ fork-ts-checker-webpack-plugin@^5.0.5, fork-ts-checker-webpack-plugin@^5.2.0: form-data@~2.3.2: version "2.3.3" - resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1600349122280&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= dependencies: asynckit "^0.4.0" @@ -8380,15 +8325,20 @@ fs.realpath@^1.0.0: fsevents@^1.2.7: version "1.2.13" - resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1604593304255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= dependencies: bindings "^1.5.0" nan "^2.12.1" -fsevents@^2.1.2, fsevents@~2.1.2: +fsevents@^2.1.2: + version "2.2.1" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.2.1.tgz?cache=0&sync_timestamp=1604593304255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.2.1.tgz#1fb02ded2036a8ac288d507a65962bd87b97628d" + integrity sha1-H7At7SA2qKwojVB6ZZYr2HuXYo0= + +fsevents@~2.1.2: version "2.1.3" - resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz?cache=0&sync_timestamp=1604593304255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4= fstream@^1.0.0, fstream@^1.0.12: @@ -8442,7 +8392,7 @@ gaze@^1.0.0: generic-names@^1.0.3: version "1.0.3" - resolved "https://registry.npm.taobao.org/generic-names/download/generic-names-1.0.3.tgz#2d786a121aee508876796939e8e3bff836c20917" + resolved "https://registry.npm.taobao.org/generic-names/download/generic-names-1.0.3.tgz?cache=0&sync_timestamp=1603542537830&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgeneric-names%2Fdownload%2Fgeneric-names-1.0.3.tgz#2d786a121aee508876796939e8e3bff836c20917" integrity sha1-LXhqEhruUIh2eWk56OO/+DbCCRc= dependencies: loader-utils "^0.2.16" @@ -8453,15 +8403,24 @@ genfun@^5.0.0: integrity sha1-ndlxCgaQClxKW/V6yl2k5S/nZTc= gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk= + version "1.0.0-beta.2" + resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz?cache=0&sync_timestamp=1603830155677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgensync%2Fdownload%2Fgensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA= get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= +get-intrinsic@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.0.1.tgz?cache=0&sync_timestamp=1604120586779&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be" + integrity sha1-lKl2j8vdBZWhySc6rPTInQdWMb4= + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.npm.taobao.org/get-package-type/download/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -8543,7 +8502,7 @@ getpass@^0.1.1: git-raw-commits@2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/git-raw-commits/download/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" + resolved "https://registry.npm.taobao.org/git-raw-commits/download/git-raw-commits-2.0.0.tgz?cache=0&sync_timestamp=1604539562528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgit-raw-commits%2Fdownload%2Fgit-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" integrity sha1-2Srd90RAwUvMXIPszj+3+KeRGLU= dependencies: dargs "^4.0.1" @@ -8553,15 +8512,15 @@ git-raw-commits@2.0.0: through2 "^2.0.0" git-raw-commits@^2.0.0: - version "2.0.7" - resolved "https://registry.npm.taobao.org/git-raw-commits/download/git-raw-commits-2.0.7.tgz#02e9357727a9755efa8e14dd5e59b381c29068fb" - integrity sha1-Auk1dyepdV76jhTdXlmzgcKQaPs= + version "2.0.8" + resolved "https://registry.npm.taobao.org/git-raw-commits/download/git-raw-commits-2.0.8.tgz?cache=0&sync_timestamp=1604539562528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgit-raw-commits%2Fdownload%2Fgit-raw-commits-2.0.8.tgz#65cef91ae8307281b6ee31ca481fa1164e166156" + integrity sha1-Zc75GugwcoG27jHKSB+hFk4WYVY= dependencies: dargs "^7.0.0" lodash.template "^4.0.2" - meow "^7.0.0" + meow "^8.0.0" split2 "^2.0.0" - through2 "^3.0.0" + through2 "^4.0.0" git-remote-origin-url@^2.0.0: version "2.0.0" @@ -8573,7 +8532,7 @@ git-remote-origin-url@^2.0.0: git-semver-tags@^2.0.3: version "2.0.3" - resolved "https://registry.npm.taobao.org/git-semver-tags/download/git-semver-tags-2.0.3.tgz#48988a718acf593800f99622a952a77c405bfa34" + resolved "https://registry.npm.taobao.org/git-semver-tags/download/git-semver-tags-2.0.3.tgz?cache=0&sync_timestamp=1604539581477&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgit-semver-tags%2Fdownload%2Fgit-semver-tags-2.0.3.tgz#48988a718acf593800f99622a952a77c405bfa34" integrity sha1-SJiKcYrPWTgA+ZYiqVKnfEBb+jQ= dependencies: meow "^4.0.0" @@ -8588,9 +8547,9 @@ git-up@^4.0.0: parse-url "^5.0.0" git-url-parse@^11.1.2: - version "11.3.0" - resolved "https://registry.npm.taobao.org/git-url-parse/download/git-url-parse-11.3.0.tgz#1515b4574c4eb2efda7d25cc50b29ce8beaefaae" - integrity sha1-FRW0V0xOsu/afSXMULKc6L6u+q4= + version "11.4.0" + resolved "https://registry.npm.taobao.org/git-url-parse/download/git-url-parse-11.4.0.tgz#f2bb1f2b00f05552540e95a62e31399a639a6aa6" + integrity sha1-8rsfKwDwVVJUDpWmLjE5mmOaaqY= dependencies: git-up "^4.0.0" @@ -8670,7 +8629,7 @@ globals@^12.1.0: globby@8.0.2: version "8.0.2" - resolved "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + resolved "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz?cache=0&sync_timestamp=1600349143804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" integrity sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0= dependencies: array-union "^1.0.1" @@ -8683,7 +8642,7 @@ globby@8.0.2: globby@^10.0.1: version "10.0.2" - resolved "https://registry.npm.taobao.org/globby/download/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + resolved "https://registry.npm.taobao.org/globby/download/globby-10.0.2.tgz?cache=0&sync_timestamp=1600349143804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" integrity sha1-J3WT50WsqkZGw6tBEonsR6A5JUM= dependencies: "@types/glob" "^7.1.1" @@ -8697,7 +8656,7 @@ globby@^10.0.1: globby@^11.0.0, globby@^11.0.1: version "11.0.1" - resolved "https://registry.npm.taobao.org/globby/download/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + resolved "https://registry.npm.taobao.org/globby/download/globby-11.0.1.tgz?cache=0&sync_timestamp=1600349143804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" integrity sha1-mivxB6Bo8//qvEmtcCx57ejP01c= dependencies: array-union "^2.1.0" @@ -8709,7 +8668,7 @@ globby@^11.0.0, globby@^11.0.1: globby@^6.1.0: version "6.1.0" - resolved "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + resolved "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&sync_timestamp=1600349143804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= dependencies: array-union "^1.0.1" @@ -8720,7 +8679,7 @@ globby@^6.1.0: globby@^7.1.1: version "7.1.1" - resolved "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + resolved "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz?cache=0&sync_timestamp=1600349143804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= dependencies: array-union "^1.0.1" @@ -8732,7 +8691,7 @@ globby@^7.1.1: globby@^9.0.0, globby@^9.2.0: version "9.2.0" - resolved "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + resolved "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz?cache=0&sync_timestamp=1600349143804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" integrity sha1-/QKacGxwPSm90XD0tts6P3p8tj0= dependencies: "@types/glob" "^7.1.1" @@ -8941,7 +8900,7 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= @@ -8955,9 +8914,16 @@ hoopy@^0.1.4: hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: version "2.8.8" - resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1602801493383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg= +hosted-git-info@^3.0.6: + version "3.0.7" + resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" + integrity sha1-owcnOF6oWs/O6U4KrZ42jHkuA2w= + dependencies: + lru-cache "^6.0.0" + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -9053,7 +9019,7 @@ html-tags@^2.0.0: html-webpack-plugin@^3.2.0: version "3.2.0" - resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1602967809830&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" + resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1604998839969&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= dependencies: html-minifier "^3.2.3" @@ -9066,7 +9032,7 @@ html-webpack-plugin@^3.2.0: html-webpack-plugin@^4.3.0: version "4.5.0" - resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-4.5.0.tgz?cache=0&sync_timestamp=1602967809830&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" + resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-4.5.0.tgz?cache=0&sync_timestamp=1604998839969&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" integrity sha1-YlCXZQiGuX6l2uMxwyDjI49sEhw= dependencies: "@types/html-minifier-terser" "^5.0.0" @@ -9081,7 +9047,7 @@ html-webpack-plugin@^4.3.0: htmlparser2@^3.10.0, htmlparser2@^3.10.1, htmlparser2@^3.3.0, htmlparser2@^3.9.1: version "3.10.1" - resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1601762392614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1603668134093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= dependencies: domelementtype "^1.3.1" @@ -9214,12 +9180,12 @@ https-proxy-agent@^3.0.0: agent-base "^4.3.0" debug "^3.1.0" -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha1-4qkFQqu2inYuCghQ9sntrf2FBrI= +https-proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + integrity sha1-cCtx+1UgoTKmbeH2dUHZ5iFU2Cs= dependencies: - agent-base "6" + agent-base "5" debug "4" human-signals@^1.1.1: @@ -9236,7 +9202,7 @@ humanize-ms@^1.2.0, humanize-ms@^1.2.1: husky@^3.1.0: version "3.1.0" - resolved "https://registry.npm.taobao.org/husky/download/husky-3.1.0.tgz?cache=0&sync_timestamp=1602813533483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhusky%2Fdownload%2Fhusky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0" + resolved "https://registry.npm.taobao.org/husky/download/husky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0" integrity sha1-X6rVIKuGBYLtlPDBp38PBMkLV8A= dependencies: chalk "^2.4.2" @@ -9325,9 +9291,9 @@ identity-obj-proxy@^3.0.0: harmony-reflect "^1.4.6" 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= + version "1.2.1" + resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838209136&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= iferr@^0.1.5: version "0.1.5" @@ -9358,7 +9324,7 @@ ignore@^5.0.4, ignore@^5.1.1, ignore@^5.1.4: image-size@^0.5.1, image-size@~0.5.0: version "0.5.5" - resolved "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz?cache=0&sync_timestamp=1603110779859&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimage-size%2Fdownload%2Fimage-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + resolved "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= image-source-loader@^0.6.5: @@ -9387,23 +9353,23 @@ import-cwd@^2.0.0: import-fresh@^2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1604255567620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= dependencies: caller-path "^2.0.0" resolve-from "^3.0.0" import-fresh@^3.0.0, import-fresh@^3.1.0: - version "3.2.1" - resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY= + version "3.2.2" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.2.tgz?cache=0&sync_timestamp=1604255567620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" + integrity sha1-/BKcFgxdaCNVB/QzGmuq0Ya9vD4= dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-from@^2.1.0: version "2.1.0" - resolved "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + resolved "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz?cache=0&sync_timestamp=1600349104815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-from%2Fdownload%2Fimport-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" integrity sha1-M1238qev/VOqpHHUuAId7ja387E= dependencies: resolve-from "^3.0.0" @@ -9706,17 +9672,17 @@ is-binary-path@~2.1.0: is-buffer@^1.1.5, is-buffer@~1.1.6: version "1.1.6" - resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429388528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha1-76ouqdqg16suoTqXsritUf776L4= is-buffer@^2.0.0: - version "2.0.4" - resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha1-PlcvI8hBGlz9lVfISeNmXgspBiM= + version "2.0.5" + resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.5.tgz?cache=0&sync_timestamp=1604429388528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE= is-callable@^1.1.4, is-callable@^1.2.2: version "1.2.2" - resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.2.tgz?cache=0&sync_timestamp=1600719283993&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" integrity sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk= is-ci@^2.0.0: @@ -9743,10 +9709,10 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/is-core-module/download/is-core-module-2.0.0.tgz?cache=0&sync_timestamp=1603133344186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-core-module%2Fdownload%2Fis-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" - integrity sha1-WFMbcK7R23wOjU6xoKLR3dZL0S0= +is-core-module@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-core-module/download/is-core-module-2.1.0.tgz?cache=0&sync_timestamp=1604519172113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-core-module%2Fdownload%2Fis-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" + integrity sha1-pMwDHZsaymPuy9GKZQ4Ty07quUY= dependencies: has "^1.0.3" @@ -10183,25 +10149,25 @@ javascript-stringify@^2.0.1: jest-changed-files@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" + resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-25.5.0.tgz?cache=0&sync_timestamp=1604319689914&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-changed-files%2Fdownload%2Fjest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" integrity sha1-FBzCNWfOs/U0Um+GFLo5QhODY0w= dependencies: "@jest/types" "^25.5.0" execa "^3.2.0" throat "^5.0.0" -jest-changed-files@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-26.6.0.tgz#63b04aa261b5733c6ade96b7dd24784d12d8bb2d" - integrity sha1-Y7BKomG1czxq3pa33SR4TRLYuy0= +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-26.6.2.tgz?cache=0&sync_timestamp=1604319689914&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-changed-files%2Fdownload%2Fjest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha1-9hmEeeHMZvIvmuHiKsqgtCnAQtA= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" execa "^4.0.0" throat "^5.0.0" jest-cli@^25.5.4: version "25.5.4" - resolved "https://registry.npm.taobao.org/jest-cli/download/jest-cli-25.5.4.tgz?cache=0&sync_timestamp=1603108830341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-cli%2Fdownload%2Fjest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" + resolved "https://registry.npm.taobao.org/jest-cli/download/jest-cli-25.5.4.tgz?cache=0&sync_timestamp=1604468937563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-cli%2Fdownload%2Fjest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" integrity sha1-ufGoTRMBqSxcIXaEy3mECDHbnw0= dependencies: "@jest/core" "^25.5.4" @@ -10219,28 +10185,28 @@ jest-cli@^25.5.4: realpath-native "^2.0.0" yargs "^15.3.1" -jest-cli@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-cli/download/jest-cli-26.6.0.tgz?cache=0&sync_timestamp=1603108830341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-cli%2Fdownload%2Fjest-cli-26.6.0.tgz#dc3ae34fd5937310493ed07dc79c5ffba2bf6671" - integrity sha1-3DrjT9WTcxBJPtB9x5xf+6K/ZnE= +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-cli/download/jest-cli-26.6.3.tgz?cache=0&sync_timestamp=1604468937563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-cli%2Fdownload%2Fjest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha1-QxF8/vJLxM1pGhdKh5alMuE16So= dependencies: - "@jest/core" "^26.6.0" - "@jest/test-result" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^26.6.0" - jest-util "^26.6.0" - jest-validate "^26.6.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" prompts "^2.0.1" yargs "^15.4.1" jest-config@^25.5.4: version "25.5.4" - resolved "https://registry.npm.taobao.org/jest-config/download/jest-config-25.5.4.tgz?cache=0&sync_timestamp=1603108831808&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" + resolved "https://registry.npm.taobao.org/jest-config/download/jest-config-25.5.4.tgz?cache=0&sync_timestamp=1604468936204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" integrity sha1-OOIFez+Xbvcwmyssjc0qcIpn8Cw= dependencies: "@babel/core" "^7.1.0" @@ -10263,33 +10229,33 @@ jest-config@^25.5.4: pretty-format "^25.5.0" realpath-native "^2.0.0" -jest-config@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-config/download/jest-config-26.6.0.tgz?cache=0&sync_timestamp=1603108831808&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-26.6.0.tgz#cb879a37002f881edb66d673fd40b6704595de89" - integrity sha1-y4eaNwAviB7bZtZz/UC2cEWV3ok= +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-config/download/jest-config-26.6.3.tgz?cache=0&sync_timestamp=1604468936204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha1-ZPQURO756wPcUdXFO3XIxx9kU0k= dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.0" - "@jest/types" "^26.6.0" - babel-jest "^26.6.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.0" - jest-environment-node "^26.6.0" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.0" + jest-jasmine2 "^26.6.3" jest-regex-util "^26.0.0" - jest-resolve "^26.6.0" - jest-util "^26.6.0" - jest-validate "^26.6.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" micromatch "^4.0.2" - pretty-format "^26.6.0" + pretty-format "^26.6.2" jest-diff@^25.2.1, jest-diff@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-diff/download/jest-diff-25.5.0.tgz?cache=0&sync_timestamp=1603108745113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" + resolved "https://registry.npm.taobao.org/jest-diff/download/jest-diff-25.5.0.tgz?cache=0&sync_timestamp=1604319691364&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" integrity sha1-HdJu1k+WZnwGjO8Ca2d9+gGvz6k= dependencies: chalk "^3.0.0" @@ -10297,15 +10263,15 @@ jest-diff@^25.2.1, jest-diff@^25.5.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-diff@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-diff/download/jest-diff-26.6.0.tgz?cache=0&sync_timestamp=1603108745113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-26.6.0.tgz#5e5bbbaf93ec5017fae2b3ef12fc895e29988379" - integrity sha1-Xlu7r5PsUBf64rPvEvyJXimYg3k= +jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-diff/download/jest-diff-26.6.2.tgz?cache=0&sync_timestamp=1604319691364&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha1-GqdGi1LDpo19XF/c381eSb0WQ5Q= dependencies: chalk "^4.0.0" - diff-sequences "^26.5.0" + diff-sequences "^26.6.2" jest-get-type "^26.3.0" - pretty-format "^26.6.0" + pretty-format "^26.6.2" jest-docblock@^25.3.0: version "25.3.0" @@ -10332,20 +10298,20 @@ jest-each@^25.5.0: jest-util "^25.5.0" pretty-format "^25.5.0" -jest-each@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-each/download/jest-each-26.6.0.tgz#9e9d90a4fc5a79e1d99a008897038325a6c7fbbf" - integrity sha1-np2QpPxaeeHZmgCIlwODJabH+78= +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-each/download/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha1-AlJkOKd6Z0AcimOC3+WZmVLBZ8s= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" chalk "^4.0.0" jest-get-type "^26.3.0" - jest-util "^26.6.0" - pretty-format "^26.6.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" jest-environment-jsdom@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-25.5.0.tgz?cache=0&sync_timestamp=1603108828964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-jsdom%2Fdownload%2Fjest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" + resolved "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-25.5.0.tgz?cache=0&sync_timestamp=1604321533007&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-jsdom%2Fdownload%2Fjest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" integrity sha1-3L5NouqZdweZcEDs9uJWCuxOmDQ= dependencies: "@jest/environment" "^25.5.0" @@ -10355,22 +10321,22 @@ jest-environment-jsdom@^25.5.0: jest-util "^25.5.0" jsdom "^15.2.1" -jest-environment-jsdom@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-26.6.0.tgz?cache=0&sync_timestamp=1603108828964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-jsdom%2Fdownload%2Fjest-environment-jsdom-26.6.0.tgz#2ce353fb82d27a9066bfea3ff2c27d9405076c69" - integrity sha1-LONT+4LSepBmv+o/8sJ9lAUHbGk= +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-26.6.2.tgz?cache=0&sync_timestamp=1604321533007&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-jsdom%2Fdownload%2Fjest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha1-eNCf6c8BmjVwCbm34fEB0jvR2j4= dependencies: - "@jest/environment" "^26.6.0" - "@jest/fake-timers" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" - jest-mock "^26.6.0" - jest-util "^26.6.0" + jest-mock "^26.6.2" + jest-util "^26.6.2" jsdom "^16.4.0" jest-environment-node@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-25.5.0.tgz?cache=0&sync_timestamp=1603108868629&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-node%2Fdownload%2Fjest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" + resolved "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" integrity sha1-D1UnDZSASQKYjmStyjfGzg99B6E= dependencies: "@jest/environment" "^25.5.0" @@ -10380,17 +10346,17 @@ jest-environment-node@^25.5.0: jest-util "^25.5.0" semver "^6.3.0" -jest-environment-node@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-26.6.0.tgz?cache=0&sync_timestamp=1603108868629&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-node%2Fdownload%2Fjest-environment-node-26.6.0.tgz#97f6e48085e67bda43b97f48e678ce78d760cd14" - integrity sha1-l/bkgIXme9pDuX9I5njOeNdgzRQ= +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha1-gk5Mf7SURkY1bxGsdbIpsANfKww= dependencies: - "@jest/environment" "^26.6.0" - "@jest/fake-timers" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" - jest-mock "^26.6.0" - jest-util "^26.6.0" + jest-mock "^26.6.2" + jest-util "^26.6.2" jest-get-type@^25.2.6: version "25.2.6" @@ -10404,7 +10370,7 @@ jest-get-type@^26.3.0: jest-haste-map@^24.9.0: version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-24.9.0.tgz?cache=0&sync_timestamp=1603108830875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-24.9.0.tgz?cache=0&sync_timestamp=1604319771802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" integrity sha1-s4pdZCdJNOIfpBeump++t3zqrH0= dependencies: "@jest/types" "^24.9.0" @@ -10423,7 +10389,7 @@ jest-haste-map@^24.9.0: jest-haste-map@^25.5.1: version "25.5.1" - resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-25.5.1.tgz?cache=0&sync_timestamp=1603108830875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" + resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-25.5.1.tgz?cache=0&sync_timestamp=1604319771802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" integrity sha1-HfEPcWwdlOYKHr93mMn7PaJiCUM= dependencies: "@jest/types" "^25.5.0" @@ -10441,21 +10407,21 @@ jest-haste-map@^25.5.1: optionalDependencies: fsevents "^2.1.2" -jest-haste-map@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-26.6.0.tgz?cache=0&sync_timestamp=1603108830875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-26.6.0.tgz#4cd392bc51109bd8e0f765b2d5afa746bebb5ce2" - integrity sha1-TNOSvFEQm9jg92Wy1a+nRr67XOI= +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-26.6.2.tgz?cache=0&sync_timestamp=1604319771802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha1-3X5g/n3A6fkRoj15xf9/tcLK/qo= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.4" jest-regex-util "^26.0.0" - jest-serializer "^26.5.0" - jest-util "^26.6.0" - jest-worker "^26.5.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" micromatch "^4.0.2" sane "^4.0.3" walker "^1.0.7" @@ -10464,7 +10430,7 @@ jest-haste-map@^26.6.0: jest-jasmine2@^25.5.4: version "25.5.4" - resolved "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-25.5.4.tgz?cache=0&sync_timestamp=1603108871324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" + resolved "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-25.5.4.tgz?cache=0&sync_timestamp=1604470717334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" integrity sha1-ZsqLMo+xo8U2SBb4lY9pcKhSaWg= dependencies: "@babel/traverse" "^7.1.0" @@ -10485,28 +10451,28 @@ jest-jasmine2@^25.5.4: pretty-format "^25.5.0" throat "^5.0.0" -jest-jasmine2@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-26.6.0.tgz?cache=0&sync_timestamp=1603108871324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-26.6.0.tgz#1b59e26aa56651bae3d4637965c8cd4d3851de6d" - integrity sha1-G1niaqVmUbrj1GN5ZcjNTThR3m0= +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-26.6.3.tgz?cache=0&sync_timestamp=1604470717334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha1-rcPPkV3qy1ISyTufNUfNEpWPLt0= dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.0" - "@jest/source-map" "^26.5.0" - "@jest/test-result" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.6.0" + expect "^26.6.2" is-generator-fn "^2.0.0" - jest-each "^26.6.0" - jest-matcher-utils "^26.6.0" - jest-message-util "^26.6.0" - jest-runtime "^26.6.0" - jest-snapshot "^26.6.0" - jest-util "^26.6.0" - pretty-format "^26.6.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" throat "^5.0.0" jest-leak-detector@^25.5.0: @@ -10517,17 +10483,17 @@ jest-leak-detector@^25.5.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-leak-detector@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-leak-detector/download/jest-leak-detector-26.6.0.tgz#a211c4c7627743e8d87b392bf92502cd64275df3" - integrity sha1-ohHEx2J3Q+jYezkr+SUCzWQnXfM= +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-leak-detector/download/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha1-dxfPEYuSI48uumUFTIoMnGU6ka8= dependencies: jest-get-type "^26.3.0" - pretty-format "^26.6.0" + pretty-format "^26.6.2" jest-matcher-utils@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-25.5.0.tgz?cache=0&sync_timestamp=1603108865528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-matcher-utils%2Fdownload%2Fjest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" + resolved "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" integrity sha1-+8mKEtcw5dJFPX8e1KTZSONLeGc= dependencies: chalk "^3.0.0" @@ -10535,15 +10501,15 @@ jest-matcher-utils@^25.5.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-matcher-utils@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-26.6.0.tgz?cache=0&sync_timestamp=1603108865528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-matcher-utils%2Fdownload%2Fjest-matcher-utils-26.6.0.tgz#8f57d78353275bfa7a3ccea128c1030b347138e2" - integrity sha1-j1fXg1MnW/p6PM6hKMEDCzRxOOI= +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha1-jm/W6GPIstMaxkcu6yN7xZXlPno= dependencies: chalk "^4.0.0" - jest-diff "^26.6.0" + jest-diff "^26.6.2" jest-get-type "^26.3.0" - pretty-format "^26.6.0" + pretty-format "^26.6.2" jest-message-util@^24.9.0: version "24.9.0" @@ -10573,40 +10539,41 @@ jest-message-util@^25.5.0: slash "^3.0.0" stack-utils "^1.0.1" -jest-message-util@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-message-util/download/jest-message-util-26.6.0.tgz#c3499053022e05765f71b8c2535af63009e2d4be" - integrity sha1-w0mQUwIuBXZfcbjCU1r2MAni1L4= +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-message-util/download/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha1-WBc3RK1vwFBrXSEVC5vlbvABygc= dependencies: "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.4" micromatch "^4.0.2" + pretty-format "^26.6.2" slash "^3.0.0" stack-utils "^2.0.2" jest-mock@^24.9.0: version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-24.9.0.tgz?cache=0&sync_timestamp=1603108735129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-mock%2Fdownload%2Fjest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-24.9.0.tgz?cache=0&sync_timestamp=1604319689468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-mock%2Fdownload%2Fjest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" integrity sha1-wig1VB7jebkIZzrVEIeiGFwT8cY= dependencies: "@jest/types" "^24.9.0" jest-mock@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-25.5.0.tgz?cache=0&sync_timestamp=1603108735129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-mock%2Fdownload%2Fjest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" + resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-25.5.0.tgz?cache=0&sync_timestamp=1604319689468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-mock%2Fdownload%2Fjest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" integrity sha1-qRpU2r0U437NYWZda24GNgpVOHo= dependencies: "@jest/types" "^25.5.0" -jest-mock@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-26.6.0.tgz?cache=0&sync_timestamp=1603108735129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-mock%2Fdownload%2Fjest-mock-26.6.0.tgz#5d13a41f3662a98a55c7742ac67c482e232ded13" - integrity sha1-XROkHzZiqYpVx3QqxnxILiMt7RM= +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-26.6.2.tgz?cache=0&sync_timestamp=1604319689468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-mock%2Fdownload%2Fjest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha1-1stxKwQe1H/g2bb8NHS8ZUP+swI= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" "@types/node" "*" jest-pnp-resolver@^1.2.1, jest-pnp-resolver@^1.2.2: @@ -10631,25 +10598,25 @@ jest-regex-util@^26.0.0: jest-resolve-dependencies@^25.5.4: version "25.5.4" - resolved "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-25.5.4.tgz?cache=0&sync_timestamp=1603108869898&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-resolve-dependencies%2Fdownload%2Fjest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" + resolved "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" integrity sha1-hVAfU5V8jjvkRuhjp0d3taFzl6c= dependencies: "@jest/types" "^25.5.0" jest-regex-util "^25.2.6" jest-snapshot "^25.5.1" -jest-resolve-dependencies@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-26.6.0.tgz?cache=0&sync_timestamp=1603108869898&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-resolve-dependencies%2Fdownload%2Fjest-resolve-dependencies-26.6.0.tgz#05bfecc977a3a48929fc7d9876f03d93a16b7df0" - integrity sha1-Bb/syXejpIkp/H2YdvA9k6FrffA= +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha1-ZoCFnuXSLuXc2WH+SHH1n0x4T7Y= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" jest-regex-util "^26.0.0" - jest-snapshot "^26.6.0" + jest-snapshot "^26.6.2" jest-resolve@^25.5.1: version "25.5.1" - resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-25.5.1.tgz?cache=0&sync_timestamp=1603108862819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-resolve%2Fdownload%2Fjest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" + resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" integrity sha1-Dm+8+nwm0qX+j0VgiNwzKnkmaCk= dependencies: "@jest/types" "^25.5.0" @@ -10662,23 +10629,23 @@ jest-resolve@^25.5.1: resolve "^1.17.0" slash "^3.0.0" -jest-resolve@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-26.6.0.tgz?cache=0&sync_timestamp=1603108862819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-resolve%2Fdownload%2Fjest-resolve-26.6.0.tgz#070fe7159af87b03e50f52ea5e17ee95bbee40e1" - integrity sha1-Bw/nFZr4ewPlD1LqXhfulbvuQOE= +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha1-o6sVFyF/RptQTxtWYDxbtUH7tQc= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" chalk "^4.0.0" graceful-fs "^4.2.4" jest-pnp-resolver "^1.2.2" - jest-util "^26.6.0" + jest-util "^26.6.2" read-pkg-up "^7.0.1" - resolve "^1.17.0" + resolve "^1.18.1" slash "^3.0.0" jest-runner@^25.5.4: version "25.5.4" - resolved "https://registry.npm.taobao.org/jest-runner/download/jest-runner-25.5.4.tgz?cache=0&sync_timestamp=1603108831073&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runner%2Fdownload%2Fjest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" + resolved "https://registry.npm.taobao.org/jest-runner/download/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" integrity sha1-/+xd84ddpfXIeK5tChe45OzXxx0= dependencies: "@jest/console" "^25.5.0" @@ -10701,35 +10668,35 @@ jest-runner@^25.5.4: source-map-support "^0.5.6" throat "^5.0.0" -jest-runner@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-runner/download/jest-runner-26.6.0.tgz?cache=0&sync_timestamp=1603108831073&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runner%2Fdownload%2Fjest-runner-26.6.0.tgz#465a76efc9ec12cfd83a2af3a6cfb695b13a3efe" - integrity sha1-Rlp278nsEs/YOirzps+2lbE6Pv4= +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-runner/download/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha1-LR/tPUbhDyM/0dvTv6o/6JJL4Vk= dependencies: - "@jest/console" "^26.6.0" - "@jest/environment" "^26.6.0" - "@jest/test-result" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" emittery "^0.7.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.6.0" + jest-config "^26.6.3" jest-docblock "^26.0.0" - jest-haste-map "^26.6.0" - jest-leak-detector "^26.6.0" - jest-message-util "^26.6.0" - jest-resolve "^26.6.0" - jest-runtime "^26.6.0" - jest-util "^26.6.0" - jest-worker "^26.5.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" source-map-support "^0.5.6" throat "^5.0.0" jest-runtime@^25.5.4: version "25.5.4" - resolved "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-25.5.4.tgz?cache=0&sync_timestamp=1603108829422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runtime%2Fdownload%2Fjest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" + resolved "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-25.5.4.tgz?cache=0&sync_timestamp=1604468905829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runtime%2Fdownload%2Fjest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" integrity sha1-3Jgf4sshN6vNMZ50zK5/fu/7+qs= dependencies: "@jest/console" "^25.5.0" @@ -10759,61 +10726,62 @@ jest-runtime@^25.5.4: strip-bom "^4.0.0" yargs "^15.3.1" -jest-runtime@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-26.6.0.tgz?cache=0&sync_timestamp=1603108829422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runtime%2Fdownload%2Fjest-runtime-26.6.0.tgz#90f80ea5eb0d97a1089120f582fb84bd36ca5491" - integrity sha1-kPgOpesNl6EIkSD1gvuEvTbKVJE= - dependencies: - "@jest/console" "^26.6.0" - "@jest/environment" "^26.6.0" - "@jest/fake-timers" "^26.6.0" - "@jest/globals" "^26.6.0" - "@jest/source-map" "^26.5.0" - "@jest/test-result" "^26.6.0" - "@jest/transform" "^26.6.0" - "@jest/types" "^26.6.0" +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-26.6.3.tgz?cache=0&sync_timestamp=1604468905829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runtime%2Fdownload%2Fjest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha1-T2TvvPrDmDMbdLSzyC0n1AG4+is= + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" "@types/yargs" "^15.0.0" chalk "^4.0.0" + cjs-module-lexer "^0.6.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-config "^26.6.0" - jest-haste-map "^26.6.0" - jest-message-util "^26.6.0" - jest-mock "^26.6.0" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" jest-regex-util "^26.0.0" - jest-resolve "^26.6.0" - jest-snapshot "^26.6.0" - jest-util "^26.6.0" - jest-validate "^26.6.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" slash "^3.0.0" strip-bom "^4.0.0" yargs "^15.4.1" jest-serializer@^24.9.0: version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-24.9.0.tgz?cache=0&sync_timestamp=1601890414006&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-serializer%2Fdownload%2Fjest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" integrity sha1-5tfX75bTHouQeacUdUxdXFgojnM= jest-serializer@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-25.5.0.tgz?cache=0&sync_timestamp=1601890414006&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-serializer%2Fdownload%2Fjest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" + resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" integrity sha1-qZP0hOdptO1U5w4O/bdAB/UDBys= dependencies: graceful-fs "^4.2.4" -jest-serializer@^26.5.0: - version "26.5.0" - resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-26.5.0.tgz?cache=0&sync_timestamp=1601890414006&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-serializer%2Fdownload%2Fjest-serializer-26.5.0.tgz#f5425cc4c5f6b4b355f854b5f0f23ec6b962bc13" - integrity sha1-9UJcxMX2tLNV+FS18PI+xrlivBM= +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha1-0Tmq/UaVfTpEjzps2r4pGboHQtE= dependencies: "@types/node" "*" graceful-fs "^4.2.4" jest-snapshot@^25.5.1: version "25.5.1" - resolved "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-25.5.1.tgz?cache=0&sync_timestamp=1603108869451&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-snapshot%2Fdownload%2Fjest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" + resolved "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" integrity sha1-GipXZJH5lh640AwuX9R5vCjl/38= dependencies: "@babel/types" "^7.0.0" @@ -10832,26 +10800,26 @@ jest-snapshot@^25.5.1: pretty-format "^25.5.0" semver "^6.3.0" -jest-snapshot@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-26.6.0.tgz?cache=0&sync_timestamp=1603108869451&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-snapshot%2Fdownload%2Fjest-snapshot-26.6.0.tgz#457aa9c1761efc781ac9c02b021a0b21047c6a38" - integrity sha1-RXqpwXYe/HgaycArAhoLIQR8ajg= +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha1-87CvGssiMxaFC9FOG+6pg3+znIQ= dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.0.0" chalk "^4.0.0" - expect "^26.6.0" + expect "^26.6.2" graceful-fs "^4.2.4" - jest-diff "^26.6.0" + jest-diff "^26.6.2" jest-get-type "^26.3.0" - jest-haste-map "^26.6.0" - jest-matcher-utils "^26.6.0" - jest-message-util "^26.6.0" - jest-resolve "^26.6.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" natural-compare "^1.4.0" - pretty-format "^26.6.0" + pretty-format "^26.6.2" semver "^7.3.2" jest-transform-css@^2.0.0: @@ -10868,7 +10836,7 @@ jest-transform-css@^2.0.0: jest-util@^24.9.0: version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-24.9.0.tgz?cache=0&sync_timestamp=1604321714073&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-util%2Fdownload%2Fjest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" integrity sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI= dependencies: "@jest/console" "^24.9.0" @@ -10886,7 +10854,7 @@ jest-util@^24.9.0: jest-util@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" + resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-25.5.0.tgz?cache=0&sync_timestamp=1604321714073&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-util%2Fdownload%2Fjest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" integrity sha1-McY7XW6QEnTSZKT+yEkjCqP6NbA= dependencies: "@jest/types" "^25.5.0" @@ -10895,12 +10863,12 @@ jest-util@^25.5.0: is-ci "^2.0.0" make-dir "^3.0.0" -jest-util@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-26.6.0.tgz#a81547f6d38738b505c5a594b37d911335dea60f" - integrity sha1-qBVH9tOHOLUFxaWUs32REzXepg8= +jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-26.6.2.tgz?cache=0&sync_timestamp=1604321714073&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-util%2Fdownload%2Fjest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha1-kHU12+TVpstMR6ybkm9q8pV2y8E= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" graceful-fs "^4.2.4" @@ -10909,7 +10877,7 @@ jest-util@^26.6.0: jest-validate@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-validate/download/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" + resolved "https://registry.npm.taobao.org/jest-validate/download/jest-validate-25.5.0.tgz?cache=0&sync_timestamp=1604319745984&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-validate%2Fdownload%2Fjest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" integrity sha1-+0yT8zLC5M9wFRpijlijXkWaQTo= dependencies: "@jest/types" "^25.5.0" @@ -10919,21 +10887,21 @@ jest-validate@^25.5.0: leven "^3.1.0" pretty-format "^25.5.0" -jest-validate@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-validate/download/jest-validate-26.6.0.tgz#b95e2076cca1a58b183e5bcce2bf43af52eebf10" - integrity sha1-uV4gdsyhpYsYPlvM4r9Dr1LuvxA= +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-validate/download/jest-validate-26.6.2.tgz?cache=0&sync_timestamp=1604319745984&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-validate%2Fdownload%2Fjest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha1-I9OAlxWHFQRnNCkRw9e0rFerIOw= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" camelcase "^6.0.0" chalk "^4.0.0" jest-get-type "^26.3.0" leven "^3.1.0" - pretty-format "^26.6.0" + pretty-format "^26.6.2" jest-watcher@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-25.5.0.tgz?cache=0&sync_timestamp=1603108866550&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-watcher%2Fdownload%2Fjest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" + resolved "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-25.5.0.tgz?cache=0&sync_timestamp=1604321533030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-watcher%2Fdownload%2Fjest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" integrity sha1-1hENEB35i63r5DUAOVb9SkZehFY= dependencies: "@jest/test-result" "^25.5.0" @@ -10943,22 +10911,22 @@ jest-watcher@^25.5.0: jest-util "^25.5.0" string-length "^3.1.0" -jest-watcher@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-26.6.0.tgz?cache=0&sync_timestamp=1603108866550&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-watcher%2Fdownload%2Fjest-watcher-26.6.0.tgz#06001c22831583a16f9ccb388ee33316a7f4200f" - integrity sha1-BgAcIoMVg6FvnMs4juMzFqf0IA8= +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-26.6.2.tgz?cache=0&sync_timestamp=1604321533030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-watcher%2Fdownload%2Fjest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha1-pbaDuPnWjbyx19rjIXLSzKBZKXU= dependencies: - "@jest/test-result" "^26.6.0" - "@jest/types" "^26.6.0" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.6.0" + jest-util "^26.6.2" string-length "^4.0.1" jest-worker@^24.9.0: version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-24.9.0.tgz?cache=0&sync_timestamp=1601890194081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-24.9.0.tgz?cache=0&sync_timestamp=1604321693083&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" integrity sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U= dependencies: merge-stream "^2.0.0" @@ -10966,16 +10934,16 @@ jest-worker@^24.9.0: jest-worker@^25.4.0, jest-worker@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-25.5.0.tgz?cache=0&sync_timestamp=1601890194081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-25.5.0.tgz?cache=0&sync_timestamp=1604321693083&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" integrity sha1-JhHQcbec6g9D7lej0RhZOsFUfbE= dependencies: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.5.0: - version "26.5.0" - resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-26.5.0.tgz?cache=0&sync_timestamp=1601890194081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-26.5.0.tgz#87deee86dbbc5f98d9919e0dadf2c40e3152fa30" - integrity sha1-h97uhtu8X5jZkZ4NrfLEDjFS+jA= +jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-26.6.2.tgz?cache=0&sync_timestamp=1604321693083&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha1-f3LLxNZDw2Xie5/XdfnQ6qnHqO0= dependencies: "@types/node" "*" merge-stream "^2.0.0" @@ -10983,7 +10951,7 @@ jest-worker@^26.5.0: jest@^25.4.0: version "25.5.4" - resolved "https://registry.npm.taobao.org/jest/download/jest-25.5.4.tgz?cache=0&sync_timestamp=1603108873714&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest%2Fdownload%2Fjest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" + resolved "https://registry.npm.taobao.org/jest/download/jest-25.5.4.tgz?cache=0&sync_timestamp=1604468911504&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest%2Fdownload%2Fjest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" integrity sha1-8hEHtkic/jKwds4q3K3uNYesuds= dependencies: "@jest/core" "^25.5.4" @@ -10991,23 +10959,23 @@ jest@^25.4.0: jest-cli "^25.5.4" jest@^26.4.2: - version "26.6.0" - resolved "https://registry.npm.taobao.org/jest/download/jest-26.6.0.tgz?cache=0&sync_timestamp=1603108873714&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest%2Fdownload%2Fjest-26.6.0.tgz#546b25a1d8c888569dbbe93cae131748086a4a25" - integrity sha1-VGslodjIiFadu+k8rhMXSAhqSiU= + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest/download/jest-26.6.3.tgz?cache=0&sync_timestamp=1604468911504&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest%2Fdownload%2Fjest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha1-QOj9vkjwDfofDOgSHKdLiKyRSO8= dependencies: - "@jest/core" "^26.6.0" + "@jest/core" "^26.6.3" import-local "^3.0.2" - jest-cli "^26.6.0" + jest-cli "^26.6.3" js-base64@^2.1.8, js-base64@^2.5.2: version "2.6.4" - resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz?cache=0&sync_timestamp=1604448575022&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" integrity sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ= js-base64@^3.2.4: - version "3.5.2" - resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-3.5.2.tgz#3cc800e4f10812b55fb5ec53e7cabaef35dc6d3c" - integrity sha1-PMgA5PEIErVftexT58q67zXcbTw= + version "3.6.0" + resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-3.6.0.tgz?cache=0&sync_timestamp=1604448575022&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-3.6.0.tgz#773e1de628f4f298d65a7e9842c50244751f5756" + integrity sha1-dz4d5ij08pjWWn6YQsUCRHUfV1Y= js-levenshtein@^1.1.3: version "1.1.6" @@ -11126,12 +11094,12 @@ jsdom@^8.3.0: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603891198638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= jsesc@~0.5.0: version "0.5.0" - resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz?cache=0&sync_timestamp=1603891198638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= json-cycle@^1.3.0: @@ -11206,11 +11174,11 @@ jsonfile@^4.0.0: graceful-fs "^4.1.6" jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha1-mJZsuiFDeMjIS4LghZB7QL9hQXk= + version "6.1.0" + resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4= dependencies: - universalify "^1.0.0" + universalify "^2.0.0" optionalDependencies: graceful-fs "^4.1.6" @@ -11223,7 +11191,7 @@ jsonml.js@^0.1.0: jsonparse@^1.2.0: version "1.3.1" - resolved "https://registry.npm.taobao.org/jsonparse/download/jsonparse-1.3.1.tgz?cache=0&sync_timestamp=1574428590510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonparse%2Fdownload%2Fjsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + resolved "https://registry.npm.taobao.org/jsonparse/download/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= jsprim@^1.2.2: @@ -11238,18 +11206,10 @@ jsprim@^1.2.2: jstoxml@^0.2.3: version "0.2.4" - resolved "https://registry.npm.taobao.org/jstoxml/download/jstoxml-0.2.4.tgz?cache=0&sync_timestamp=1602591426779&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjstoxml%2Fdownload%2Fjstoxml-0.2.4.tgz#ff3fb67856883a032953c7ce8ce7486210f48447" + resolved "https://registry.npm.taobao.org/jstoxml/download/jstoxml-0.2.4.tgz?cache=0&sync_timestamp=1602591893421&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjstoxml%2Fdownload%2Fjstoxml-0.2.4.tgz#ff3fb67856883a032953c7ce8ce7486210f48447" integrity sha1-/z+2eFaIOgMpU8fOjOdIYhD0hEc= -jsx-ast-utils@^2.4.1: - version "2.4.1" - resolved "https://registry.npm.taobao.org/jsx-ast-utils/download/jsx-ast-utils-2.4.1.tgz?cache=0&sync_timestamp=1602640057099&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsx-ast-utils%2Fdownload%2Fjsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" - integrity sha1-ERSkwSCUgdsGxpDCtPSIzGZfZX4= - dependencies: - array-includes "^3.1.1" - object.assign "^4.1.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0": +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: version "3.1.0" resolved "https://registry.npm.taobao.org/jsx-ast-utils/download/jsx-ast-utils-3.1.0.tgz?cache=0&sync_timestamp=1602640057099&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsx-ast-utils%2Fdownload%2Fjsx-ast-utils-3.1.0.tgz#642f1d7b88aa6d7eb9d8f2210e166478444fa891" integrity sha1-ZC8de4iqbX652PIhDhZkeERPqJE= @@ -11258,9 +11218,9 @@ jsx-ast-utils@^2.4.1: object.assign "^4.1.1" jsx-compiler@^0.4.0: - version "0.4.21" - resolved "https://registry.npm.taobao.org/jsx-compiler/download/jsx-compiler-0.4.21.tgz#38531de70efeb4fbbd0511aaabd755d95b8388cf" - integrity sha1-OFMd5w7+tPu9BRGqq9dV2VuDiM8= + version "0.4.22" + resolved "https://registry.npm.taobao.org/jsx-compiler/download/jsx-compiler-0.4.22.tgz?cache=0&sync_timestamp=1605164715023&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsx-compiler%2Fdownload%2Fjsx-compiler-0.4.22.tgz#d475245d293a14730806175a20e060ba9a9016be" + integrity sha1-1HUkXSk6FHMIBhdaIOBgupqQFr4= dependencies: "@babel/code-frame" "^7.0.0" "@babel/generator" "^7.3.4" @@ -11302,9 +11262,9 @@ jsx2mp-loader@^0.4.13: terser "^4.3.8" jsx2mp-runtime@^0.4.16: - version "0.4.16" - resolved "https://registry.npm.taobao.org/jsx2mp-runtime/download/jsx2mp-runtime-0.4.16.tgz?cache=0&sync_timestamp=1604305064291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsx2mp-runtime%2Fdownload%2Fjsx2mp-runtime-0.4.16.tgz#5b3841f1bcc8bf84c010957ee3b8f5e533cb6975" - integrity sha1-WzhB8bzIv4TAEJV+47j15TPLaXU= + version "0.4.17" + resolved "https://registry.npm.taobao.org/jsx2mp-runtime/download/jsx2mp-runtime-0.4.17.tgz#c3f27c4ec8ac034ba1af282a41693f2debe76063" + integrity sha1-w/J8TsisA0uhrygqQWk/LevnYGM= kebab-case@^1.0.0: version "1.0.0" @@ -11361,7 +11321,7 @@ kleur@^3.0.3: known-css-properties@^0.11.0: version "0.11.0" - resolved "https://registry.npm.taobao.org/known-css-properties/download/known-css-properties-0.11.0.tgz?cache=0&sync_timestamp=1600340212829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fknown-css-properties%2Fdownload%2Fknown-css-properties-0.11.0.tgz#0da784f115ea77c76b81536d7052e90ee6c86a8a" + resolved "https://registry.npm.taobao.org/known-css-properties/download/known-css-properties-0.11.0.tgz#0da784f115ea77c76b81536d7052e90ee6c86a8a" integrity sha1-DaeE8RXqd8drgVNtcFLpDubIaoo= ko-sleep@^1.0.3: @@ -11385,9 +11345,9 @@ koa-compose@^4.1.0: integrity sha1-UHMGuTcZAdtBEhyBLpI9DWfT6Hc= language-subtag-registry@~0.3.2: - version "0.3.20" - resolved "https://registry.npm.taobao.org/language-subtag-registry/download/language-subtag-registry-0.3.20.tgz#a00a37121894f224f763268e431c55556b0c0755" - integrity sha1-oAo3EhiU8iT3YyaOQxxVVWsMB1U= + version "0.3.21" + resolved "https://registry.npm.taobao.org/language-subtag-registry/download/language-subtag-registry-0.3.21.tgz?cache=0&sync_timestamp=1603785598662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flanguage-subtag-registry%2Fdownload%2Flanguage-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha1-BKwhi+pG8EywOQhGAsbanniN1Fo= language-tags@^1.0.5: version "1.0.5" @@ -11430,7 +11390,7 @@ lerna@^3.16.4: less-loader@^5.0.0: version "5.0.0" - resolved "https://registry.npm.taobao.org/less-loader/download/less-loader-5.0.0.tgz?cache=0&sync_timestamp=1602250073436&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless-loader%2Fdownload%2Fless-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" + resolved "https://registry.npm.taobao.org/less-loader/download/less-loader-5.0.0.tgz?cache=0&sync_timestamp=1605095927771&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless-loader%2Fdownload%2Fless-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" integrity sha1-SY3eOmxsT4h0WO6e0/CGoSrRtGY= dependencies: clone "^2.1.1" @@ -11472,7 +11432,7 @@ levn@^0.3.0, levn@~0.3.0: light-spinner@^1.0.0: version "1.0.1" - resolved "https://registry.npm.taobao.org/light-spinner/download/light-spinner-1.0.1.tgz?cache=0&sync_timestamp=1597232817510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flight-spinner%2Fdownload%2Flight-spinner-1.0.1.tgz#5f2680e34ef8749cc7d6ae279f6a0961f14509d2" + resolved "https://registry.npm.taobao.org/light-spinner/download/light-spinner-1.0.1.tgz#5f2680e34ef8749cc7d6ae279f6a0961f14509d2" integrity sha1-XyaA4074dJzH1q4nn2oJYfFFCdI= lines-and-columns@^1.1.6: @@ -11604,7 +11564,7 @@ lodash.clonedeep@^4.5.0: lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + resolved "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz?cache=0&sync_timestamp=1600349120640&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.debounce%2Fdownload%2Flodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= lodash.get@^4.4.2: @@ -11747,7 +11707,7 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3 loud-rejection@^1.0.0: version "1.6.0" - resolved "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + resolved "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz?cache=0&sync_timestamp=1602841488406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floud-rejection%2Fdownload%2Floud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= dependencies: currently-unhandled "^0.4.1" @@ -11767,7 +11727,7 @@ lower-case@^2.0.1: lru-cache@^4.0.1: version "4.1.5" - resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427573763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= dependencies: pseudomap "^1.0.2" @@ -11775,14 +11735,14 @@ lru-cache@^4.0.1: 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=1594427573763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz?cache=0&sync_timestamp=1594427573763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ= dependencies: yallist "^4.0.0" @@ -11924,16 +11884,16 @@ mdast-util-compact@^1.0.0: dependencies: unist-util-visit "^1.1.0" +mdn-data@2.0.12: + version "2.0.12" + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.12.tgz#bbb658d08b38f574bbb88f7b83703defdcc46844" + integrity sha1-u7ZY0Is49XS7uI97g3A979zEaEQ= + mdn-data@2.0.4: version "2.0.4" - resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&sync_timestamp=1602987131460&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= -mdn-data@2.0.6: - version "2.0.6" - resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz?cache=0&sync_timestamp=1602987131460&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" - integrity sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg= - mdn-data@~1.1.0: version "1.1.4" resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" @@ -11974,7 +11934,7 @@ memorystream@^0.3.1: meow@5.0.0, meow@^5.0.0: version "5.0.0" - resolved "https://registry.npm.taobao.org/meow/download/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" + resolved "https://registry.npm.taobao.org/meow/download/meow-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" integrity sha1-38c9Y6mvxxSl43F2DrXIi5EHiqQ= dependencies: camelcase-keys "^4.0.0" @@ -11989,7 +11949,7 @@ meow@5.0.0, meow@^5.0.0: meow@^3.3.0, meow@^3.7.0: version "3.7.0" - resolved "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + resolved "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= dependencies: camelcase-keys "^2.0.0" @@ -12005,7 +11965,7 @@ meow@^3.3.0, meow@^3.7.0: meow@^4.0.0: version "4.0.1" - resolved "https://registry.npm.taobao.org/meow/download/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" + resolved "https://registry.npm.taobao.org/meow/download/meow-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" integrity sha1-1IWY9vSxRy81v2MXqVlFrONH+XU= dependencies: camelcase-keys "^4.0.0" @@ -12018,22 +11978,22 @@ meow@^4.0.0: redent "^2.0.0" trim-newlines "^2.0.0" -meow@^7.0.0: - version "7.1.1" - resolved "https://registry.npm.taobao.org/meow/download/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" - integrity sha1-fAFZXj0zf8sOxOju0WZuqVkD0wY= +meow@^8.0.0: + version "8.0.0" + resolved "https://registry.npm.taobao.org/meow/download/meow-8.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-8.0.0.tgz#1aa10ee61046719e334ffdc038bb5069250ec99a" + integrity sha1-GqEO5hBGcZ4zT/3AOLtQaSUOyZo= dependencies: "@types/minimist" "^1.2.0" camelcase-keys "^6.2.2" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" minimist-options "4.1.0" - normalize-package-data "^2.5.0" + normalize-package-data "^3.0.0" read-pkg-up "^7.0.1" redent "^3.0.0" trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" + type-fest "^0.18.0" + yargs-parser "^20.2.3" merge-descriptors@1.0.1, merge-descriptors@^1.0.1: version "1.0.1" @@ -12138,26 +12098,16 @@ min-indent@^1.0.0: integrity sha1-pj9oFnOzBXH76LwlaGrnRu76mGk= mini-create-react-context@^0.4.0: - version "0.4.0" - resolved "https://registry.npm.taobao.org/mini-create-react-context/download/mini-create-react-context-0.4.0.tgz#df60501c83151db69e28eac0ef08b4002efab040" - integrity sha1-32BQHIMVHbaeKOrA7wi0AC76sEA= + version "0.4.1" + resolved "https://registry.npm.taobao.org/mini-create-react-context/download/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha1-ByFxVhv9ySLaCKYMIZekl8wtHV4= dependencies: - "@babel/runtime" "^7.5.5" + "@babel/runtime" "^7.12.1" tiny-warning "^1.0.3" -mini-css-extract-plugin@^0.11.2: - version "0.11.3" - resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.11.3.tgz?cache=0&sync_timestamp=1603203303673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.11.3.tgz#15b0910a7f32e62ffde4a7430cfefbd700724ea6" - integrity sha1-FbCRCn8y5i/95KdDDP771wByTqY= - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - mini-css-extract-plugin@^0.8.0: version "0.8.2" - resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.8.2.tgz?cache=0&sync_timestamp=1603203303673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.8.2.tgz#a875e169beb27c88af77dd962771c9eedc3da161" + resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.8.2.tgz#a875e169beb27c88af77dd962771c9eedc3da161" integrity sha1-qHXhab6yfIivd92WJ3HJ7tw9oWE= dependencies: loader-utils "^1.1.0" @@ -12165,18 +12115,27 @@ mini-css-extract-plugin@^0.8.0: schema-utils "^1.0.0" webpack-sources "^1.1.0" +mini-css-extract-plugin@^1.0.0, mini-css-extract-plugin@^1.2.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-1.3.0.tgz#bbcba978b68c39f0a9c75822cfb2874f9cf6b018" + integrity sha1-u8upeLaMOfCpx1giz7KHT5z2sBg= + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + webpack-sources "^1.1.0" + miniapp-builder-shared@^0.1.0, miniapp-builder-shared@^0.1.1, miniapp-builder-shared@^0.1.6, miniapp-builder-shared@^0.1.7: version "0.1.7" - resolved "https://registry.npm.taobao.org/miniapp-builder-shared/download/miniapp-builder-shared-0.1.7.tgz?cache=0&sync_timestamp=1602661514342&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminiapp-builder-shared%2Fdownload%2Fminiapp-builder-shared-0.1.7.tgz#e78e08aac0d8e32c92ca5082b16a3dc3e20da49a" + resolved "https://registry.npm.taobao.org/miniapp-builder-shared/download/miniapp-builder-shared-0.1.7.tgz#e78e08aac0d8e32c92ca5082b16a3dc3e20da49a" integrity sha1-544IqsDY4yySylCCsWo9w+INpJo= dependencies: enhanced-resolve "^4.3.0" fs-extra "^8.0.1" miniapp-compile-config@^0.1.3: - version "0.1.5" - resolved "https://registry.npm.taobao.org/miniapp-compile-config/download/miniapp-compile-config-0.1.5.tgz#732f9a9758a48410c8980637b4a7c9c08242d6bb" - integrity sha1-cy+al1ikhBDImAY3tKfJwIJC1rs= + version "0.1.6" + resolved "https://registry.npm.taobao.org/miniapp-compile-config/download/miniapp-compile-config-0.1.6.tgz#01923c9c352ef2102b76157a629cc40d1d4942e4" + integrity sha1-AZI8nDUu8hArdhV6YpzEDR1JQuQ= dependencies: chokidar "^3.4.2" copy-webpack-plugin "^6.0.3" @@ -12202,9 +12161,9 @@ miniapp-history@^0.1.0: universal-env "^3.0.0" miniapp-render@^1.2.2: - version "1.2.8" - resolved "https://registry.npm.taobao.org/miniapp-render/download/miniapp-render-1.2.8.tgz#037ed6f71fb5aea3617ccd3eb7292f1590c8fe49" - integrity sha1-A37W9x+1rqNhfM0+tykvFZDI/kk= + version "1.3.0" + resolved "https://registry.npm.taobao.org/miniapp-render/download/miniapp-render-1.3.0.tgz#fde85e2aebb315c28e8b3e3e787428c5af723604" + integrity sha1-/eheKuuzFcKOiz4+eHQoxa9yNgQ= miniapp-runtime-config@^0.1.1, miniapp-runtime-config@^0.1.3: version "0.1.4" @@ -12280,7 +12239,7 @@ minipass-pipeline@^1.2.2: minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: version "2.9.0" - resolved "https://registry.npm.taobao.org/minipass/download/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + resolved "https://registry.npm.taobao.org/minipass/download/minipass-2.9.0.tgz?cache=0&sync_timestamp=1600349143244&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" integrity sha1-5xN2Ln0+Mv7YAxFc+T4EvKn8yaY= dependencies: safe-buffer "^5.1.2" @@ -12288,7 +12247,7 @@ minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: minipass@^3.0.0, minipass@^3.1.1: version "3.1.3" - resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz?cache=0&sync_timestamp=1600349143244&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" integrity sha1-fUL/HzljVILhX5zbUxhN7r1YFf0= dependencies: yallist "^4.0.0" @@ -12351,12 +12310,12 @@ mkdirp-promise@^5.0.1: mkdirp@*, mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: version "1.0.4" - resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1600349118431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha1-PrXtYmInVteaXw4qIh3+utdcL34= mkdirp@0.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" - resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1600349118431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= dependencies: minimist "^1.2.5" @@ -12462,7 +12421,7 @@ mz@^2.5.0, mz@^2.7.0: nan@^2.0.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0: version "2.14.2" - resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591675048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591931869&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk= nanomatch@^1.2.9: @@ -12483,9 +12442,9 @@ nanomatch@^1.2.9: to-regex "^3.0.1" native-request@^1.0.5: - version "1.0.7" - resolved "https://registry.npm.taobao.org/native-request/download/native-request-1.0.7.tgz?cache=0&sync_timestamp=1594998140876&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnative-request%2Fdownload%2Fnative-request-1.0.7.tgz#ff742dc555b4c8f2f1c14b548639ba174e573856" - integrity sha1-/3QtxVW0yPLxwUtUhjm6F05XOFY= + version "1.0.8" + resolved "https://registry.npm.taobao.org/native-request/download/native-request-1.0.8.tgz#8f66bf606e0f7ea27c0e5995eb2f5d03e33ae6fb" + integrity sha1-j2a/YG4PfqJ8DlmV6y9dA+M65vs= native-url@^0.2.6: version "0.2.6" @@ -12552,7 +12511,7 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1: +node-fetch@^2.2.0, node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI= @@ -12675,14 +12634,14 @@ node-pre-gyp@^0.14.0: semver "^5.3.0" tar "^4.4.2" -node-releases@^1.1.29, node-releases@^1.1.52, node-releases@^1.1.61: - version "1.1.64" - resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.64.tgz#71b4ae988e9b1dd7c1ffce58dd9e561752dfebc5" - integrity sha1-cbSumI6bHdfB/85Y3Z5WF1Lf68U= +node-releases@^1.1.29, node-releases@^1.1.52, node-releases@^1.1.66: + version "1.1.66" + resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.66.tgz?cache=0&sync_timestamp=1604726661126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" + integrity sha1-YJvQ3AaTgQFc2YIwC65Rq08bGBQ= node-sass@^4.12.0: version "4.14.1" - resolved "https://registry.npm.taobao.org/node-sass/download/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" + resolved "https://registry.npm.taobao.org/node-sass/download/node-sass-4.14.1.tgz?cache=0&sync_timestamp=1604151125260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-sass%2Fdownload%2Fnode-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" integrity sha1-mch+wu+3BH7WOPtMnbfzpC4iF7U= dependencies: async-foreach "^0.1.3" @@ -12743,6 +12702,16 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package- semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-3.0.0.tgz?cache=0&sync_timestamp=1602547447569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-3.0.0.tgz#1f8a7c423b3d2e85eb36985eaf81de381d01301a" + integrity sha1-H4p8Qjs9LoXrNpher4HeOB0BMBo= + dependencies: + hosted-git-info "^3.0.6" + resolve "^1.17.0" + semver "^7.3.2" + validate-npm-package-license "^3.0.1" + normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -12818,7 +12787,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: npm-packlist@^1.1.6, npm-packlist@^1.4.4: version "1.4.8" - resolved "https://registry.npm.taobao.org/npm-packlist/download/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" + resolved "https://registry.npm.taobao.org/npm-packlist/download/npm-packlist-1.4.8.tgz?cache=0&sync_timestamp=1603319765363&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-packlist%2Fdownload%2Fnpm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" integrity sha1-Vu5swTW5+YrT1Rwcldoiu7my7z4= dependencies: ignore-walk "^3.0.1" @@ -12890,7 +12859,7 @@ nth-check@^1.0.2, nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -null-loader@^4.0.0: +null-loader@^4.0.1: version "4.0.1" resolved "https://registry.npm.taobao.org/null-loader/download/null-loader-4.0.1.tgz#8e63bd3a2dd3c64236a4679428632edd0a6dbc6a" integrity sha1-jmO9Oi3TxkI2pGeUKGMu3QptvGo= @@ -12967,13 +12936,13 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0, object.assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" - integrity sha1-MDhnpmbN1Bk27N7fsfjz4ypHjN0= +object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115104654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA= dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.18.0-next.0" has-symbols "^1.0.1" object-keys "^1.1.1" @@ -12998,7 +12967,7 @@ object.fromentries@^2.0.2: object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: version "2.1.0" - resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" integrity sha1-Npvx+VktiridcS3O1cuBx8U1Jkk= dependencies: define-properties "^1.1.3" @@ -13078,14 +13047,14 @@ only@^0.0.2: open@^6.3.0: version "6.4.0" - resolved "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz?cache=0&sync_timestamp=1601376183874&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + resolved "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz?cache=0&sync_timestamp=1601376181109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" integrity sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk= dependencies: is-wsl "^1.1.0" open@^7.0.2: version "7.3.0" - resolved "https://registry.npm.taobao.org/open/download/open-7.3.0.tgz?cache=0&sync_timestamp=1601376183874&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69" + resolved "https://registry.npm.taobao.org/open/download/open-7.3.0.tgz?cache=0&sync_timestamp=1601376181109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69" integrity sha1-RUYf3uRkRPNkW24U6zypS4Lhvmk= dependencies: is-docker "^2.0.0" @@ -13219,21 +13188,21 @@ p-finally@^2.0.0: p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1600349193170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= dependencies: p-try "^1.0.0" p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1, p-limit@^2.3.0: version "2.3.0" - resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1600349193170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= dependencies: p-try "^2.0.0" p-limit@^3.0.2: version "3.0.2" - resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-3.0.2.tgz?cache=0&sync_timestamp=1600349193170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" integrity sha1-FmTgEK88rcaBuq/T4qQ3vnsPtf4= dependencies: p-try "^2.0.0" @@ -13450,7 +13419,7 @@ parse-path@^4.0.0: parse-url@^5.0.0: version "5.0.2" - resolved "https://registry.npm.taobao.org/parse-url/download/parse-url-5.0.2.tgz?cache=0&sync_timestamp=1596987771810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-url%2Fdownload%2Fparse-url-5.0.2.tgz#856a3be1fcdf78dc93fc8b3791f169072d898b59" + resolved "https://registry.npm.taobao.org/parse-url/download/parse-url-5.0.2.tgz#856a3be1fcdf78dc93fc8b3791f169072d898b59" integrity sha1-hWo74fzfeNyT/Is3kfFpBy2Ji1k= dependencies: is-ssh "^1.3.0" @@ -13557,29 +13526,29 @@ path-parse@^1.0.6: path-to-regexp@0.1.7: version "0.1.7" - resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&sync_timestamp=1601400247487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-to-regexp@6.1.0: version "6.1.0" - resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-6.1.0.tgz?cache=0&sync_timestamp=1601400247487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-6.1.0.tgz#0b18f88b7a0ce0bfae6a25990c909ab86f512427" + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-6.1.0.tgz#0b18f88b7a0ce0bfae6a25990c909ab86f512427" integrity sha1-Cxj4i3oM4L+uaiWZDJCauG9RJCc= path-to-regexp@^1.7.0: version "1.8.0" - resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.8.0.tgz?cache=0&sync_timestamp=1601400247487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" integrity sha1-iHs7qdhDk+h6CgufTLdWGYtTVIo= dependencies: isarray "0.0.1" path-to-regexp@^3.0.0: version "3.2.0" - resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-3.2.0.tgz?cache=0&sync_timestamp=1601400247487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-3.2.0.tgz#fa7877ecbc495c601907562222453c43cc204a5f" + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-3.2.0.tgz#fa7877ecbc495c601907562222453c43cc204a5f" integrity sha1-+nh37LxJXGAZB1YiIkU8Q8wgSl8= path-to-regexp@^6.0.0, path-to-regexp@^6.1.0: version "6.2.0" - resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-6.2.0.tgz?cache=0&sync_timestamp=1601400247487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-6.2.0.tgz#f7b3803336104c346889adece614669230645f38" + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-6.2.0.tgz#f7b3803336104c346889adece614669230645f38" integrity sha1-97OAMzYQTDRoia3s5hRmkjBkXzg= path-type@^1.0.0: @@ -13729,7 +13698,7 @@ pkg-up@3.1.0, pkg-up@^3.1.0: platform@^1.3.1: version "1.3.6" - resolved "https://registry.npm.taobao.org/platform/download/platform-1.3.6.tgz?cache=0&sync_timestamp=1593860999570&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fplatform%2Fdownload%2Fplatform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" + resolved "https://registry.npm.taobao.org/platform/download/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" integrity sha1-SLTOmDFksgnC1FoQetsx9HOm56c= please-upgrade-node@^3.2.0: @@ -13845,7 +13814,7 @@ postcss-custom-media@^7.0.8: postcss-custom-properties@^8.0.11: version "8.0.11" - resolved "https://registry.npm.taobao.org/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz?cache=0&sync_timestamp=1600419979379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-custom-properties%2Fdownload%2Fpostcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + resolved "https://registry.npm.taobao.org/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" integrity sha1-LWF3LW6S8i9eDVJgLfj65G+jDZc= dependencies: postcss "^7.0.17" @@ -13869,7 +13838,7 @@ postcss-dir-pseudo-class@^5.0.0: postcss-discard-comments@^4.0.2: version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz?cache=0&sync_timestamp=1603212787695&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + resolved "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= dependencies: postcss "^7.0.0" @@ -13883,14 +13852,14 @@ postcss-discard-duplicates@^4.0.2: postcss-discard-empty@^4.0.1: version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz?cache=0&sync_timestamp=1603212787897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + resolved "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= dependencies: postcss "^7.0.0" postcss-discard-overridden@^4.0.1: version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz?cache=0&sync_timestamp=1603212787997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-overridden%2Fdownload%2Fpostcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + resolved "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= dependencies: postcss "^7.0.0" @@ -13926,9 +13895,9 @@ postcss-focus-within@^3.0.0: postcss "^7.0.2" postcss-font-variant@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/postcss-font-variant/download/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" - integrity sha1-cd08bBCg2EbF7aB4A0OWF7u6usw= + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-font-variant/download/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha1-QtTAqzCJT2D5ixdWHrXAMh9QJkE= dependencies: postcss "^7.0.2" @@ -13956,7 +13925,7 @@ postcss-image-set-function@^3.0.1: postcss-import@^12.0.1: version "12.0.1" - resolved "https://registry.npm.taobao.org/postcss-import/download/postcss-import-12.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-import%2Fdownload%2Fpostcss-import-12.0.1.tgz#cf8c7ab0b5ccab5649024536e565f841928b7153" + resolved "https://registry.npm.taobao.org/postcss-import/download/postcss-import-12.0.1.tgz#cf8c7ab0b5ccab5649024536e565f841928b7153" integrity sha1-z4x6sLXMq1ZJAkU25WX4QZKLcVM= dependencies: postcss "^7.0.1" @@ -13990,14 +13959,14 @@ postcss-lab-function@^2.0.1: postcss-less@^3.1.0: version "3.1.4" - resolved "https://registry.npm.taobao.org/postcss-less/download/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad" + resolved "https://registry.npm.taobao.org/postcss-less/download/postcss-less-3.1.4.tgz?cache=0&sync_timestamp=1603292389904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-less%2Fdownload%2Fpostcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad" integrity sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0= dependencies: postcss "^7.0.14" postcss-load-config@2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.0.0.tgz?cache=0&sync_timestamp=1601607876353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484" + resolved "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.0.0.tgz?cache=0&sync_timestamp=1601607668112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484" integrity sha1-8TEt2/WRLNdHF3CDxe96GdYu5IQ= dependencies: cosmiconfig "^4.0.0" @@ -14005,7 +13974,7 @@ postcss-load-config@2.0.0: postcss-load-config@^2.0.0: version "2.1.2" - resolved "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.2.tgz?cache=0&sync_timestamp=1601607876353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + resolved "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.2.tgz?cache=0&sync_timestamp=1601607668112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" integrity sha1-xepQTyxK7zPHNZo03jVzdyrXUCo= dependencies: cosmiconfig "^5.0.0" @@ -14090,7 +14059,7 @@ postcss-minify-gradients@^4.0.2: postcss-minify-params@^4.0.2: version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz?cache=0&sync_timestamp=1603212784092&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + resolved "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= dependencies: alphanum-sort "^1.0.0" @@ -14126,7 +14095,7 @@ postcss-modules-extract-imports@^2.0.0: postcss-modules-local-by-default@1.2.0: version "1.2.0" - resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz?cache=0&sync_timestamp=1602587682123&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz?cache=0&sync_timestamp=1602587661752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= dependencies: css-selector-tokenizer "^0.7.0" @@ -14134,7 +14103,7 @@ postcss-modules-local-by-default@1.2.0: postcss-modules-local-by-default@^3.0.2: version "3.0.3" - resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz?cache=0&sync_timestamp=1602587682123&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz?cache=0&sync_timestamp=1602587661752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" integrity sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A= dependencies: icss-utils "^4.1.1" @@ -14194,7 +14163,7 @@ postcss-nesting@^7.0.0: postcss-normalize-charset@^4.0.1: version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz?cache=0&sync_timestamp=1603212784296&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + resolved "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= dependencies: postcss "^7.0.0" @@ -14220,7 +14189,7 @@ postcss-normalize-positions@^4.0.2: postcss-normalize-repeat-style@^4.0.2: version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz?cache=0&sync_timestamp=1603212705732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-repeat-style%2Fdownload%2Fpostcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + resolved "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= dependencies: cssnano-util-get-arguments "^4.0.0" @@ -14257,7 +14226,7 @@ postcss-normalize-unicode@^4.0.1: postcss-normalize-url@^4.0.1: version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz?cache=0&sync_timestamp=1603212784983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + resolved "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= dependencies: is-absolute-url "^2.0.0" @@ -14374,7 +14343,7 @@ postcss-reduce-initial@^4.0.3: postcss-reduce-transforms@^4.0.2: version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz?cache=0&sync_timestamp=1603212785466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + resolved "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= dependencies: cssnano-util-get-match "^4.0.0" @@ -14406,7 +14375,7 @@ postcss-resolve-nested-selector@^0.1.1: postcss-safe-parser@^4.0.0, postcss-safe-parser@^4.0.1: version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz?cache=0&sync_timestamp=1601168630120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-safe-parser%2Fdownload%2Fpostcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" + resolved "https://registry.npm.taobao.org/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" integrity sha1-ptTkjw832ffBGypYG/APi6SHC5Y= dependencies: postcss "^7.0.26" @@ -14421,7 +14390,7 @@ postcss-sass@^0.3.5: postcss-scss@^2.0.0: version "2.1.1" - resolved "https://registry.npm.taobao.org/postcss-scss/download/postcss-scss-2.1.1.tgz?cache=0&sync_timestamp=1601168991814&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-scss%2Fdownload%2Fpostcss-scss-2.1.1.tgz#ec3a75fa29a55e016b90bf3269026c53c1d2b383" + resolved "https://registry.npm.taobao.org/postcss-scss/download/postcss-scss-2.1.1.tgz?cache=0&sync_timestamp=1604592651962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-scss%2Fdownload%2Fpostcss-scss-2.1.1.tgz#ec3a75fa29a55e016b90bf3269026c53c1d2b383" integrity sha1-7Dp1+imlXgFrkL8yaQJsU8HSs4M= dependencies: postcss "^7.0.6" @@ -14472,7 +14441,7 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: postcss-sorting@^4.1.0: version "4.1.0" - resolved "https://registry.npm.taobao.org/postcss-sorting/download/postcss-sorting-4.1.0.tgz#a107f0bf3852977fa64e4442bc340c88d5aacdb3" + resolved "https://registry.npm.taobao.org/postcss-sorting/download/postcss-sorting-4.1.0.tgz?cache=0&sync_timestamp=1600302289143&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-sorting%2Fdownload%2Fpostcss-sorting-4.1.0.tgz#a107f0bf3852977fa64e4442bc340c88d5aacdb3" integrity sha1-oQfwvzhSl3+mTkRCvDQMiNWqzbM= dependencies: lodash "^4.17.4" @@ -14480,7 +14449,7 @@ postcss-sorting@^4.1.0: postcss-sorting@^5.0.1: version "5.0.1" - resolved "https://registry.npm.taobao.org/postcss-sorting/download/postcss-sorting-5.0.1.tgz#10d5d0059eea8334dacc820c0121864035bc3f11" + resolved "https://registry.npm.taobao.org/postcss-sorting/download/postcss-sorting-5.0.1.tgz?cache=0&sync_timestamp=1600302289143&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-sorting%2Fdownload%2Fpostcss-sorting-5.0.1.tgz#10d5d0059eea8334dacc820c0121864035bc3f11" integrity sha1-ENXQBZ7qgzTazIIMASGGQDW8PxE= dependencies: lodash "^4.17.14" @@ -14488,7 +14457,7 @@ postcss-sorting@^5.0.1: postcss-svgo@^4.0.2: version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz?cache=0&sync_timestamp=1603212785570&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + resolved "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" integrity sha1-F7mXvHEbMzurFDqu07jT1uPTglg= dependencies: is-svg "^3.0.0" @@ -14503,7 +14472,7 @@ postcss-syntax@^0.36.2: postcss-unique-selectors@^4.0.1: version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz?cache=0&sync_timestamp=1603212785761&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + resolved "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= dependencies: alphanum-sort "^1.0.0" @@ -14531,7 +14500,7 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: postcss@6.0.1: version "6.0.1" - resolved "https://registry.npm.taobao.org/postcss/download/postcss-6.0.1.tgz?cache=0&sync_timestamp=1603064269113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-6.0.1.tgz?cache=0&sync_timestamp=1605024005524&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I= dependencies: chalk "^1.1.3" @@ -14540,7 +14509,7 @@ postcss@6.0.1: postcss@^6.0.1, postcss@^6.0.22: version "6.0.23" - resolved "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1603064269113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1605024005524&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" integrity sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ= dependencies: chalk "^2.4.1" @@ -14549,7 +14518,7 @@ postcss@^6.0.1, postcss@^6.0.22: postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6, postcss@^7.0.7: version "7.0.35" - resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603064269113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1605024005524&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" integrity sha1-0r4AuZj38hHYonaXQHny6SuXDiQ= dependencies: chalk "^2.4.2" @@ -14595,7 +14564,7 @@ pretty-error@^2.0.2, pretty-error@^2.1.1: pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" - resolved "https://registry.npm.taobao.org/pretty-format/download/pretty-format-25.5.0.tgz?cache=0&sync_timestamp=1603108735435&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + resolved "https://registry.npm.taobao.org/pretty-format/download/pretty-format-25.5.0.tgz?cache=0&sync_timestamp=1604319690159&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" integrity sha1-eHPB13T2gsNLjUi2dDor8qxVeRo= dependencies: "@jest/types" "^25.5.0" @@ -14603,15 +14572,15 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" -pretty-format@^26.6.0: - version "26.6.0" - resolved "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.0.tgz?cache=0&sync_timestamp=1603108735435&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.0.tgz#1e1030e3c70e3ac1c568a5fd15627671ea159391" - integrity sha1-HhAw48cOOsHFaKX9FWJ2ceoVk5E= +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1604319690159&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha1-41wnBfFMt/4v6U+geDRbREEg/JM= dependencies: - "@jest/types" "^26.6.0" + "@jest/types" "^26.6.2" ansi-regex "^5.0.0" ansi-styles "^4.0.0" - react-is "^16.12.0" + react-is "^17.0.1" pretty-time@^1.1.0: version "1.1.0" @@ -14657,12 +14626,12 @@ promise-retry@^1.1.1: retry "^0.10.0" prompts@^2.0.1: - version "2.3.2" - resolved "https://registry.npm.taobao.org/prompts/download/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" - integrity sha1-SAVy2J7POVZtK9P+LJ/Mt8TAsGg= + version "2.4.0" + resolved "https://registry.npm.taobao.org/prompts/download/prompts-2.4.0.tgz?cache=0&sync_timestamp=1603716773317&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprompts%2Fdownload%2Fprompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha1-SqXeByOiMdHukSHED99mPfc/Ydc= dependencies: kleur "^3.0.3" - sisteransi "^1.0.4" + sisteransi "^1.0.5" promzard@^0.3.0: version "0.3.0" @@ -14687,7 +14656,7 @@ proto-list@~1.2.1: 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?cache=0&sync_timestamp=1596987772072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprotocols%2Fdownload%2Fprotocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" + resolved "https://registry.npm.taobao.org/protocols/download/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" integrity sha1-SO6i2PWNlkSkoyyq5dXbKQoHXOg= protoduck@^5.0.1: @@ -14707,7 +14676,7 @@ proxy-addr@~2.0.5: proxy-agent@^3.1.0: version "3.1.1" - resolved "https://registry.npm.taobao.org/proxy-agent/download/proxy-agent-3.1.1.tgz?cache=0&sync_timestamp=1602110112844&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fproxy-agent%2Fdownload%2Fproxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014" + resolved "https://registry.npm.taobao.org/proxy-agent/download/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014" integrity sha1-fgTga/Nq+mJKFUC+JHtHyXC9MBQ= dependencies: agent-base "^4.2.0" @@ -14832,16 +14801,16 @@ qs@~6.5.2: query-string@^4.1.0: version "4.3.4" - resolved "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz?cache=0&sync_timestamp=1602948774858&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + resolved "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz?cache=0&sync_timestamp=1604609999412&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" query-string@^6.12.1, query-string@^6.13.1: - version "6.13.6" - resolved "https://registry.npm.taobao.org/query-string/download/query-string-6.13.6.tgz?cache=0&sync_timestamp=1602948774858&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-6.13.6.tgz#e5ac7c74f2a5da43fbca0b883b4f0bafba439966" - integrity sha1-5ax8dPKl2kP7yguIO08Lr7pDmWY= + version "6.13.7" + resolved "https://registry.npm.taobao.org/query-string/download/query-string-6.13.7.tgz?cache=0&sync_timestamp=1604609999412&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-6.13.7.tgz#af53802ff6ed56f3345f92d40a056f93681026ee" + integrity sha1-r1OAL/btVvM0X5LUCgVvk2gQJu4= dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -14919,7 +14888,7 @@ raw-body@^2.2.0, raw-body@^2.3.0, raw-body@^2.3.3: rax-babel-config@^0.1.2: version "0.1.2" - resolved "https://registry.npm.taobao.org/rax-babel-config/download/rax-babel-config-0.1.2.tgz?cache=0&sync_timestamp=1602236325162&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frax-babel-config%2Fdownload%2Frax-babel-config-0.1.2.tgz#b331a328de80502a5a5383de2180effbe42d22c9" + resolved "https://registry.npm.taobao.org/rax-babel-config/download/rax-babel-config-0.1.2.tgz?cache=0&sync_timestamp=1605168435424&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frax-babel-config%2Fdownload%2Frax-babel-config-0.1.2.tgz#b331a328de80502a5a5383de2180effbe42d22c9" integrity sha1-szGjKN6AUCpaU4PeIYDv++QtIsk= dependencies: "@babel/code-frame" "^7.5.5" @@ -14953,27 +14922,27 @@ rax-babel-config@^0.1.2: babel-plugin-transform-jsx-to-html "^0.1.0" chalk "^2.4.2" -rax-babel-config@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/rax-babel-config/download/rax-babel-config-1.0.0.tgz?cache=0&sync_timestamp=1602236325162&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frax-babel-config%2Fdownload%2Frax-babel-config-1.0.0.tgz#a3f7eec0f86f2bf1bd16bd4988fd0ed1fb60a2a3" - integrity sha1-o/fuwPhvK/G9Fr1JiP0O0ftgoqM= +rax-babel-config@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/rax-babel-config/download/rax-babel-config-1.0.1.tgz?cache=0&sync_timestamp=1605168435424&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frax-babel-config%2Fdownload%2Frax-babel-config-1.0.1.tgz#cc064cc5cf6c69a2ad8b05858db34da031d0cf52" + integrity sha1-zAZMxc9saaKtiwWFjbNNoDHQz1I= dependencies: "@babel/code-frame" "^7.5.5" "@babel/core" "^7.9.6" "@babel/generator" "^7.6.4" "@babel/parser" "^7.6.4" - "@babel/plugin-proposal-class-properties" "7.2.0" - "@babel/plugin-proposal-decorators" "7.2.0" - "@babel/plugin-proposal-export-default-from" "7.2.0" + "@babel/plugin-proposal-class-properties" "^7.2.0" + "@babel/plugin-proposal-decorators" "^7.2.0" + "@babel/plugin-proposal-export-default-from" "^7.2.0" "@babel/plugin-proposal-export-namespace-from" "^7.0.0" "@babel/plugin-proposal-function-bind" "^7.2.0" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" "@babel/plugin-proposal-optional-chaining" "^7.0.0" "@babel/plugin-syntax-dynamic-import" "^7.2.0" "@babel/plugin-transform-runtime" "^7.2.0" - "@babel/preset-env" "7.2.0" - "@babel/preset-flow" "7.0.0" - "@babel/preset-react" "7.0.0" + "@babel/preset-env" "^7.2.0" + "@babel/preset-flow" "^7.0.0" + "@babel/preset-react" "^7.0.0" "@babel/runtime" "^7.2.0" "@babel/traverse" "^7.6.3" "@babel/types" "^7.6.3" @@ -15001,7 +14970,7 @@ rax-clone-element@^1.0.0: dependencies: rax-is-valid-element "^1.0.0" -rax-compile-config@^0.2.15, rax-compile-config@^0.2.16: +rax-compile-config@^0.2.15: version "0.2.16" resolved "https://registry.npm.taobao.org/rax-compile-config/download/rax-compile-config-0.2.16.tgz#b22c379f70377437dcea6f3c1c6a85d0bc3dcf90" integrity sha1-siw3n3A3dDfc6m88HGqF0Lw9z5A= @@ -15061,9 +15030,9 @@ rax-jest-config@^1.0.0: rax-babel-config "^0.1.2" rax-miniapp-babel-plugins@^0.1.3: - version "0.1.9" - resolved "https://registry.npm.taobao.org/rax-miniapp-babel-plugins/download/rax-miniapp-babel-plugins-0.1.9.tgz?cache=0&sync_timestamp=1602579889788&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frax-miniapp-babel-plugins%2Fdownload%2Frax-miniapp-babel-plugins-0.1.9.tgz#5d3a09530646797c115337728e88b9fbc940a071" - integrity sha1-XToJUwZGeXwRUzdyjoi5+8lAoHE= + version "0.1.10" + resolved "https://registry.npm.taobao.org/rax-miniapp-babel-plugins/download/rax-miniapp-babel-plugins-0.1.10.tgz#fc95eb407d79751eab372fc59817bd5f83ac8fff" + integrity sha1-/JXrQH15dR6rNy/FmBe9X4Osj/8= dependencies: "@babel/code-frame" "^7.8.3" fs-extra "^9.0.1" @@ -15076,7 +15045,7 @@ rax-miniapp-config-webpack-plugin@^1.2.3: dependencies: fs-extra "^8.1.0" -rax-miniapp-runtime-webpack-plugin@^1.1.0: +rax-miniapp-runtime-webpack-plugin@^1.1.0, rax-miniapp-runtime-webpack-plugin@^1.2.2: version "1.2.8" resolved "https://registry.npm.taobao.org/rax-miniapp-runtime-webpack-plugin/download/rax-miniapp-runtime-webpack-plugin-1.2.8.tgz#c00583c4829e029e074f8fdef0200a436b4e0cd9" integrity sha1-wAWDxIKeAp4HT4/e8CAKQ2tODNk= @@ -15093,22 +15062,18 @@ rax-miniapp-runtime-webpack-plugin@^1.1.0: webpack "^4.35.3" webpack-sources "^1.3.0" -rax-miniapp-runtime-webpack-plugin@^1.2.2: - version "1.2.6" - resolved "https://registry.npm.taobao.org/rax-miniapp-runtime-webpack-plugin/download/rax-miniapp-runtime-webpack-plugin-1.2.6.tgz#1b5e438854b8147f3198f0ae52cef506e7667133" - integrity sha1-G15DiFS4FH8xmPCuUs71BudmcTM= +rax-platform-loader@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/rax-platform-loader/download/rax-platform-loader-1.0.0.tgz#5207b1fd4f515b69f1cc434d9674e298f303042d" + integrity sha1-Ugex/U9RW2nxzENNlnTimPMDBC0= dependencies: - chalk "^3.0.0" - colors "^1.4.0" - csso "^4.0.3" - ejs "^3.1.2" - fs-extra "^8.1.0" - path-to-regexp "^3.0.0" - postcss "^7.0.17" - pretty-data "^0.40.0" - terser "^4.6.10" - webpack "^4.35.3" - webpack-sources "^1.3.0" + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.4" + "@babel/parser" "^7.6.4" + "@babel/traverse" "^7.6.3" + "@babel/types" "^7.6.3" + loader-utils "^1.1.0" + source-map "^0.7.3" rax-redux@^1.0.0: version "1.0.0" @@ -15130,9 +15095,9 @@ rax-use-router@^3.0.0: path-to-regexp "^3.0.0" rax-webpack-config@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/rax-webpack-config/download/rax-webpack-config-1.0.0.tgz?cache=0&sync_timestamp=1602236325047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frax-webpack-config%2Fdownload%2Frax-webpack-config-1.0.0.tgz#e0874341a864880b33b1c66be5bf8dc2e50a5226" - integrity sha1-4IdDQahkiAszscZr5b+NwuUKUiY= + version "1.0.1" + resolved "https://registry.npm.taobao.org/rax-webpack-config/download/rax-webpack-config-1.0.1.tgz?cache=0&sync_timestamp=1605168435844&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frax-webpack-config%2Fdownload%2Frax-webpack-config-1.0.1.tgz#351d8b901cde0a16394188a29b9de55cc0af0b8c" + integrity sha1-NR2LkBzeChY5QYiim53lXMCvC4w= dependencies: "@babel/core" "7.2.0" "@babel/runtime" "^7.2.0" @@ -15140,14 +15105,14 @@ rax-webpack-config@^1.0.0: babel-runtime-jsx-plus "^0.1.3" case-sensitive-paths-webpack-plugin "^2.3.0" css-hot-loader "^1.4.4" - css-loader "^3.2.0" + css-loader "^3.0.0" file-loader "^5.0.2" identity-obj-proxy "^3.0.0" image-source-loader "^0.6.5" less "^3.10.3" less-loader "^5.0.0" lodash.clonedeep "^4.5.0" - mini-css-extract-plugin "^0.11.2" + mini-css-extract-plugin "^1.0.0" optimize-css-assets-webpack-plugin "^5.0.3" postcss-loader "^3.0.0" postcss-safe-parser "^4.0.1" @@ -15161,7 +15126,6 @@ rax-webpack-config@^1.0.0: webpack-chain "^6.5.1" webpack-filter-warnings-plugin "^1.2.1" webpack-node-externals "^1.7.2" - webpack-simple-progress-plugin "^0.0.4" webpack-sources "^1.4.3" rax@^1.0.0: @@ -15187,9 +15151,9 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-dev-utils@^10.2.1: +react-dev-utils@^10.0.0, react-dev-utils@^10.2.1: version "10.2.1" - resolved "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-10.2.1.tgz?cache=0&sync_timestamp=1600296990411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dev-utils%2Fdownload%2Freact-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19" + resolved "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19" integrity sha1-9t4yWuJfpNVG0J30uxvv3G3RnBk= dependencies: "@babel/code-frame" "7.8.3" @@ -15219,7 +15183,7 @@ react-dev-utils@^10.2.1: react-dev-utils@^9.0.4: version "9.1.0" - resolved "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-9.1.0.tgz?cache=0&sync_timestamp=1600296990411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dev-utils%2Fdownload%2Freact-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" + resolved "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" integrity sha1-OtK7iEijIxnXYNCoTFbBS9quXoE= dependencies: "@babel/code-frame" "7.5.5" @@ -15250,7 +15214,7 @@ react-dev-utils@^9.0.4: react-dom@^16.12.0, react-dom@^16.4.1: version "16.14.0" - resolved "https://registry.npm.taobao.org/react-dom/download/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" + resolved "https://registry.npm.taobao.org/react-dom/download/react-dom-16.14.0.tgz?cache=0&sync_timestamp=1603367819281&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dom%2Fdownload%2Freact-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" integrity sha1-etg47Cmnd/s8dcOhkPZhz5Kri4k= dependencies: loose-envify "^1.1.0" @@ -15259,29 +15223,34 @@ react-dom@^16.12.0, react-dom@^16.4.1: scheduler "^0.19.1" react-error-overlay@^6.0.3, react-error-overlay@^6.0.7: - version "6.0.7" - resolved "https://registry.npm.taobao.org/react-error-overlay/download/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" - integrity sha1-Hc+0WatnHVP2YKmRUTyy8KBVMQg= + version "6.0.8" + resolved "https://registry.npm.taobao.org/react-error-overlay/download/react-error-overlay-6.0.8.tgz#474ed11d04fc6bda3af643447d85e9127ed6b5de" + integrity sha1-R07RHQT8a9o69kNEfYXpEn7Wtd4= -react-is@^16.12.0, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6, react-is@^16.9.0: +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6: version "16.13.1" - resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz?cache=0&sync_timestamp=1603223358928&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-is%2Fdownload%2Freact-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.npm.taobao.org/react-is/download/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha1-WzUxvXamRaTJ+25pPtNkGeMwEzk= + react-redux@^7.1.3, react-redux@^7.2.0: - version "7.2.1" - resolved "https://registry.npm.taobao.org/react-redux/download/react-redux-7.2.1.tgz#8dedf784901014db2feca1ab633864dee68ad985" - integrity sha1-je33hJAQFNsv7KGrYzhk3uaK2YU= + version "7.2.2" + resolved "https://registry.npm.taobao.org/react-redux/download/react-redux-7.2.2.tgz#03862e803a30b6b9ef8582dadcc810947f74b736" + integrity sha1-A4YugDowtrnvhYLa3MgQlH90tzY= dependencies: - "@babel/runtime" "^7.5.5" - hoist-non-react-statics "^3.3.0" + "@babel/runtime" "^7.12.1" + hoist-non-react-statics "^3.3.2" loose-envify "^1.4.0" prop-types "^15.7.2" - react-is "^16.9.0" + react-is "^16.13.1" react-refresh@^0.8.2: version "0.8.3" - resolved "https://registry.npm.taobao.org/react-refresh/download/react-refresh-0.8.3.tgz?cache=0&sync_timestamp=1603228158060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-refresh%2Fdownload%2Freact-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" + resolved "https://registry.npm.taobao.org/react-refresh/download/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" integrity sha1-ch1GV2ctQAxePHXQY8SoX7LV1o8= react-router-dom@^5.1.2: @@ -15325,7 +15294,7 @@ react-test-renderer@^16.13.1: react@^16.12.0, react@^16.4.1: version "16.14.0" - resolved "https://registry.npm.taobao.org/react/download/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" + resolved "https://registry.npm.taobao.org/react/download/react-16.14.0.tgz?cache=0&sync_timestamp=1603367818828&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact%2Fdownload%2Freact-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" integrity sha1-lNd23dCqo32j7aj8W2sYpMmjEU0= dependencies: loose-envify "^1.1.0" @@ -15348,7 +15317,7 @@ read-cmd-shim@^1.0.1: "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.10, read-package-json@^2.0.13: version "2.1.2" - resolved "https://registry.npm.taobao.org/read-package-json/download/read-package-json-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-package-json%2Fdownload%2Fread-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + resolved "https://registry.npm.taobao.org/read-package-json/download/read-package-json-2.1.2.tgz?cache=0&sync_timestamp=1602554919371&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-package-json%2Fdownload%2Fread-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" integrity sha1-aZKytmxxdyWf646qxzw6zSi5Iio= dependencies: glob "^7.1.1" @@ -15473,7 +15442,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= @@ -15572,9 +15541,9 @@ regenerate-unicode-properties@^8.2.0: regenerate "^1.4.0" regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha1-ytkq2Oa1kXc0hfvgWkhcr09Ffm8= + version "1.4.2" + resolved "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz?cache=0&sync_timestamp=1604218439731&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo= regenerator-runtime@^0.10.5: version "0.10.5" @@ -15626,7 +15595,7 @@ regexpp@^3.0.0: regexpu-core@^4.7.1: version "4.7.1" - resolved "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.1.tgz?cache=0&sync_timestamp=1600413501417&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + resolved "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.1.tgz?cache=0&sync_timestamp=1600413905865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" integrity sha1-LepamgcjMpj78NuR+pq8TG4PitY= dependencies: regenerate "^1.4.0" @@ -15691,7 +15660,7 @@ remark-parse@^6.0.0: remark-stringify@^1.1.0: version "1.1.0" - resolved "https://registry.npm.taobao.org/remark-stringify/download/remark-stringify-1.1.0.tgz?cache=0&sync_timestamp=1602663730803&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark-stringify%2Fdownload%2Fremark-stringify-1.1.0.tgz#a7105e25b9ee2bf9a49b75d2c423f11b06ae2092" + resolved "https://registry.npm.taobao.org/remark-stringify/download/remark-stringify-1.1.0.tgz?cache=0&sync_timestamp=1602663641590&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark-stringify%2Fdownload%2Fremark-stringify-1.1.0.tgz#a7105e25b9ee2bf9a49b75d2c423f11b06ae2092" integrity sha1-pxBeJbnuK/mkm3XSxCPxGwauIJI= dependencies: ccount "^1.0.0" @@ -15705,7 +15674,7 @@ remark-stringify@^1.1.0: remark-stringify@^6.0.0: version "6.0.4" - resolved "https://registry.npm.taobao.org/remark-stringify/download/remark-stringify-6.0.4.tgz?cache=0&sync_timestamp=1602663730803&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark-stringify%2Fdownload%2Fremark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088" + resolved "https://registry.npm.taobao.org/remark-stringify/download/remark-stringify-6.0.4.tgz?cache=0&sync_timestamp=1602663641590&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark-stringify%2Fdownload%2Fremark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088" integrity sha1-FqwinU0VkySQGGY8e93yiq/E4Ig= dependencies: ccount "^1.0.0" @@ -15725,7 +15694,7 @@ remark-stringify@^6.0.0: remark@^10.0.1: version "10.0.1" - resolved "https://registry.npm.taobao.org/remark/download/remark-10.0.1.tgz?cache=0&sync_timestamp=1602663782343&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark%2Fdownload%2Fremark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df" + resolved "https://registry.npm.taobao.org/remark/download/remark-10.0.1.tgz?cache=0&sync_timestamp=1602663641780&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark%2Fdownload%2Fremark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df" integrity sha1-MFgHbcQXgb9QXYl4wpFIX+R2Z98= dependencies: remark-parse "^6.0.0" @@ -15734,7 +15703,7 @@ remark@^10.0.1: remark@^5.0.1: version "5.1.0" - resolved "https://registry.npm.taobao.org/remark/download/remark-5.1.0.tgz?cache=0&sync_timestamp=1602663782343&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark%2Fdownload%2Fremark-5.1.0.tgz#cb463bd3dbcb4b99794935eee1cf71d7a8e3068c" + resolved "https://registry.npm.taobao.org/remark/download/remark-5.1.0.tgz?cache=0&sync_timestamp=1602663641780&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark%2Fdownload%2Fremark-5.1.0.tgz#cb463bd3dbcb4b99794935eee1cf71d7a8e3068c" integrity sha1-y0Y709vLS5l5STXu4c9x16jjBow= dependencies: remark-parse "^1.1.0" @@ -15919,15 +15888,15 @@ resolve-url@^0.2.1: resolve@1.1.7: version "1.1.7" - resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz?cache=0&sync_timestamp=1603138844385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz?cache=0&sync_timestamp=1605052050544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.8.1: - version "1.18.1" - resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.18.1.tgz?cache=0&sync_timestamp=1603138844385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" - integrity sha1-AY/LLFsgfSpkJK7jYcWiZtqPQTA= + version "1.19.0" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.19.0.tgz?cache=0&sync_timestamp=1605052050544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha1-GvW/YwQJc0oGfK4pMYqsf6KaJnw= dependencies: - is-core-module "^2.0.0" + is-core-module "^2.1.0" path-parse "^1.0.6" restore-cursor@^2.0.0: @@ -16021,9 +15990,9 @@ run-node@^1.0.0: integrity sha1-RrULlGoqotSUeuHYhumFb9nKvl4= run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha1-yd06fPn0ssS2JE4XOm7YZuYd1nk= + version "1.1.10" + resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha1-YKUbKug2Y2yBN33xbLEHNRvNE+8= run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" @@ -16041,12 +16010,12 @@ rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.6.0: safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz?cache=0&sync_timestamp=1600349129929&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz?cache=0&sync_timestamp=1600349129929&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= safe-regex@^1.1.0: @@ -16088,7 +16057,7 @@ sass-graph@2.2.5: sass-loader@^8.0.0: version "8.0.2" - resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-8.0.2.tgz?cache=0&sync_timestamp=1602249022222&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-8.0.2.tgz?cache=0&sync_timestamp=1605100127712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" integrity sha1-3r7NjDziQ8dkVPLoKQSCFQOACQ0= dependencies: clone-deep "^4.0.1" @@ -16125,7 +16094,7 @@ saxes@^5.0.0: scheduler@^0.19.1: version "0.19.1" - resolved "https://registry.npm.taobao.org/scheduler/download/scheduler-0.19.1.tgz?cache=0&sync_timestamp=1603227611665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fscheduler%2Fdownload%2Fscheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + resolved "https://registry.npm.taobao.org/scheduler/download/scheduler-0.19.1.tgz?cache=0&sync_timestamp=1603367820566&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fscheduler%2Fdownload%2Fscheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" integrity sha1-Tz4u0sGn1laB9MhU+oxaHMtA8ZY= dependencies: loose-envify "^1.1.0" @@ -16189,7 +16158,7 @@ select-hose@^2.0.0: selfsigned@^1.10.7: version "1.10.8" - resolved "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.8.tgz?cache=0&sync_timestamp=1600186088899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" + resolved "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" integrity sha1-DRcgi30Swz+OrIXEGDXyf8PYGjA= dependencies: node-forge "^0.10.0" @@ -16369,7 +16338,7 @@ side-channel@^1.0.2: signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" - resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1600349108829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= simple-git@^1.132.0: @@ -16386,7 +16355,7 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sisteransi@^1.0.4: +sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha1-E01oEpd1ZDfMBcoBNw06elcQde0= @@ -16580,7 +16549,7 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.6" - resolved "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" + resolved "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.6.tgz?cache=0&sync_timestamp=1600284758648&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" integrity sha1-yAdXODwoq/cpZ0SZjLwQaui4VM4= spdy-transport@^3.0.0: @@ -16785,7 +16754,7 @@ stream-http@^2.7.2: stream-shift@^1.0.0: version "1.0.1" - resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz?cache=0&sync_timestamp=1576147145118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-shift%2Fdownload%2Fstream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= stream-wormhole@^1.0.4: @@ -16886,7 +16855,7 @@ string.prototype.padend@^3.0.0: string.prototype.trimend@^1.0.1: version "1.0.2" - resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.2.tgz?cache=0&sync_timestamp=1603219742199&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.2.tgz#6ddd9a8796bc714b489a3ae22246a208f37bfa46" + resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.2.tgz#6ddd9a8796bc714b489a3ae22246a208f37bfa46" integrity sha1-bd2ah5a8cUtImjriIkaiCPN7+kY= dependencies: define-properties "^1.1.3" @@ -17039,14 +17008,14 @@ style-search@^0.1.0: style-unit@^3.0.0: version "3.0.0" - resolved "https://registry.npm.taobao.org/style-unit/download/style-unit-3.0.0.tgz?cache=0&sync_timestamp=1602744196068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstyle-unit%2Fdownload%2Fstyle-unit-3.0.0.tgz#a2074ae6e460104b6a4a95b5fab549122a8e2cb3" + resolved "https://registry.npm.taobao.org/style-unit/download/style-unit-3.0.0.tgz#a2074ae6e460104b6a4a95b5fab549122a8e2cb3" integrity sha1-ogdK5uRgEEtqSpW1+rVJEiqOLLM= dependencies: universal-env "^2.0.0" stylehacks@^4.0.0: version "4.0.3" - resolved "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz?cache=0&sync_timestamp=1603212913017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstylehacks%2Fdownload%2Fstylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + resolved "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= dependencies: browserslist "^4.0.0" @@ -17175,7 +17144,7 @@ stylesheet-loader@^0.6.10: css "^2.2.1" loader-utils "^1.2.3" -stylesheet-loader@^0.8.0, stylesheet-loader@^0.8.5: +stylesheet-loader@^0.8.0: version "0.8.5" resolved "https://registry.npm.taobao.org/stylesheet-loader/download/stylesheet-loader-0.8.5.tgz#aeeb9357b238b51c24677b9363a86a324ed22bf4" integrity sha1-ruuTV7I4tRwkZ3uTY6hqMk7SK/Q= @@ -17201,7 +17170,7 @@ stylus@^0.54.7: sugarss@^2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/sugarss/download/sugarss-2.0.0.tgz?cache=0&sync_timestamp=1601167191100&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsugarss%2Fdownload%2Fsugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" + resolved "https://registry.npm.taobao.org/sugarss/download/sugarss-2.0.0.tgz?cache=0&sync_timestamp=1604592652064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsugarss%2Fdownload%2Fsugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" integrity sha1-3dduASSyl9QL88yjHIsi7LQ7xh0= dependencies: postcss "^7.0.2" @@ -17273,7 +17242,7 @@ svgo@^1.0.0: 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" + resolved "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz?cache=0&sync_timestamp=1604338205051&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsymbol-observable%2Fdownload%2Fsymbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ= "symbol-tree@>= 3.1.0 < 4.0.0", symbol-tree@^3.2.2, symbol-tree@^3.2.4: @@ -17293,7 +17262,7 @@ table@^5.0.0, table@^5.2.3: tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" - resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1600381229402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= tar@^2.0.0: @@ -17330,16 +17299,16 @@ tar@^6.0.2: mkdirp "^1.0.3" yallist "^4.0.0" -teeny-request@7.0.1: - version "7.0.1" - resolved "https://registry.npm.taobao.org/teeny-request/download/teeny-request-7.0.1.tgz#bdd41fdffea5f8fbc0d29392cb47bec4f66b2b4c" - integrity sha1-vdQf3/6l+PvA0pOSy0e+xPZrK0w= +teeny-request@6.0.1: + version "6.0.1" + resolved "https://registry.npm.taobao.org/teeny-request/download/teeny-request-6.0.1.tgz?cache=0&sync_timestamp=1601345391493&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fteeny-request%2Fdownload%2Fteeny-request-6.0.1.tgz#9b1f512cef152945827ba7e34f62523a4ce2c5b0" + integrity sha1-mx9RLO8VKUWCe6fjT2JSOkzixbA= dependencies: http-proxy-agent "^4.0.0" - https-proxy-agent "^5.0.0" - node-fetch "^2.6.1" + https-proxy-agent "^4.0.0" + node-fetch "^2.2.0" stream-events "^1.0.5" - uuid "^8.0.0" + uuid "^3.3.2" temp-dir@^1.0.0: version "1.0.0" @@ -17368,7 +17337,7 @@ terminal-link@^2.0.0: terser-webpack-plugin@^1.4.3: version "1.4.5" - resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1603881839307&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" integrity sha1-oheu+uozDnNP+sthIOwfoxLWBAs= dependencies: cacache "^12.0.2" @@ -17383,7 +17352,7 @@ terser-webpack-plugin@^1.4.3: terser-webpack-plugin@^2.1.3, terser-webpack-plugin@^2.3.1: version "2.3.8" - resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.8.tgz?cache=0&sync_timestamp=1603881839307&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" integrity sha1-iUdkoZsHQ/L3BOfCqEjFKDppZyQ= dependencies: cacache "^13.0.1" @@ -17396,9 +17365,9 @@ terser-webpack-plugin@^2.1.3, terser-webpack-plugin@^2.3.1: terser "^4.6.12" webpack-sources "^1.4.3" -terser@^4.1.2, terser@^4.3.8, terser@^4.6.10, terser@^4.6.12, terser@^4.6.3, terser@^4.6.4, terser@^4.8.0: +terser@^4.1.2, terser@^4.3.8, terser@^4.6.10, terser@^4.6.12, terser@^4.6.3, terser@^4.8.0: version "4.8.0" - resolved "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1603116448993&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + resolved "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1603374116377&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" integrity sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc= dependencies: commander "^2.20.0" @@ -17460,7 +17429,7 @@ throttleit@^1.0.0: through2@^2.0.0, through2@^2.0.2: version "2.0.5" - resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz?cache=0&sync_timestamp=1593478643560&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= dependencies: readable-stream "~2.3.6" @@ -17468,12 +17437,19 @@ through2@^2.0.0, through2@^2.0.2: through2@^3.0.0: version "3.0.2" - resolved "https://registry.npm.taobao.org/through2/download/through2-3.0.2.tgz?cache=0&sync_timestamp=1593478643560&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + resolved "https://registry.npm.taobao.org/through2/download/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" integrity sha1-mfiJMc/HYex2eLQdXXM2tbage/Q= dependencies: inherits "^2.0.4" readable-stream "2 || 3" +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.npm.taobao.org/through2/download/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha1-p846wqeosLlmyA58SfBITDsjl2Q= + dependencies: + readable-stream "3" + through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@~2.3: version "2.3.8" resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -17495,9 +17471,9 @@ time-fix-plugin@^2.0.6: integrity sha1-S6cK4uQM7fNNq+UF7ae3GxskT1A= timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8= + version "2.0.12" + resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.12.tgz?cache=0&sync_timestamp=1603793688024&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4= dependencies: setimmediate "^1.0.4" @@ -17647,13 +17623,13 @@ trim-off-newlines@^1.0.0: integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= trim-trailing-lines@^1.0.0: - version "1.1.3" - resolved "https://registry.npm.taobao.org/trim-trailing-lines/download/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94" - integrity sha1-fwc5iB/3Zle3d24Qh0EoAEtiWpQ= + version "1.1.4" + resolved "https://registry.npm.taobao.org/trim-trailing-lines/download/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" + integrity sha1-vUq77HzIgEYvELLItc4djR7HwsA= trim@0.0.1: version "0.0.1" - resolved "https://registry.npm.taobao.org/trim/download/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + resolved "https://registry.npm.taobao.org/trim/download/trim-0.0.1.tgz?cache=0&sync_timestamp=1604533211833&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftrim%2Fdownload%2Ftrim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= trough@^1.0.0: @@ -17675,7 +17651,7 @@ tryer@^1.0.1: ts-jest@^25.4.0: version "25.5.1" - resolved "https://registry.npm.taobao.org/ts-jest/download/ts-jest-25.5.1.tgz?cache=0&sync_timestamp=1601375712462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-jest%2Fdownload%2Fts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" + resolved "https://registry.npm.taobao.org/ts-jest/download/ts-jest-25.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-jest%2Fdownload%2Fts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" integrity sha1-KROv0I8oOF1U8vToKL5NJh9DN8c= dependencies: bs-logger "0.x" @@ -17691,7 +17667,7 @@ ts-jest@^25.4.0: ts-loader@^5.3.3: version "5.4.5" - resolved "https://registry.npm.taobao.org/ts-loader/download/ts-loader-5.4.5.tgz?cache=0&sync_timestamp=1603169638366&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-loader%2Fdownload%2Fts-loader-5.4.5.tgz#a0c1f034b017a9344cef0961bfd97cc192492b8b" + resolved "https://registry.npm.taobao.org/ts-loader/download/ts-loader-5.4.5.tgz#a0c1f034b017a9344cef0961bfd97cc192492b8b" integrity sha1-oMHwNLAXqTRM7wlhv9l8wZJJK4s= dependencies: chalk "^2.3.0" @@ -17702,7 +17678,7 @@ ts-loader@^5.3.3: ts-loader@^6.1.2: version "6.2.2" - resolved "https://registry.npm.taobao.org/ts-loader/download/ts-loader-6.2.2.tgz?cache=0&sync_timestamp=1603169638366&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-loader%2Fdownload%2Fts-loader-6.2.2.tgz#dffa3879b01a1a1e0a4b85e2b8421dc0dfff1c58" + resolved "https://registry.npm.taobao.org/ts-loader/download/ts-loader-6.2.2.tgz#dffa3879b01a1a1e0a4b85e2b8421dc0dfff1c58" integrity sha1-3/o4ebAaGh4KS4XiuEIdwN//HFg= dependencies: chalk "^2.3.0" @@ -17756,12 +17732,12 @@ tsconfig-paths@^3.9.0: tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" - resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1602286724979&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= tslib@^2.0.1: version "2.0.3" - resolved "https://registry.npm.taobao.org/tslib/download/tslib-2.0.3.tgz?cache=0&sync_timestamp=1602286724979&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" + resolved "https://registry.npm.taobao.org/tslib/download/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha1-jgdBrEX8DCJuWKF7/D5kubxsphw= tsscmp@1.0.6: @@ -17810,10 +17786,10 @@ type-fest@^0.11.0: resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz?cache=0&sync_timestamp=1602623928145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" integrity sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E= -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.13.1.tgz?cache=0&sync_timestamp=1602623928145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha1-AXLLW86AsL1ULqNI21DH4hg02TQ= +type-fest@^0.18.0: + version "0.18.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.18.0.tgz?cache=0&sync_timestamp=1602623928145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.18.0.tgz#2edfa6382d48653707344f7fccdb0443d460e8d6" + integrity sha1-Lt+mOC1IZTcHNE9/zNsEQ9Rg6NY= type-fest@^0.3.0: version "0.3.1" @@ -17850,23 +17826,23 @@ typedarray@^0.0.6: resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.2.4, typescript@^3.6.3, typescript@^3.7.2, typescript@^3.7.4, typescript@^3.8.3, typescript@~3.9.3: +typescript@^3.6.3, typescript@^3.7.2, typescript@^3.7.4, typescript@^3.8.3, typescript@~3.9.3: version "3.9.7" - resolved "https://registry.npm.taobao.org/typescript/download/typescript-3.9.7.tgz?cache=0&sync_timestamp=1603176464488&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypescript%2Fdownload%2Ftypescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" + resolved "https://registry.npm.taobao.org/typescript/download/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" integrity sha1-mNYApevcOPQMsndSLxLcgA6eJfo= uglify-js@3.4.x: version "3.4.10" - resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1603065970460&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1604365883985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8= dependencies: commander "~2.19.0" source-map "~0.6.1" uglify-js@^3.1.4, uglify-js@^3.5.1: - version "3.11.3" - resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.11.3.tgz?cache=0&sync_timestamp=1603065970460&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.11.3.tgz#b2f8c87826344f091ba48c417c499d6cba5d5786" - integrity sha1-svjIeCY0TwkbpIxBfEmdbLpdV4Y= + version "3.11.5" + resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.11.5.tgz?cache=0&sync_timestamp=1604365883985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.11.5.tgz#d6788bc83cf35ff18ea78a65763e480803409bc6" + integrity sha1-1niLyDzzX/GOp4pldj5ICANAm8Y= uid-number@0.0.6: version "0.0.6" @@ -17983,14 +17959,14 @@ unique-slug@^2.0.0: unist-util-find-all-after@^1.0.2: version "1.0.5" - resolved "https://registry.npm.taobao.org/unist-util-find-all-after/download/unist-util-find-all-after-1.0.5.tgz#5751a8608834f41d117ad9c577770c5f2f1b2899" + resolved "https://registry.npm.taobao.org/unist-util-find-all-after/download/unist-util-find-all-after-1.0.5.tgz?cache=0&sync_timestamp=1604244287937&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funist-util-find-all-after%2Fdownload%2Funist-util-find-all-after-1.0.5.tgz#5751a8608834f41d117ad9c577770c5f2f1b2899" integrity sha1-V1GoYIg09B0RetnFd3cMXy8bKJk= dependencies: unist-util-is "^3.0.0" unist-util-is@^3.0.0: version "3.0.0" - resolved "https://registry.npm.taobao.org/unist-util-is/download/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" + resolved "https://registry.npm.taobao.org/unist-util-is/download/unist-util-is-3.0.0.tgz?cache=0&sync_timestamp=1604050904218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funist-util-is%2Fdownload%2Funist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" integrity sha1-2ehDgcJGjoJinkpb6dfQWi3TJM0= unist-util-remove-position@^1.0.0: @@ -18050,14 +18026,19 @@ universal-user-agent@^6.0.0: universalify@^0.1.0: version "0.1.2" - resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603180080276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= universalify@^1.0.0: version "1.0.0" - resolved "https://registry.npm.taobao.org/universalify/download/universalify-1.0.0.tgz?cache=0&sync_timestamp=1603180080276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + resolved "https://registry.npm.taobao.org/universalify/download/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" integrity sha1-thodoXPoQ1sv48Z9Kbmt+FlL0W0= +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/universalify/download/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc= + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -18078,7 +18059,7 @@ unset-value@^1.0.0: upath@^1.1.1, upath@^1.2.0: version "1.2.0" - resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&sync_timestamp=1604768637331&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= upper-case@^1.1.1: @@ -18105,7 +18086,7 @@ url-join@^4.0.1: url-loader@^2.1.0: version "2.3.0" - resolved "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-loader%2Fdownload%2Furl-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" + resolved "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz?cache=0&sync_timestamp=1602252594253&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-loader%2Fdownload%2Furl-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" integrity sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs= dependencies: loader-utils "^1.2.3" @@ -18236,15 +18217,15 @@ uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1601826526166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= -uuid@^8.0.0, uuid@^8.3.0: +uuid@^8.3.0: version "8.3.1" resolved "https://registry.npm.taobao.org/uuid/download/uuid-8.3.1.tgz?cache=0&sync_timestamp=1601826526166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" integrity sha1-K6LmygANpg/OWhlpVKskETHgWjE= v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha1-VLw83UMxe8qR413K8wWxpyN950U= + version "2.2.0" + resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.2.0.tgz?cache=0&sync_timestamp=1603909372873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" + integrity sha1-lHHvo++RKNL3xqfKOcTda1BVsTI= v8-to-istanbul@^4.1.3: version "4.1.4" @@ -18255,10 +18236,10 @@ v8-to-istanbul@^4.1.3: convert-source-map "^1.6.0" source-map "^0.7.3" -v8-to-istanbul@^6.0.1: - version "6.0.1" - resolved "https://registry.npm.taobao.org/v8-to-istanbul/download/v8-to-istanbul-6.0.1.tgz#7ef0e32faa10f841fe4c1b0f8de96ed067c0be1e" - integrity sha1-fvDjL6oQ+EH+TBsPjelu0GfAvh4= +v8-to-istanbul@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/v8-to-istanbul/download/v8-to-istanbul-7.0.0.tgz#b4fe00e35649ef7785a9b7fcebcea05f37c332fc" + integrity sha1-tP4A41ZJ73eFqbf8686gXzfDMvw= dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" @@ -18305,7 +18286,7 @@ verror@1.10.0: vfile-location@^2.0.0: version "2.0.6" - resolved "https://registry.npm.taobao.org/vfile-location/download/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" + resolved "https://registry.npm.taobao.org/vfile-location/download/vfile-location-2.0.6.tgz?cache=0&sync_timestamp=1604222243220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvfile-location%2Fdownload%2Fvfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" integrity sha1-iidPOUEbhxnqVyiALhDZ4N/xUZ4= vfile-message@*: @@ -18373,23 +18354,23 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha1-mUihhmy71suCTeoTp+1pH2yN3/A= +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz?cache=0&sync_timestamp=1604989085906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack-chokidar2%2Fdownload%2Fwatchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc= dependencies: chokidar "^2.1.8" watchpack@^1.7.4: - version "1.7.4" - resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.4.tgz?cache=0&sync_timestamp=1600385425627&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha1-bp2lOzyAuy1lCBiPWyAEEIZs0ws= + version "1.7.5" + resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.5.tgz?cache=0&sync_timestamp=1604989202687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM= dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" + watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -18427,7 +18408,7 @@ webidl-conversions@^6.1.0: webpack-bundle-analyzer@^3.6.0: version "3.9.0" - resolved "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c" + resolved "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz?cache=0&sync_timestamp=1604681928666&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-bundle-analyzer%2Fdownload%2Fwebpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c" integrity sha1-9vlNsQj7V05BWtMT3kGicH0z7zw= dependencies: acorn "^7.1.1" @@ -18454,7 +18435,7 @@ webpack-chain@*, webpack-chain@^6.0.0, webpack-chain@^6.4.0, webpack-chain@^6.5. webpack-dev-middleware@^3.7.2: version "3.7.2" - resolved "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" + resolved "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz?cache=0&sync_timestamp=1605010852680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" integrity sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM= dependencies: memory-fs "^0.4.1" @@ -18527,7 +18508,7 @@ webpack-plugin-import@^0.2.5, webpack-plugin-import@^0.2.6: dependencies: loader-utils "^1.1.0" -webpack-simple-progress-plugin@0.0.4, webpack-simple-progress-plugin@^0.0.4: +webpack-simple-progress-plugin@0.0.4: version "0.0.4" resolved "https://registry.npm.taobao.org/webpack-simple-progress-plugin/download/webpack-simple-progress-plugin-0.0.4.tgz#c4829137429cb673dfc6a61a262b955c35cc7ba2" integrity sha1-xIKRN0KctnPfxqYaJiuVXDXMe6I= @@ -18538,23 +18519,23 @@ webpack-simple-progress-plugin@0.0.4, webpack-simple-progress-plugin@^0.0.4: webpack-sources@^1.1.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: version "1.4.3" - resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1601308231852&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1603965333971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= dependencies: source-list-map "^2.0.0" source-map "~0.6.1" webpack-sources@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-2.0.1.tgz?cache=0&sync_timestamp=1601308231852&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-2.0.1.tgz#1467f6e692ddce91e88b8044c44347b1087bbd4f" - integrity sha1-FGf25pLdzpHoi4BExENHsQh7vU8= + version "2.2.0" + resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-2.2.0.tgz?cache=0&sync_timestamp=1603965333971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" + integrity sha1-BYkm8549RDGTtsMVRyKYBv/QK6w= dependencies: source-list-map "^2.0.1" source-map "^0.6.1" webpack@^4.0.0, webpack@^4.27.1, webpack@^4.35.3, webpack@^4.41.1, webpack@^4.44.1: version "4.44.2" - resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.44.2.tgz?cache=0&sync_timestamp=1602853653332&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" + resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.44.2.tgz?cache=0&sync_timestamp=1604553101277&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" integrity sha1-a/4rCvBVyLLR6Q7SzZNj+EEma3I= dependencies: "@webassemblyjs/ast" "1.9.0" @@ -18583,7 +18564,7 @@ webpack@^4.0.0, webpack@^4.27.1, webpack@^4.35.3, webpack@^4.41.1, webpack@^4.44 webpackbar@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/webpackbar/download/webpackbar-4.0.0.tgz#ee7a87f16077505b5720551af413c8ecd5b1f780" + resolved "https://registry.npm.taobao.org/webpackbar/download/webpackbar-4.0.0.tgz?cache=0&sync_timestamp=1604357282892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpackbar%2Fdownload%2Fwebpackbar-4.0.0.tgz#ee7a87f16077505b5720551af413c8ecd5b1f780" integrity sha1-7nqH8WB3UFtXIFUa9BPI7NWx94A= dependencies: ansi-escapes "^4.2.1" @@ -18816,9 +18797,9 @@ ws@^6.0.0, ws@^6.1.0, ws@^6.2.1: async-limiter "~1.0.0" ws@^7.0.0, ws@^7.2.3: - version "7.3.1" - resolved "https://registry.npm.taobao.org/ws/download/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha1-0FR79n985PEqct/jEmLGjX3FUcg= + version "7.4.0" + resolved "https://registry.npm.taobao.org/ws/download/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" + integrity sha1-pd12okGXlA1Ki7ng4VK7RQN2Tac= x-is-string@^0.1.0: version "0.1.0" @@ -18845,7 +18826,7 @@ xml2js@^0.4.16: xmlbuilder@~11.0.0: version "11.0.1" - resolved "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz?cache=0&sync_timestamp=1600349105009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlbuilder%2Fdownload%2Fxmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + resolved "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" integrity sha1-vpuuHIoEbnazESdyY0fQrXACvrM= xmlchars@^2.1.1, xmlchars@^2.2.0: @@ -18865,7 +18846,7 @@ xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.1: y18n@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz?cache=0&sync_timestamp=1602861295263&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz?cache=0&sync_timestamp=1603637404399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= yallist@^2.1.2: @@ -18896,9 +18877,9 @@ yaml@^1.7.2: resolved "https://registry.npm.taobao.org/yaml/download/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha1-O1k63ZRIdgd9TWg/7gEIG9n/8x4= -yargs-parser@18.x, yargs-parser@^18.1.2, yargs-parser@^18.1.3: +yargs-parser@18.x, yargs-parser@^18.1.2: version "18.1.3" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1602861367589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1604886709178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A= dependencies: camelcase "^5.0.0" @@ -18906,14 +18887,14 @@ yargs-parser@18.x, yargs-parser@^18.1.2, yargs-parser@^18.1.3: yargs-parser@^10.0.0: version "10.1.0" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz?cache=0&sync_timestamp=1602861367589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz?cache=0&sync_timestamp=1604886709178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" integrity sha1-cgImW4n36eny5XZeD+c1qQXtuqg= dependencies: camelcase "^4.1.0" yargs-parser@^13.1.2: version "13.1.2" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1602861367589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1604886709178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= dependencies: camelcase "^5.0.0" @@ -18921,7 +18902,7 @@ yargs-parser@^13.1.2: yargs-parser@^14.0.0: version "14.0.0" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-14.0.0.tgz?cache=0&sync_timestamp=1602861367589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-14.0.0.tgz#42e25777b06718ec99eac2c3a98ad3de73b6818f" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-14.0.0.tgz?cache=0&sync_timestamp=1604886709178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-14.0.0.tgz#42e25777b06718ec99eac2c3a98ad3de73b6818f" integrity sha1-QuJXd7BnGOyZ6sLDqYrT3nO2gY8= dependencies: camelcase "^5.0.0" @@ -18929,15 +18910,20 @@ yargs-parser@^14.0.0: yargs-parser@^15.0.1: version "15.0.1" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-15.0.1.tgz?cache=0&sync_timestamp=1602861367589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-15.0.1.tgz?cache=0&sync_timestamp=1604886709178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" integrity sha1-VHhq9AuCDcsvuAJbEbTWWddjI7M= dependencies: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.3: + version "20.2.4" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.4.tgz?cache=0&sync_timestamp=1604886709178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha1-tCiQ8UVmeW+Fro46JSkNIF8VSlQ= + yargs@^13.3.2: version "13.3.2" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1602805577427&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1602820925422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= dependencies: cliui "^5.0.0" @@ -18953,7 +18939,7 @@ yargs@^13.3.2: yargs@^14.2.2: version "14.2.3" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-14.2.3.tgz?cache=0&sync_timestamp=1602805577427&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-14.2.3.tgz?cache=0&sync_timestamp=1602820925422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" integrity sha1-Ghw+3O0a+yov6jNgS8bR2NaIpBQ= dependencies: cliui "^5.0.0" @@ -18970,7 +18956,7 @@ yargs@^14.2.2: yargs@^15.3.1, yargs@^15.4.1: version "15.4.1" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1602805577427&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1602820925422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg= dependencies: cliui "^6.0.0"