Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
c1844898
"src/include/threadwise_4d_tensor_op.hpp" did not exist on "5ce19234a4538d52e18837a84ebe7c1fef224c71"
Unverified
Commit
c1844898
authored
Jul 31, 2020
by
colorjam
Committed by
GitHub
Jul 31, 2020
Browse files
add pagination & hotfix intermediate graph (#2738)
parent
bbcb1677
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
267 additions
and
32 deletions
+267
-32
src/webui/package.json
src/webui/package.json
+3
-1
src/webui/src/components/trial-detail/Intermediate.tsx
src/webui/src/components/trial-detail/Intermediate.tsx
+1
-1
src/webui/src/components/trial-detail/TableList.tsx
src/webui/src/components/trial-detail/TableList.tsx
+97
-12
src/webui/src/static/style/pagination.scss
src/webui/src/static/style/pagination.scss
+36
-0
src/webui/yarn.lock
src/webui/yarn.lock
+130
-18
No files found.
src/webui/package.json
View file @
c1844898
...
@@ -42,6 +42,8 @@
...
@@ -42,6 +42,8 @@
"react-dom"
:
"^16.8.6"
,
"react-dom"
:
"^16.8.6"
,
"react-json-tree"
:
"^0.11.2"
,
"react-json-tree"
:
"^0.11.2"
,
"react-monaco-editor"
:
"^0.32.1"
,
"react-monaco-editor"
:
"^0.32.1"
,
"react-paginate"
:
"^6.3.2"
,
"react-pagination"
:
"^1.0.0"
,
"react-router"
:
"^3.2.3"
,
"react-router"
:
"^3.2.3"
,
"react-table"
:
"^7.0.0-rc.15"
,
"react-table"
:
"^7.0.0-rc.15"
,
"resolve"
:
"1.10.0"
,
"resolve"
:
"1.10.0"
,
...
@@ -79,7 +81,7 @@
...
@@ -79,7 +81,7 @@
"eslint-plugin-react-hooks"
:
"^1.5.0"
,
"eslint-plugin-react-hooks"
:
"^1.5.0"
,
"express"
:
"^4.17.1"
,
"express"
:
"^4.17.1"
,
"npx"
:
"^10.2.0"
,
"npx"
:
"^10.2.0"
,
"typescript"
:
"3.
4.5
"
"typescript"
:
"
^
3.
8.0
"
},
},
"proxy"
:
"http://localhost:12138"
,
"proxy"
:
"http://localhost:12138"
,
"scripts"
:
{
"scripts"
:
{
...
...
src/webui/src/components/trial-detail/Intermediate.tsx
View file @
c1844898
...
@@ -128,7 +128,7 @@ class Intermediate extends React.Component<IntermediateProps, IntermediateState>
...
@@ -128,7 +128,7 @@ class Intermediate extends React.Component<IntermediateProps, IntermediateState>
id
:
'
dataZoomY
'
,
id
:
'
dataZoomY
'
,
type
:
'
inside
'
,
type
:
'
inside
'
,
yAxisIndex
:
[
0
],
yAxisIndex
:
[
0
],
filterMode
:
'
empty
'
,
filterMode
:
'
none
'
,
start
:
startMediaY
,
start
:
startMediaY
,
end
:
endMediaY
end
:
endMediaY
}
}
...
...
src/webui/src/components/trial-detail/TableList.tsx
View file @
c1844898
...
@@ -3,8 +3,9 @@ import axios from 'axios';
...
@@ -3,8 +3,9 @@ import axios from 'axios';
import
ReactEcharts
from
'
echarts-for-react
'
;
import
ReactEcharts
from
'
echarts-for-react
'
;
import
{
import
{
Stack
,
Dropdown
,
DetailsList
,
IDetailsListProps
,
DetailsListLayoutMode
,
Stack
,
Dropdown
,
DetailsList
,
IDetailsListProps
,
DetailsListLayoutMode
,
PrimaryButton
,
Modal
,
IDropdownOption
,
IColumn
,
Selection
,
SelectionMode
,
IconButton
,
TooltipHost
PrimaryButton
,
Modal
,
IDropdownOption
,
IColumn
,
Selection
,
SelectionMode
,
IconButton
,
TooltipHost
,
IStackTokens
}
from
'
office-ui-fabric-react
'
;
}
from
'
office-ui-fabric-react
'
;
import
ReactPaginate
from
'
react-paginate
'
;
import
{
LineChart
,
blocked
,
copy
}
from
'
../Buttons/Icon
'
;
import
{
LineChart
,
blocked
,
copy
}
from
'
../Buttons/Icon
'
;
import
{
MANAGER_IP
,
COLUMNPro
}
from
'
../../static/const
'
;
import
{
MANAGER_IP
,
COLUMNPro
}
from
'
../../static/const
'
;
import
{
convertDuration
,
formatTimestamp
,
intermediateGraphOption
,
parseMetrics
}
from
'
../../static/function
'
;
import
{
convertDuration
,
formatTimestamp
,
intermediateGraphOption
,
parseMetrics
}
from
'
../../static/function
'
;
...
@@ -19,10 +20,12 @@ import { contentStyles, iconButtonStyles } from '../Buttons/ModalTheme';
...
@@ -19,10 +20,12 @@ import { contentStyles, iconButtonStyles } from '../Buttons/ModalTheme';
import
'
../../static/style/search.scss
'
;
import
'
../../static/style/search.scss
'
;
import
'
../../static/style/tableStatus.css
'
;
import
'
../../static/style/tableStatus.css
'
;
import
'
../../static/style/logPath.scss
'
;
import
'
../../static/style/logPath.scss
'
;
import
'
../../static/style/search.scss
'
;
import
'
../../static/style/table.scss
'
;
import
'
../../static/style/table.scss
'
;
import
'
../../static/style/button.scss
'
;
import
'
../../static/style/button.scss
'
;
import
'
../../static/style/openRow.scss
'
;
import
'
../../static/style/openRow.scss
'
;
import
'
../../static/style/pagination.scss
'
;
const
echarts
=
require
(
'
echarts/lib/echarts
'
);
const
echarts
=
require
(
'
echarts/lib/echarts
'
);
require
(
'
echarts/lib/chart/line
'
);
require
(
'
echarts/lib/chart/line
'
);
require
(
'
echarts/lib/component/tooltip
'
);
require
(
'
echarts/lib/component/tooltip
'
);
...
@@ -31,6 +34,11 @@ echarts.registerTheme('my_theme', {
...
@@ -31,6 +34,11 @@ echarts.registerTheme('my_theme', {
color
:
'
#3c8dbc
'
color
:
'
#3c8dbc
'
});
});
const
horizontalGapStackTokens
:
IStackTokens
=
{
childrenGap
:
20
,
padding
:
10
,
};
interface
TableListProps
{
interface
TableListProps
{
pageSize
:
number
;
pageSize
:
number
;
tableSource
:
Array
<
TableRecord
>
;
tableSource
:
Array
<
TableRecord
>
;
...
@@ -66,6 +74,11 @@ interface TableListState {
...
@@ -66,6 +74,11 @@ interface TableListState {
allColumnList
:
string
[];
allColumnList
:
string
[];
tableSourceForSort
:
Array
<
TableRecord
>
;
tableSourceForSort
:
Array
<
TableRecord
>
;
sortMessage
:
SortInfo
;
sortMessage
:
SortInfo
;
offset
:
number
;
data
:
Array
<
TableRecord
>
;
perPage
:
number
;
currentPage
:
number
;
pageCount
:
number
;
}
}
class
TableList
extends
React
.
Component
<
TableListProps
,
TableListState
>
{
class
TableList
extends
React
.
Component
<
TableListProps
,
TableListState
>
{
...
@@ -96,15 +109,19 @@ class TableList extends React.Component<TableListProps, TableListState> {
...
@@ -96,15 +109,19 @@ class TableList extends React.Component<TableListProps, TableListState> {
modalIntermediateHeight
:
window
.
innerHeight
,
modalIntermediateHeight
:
window
.
innerHeight
,
tableColumns
:
this
.
initTableColumnList
(
this
.
props
.
columnList
),
tableColumns
:
this
.
initTableColumnList
(
this
.
props
.
columnList
),
allColumnList
:
this
.
getAllColumnKeys
(),
allColumnList
:
this
.
getAllColumnKeys
(),
tableSourceForSort
:
this
.
props
.
tableSource
,
sortMessage
:
{
field
:
''
,
isDescend
:
false
},
sortMessage
:
{
field
:
''
,
isDescend
:
false
}
offset
:
0
,
data
:
[],
perPage
:
20
,
currentPage
:
0
,
pageCount
:
0
,
tableSourceForSort
:
this
.
props
.
tableSource
};
};
}
}
// sort for table column
// sort for table column
onColumnClick
=
(
ev
:
React
.
MouseEvent
<
HTMLElement
>
,
getColumn
:
IColumn
):
void
=>
{
onColumnClick
=
(
ev
:
React
.
MouseEvent
<
HTMLElement
>
,
getColumn
:
IColumn
):
void
=>
{
const
{
tableColumns
}
=
this
.
state
;
const
{
tableColumns
,
tableSourceForSort
}
=
this
.
state
;
const
{
tableSource
}
=
this
.
props
;
const
newColumns
:
IColumn
[]
=
tableColumns
.
slice
();
const
newColumns
:
IColumn
[]
=
tableColumns
.
slice
();
const
currColumn
:
IColumn
=
newColumns
.
filter
(
item
=>
getColumn
.
key
===
item
.
key
)[
0
];
const
currColumn
:
IColumn
=
newColumns
.
filter
(
item
=>
getColumn
.
key
===
item
.
key
)[
0
];
newColumns
.
forEach
((
newCol
:
IColumn
)
=>
{
newColumns
.
forEach
((
newCol
:
IColumn
)
=>
{
...
@@ -113,11 +130,11 @@ class TableList extends React.Component<TableListProps, TableListState> {
...
@@ -113,11 +130,11 @@ class TableList extends React.Component<TableListProps, TableListState> {
currColumn
.
isSorted
=
true
;
currColumn
.
isSorted
=
true
;
}
else
{
}
else
{
newCol
.
isSorted
=
false
;
newCol
.
isSorted
=
false
;
newCol
.
isSortedDescending
=
true
;
newCol
.
isSortedDescending
=
true
;
}
}
});
});
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const
newItems
=
this
.
copyAndSort
(
tableSource
,
currColumn
.
fieldName
!
,
currColumn
.
isSortedDescending
);
const
newItems
=
this
.
copyAndSort
(
tableSource
ForSort
,
currColumn
.
fieldName
!
,
currColumn
.
isSortedDescending
);
this
.
setState
({
this
.
setState
({
tableColumns
:
newColumns
,
tableColumns
:
newColumns
,
tableSourceForSort
:
newItems
,
tableSourceForSort
:
newItems
,
...
@@ -554,19 +571,53 @@ class TableList extends React.Component<TableListProps, TableListState> {
...
@@ -554,19 +571,53 @@ class TableList extends React.Component<TableListProps, TableListState> {
componentDidMount
():
void
{
componentDidMount
():
void
{
window
.
addEventListener
(
'
resize
'
,
this
.
onWindowResize
);
window
.
addEventListener
(
'
resize
'
,
this
.
onWindowResize
);
this
.
updateData
()
}
}
componentDidUpdate
(
prevProps
:
TableListProps
):
void
{
componentDidUpdate
(
prevProps
:
TableListProps
):
void
{
if
(
this
.
props
.
columnList
!==
prevProps
.
columnList
||
this
.
props
.
tableSource
!==
prevProps
.
tableSource
)
{
if
(
this
.
props
.
columnList
!==
prevProps
.
columnList
||
this
.
props
.
tableSource
!==
prevProps
.
tableSource
)
{
const
{
columnList
,
tableSource
}
=
this
.
props
;
const
{
columnList
}
=
this
.
props
;
this
.
setState
({
this
.
setState
({
tableSourceForSort
:
tableSource
,
tableColumns
:
this
.
initTableColumnList
(
columnList
),
tableColumns
:
this
.
initTableColumnList
(
columnList
),
allColumnList
:
this
.
getAllColumnKeys
()
allColumnList
:
this
.
getAllColumnKeys
()
},
()
=>
{
this
.
updateData
();
});
});
}
}
}
}
updateData
():
void
{
const
tableSource
:
Array
<
TableRecord
>
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
props
.
tableSource
));
const
tableSlice
=
tableSource
.
slice
(
this
.
state
.
offset
,
this
.
state
.
offset
+
this
.
state
.
perPage
)
this
.
setState
({
tableSourceForSort
:
tableSlice
,
pageCount
:
Math
.
ceil
(
tableSource
.
length
/
this
.
state
.
perPage
),
});
}
handlePageClick
=
(
evt
:
any
):
void
=>
{
const
selectedPage
=
evt
.
selected
;
const
offset
=
selectedPage
*
this
.
state
.
perPage
;
this
.
setState
({
currentPage
:
selectedPage
,
offset
:
offset
},
()
=>
{
this
.
updateData
();
});
}
updateperPage
=
(
event
:
React
.
FormEvent
<
HTMLDivElement
>
,
item
:
IDropdownOption
|
undefined
):
void
=>
{
// clear input value and re-render table
if
(
item
!==
undefined
)
{
this
.
setState
({
perPage
:
item
.
key
===
'
all
'
?
this
.
props
.
tableSource
.
length
:
Number
(
item
.
key
)
},
()
=>
{
this
.
updateData
();
});
}
}
render
():
React
.
ReactNode
{
render
():
React
.
ReactNode
{
const
{
intermediateKey
,
modalIntermediateWidth
,
modalIntermediateHeight
,
const
{
intermediateKey
,
modalIntermediateWidth
,
modalIntermediateHeight
,
tableColumns
,
allColumnList
,
isShowColumn
,
modalVisible
,
tableColumns
,
allColumnList
,
isShowColumn
,
modalVisible
,
...
@@ -574,7 +625,15 @@ class TableList extends React.Component<TableListProps, TableListState> {
...
@@ -574,7 +625,15 @@ class TableList extends React.Component<TableListProps, TableListState> {
isShowCustomizedModal
,
copyTrialId
,
intermediateOption
,
sortMessage
isShowCustomizedModal
,
copyTrialId
,
intermediateOption
,
sortMessage
}
=
this
.
state
;
}
=
this
.
state
;
const
{
columnList
}
=
this
.
props
;
const
{
columnList
}
=
this
.
props
;
const
tableSource
:
Array
<
TableRecord
>
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
state
.
tableSourceForSort
));
const
tableSource
=
this
.
state
.
tableSourceForSort
const
perPageOptions
=
[
{
key
:
'
10
'
,
text
:
'
10 items per page
'
},
{
key
:
'
20
'
,
text
:
'
20 items per page
'
},
{
key
:
'
50
'
,
text
:
'
50 items per page
'
},
{
key
:
'
all
'
,
text
:
'
All items
'
},
];
if
(
sortMessage
.
field
!==
''
)
{
if
(
sortMessage
.
field
!==
''
)
{
tableSource
.
sort
(
function
(
a
,
b
):
any
{
tableSource
.
sort
(
function
(
a
,
b
):
any
{
if
(
a
[
sortMessage
.
field
]
===
undefined
)
{
if
(
a
[
sortMessage
.
field
]
===
undefined
)
{
...
@@ -586,6 +645,7 @@ class TableList extends React.Component<TableListProps, TableListState> {
...
@@ -586,6 +645,7 @@ class TableList extends React.Component<TableListProps, TableListState> {
return
(
sortMessage
.
isDescend
?
a
[
sortMessage
.
field
]
<
b
[
sortMessage
.
field
]
:
a
[
sortMessage
.
field
]
>
b
[
sortMessage
.
field
])
?
1
:
-
1
;
return
(
sortMessage
.
isDescend
?
a
[
sortMessage
.
field
]
<
b
[
sortMessage
.
field
]
:
a
[
sortMessage
.
field
]
>
b
[
sortMessage
.
field
])
?
1
:
-
1
;
});
});
}
}
return
(
return
(
<
Stack
>
<
Stack
>
<
div
id
=
"tableList"
>
<
div
id
=
"tableList"
>
...
@@ -599,7 +659,32 @@ class TableList extends React.Component<TableListProps, TableListState> {
...
@@ -599,7 +659,32 @@ class TableList extends React.Component<TableListProps, TableListState> {
selectionMode
=
{
SelectionMode
.
multiple
}
selectionMode
=
{
SelectionMode
.
multiple
}
selection
=
{
this
.
getSelectedRows
}
selection
=
{
this
.
getSelectedRows
}
/>
/>
<
Stack
horizontal
horizontalAlign
=
"end"
verticalAlign
=
"baseline"
styles
=
{
{
root
:{
padding
:
10
}}
}
tokens
=
{
horizontalGapStackTokens
}
>
<
Dropdown
selectedKey
=
{
this
.
state
.
perPage
===
this
.
props
.
tableSource
.
length
?
'
all
'
:
String
(
this
.
state
.
perPage
)
}
options
=
{
perPageOptions
}
onChange
=
{
this
.
updateperPage
}
styles
=
{
{
dropdown
:
{
width
:
150
}}
}
/>
{
/* this.props.tableSource.length > this.state.perPage && */
}
<
ReactPaginate
previousLabel
=
{
"
<
"
}
nextLabel
=
{
"
>
"
}
breakLabel
=
{
"
...
"
}
breakClassName
=
{
"
break
"
}
pageCount
=
{
this
.
state
.
pageCount
}
marginPagesDisplayed
=
{
2
}
pageRangeDisplayed
=
{
2
}
onPageChange
=
{
this
.
handlePageClick
}
containerClassName
=
{
(
this
.
props
.
tableSource
.
length
==
0
?
"
pagination hidden
"
:
"
pagination
"
)
}
subContainerClassName
=
{
"
pages pagination
"
}
disableInitialCallback
=
{
false
}
activeClassName
=
{
"
active
"
}
/>
</
Stack
>
{
/* /> */
}
</
div
>
</
div
>
{
/* Intermediate Result Modal */
}
{
/* Intermediate Result Modal */
}
<
Modal
<
Modal
...
...
src/webui/src/static/style/pagination.scss
0 → 100644
View file @
c1844898
.pagination
{
margin
:
0
10px
;
display
:
flex
;
list-style
:
none
;
outline
:
none
;
.hidden
{
display
:
none
;
}
.disabled
{
display
:
none
}
.active
{
a
,
.span
,
a
:hover
,
a
:focus
,
span
:hover
,
span
:focus
{
background-color
:
#0071bc
;
border-color
:
#0071bc
;
color
:
#fff
;
outline
:
none
;
}
}
li
:first-child
{
a
,
span
{
border-radius
:
unset
}
}
li
{
a
{
padding
:
5px
10px
;
outline
:
none
;
cursor
:
pointer
;
color
:
#0071bc
}
span
{
color
:
#0071bc
}
}
}
src/webui/yarn.lock
View file @
c1844898
...
@@ -1754,6 +1754,11 @@ acorn-jsx@^5.0.0:
...
@@ -1754,6 +1754,11 @@ acorn-jsx@^5.0.0:
version "5.1.0"
version "5.1.0"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384"
acorn@^5.2.1:
version "5.7.4"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e"
integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==
acorn@^6.0.5, acorn@^6.0.7:
acorn@^6.0.5, acorn@^6.0.7:
version "6.4.1"
version "6.4.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
...
@@ -2006,6 +2011,11 @@ ast-types-flow@0.0.7, ast-types-flow@^0.0.7:
...
@@ -2006,6 +2011,11 @@ ast-types-flow@0.0.7, ast-types-flow@^0.0.7:
version "0.0.7"
version "0.0.7"
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
ast-types@0.9.6:
version "0.9.6"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9"
integrity sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=
astral-regex@^1.0.0:
astral-regex@^1.0.0:
version "1.0.0"
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
...
@@ -2218,6 +2228,11 @@ base16@^1.0.0:
...
@@ -2218,6 +2228,11 @@ base16@^1.0.0:
version "1.0.0"
version "1.0.0"
resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70"
resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70"
base62@^1.1.0:
version "1.2.8"
resolved "https://registry.yarnpkg.com/base62/-/base62-1.2.8.tgz#1264cb0fb848d875792877479dbe8bae6bae3428"
integrity sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==
base64-js@^1.0.2:
base64-js@^1.0.2:
version "1.3.1"
version "1.3.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
...
@@ -2879,7 +2894,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
...
@@ -2879,7 +2894,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
dependencies:
dependencies:
delayed-stream "~1.0.0"
delayed-stream "~1.0.0"
commander@2, commander@^2.11.0, commander@^2.19.0, commander@^2.20.0:
commander@2, commander@^2.11.0, commander@^2.19.0, commander@^2.20.0
, commander@^2.5.0
:
version "2.20.3"
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
...
@@ -2899,6 +2914,21 @@ commondir@^1.0.1:
...
@@ -2899,6 +2914,21 @@ commondir@^1.0.1:
version "1.0.1"
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
commoner@^0.10.1:
version "0.10.8"
resolved "https://registry.yarnpkg.com/commoner/-/commoner-0.10.8.tgz#34fc3672cd24393e8bb47e70caa0293811f4f2c5"
integrity sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=
dependencies:
commander "^2.5.0"
detective "^4.3.1"
glob "^5.0.15"
graceful-fs "^4.1.2"
iconv-lite "^0.4.5"
mkdirp "^0.5.0"
private "^0.1.6"
q "^1.1.2"
recast "^0.11.17"
component-emitter@^1.2.1:
component-emitter@^1.2.1:
version "1.3.0"
version "1.3.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
...
@@ -3722,6 +3752,11 @@ define-property@^2.0.2:
...
@@ -3722,6 +3752,11 @@ define-property@^2.0.2:
is-descriptor "^1.0.2"
is-descriptor "^1.0.2"
isobject "^3.0.1"
isobject "^3.0.1"
defined@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
del@^3.0.0:
del@^3.0.0:
version "3.0.0"
version "3.0.0"
resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5"
resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5"
...
@@ -3779,6 +3814,14 @@ detect-port-alt@1.1.6:
...
@@ -3779,6 +3814,14 @@ detect-port-alt@1.1.6:
address "^1.0.1"
address "^1.0.1"
debug "^2.6.0"
debug "^2.6.0"
detective@^4.3.1:
version "4.7.1"
resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e"
integrity sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==
dependencies:
acorn "^5.2.1"
defined "^1.0.0"
dezalgo@^1.0.0, dezalgo@~1.0.3:
dezalgo@^1.0.0, dezalgo@~1.0.3:
version "1.0.3"
version "1.0.3"
resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456"
resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456"
...
@@ -4020,6 +4063,14 @@ env-paths@^2.2.0:
...
@@ -4020,6 +4063,14 @@ env-paths@^2.2.0:
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==
integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==
envify@^3.0.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/envify/-/envify-3.4.1.tgz#d7122329e8df1688ba771b12501917c9ce5cbce8"
integrity sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=
dependencies:
jstransform "^11.0.3"
through "~2.3.4"
err-code@^1.0.0:
err-code@^1.0.0:
version "1.1.2"
version "1.1.2"
resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960"
resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960"
...
@@ -4262,10 +4313,20 @@ espree@^5.0.1:
...
@@ -4262,10 +4313,20 @@ espree@^5.0.1:
acorn-jsx "^5.0.0"
acorn-jsx "^5.0.0"
eslint-visitor-keys "^1.0.0"
eslint-visitor-keys "^1.0.0"
esprima-fb@^15001.1.0-dev-harmony-fb:
version "15001.1.0-dev-harmony-fb"
resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz#30a947303c6b8d5e955bee2b99b1d233206a6901"
integrity sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=
esprima@^4.0.0:
esprima@^4.0.0:
version "4.0.1"
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
esprima@~3.1.0:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
esquery@^1.0.1:
esquery@^1.0.1:
version "1.0.1"
version "1.0.1"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
...
@@ -4869,6 +4930,17 @@ glob-to-regexp@^0.3.0:
...
@@ -4869,6 +4930,17 @@ glob-to-regexp@^0.3.0:
version "0.3.0"
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
glob@^5.0.15:
version "5.0.15"
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
dependencies:
inflight "^1.0.4"
inherits "2"
minimatch "2 || 3"
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1:
glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1:
version "7.1.6"
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
...
@@ -5243,7 +5315,7 @@ humanize-ms@^1.2.1:
...
@@ -5243,7 +5315,7 @@ humanize-ms@^1.2.1:
dependencies:
dependencies:
ms "^2.0.0"
ms "^2.0.0"
iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.24:
iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.24
, iconv-lite@^0.4.5
:
version "0.4.24"
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
dependencies:
dependencies:
...
@@ -6010,6 +6082,17 @@ jsprim@^1.2.2:
...
@@ -6010,6 +6082,17 @@ jsprim@^1.2.2:
json-schema "0.2.3"
json-schema "0.2.3"
verror "1.10.0"
verror "1.10.0"
jstransform@^11.0.3:
version "11.0.3"
resolved "https://registry.yarnpkg.com/jstransform/-/jstransform-11.0.3.tgz#09a78993e0ae4d4ef4487f6155a91f6190cb4223"
integrity sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=
dependencies:
base62 "^1.1.0"
commoner "^0.10.1"
esprima-fb "^15001.1.0-dev-harmony-fb"
object-assign "^2.0.0"
source-map "^0.4.2"
jsx-ast-utils@^2.0.1:
jsx-ast-utils@^2.0.1:
version "2.2.3"
version "2.2.3"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f"
...
@@ -6709,7 +6792,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
...
@@ -6709,7 +6792,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2:
"minimatch@2 || 3",
minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2:
version "3.0.4"
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
...
@@ -7167,7 +7250,6 @@ npm@5.1.0, npm@>=6.14.4:
...
@@ -7167,7 +7250,6 @@ npm@5.1.0, npm@>=6.14.4:
cmd-shim "^3.0.3"
cmd-shim "^3.0.3"
columnify "~1.5.4"
columnify "~1.5.4"
config-chain "^1.1.12"
config-chain "^1.1.12"
debuglog "*"
detect-indent "~5.0.0"
detect-indent "~5.0.0"
detect-newline "^2.1.0"
detect-newline "^2.1.0"
dezalgo "~1.0.3"
dezalgo "~1.0.3"
...
@@ -7182,7 +7264,6 @@ npm@5.1.0, npm@>=6.14.4:
...
@@ -7182,7 +7264,6 @@ npm@5.1.0, npm@>=6.14.4:
has-unicode "~2.0.1"
has-unicode "~2.0.1"
hosted-git-info "^2.8.8"
hosted-git-info "^2.8.8"
iferr "^1.0.2"
iferr "^1.0.2"
imurmurhash "*"
infer-owner "^1.0.4"
infer-owner "^1.0.4"
inflight "~1.0.6"
inflight "~1.0.6"
inherits "^2.0.4"
inherits "^2.0.4"
...
@@ -7201,14 +7282,8 @@ npm@5.1.0, npm@>=6.14.4:
...
@@ -7201,14 +7282,8 @@ npm@5.1.0, npm@>=6.14.4:
libnpx "^10.2.4"
libnpx "^10.2.4"
lock-verify "^2.1.0"
lock-verify "^2.1.0"
lockfile "^1.0.4"
lockfile "^1.0.4"
lodash._baseindexof "*"
lodash._baseuniq "~4.6.0"
lodash._baseuniq "~4.6.0"
lodash._bindcallback "*"
lodash._cacheindexof "*"
lodash._createcache "*"
lodash._getnative "*"
lodash.clonedeep "~4.5.0"
lodash.clonedeep "~4.5.0"
lodash.restparam "*"
lodash.union "~4.6.0"
lodash.union "~4.6.0"
lodash.uniq "~4.5.0"
lodash.uniq "~4.5.0"
lodash.without "~4.4.0"
lodash.without "~4.4.0"
...
@@ -7310,6 +7385,11 @@ oauth-sign@~0.9.0:
...
@@ -7310,6 +7385,11 @@ oauth-sign@~0.9.0:
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
object-assign@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
integrity sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
...
@@ -8466,7 +8546,7 @@ pretty-format@^24.9.0:
...
@@ -8466,7 +8546,7 @@ pretty-format@^24.9.0:
ansi-styles "^3.2.0"
ansi-styles "^3.2.0"
react-is "^16.8.4"
react-is "^16.8.4"
private@^0.1.6:
private@^0.1.6
, private@~0.1.5
:
version "0.1.8"
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
...
@@ -8515,7 +8595,7 @@ promzard@^0.3.0:
...
@@ -8515,7 +8595,7 @@ promzard@^0.3.0:
dependencies:
dependencies:
read "1"
read "1"
prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.2:
prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.8,
prop-types@^15.6.1,
prop-types@^15.6.2, prop-types@^15.7.2:
version "15.7.2"
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
dependencies:
dependencies:
...
@@ -8785,6 +8865,20 @@ react-monaco-editor@^0.32.1:
...
@@ -8785,6 +8865,20 @@ react-monaco-editor@^0.32.1:
"@types/react" "^15.x || ^16.x"
"@types/react" "^15.x || ^16.x"
prop-types "^15.0.0"
prop-types "^15.0.0"
react-paginate@^6.3.2:
version "6.3.2"
resolved "https://registry.yarnpkg.com/react-paginate/-/react-paginate-6.3.2.tgz#4e18cbdb2654d308566775fa14df11e820188391"
integrity sha512-Ch++Njfv8UHpLtIMiQouAPeJQA5Ki86kIYfCer6c1B96Rvn3UF27se+goCilCP8oHNXNsA2R2kxvzanY1YIkyg==
dependencies:
prop-types "^15.6.1"
react-pagination@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/react-pagination/-/react-pagination-1.0.0.tgz#28e605b844c8033c498d2d9f0f5585daf6b84d55"
integrity sha1-KOYFuETIAzxJjS2fD1WF2va4TVU=
dependencies:
react "^0.13.3"
react-router@^3.2.3:
react-router@^3.2.3:
version "3.2.5"
version "3.2.5"
resolved "https://registry.yarnpkg.com/react-router/-/react-router-3.2.5.tgz#6f5ce8f4f0b4ff6a6b2fc6106d7619e342fb57be"
resolved "https://registry.yarnpkg.com/react-router/-/react-router-3.2.5.tgz#6f5ce8f4f0b4ff6a6b2fc6106d7619e342fb57be"
...
@@ -8802,6 +8896,13 @@ react-table@^7.0.0-rc.15:
...
@@ -8802,6 +8896,13 @@ react-table@^7.0.0-rc.15:
version "7.0.0-rc.15"
version "7.0.0-rc.15"
resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.0.0-rc.15.tgz#bb855e4e2abbb4aaf0ed2334404a41f3ada8e13a"
resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.0.0-rc.15.tgz#bb855e4e2abbb4aaf0ed2334404a41f3ada8e13a"
react@^0.13.3:
version "0.13.3"
resolved "https://registry.yarnpkg.com/react/-/react-0.13.3.tgz#a2dfa85335d7dc02b82b482f089582e64cc13356"
integrity sha1-ot+oUzXX3AK4K0gvCJWC5kzBM1Y=
dependencies:
envify "^3.0.0"
react@^16.8.6:
react@^16.8.6:
version "16.12.0"
version "16.12.0"
resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83"
resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83"
...
@@ -8971,6 +9072,16 @@ realpath-native@^1.1.0:
...
@@ -8971,6 +9072,16 @@ realpath-native@^1.1.0:
dependencies:
dependencies:
util.promisify "^1.0.0"
util.promisify "^1.0.0"
recast@^0.11.17:
version "0.11.23"
resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3"
integrity sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=
dependencies:
ast-types "0.9.6"
esprima "~3.1.0"
private "~0.1.5"
source-map "~0.5.0"
recursive-readdir@2.2.2:
recursive-readdir@2.2.2:
version "2.2.2"
version "2.2.2"
resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f"
resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f"
...
@@ -9666,7 +9777,7 @@ source-map@^0.4.2:
...
@@ -9666,7 +9777,7 @@ source-map@^0.4.2:
dependencies:
dependencies:
amdefine ">=0.0.4"
amdefine ">=0.0.4"
source-map@^0.5.0, source-map@^0.5.6:
source-map@^0.5.0, source-map@^0.5.6
, source-map@~0.5.0
:
version "0.5.7"
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
...
@@ -10143,7 +10254,7 @@ through2@^2.0.0:
...
@@ -10143,7 +10254,7 @@ through2@^2.0.0:
readable-stream "~2.3.6"
readable-stream "~2.3.6"
xtend "~4.0.1"
xtend "~4.0.1"
"through@>=2.2.7 <3", through@^2.3.6:
"through@>=2.2.7 <3", through@^2.3.6
, through@~2.3.4
:
version "2.3.8"
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
...
@@ -10291,9 +10402,10 @@ typedarray@^0.0.6:
...
@@ -10291,9 +10402,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
typescript@3.4.5:
typescript@^3.8.0:
version "3.4.5"
version "3.9.7"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.4.5.tgz#2d2618d10bb566572b8d7aad5180d84257d70a99"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
ua-parser-js@^0.7.18:
ua-parser-js@^0.7.18:
version "0.7.21"
version "0.7.21"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment