@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 +3 -3
- package/src/component/v_browser/context/browserWindow.ts +1 -1
- package/src/component/v_browser/hooks/useWindowEffect.ts +11 -5
- package/src/component/v_browser/types.ts +1 -7
- package/src/component/v_browser/ui/index.tsx +1 -1
- package/src/component/v_browser/ui/window_wrapper.tsx +22 -22
- package/src/component/v_browser/v_browser.stories.mdx +0 -4
- package/src/component/v_browser/v_browser.tsx +15 -31
- package/yarn-error.log +0 -267
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gm-pc/react",
|
|
3
|
-
"version": "1.
|
|
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.
|
|
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": "
|
|
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<
|
|
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
|
-
|
|
16
|
-
const browserWindow =
|
|
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
|
-
|
|
40
|
+
console.log('activate', browserWindow.path)
|
|
41
41
|
}
|
|
42
42
|
if (deactivate) {
|
|
43
43
|
cb.current && cb.current()
|
|
44
|
-
|
|
44
|
+
console.log('deactivate', browserWindow.path)
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
+
// { fireImmediately: true }
|
|
47
48
|
)
|
|
48
49
|
cb.current = fn()
|
|
49
|
-
|
|
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
|
-
/** 准备就绪
|
|
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
|
|
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,
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
|
|
@@ -15,7 +15,7 @@ export const pages = req.keys().map((key) => {
|
|
|
15
15
|
}
|
|
16
16
|
})
|
|
17
17
|
|
|
18
|
-
|
|
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.
|
|
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[
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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(
|
|
161
|
+
sessionStorage.setItem(STORAGE_KEY, JSON.stringify(newCache))
|
|
170
162
|
window.open(`#${w.path}?${stringify(w.query || {})}`, '_blank')
|
|
171
|
-
sessionStorage.setItem(
|
|
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
|
|
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(
|
|
222
|
+
sessionStorage.setItem(STORAGE_KEY, string)
|
|
231
223
|
}
|
|
232
224
|
|
|
233
225
|
// 恢复已开窗口
|
|
234
|
-
private async
|
|
226
|
+
private async _loadStash() {
|
|
235
227
|
await new Promise((resolve) => setTimeout(resolve, 100))
|
|
236
228
|
const { windows = [], activeIndex = 0 } = JSON.parse(
|
|
237
|
-
sessionStorage.getItem(
|
|
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==
|