@gm-pc/react 1.13.3-alpha.2 → 1.14.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gm-pc/react",
3
- "version": "1.13.3-alpha.2",
3
+ "version": "1.14.0-alpha.1",
4
4
  "description": "观麦前端基础组件库",
5
5
  "author": "liyatang <liyatang@qq.com>",
6
6
  "homepage": "https://github.com/gmfe/gm-pc#readme",
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "@gm-common/hooks": "^2.10.0",
26
26
  "@gm-common/tool": "^2.10.0",
27
- "@gm-pc/locales": "^1.13.3-alpha.2",
27
+ "@gm-pc/locales": "^1.14.0-alpha.1",
28
28
  "big.js": "^6.0.1",
29
29
  "classnames": "^2.2.5",
30
30
  "lodash": "^4.17.19",
@@ -48,5 +48,5 @@
48
48
  "react-router-dom": "^5.2.0",
49
49
  "react-window": "^1.8.5"
50
50
  },
51
- "gitHead": "bdd278fe8bf983b735b760af20581ab580972632"
51
+ "gitHead": "b8a3ea89e8e45c98d6706b52ca05c6f4bf4bef68"
52
52
  }
@@ -1,7 +1,7 @@
1
1
  import { createContext } from 'react'
2
2
  import { VBrowserWindow } from '../types'
3
3
 
4
- const BrowserWindowContext = createContext<string>(undefined as any)
4
+ const BrowserWindowContext = createContext<VBrowserWindow>(undefined as any)
5
5
  BrowserWindowContext.displayName = 'VBrowserWindowContext'
6
6
 
7
7
  export default BrowserWindowContext
@@ -12,8 +12,8 @@ type Noop = () => void
12
12
  */
13
13
  export default function useWindowEffect(fn: () => Noop | void, deps: Array<any>) {
14
14
  const browser = useContext(BrowserContext)
15
- const path = useContext(BrowserWindowContext)
16
- const browserWindow = browser.windows.find((w) => w.path === path)!
15
+ /** hook所在窗口 */
16
+ const browserWindow = useContext(BrowserWindowContext)
17
17
  const cb = useRef<Noop | void>()
18
18
 
19
19
  useEffect(() => {
@@ -37,15 +37,21 @@ export default function useWindowEffect(fn: () => Noop | void, deps: Array<any>)
37
37
  const deactivate = pre?.path === browserWindow.path
38
38
  if (activate) {
39
39
  cb.current = fn()
40
- // console.log('activate', browserWindow.path)
40
+ console.log('activate', browserWindow.path)
41
41
  }
42
42
  if (deactivate) {
43
43
  cb.current && cb.current()
44
- // console.log('deactivate', browserWindow.path)
44
+ console.log('deactivate', browserWindow.path)
45
45
  }
46
46
  }
47
+ // { fireImmediately: true }
47
48
  )
48
49
  cb.current = fn()
49
- return dispose
50
+ console.log('effect', browserWindow.path, deps)
51
+ return () => {
52
+ console.log('dispose', browserWindow.path)
53
+ dispose()
54
+ cb.current && cb.current()
55
+ }
50
56
  }, deps)
51
57
  }
@@ -14,7 +14,7 @@ export interface VBrowserWindow {
14
14
  export interface VBrowserProps {
15
15
  /** 窗口数量限制 */
16
16
  maxLength?: number
17
- /** 准备就绪 (读取Storage) */
17
+ /** 准备就绪 */
18
18
  onReady?: Function
19
19
  /** 重新打开vBrowser时恢复已打开窗口, 默认为true */
20
20
  restore?: boolean
@@ -28,13 +28,7 @@ export interface VBrowserProps {
28
28
  auth?: (from?: VBrowserWindow, to?: VBrowserWindow) => Promise<boolean> | boolean
29
29
  /**
30
30
  * 错误码参考
31
- *
32
31
  * code: 0, message: '超过最大允许的窗口数量'
33
- *
34
- * code: 1, message: '鉴权失败'
35
- *
36
- * code: 2, message: '路由不存在‘
37
- *
38
32
  */
39
33
  onError?: (error: { code: number; message: string }) => void
40
34
  /** 打开窗口如果没有传入标题,则使用此方法取标题 */
@@ -64,7 +64,7 @@ const VBrowserContainer: FC<{ className?: string }> = observer(
64
64
  createPortal(
65
65
  pages.map((page, i) => {
66
66
  return (
67
- <BrowserWindowContext.Provider key={i} value={page.path}>
67
+ <BrowserWindowContext.Provider key={i} value={page}>
68
68
  <WindowWrapper key={i} path={page.path} />
69
69
  </BrowserWindowContext.Provider>
70
70
  )
@@ -1,11 +1,9 @@
1
1
  /* eslint-disable dot-notation */
2
2
  import { get } from 'lodash'
3
3
  import { observer } from 'mobx-react'
4
- import React, { createRef, FC, lazy, Suspense, useContext, useEffect } from 'react'
5
- import { Loading } from '../../loading'
4
+ import React, { createRef, FC, useContext, useEffect } from 'react'
6
5
  import { NProgress } from '../../n_progress'
7
6
  import BrowserContext from '../context/browser'
8
- import BrowserWindowContext from '../context/browserWindow'
9
7
  import { CacheItem } from '../types'
10
8
  import { pages } from '../v_browser'
11
9
 
@@ -36,25 +34,27 @@ const WindowWrapper: FC<WindowWrapperProps> = ({ path }) => {
36
34
  const page = pages.find((p) => p.path === path)
37
35
  if (!page) throw new Error('[VBrowser] page not found: ' + path)
38
36
 
39
- const loading = (
40
- <div className='tw-w-full tw-h-full tw-flex tw-items-center tw-justify-center'>
41
- <Loading size='24' />
42
- </div>
43
- )
44
- const Component = lazy(page.loader)
45
- const vNode = (
46
- <div
47
- className='v-browser-window-content'
48
- data-vbrowser-window={path}
49
- ref={createRef()}
50
- >
51
- <Suspense fallback={loading}>
52
- <Component />
53
- </Suspense>
54
- </div>
55
- ) as CacheItem['vNode']
56
- browser['_setCache'](path, { vNode })
57
- browser['_fire']('show', w!)
37
+ NProgress.start()
38
+ page
39
+ .loader()
40
+ .then((module) => {
41
+ const Component = module.default
42
+ const vNode = (
43
+ <div
44
+ className='v-browser-window-content'
45
+ data-vbrowser-window={path}
46
+ ref={createRef()}
47
+ >
48
+ <Component />
49
+ </div>
50
+ ) as CacheItem['vNode']
51
+ browser['_setCache'](path, { vNode })
52
+ browser['_fire']('show', w!)
53
+ return null
54
+ })
55
+ .finally(() => {
56
+ NProgress.done()
57
+ })
58
58
  return
59
59
  }
60
60
 
@@ -89,10 +89,6 @@ vbrowser 暴露了以下属性和方法,详细信息见类型声明/代码提
89
89
 
90
90
  隐藏窗口管理栏,可以用于进入全屏模式的场景;
91
91
 
92
- - `clearSession`
93
-
94
- 清除会话缓存,使重新进入不恢复vbrowser窗口标签栏
95
-
96
92
  - `on`
97
93
 
98
94
  事件监听, `'error' | 'change' | 'close' | 'show'`,分别对应错误、窗口切换、窗口关闭、窗口激活事件;
@@ -15,7 +15,7 @@ export const pages = req.keys().map((key) => {
15
15
  }
16
16
  })
17
17
 
18
- export const VBROWSER_STORAGE_KEY = 'gm_vbrowser-cache'
18
+ const STORAGE_KEY = 'vbrowser-cache'
19
19
 
20
20
  type EventName = 'error' | 'change' | 'close' | 'show'
21
21
 
@@ -36,7 +36,7 @@ class VBrowser implements VBrowser {
36
36
  </BrowserContext.Provider>
37
37
  )
38
38
  // this.open = debounce(this.open).bind(this) as typeof this.open
39
- this._restoreSession().then(async () => {
39
+ this._loadStash().then(async () => {
40
40
  await when(() => this.mounted)
41
41
  this.props.onReady && this.props.onReady()
42
42
  return null
@@ -65,7 +65,7 @@ class VBrowser implements VBrowser {
65
65
  if (ignored) {
66
66
  const i = this.windows.indexOf(oldWindow!)
67
67
  this.windows.splice(i, 1)
68
- delete this._cache[oldWindow?.path!]
68
+ delete this._cache[i]
69
69
  }
70
70
 
71
71
  if (typeof w === 'number') {
@@ -81,7 +81,7 @@ class VBrowser implements VBrowser {
81
81
 
82
82
  this.props.onChange &&
83
83
  this.props.onChange(oldWindow, this.windows[this.activeIndex], this.windows)
84
- this._stashSession()
84
+ this._stash()
85
85
  }
86
86
 
87
87
  /** 打开新子窗口, 子窗口已存在则判断query是否相等,相等则切换,不相等则隐性销毁重新加载;子窗口不存在则新建子窗口;
@@ -110,16 +110,9 @@ class VBrowser implements VBrowser {
110
110
  } else {
111
111
  pass = (auth(this.activeWindow, w as VBrowserWindow) as boolean) ?? false
112
112
  }
113
- if (!pass) {
114
- this._fire('error', { code: 1, message: '鉴权失败' })
115
- return
116
- }
113
+ if (!pass) return this._fire('error', new Error('鉴权失败'))
117
114
  if (!pages.find((p) => p.path === (w as VBrowserWindow).path)) {
118
- this._fire('error', {
119
- code: 2,
120
- message: `无法找到页面 ${w.path}, 可用路径:${pages.map((p) => p.path)}`,
121
- })
122
- return
115
+ console.error(w.path, '页面不存在')
123
116
  }
124
117
  // #endregion
125
118
 
@@ -130,7 +123,8 @@ class VBrowser implements VBrowser {
130
123
  )
131
124
  if (index === -1) {
132
125
  if (this.props.maxLength && this.windows.length >= this.props.maxLength) {
133
- this._fire('error', { code: 0, message: '超过最大允许的窗口数量' })
126
+ this.props.onError &&
127
+ this.props.onError({ code: 0, message: '超过最大允许的窗口数量' })
134
128
  return
135
129
  }
136
130
 
@@ -157,18 +151,16 @@ class VBrowser implements VBrowser {
157
151
  // #region 打开新浏览器窗口
158
152
  if (target === '_blank') {
159
153
  // 避免继承
160
- const currentCache = JSON.parse(
161
- sessionStorage.getItem(VBROWSER_STORAGE_KEY) || '{}'
162
- )
154
+ const currentCache = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || '{}')
163
155
  const newCache = { windows: [] as VBrowserWindow[], activeIndex: 0 }
164
156
  newCache.windows.push(...this.windows.filter((w) => !w.closeable))
165
157
  newCache.windows.push(w)
166
158
  newCache.activeIndex = newCache.windows.findIndex(
167
159
  (item) => item.path === (w as VBrowserWindow).path
168
160
  )
169
- sessionStorage.setItem(VBROWSER_STORAGE_KEY, JSON.stringify(newCache))
161
+ sessionStorage.setItem(STORAGE_KEY, JSON.stringify(newCache))
170
162
  window.open(`#${w.path}?${stringify(w.query || {})}`, '_blank')
171
- sessionStorage.setItem(VBROWSER_STORAGE_KEY, JSON.stringify(currentCache))
163
+ sessionStorage.setItem(STORAGE_KEY, JSON.stringify(currentCache))
172
164
  }
173
165
  // #endregion
174
166
  }
@@ -221,31 +213,26 @@ class VBrowser implements VBrowser {
221
213
  }
222
214
 
223
215
  // 保存已开窗口
224
- private async _stashSession() {
216
+ private async _stash() {
225
217
  const windows = this.windows.slice().map((item) => ({ ...item }))
226
218
  const string = JSON.stringify({
227
219
  windows,
228
220
  activeIndex: this.activeIndex,
229
221
  })
230
- sessionStorage.setItem(VBROWSER_STORAGE_KEY, string)
222
+ sessionStorage.setItem(STORAGE_KEY, string)
231
223
  }
232
224
 
233
225
  // 恢复已开窗口
234
- private async _restoreSession() {
226
+ private async _loadStash() {
235
227
  await new Promise((resolve) => setTimeout(resolve, 100))
236
228
  const { windows = [], activeIndex = 0 } = JSON.parse(
237
- sessionStorage.getItem(VBROWSER_STORAGE_KEY) || '{}'
229
+ sessionStorage.getItem(STORAGE_KEY) || '{}'
238
230
  )
239
231
  if (windows.length === 0) return
240
232
  this.windows = windows
241
233
  this.open(windows[activeIndex])
242
234
  }
243
235
 
244
- /** 清除会话缓存,使重新进入不恢复vbrowser窗口标签栏 */
245
- clearSession() {
246
- sessionStorage.removeItem(VBROWSER_STORAGE_KEY)
247
- }
248
-
249
236
  /** 隐藏标签栏 */
250
237
  hideTabs() {
251
238
  this._hidingTabs = true
@@ -277,9 +264,6 @@ class VBrowser implements VBrowser {
277
264
  private _fire(eventName: EventName, ...args: any[]) {
278
265
  const events = this._events[eventName] || []
279
266
  events.forEach((item) => item.event(...args))
280
- if (eventName === 'error') {
281
- this.props.onError && this.props.onError(args?.[0])
282
- }
283
267
  }
284
268
  }
285
269
 
package/yarn-error.log DELETED
@@ -1,267 +0,0 @@
1
- Arguments:
2
- /usr/local/bin/node /usr/local/bin/yarn add react-router-dom^5.2.0 --peer
3
-
4
- PATH:
5
- /opt/intel/openvino_2021/deployment_tools/model_optimizer:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/go/bin:/opt/X11/bin:/Library/Apple/usr/bin:/Users/jawei/google-cloud-sdk/bin:/Users/jawei/opt/anaconda3/bin:/Users/jawei/opt/anaconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/Users/jawei/flutter/bin:/Users/yuanzhiying/Library/flutter/bin:/usr/local/go/bin
6
-
7
- Yarn version:
8
- 1.22.10
9
-
10
- Node version:
11
- 14.15.1
12
-
13
- Platform:
14
- darwin x64
15
-
16
- Trace:
17
- Error: https://registry.npm.taobao.org/react-router-dom%5E5.2.0: [NOT_FOUND] react-router-dom^5.2.0 not found
18
- at Request.params.callback [as _callback] (/usr/local/lib/node_modules/yarn/lib/cli.js:66988:18)
19
- at Request.self.callback (/usr/local/lib/node_modules/yarn/lib/cli.js:140662:22)
20
- at Request.emit (events.js:315:20)
21
- at Request.<anonymous> (/usr/local/lib/node_modules/yarn/lib/cli.js:141634:10)
22
- at Request.emit (events.js:315:20)
23
- at Gunzip.<anonymous> (/usr/local/lib/node_modules/yarn/lib/cli.js:141556:12)
24
- at Object.onceWrapper (events.js:421:28)
25
- at Gunzip.emit (events.js:315:20)
26
- at endReadableNT (_stream_readable.js:1327:12)
27
- at processTicksAndRejections (internal/process/task_queues.js:80:21)
28
-
29
- npm manifest:
30
- {
31
- "name": "@gm-pc/react",
32
- "version": "1.7.4-alpha.0",
33
- "description": "观麦前端基础组件库",
34
- "author": "liyatang <liyatang@qq.com>",
35
- "homepage": "https://github.com/gmfe/gm-pc#readme",
36
- "license": "ISC",
37
- "publishConfig": {
38
- "access": "public"
39
- },
40
- "main": "src/index.ts",
41
- "module": "src/index.ts",
42
- "types": "src/index.ts",
43
- "repository": {
44
- "type": "git",
45
- "url": "git+https://github.com/gmfe/gm-pc.git"
46
- },
47
- "scripts": {
48
- "test": "echo \"Error: run tests from root\" && exit 1"
49
- },
50
- "bugs": {
51
- "url": "https://github.com/gmfe/gm-pc/issues"
52
- },
53
- "dependencies": {
54
- "@gm-common/hooks": "^2.10.0",
55
- "@gm-common/tool": "^2.10.0",
56
- "@gm-pc/locales": "^1.7.4-alpha.0",
57
- "big.js": "^6.0.1",
58
- "classnames": "^2.2.5",
59
- "lodash": "^4.17.19",
60
- "modern-normalize": "^1.0.0",
61
- "moment": "^2.29.1",
62
- "react-window": "^1.8.5"
63
- },
64
- "devDependencies": {
65
- "@types/react-router-dom": "^5.3.3",
66
- "react": "^16.14.0",
67
- "react-dom": "^16.14.0"
68
- },
69
- "peerDependencies": {
70
- "big.js": "^6.0.1",
71
- "classnames": "^2.2.5",
72
- "lodash": "^4.17.19",
73
- "modern-normalize": "^1.0.0",
74
- "moment": "^2.29.1",
75
- "react": "^16.14.0",
76
- "react-dom": "^16.14.0",
77
- "react-router-dom": "^5.2.0",
78
- "react-window": "^1.8.5"
79
- }
80
- }
81
-
82
- yarn manifest:
83
- No manifest
84
-
85
- Lockfile:
86
- # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
87
- # yarn lockfile v1
88
-
89
-
90
- "@babel/runtime@^7.0.0":
91
- version "7.12.1"
92
- resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.12.1.tgz?cache=0&sync_timestamp=1602799933339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740"
93
- integrity sha1-tBFqa2cR0BCy2tO3tuQ78bmVR0A=
94
- dependencies:
95
- regenerator-runtime "^0.13.4"
96
-
97
- "@gm-common/hooks@^2.10.0":
98
- version "2.10.0"
99
- resolved "https://registry.npmmirror.com/@gm-common/hooks/download/@gm-common/hooks-2.10.0.tgz#c67e02875b4d266ef911e7828257d957e923826b"
100
- integrity sha1-xn4Ch1tNJm75EeeCglfZV+kjgms=
101
- dependencies:
102
- "@gm-common/tool" "^2.10.0"
103
- ts-config-gm-react-app "^3.4.5"
104
-
105
- "@gm-common/tool@^2.10.0":
106
- version "2.10.0"
107
- resolved "https://registry.npmmirror.com/@gm-common/tool/download/@gm-common/tool-2.10.0.tgz#f4f512233ff1118eff8bbdeca9762f0e65ce26bd"
108
- integrity sha1-9PUSIz/xEY7/i73sqXYvDmXOJr0=
109
- dependencies:
110
- lodash "^4.17.20"
111
-
112
- "@gm-pc/locales@^1.7.4-alpha.0":
113
- version "1.8.6-alpha.0"
114
- resolved "https://registry.npmmirror.com/@gm-pc/locales/-/locales-1.8.6-alpha.0.tgz#9fc9918454ee774c0d61ff41f5b33343411dd3c3"
115
- integrity sha512-iNAdAuu8bg7F3xB7Vr0DgvY+jpJ1lxkOTAOw+2BK3ljI1eRTbIYkqvazX9ImrdcaB+7R0sbDGUMeR8Ca7iRY3w==
116
-
117
- "@types/history@^4.7.11":
118
- version "4.7.11"
119
- resolved "https://registry.npmmirror.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64"
120
- integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==
121
-
122
- "@types/prop-types@*":
123
- version "15.7.4"
124
- resolved "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
125
- integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
126
-
127
- "@types/react-router-dom@^5.3.3":
128
- version "5.3.3"
129
- resolved "https://registry.npmmirror.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83"
130
- integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==
131
- dependencies:
132
- "@types/history" "^4.7.11"
133
- "@types/react" "*"
134
- "@types/react-router" "*"
135
-
136
- "@types/react-router@*":
137
- version "5.1.18"
138
- resolved "https://registry.npmmirror.com/@types/react-router/-/react-router-5.1.18.tgz#c8851884b60bc23733500d86c1266e1cfbbd9ef3"
139
- integrity sha512-YYknwy0D0iOwKQgz9v8nOzt2J6l4gouBmDnWqUUznltOTaon+r8US8ky8HvN0tXvc38U9m6z/t2RsVsnd1zM0g==
140
- dependencies:
141
- "@types/history" "^4.7.11"
142
- "@types/react" "*"
143
-
144
- "@types/react@*":
145
- version "17.0.39"
146
- resolved "https://registry.npmmirror.com/@types/react/-/react-17.0.39.tgz#d0f4cde092502a6db00a1cded6e6bf2abb7633ce"
147
- integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==
148
- dependencies:
149
- "@types/prop-types" "*"
150
- "@types/scheduler" "*"
151
- csstype "^3.0.2"
152
-
153
- "@types/scheduler@*":
154
- version "0.16.2"
155
- resolved "https://registry.npmmirror.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
156
- integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
157
-
158
- big.js@^6.0.1:
159
- version "6.0.1"
160
- resolved "https://registry.npm.taobao.org/big.js/download/big.js-6.0.1.tgz#9e0a2e8b1825ce006cd4a096d6f294738cd5cff6"
161
- integrity sha1-ngouixglzgBs1KCW1vKUc4zVz/Y=
162
-
163
- classnames@^2.2.5:
164
- version "2.2.6"
165
- resolved "https://registry.npm.taobao.org/classnames/download/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
166
- integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4=
167
-
168
- csstype@^3.0.2:
169
- version "3.0.10"
170
- resolved "https://registry.npmmirror.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5"
171
- integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==
172
-
173
- "js-tokens@^3.0.0 || ^4.0.0":
174
- version "4.0.0"
175
- resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
176
- integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk=
177
-
178
- lodash@^4.17.19, lodash@^4.17.20:
179
- version "4.17.20"
180
- resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
181
- integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
182
-
183
- loose-envify@^1.1.0, loose-envify@^1.4.0:
184
- version "1.4.0"
185
- resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
186
- integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
187
- dependencies:
188
- js-tokens "^3.0.0 || ^4.0.0"
189
-
190
- "memoize-one@>=3.1.1 <6":
191
- version "5.1.1"
192
- resolved "https://registry.npm.taobao.org/memoize-one/download/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
193
- integrity sha1-BHtuMZm1COrsA1BN5xIpuOsddcA=
194
-
195
- modern-normalize@^1.0.0:
196
- version "1.0.0"
197
- resolved "https://registry.npm.taobao.org/modern-normalize/download/modern-normalize-1.0.0.tgz#539d84a1e141338b01b346f3e27396d0ed17601e"
198
- integrity sha1-U52EoeFBM4sBs0bz4nOW0O0XYB4=
199
-
200
- moment@^2.29.1:
201
- version "2.29.1"
202
- resolved "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
203
- integrity sha1-sr52n6MZQL6e7qZGnAdeNQBvo9M=
204
-
205
- object-assign@^4.1.1:
206
- version "4.1.1"
207
- resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
208
- integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
209
-
210
- prop-types@^15.6.2:
211
- version "15.7.2"
212
- resolved "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
213
- integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU=
214
- dependencies:
215
- loose-envify "^1.4.0"
216
- object-assign "^4.1.1"
217
- react-is "^16.8.1"
218
-
219
- react-dom@^16.14.0:
220
- version "16.14.0"
221
- resolved "https://registry.npm.taobao.org/react-dom/download/react-dom-16.14.0.tgz?cache=0&sync_timestamp=1603367590403&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dom%2Fdownload%2Freact-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89"
222
- integrity sha1-etg47Cmnd/s8dcOhkPZhz5Kri4k=
223
- dependencies:
224
- loose-envify "^1.1.0"
225
- object-assign "^4.1.1"
226
- prop-types "^15.6.2"
227
- scheduler "^0.19.1"
228
-
229
- react-is@^16.8.1:
230
- version "16.13.1"
231
- resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz?cache=0&sync_timestamp=1603367576715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-is%2Fdownload%2Freact-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
232
- integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=
233
-
234
- react-window@^1.8.5:
235
- version "1.8.6"
236
- resolved "https://registry.npm.taobao.org/react-window/download/react-window-1.8.6.tgz#d011950ac643a994118632665aad0c6382e2a112"
237
- integrity sha1-0BGVCsZDqZQRhjJmWq0MY4LioRI=
238
- dependencies:
239
- "@babel/runtime" "^7.0.0"
240
- memoize-one ">=3.1.1 <6"
241
-
242
- react@^16.14.0:
243
- version "16.14.0"
244
- resolved "https://registry.npm.taobao.org/react/download/react-16.14.0.tgz?cache=0&sync_timestamp=1603367592109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact%2Fdownload%2Freact-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d"
245
- integrity sha1-lNd23dCqo32j7aj8W2sYpMmjEU0=
246
- dependencies:
247
- loose-envify "^1.1.0"
248
- object-assign "^4.1.1"
249
- prop-types "^15.6.2"
250
-
251
- regenerator-runtime@^0.13.4:
252
- version "0.13.7"
253
- resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz?cache=0&sync_timestamp=1595456311465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
254
- integrity sha1-ysLazIoepnX+qrrriugziYrkb1U=
255
-
256
- scheduler@^0.19.1:
257
- version "0.19.1"
258
- resolved "https://registry.npm.taobao.org/scheduler/download/scheduler-0.19.1.tgz?cache=0&sync_timestamp=1603367591660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fscheduler%2Fdownload%2Fscheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
259
- integrity sha1-Tz4u0sGn1laB9MhU+oxaHMtA8ZY=
260
- dependencies:
261
- loose-envify "^1.1.0"
262
- object-assign "^4.1.1"
263
-
264
- ts-config-gm-react-app@^3.4.5:
265
- version "3.4.7"
266
- resolved "https://registry.npmjs.org/ts-config-gm-react-app/-/ts-config-gm-react-app-3.4.7.tgz#51decbf847c991ae8e3bd950f3f84cfb0523ba4b"
267
- integrity sha512-1XOMmAIEiUr2R0JTasF30zj5ZRZgVTOx/ycZJOh2xusQCYC4n1/wGbXfEzm8Dzhv2YSWHEWPVHpytAM3mYsu9Q==