summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--releasenotes/notes/web-timezone-select-901e4f9ff3aee1f1.yaml3
-rw-r--r--web/package.json2
-rw-r--r--web/src/App.jsx15
-rw-r--r--web/src/actions/timezone.js20
-rw-r--r--web/src/containers/build/Summary.jsx6
-rw-r--r--web/src/containers/timezone/SelectTz.jsx142
-rw-r--r--web/src/pages/Builds.jsx17
-rw-r--r--web/src/pages/Status.jsx11
-rw-r--r--web/src/reducers/index.js12
-rw-r--r--web/src/reducers/timezone.js22
-rw-r--r--web/yarn.lock275
11 files changed, 505 insertions, 20 deletions
diff --git a/releasenotes/notes/web-timezone-select-901e4f9ff3aee1f1.yaml b/releasenotes/notes/web-timezone-select-901e4f9ff3aee1f1.yaml
new file mode 100644
index 000000000..a2afcc829
--- /dev/null
+++ b/releasenotes/notes/web-timezone-select-901e4f9ff3aee1f1.yaml
@@ -0,0 +1,3 @@
+---
+features:
+ - Add new timezone selector in web interface
diff --git a/web/package.json b/web/package.json
index b811c7a24..784aedbdb 100644
--- a/web/package.json
+++ b/web/package.json
@@ -13,6 +13,7 @@
"lodash": "^4.17.10",
"moment": "^2.22.2",
"moment-duration-format": "2.3.2",
+ "moment-timezone": "^0.5.28",
"patternfly-react": "^2.13.1",
"prop-types": "^15.6.2",
"react": "^16.4.2",
@@ -23,6 +24,7 @@
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",
"react-scripts": "1.1.4",
+ "react-select": "3.1.0",
"redux": "<4.0.0",
"redux-thunk": "^2.3.0",
"sockette": "^2.0.0",
diff --git a/web/src/App.jsx b/web/src/App.jsx
index 619cc499e..1b412f572 100644
--- a/web/src/App.jsx
+++ b/web/src/App.jsx
@@ -31,12 +31,12 @@ import {
import * as moment from 'moment'
import ErrorBoundary from './containers/ErrorBoundary'
+import SelectTz from './containers/timezone/SelectTz'
import logo from './images/logo.png'
-import { routes } from './routes'
+import { clearError } from './actions/errors'
import { fetchConfigErrorsAction } from './actions/configErrors'
+import { routes } from './routes'
import { setTenantAction } from './actions/tenant'
-import { clearError } from './actions/errors'
-
class App extends React.Component {
static propTypes = {
@@ -44,6 +44,7 @@ class App extends React.Component {
configErrors: PropTypes.array,
info: PropTypes.object,
tenant: PropTypes.object,
+ timezone: PropTypes.string,
location: PropTypes.object,
history: PropTypes.object,
dispatch: PropTypes.func
@@ -166,7 +167,7 @@ class App extends React.Component {
type='error'
onDismiss={() => {this.props.dispatch(clearError(error.id))}}
>
- <span title={moment(error.date).format()}>
+ <span title={moment.utc(error.date).tz(this.props.timezone).format()}>
<strong>{error.text}</strong> ({error.status})&nbsp;
{error.url}
</span>
@@ -273,6 +274,9 @@ class App extends React.Component {
</Link>
</li>
)}
+ <li>
+ <SelectTz/>
+ </li>
</ul>
{showErrors && this.renderConfigErrors(configErrors)}
</div>
@@ -299,6 +303,7 @@ export default withRouter(connect(
errors: state.errors,
configErrors: state.configErrors,
info: state.info,
- tenant: state.tenant
+ tenant: state.tenant,
+ timezone: state.timezone
})
)(App))
diff --git a/web/src/actions/timezone.js b/web/src/actions/timezone.js
new file mode 100644
index 000000000..738eb6884
--- /dev/null
+++ b/web/src/actions/timezone.js
@@ -0,0 +1,20 @@
+// Licensed under the Apache License, Version 2.0 (the "License"); you may
+// not use this file except in compliance with the License. You may obtain
+// a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations
+// under the License.
+
+export const TIMEZONE_SET = 'TIMEZONE_SET'
+
+export function setTimezoneAction (name) {
+ return {
+ type: TIMEZONE_SET,
+ timezone: name
+ }
+}
diff --git a/web/src/containers/build/Summary.jsx b/web/src/containers/build/Summary.jsx
index c03f24c3c..dbccdbc59 100644
--- a/web/src/containers/build/Summary.jsx
+++ b/web/src/containers/build/Summary.jsx
@@ -28,6 +28,7 @@ class Summary extends React.Component {
static propTypes = {
build: PropTypes.object,
tenant: PropTypes.object,
+ timezone: PropTypes.string,
}
render () {
@@ -75,6 +76,9 @@ class Summary extends React.Component {
value = 'false'
}
}
+ if (column === 'start_time' || column === 'end_time') {
+ value = moment.utc(value).tz(this.props.timezone).format('YYYY-MM-DD HH:mm:ss')
+ }
if (column === 'duration') {
value = moment.duration(value, 'seconds')
.format('h [hr] m [min] s [sec]')
@@ -124,4 +128,4 @@ class Summary extends React.Component {
}
-export default connect(state => ({tenant: state.tenant}))(Summary)
+export default connect(state => ({tenant: state.tenant, timezone: state.timezone}))(Summary)
diff --git a/web/src/containers/timezone/SelectTz.jsx b/web/src/containers/timezone/SelectTz.jsx
new file mode 100644
index 000000000..78092d2ab
--- /dev/null
+++ b/web/src/containers/timezone/SelectTz.jsx
@@ -0,0 +1,142 @@
+// Licensed under the Apache License, Version 2.0 (the "License"); you may
+// not use this file except in compliance with the License. You may obtain
+// a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations
+// under the License.
+
+import PropTypes from 'prop-types'
+import React from 'react'
+import Select from 'react-select'
+import moment from 'moment-timezone'
+import { Icon } from 'patternfly-react'
+import { connect } from 'react-redux'
+import { setTimezoneAction } from '../../actions/timezone'
+
+class SelectTz extends React.Component {
+ static propTypes = {
+ dispatch: PropTypes.func
+ }
+
+ state = {
+ availableTz: moment.tz.names().map(item => ({value: item, label: item})),
+ defaultValue: {value: 'UTC', label: 'UTC'}
+ }
+
+ componentDidMount () {
+ this.loadState()
+ }
+
+ handleChange = (selectedTz) => {
+ const tz = selectedTz.value
+
+ this.setCookie('zuul_tz_string', tz)
+ this.updateState(tz)
+ }
+
+ setCookie (name, value) {
+ document.cookie = name + '=' + value + '; path=/'
+ }
+
+ loadState = () => {
+ function readCookie (name, defaultValue) {
+ let nameEQ = name + '='
+ let ca = document.cookie.split(';')
+ for (let i = 0; i < ca.length; i++) {
+ let c = ca[i]
+ while (c.charAt(0) === ' ') {
+ c = c.substring(1, c.length)
+ }
+ if (c.indexOf(nameEQ) === 0) {
+ return c.substring(nameEQ.length, c.length)
+ }
+ }
+ return defaultValue
+ }
+ let tz = readCookie('zuul_tz_string', '')
+ if (tz) {
+ this.updateState(tz)
+ }
+ }
+
+ updateState = (tz) => {
+
+ this.setState({
+ currentValue: {value: tz, label: tz}
+ })
+
+ let timezoneAction = setTimezoneAction(tz)
+ this.props.dispatch(timezoneAction)
+ }
+
+ render() {
+ const textColor = '#d1d1d1'
+ const containerStyles= {
+ border: 'solid #2b2b2b',
+ borderWidth: '0 0 0 1px',
+ cursor: 'pointer',
+ display: 'initial',
+ fontSize: '11px',
+ padding: '6px'
+ }
+ const iconStyles = {
+ padding: '5px'
+ }
+ const customStyles = {
+ container: () => ({
+ display: 'inline-block',
+ }),
+ control: () => ({
+ width: 'auto',
+ display: 'flex'
+ }),
+ singleValue: () => ({
+ color: textColor,
+ }),
+ input: (provided) => ({
+ ...provided,
+ color: textColor
+ }),
+ dropdownIndicator:(provided) => ({
+ ...provided,
+ padding: '3px'
+ }),
+ indicatorSeparator: () => {},
+ menu: (provided) => ({
+ ...provided,
+ width: 'auto',
+ right: '0',
+ top: '22px',
+ })
+ }
+ return (
+ <div style={containerStyles}>
+ <Icon style={iconStyles} type="fa" name="clock-o" />
+ <Select
+ styles={customStyles}
+ value={this.state.currentValue}
+ onChange={this.handleChange}
+ options={this.state.availableTz}
+ noOptionsMessage={() => 'No api found'}
+ placeholder={'Select Tz'}
+ defaultValue={this.state.defaultValue}
+ theme={(theme) => ({
+ ...theme,
+ borderRadius: 0,
+ spacing: {
+ ...theme.spacing,
+ baseUnit: 2,
+ },
+ })}
+ />
+ </div>
+ )
+ }
+}
+
+export default connect()(SelectTz)
diff --git a/web/src/pages/Builds.jsx b/web/src/pages/Builds.jsx
index 694608373..6dc0a4836 100644
--- a/web/src/pages/Builds.jsx
+++ b/web/src/pages/Builds.jsx
@@ -17,7 +17,7 @@ import PropTypes from 'prop-types'
import { connect } from 'react-redux'
import { Link } from 'react-router-dom'
import { Table } from 'patternfly-react'
-import * as moment from 'moment'
+import * as moment from 'moment-timezone'
import 'moment-duration-format'
import { fetchBuilds } from '../api'
@@ -26,12 +26,12 @@ import TableFilters from '../containers/TableFilters'
class BuildsPage extends TableFilters {
static propTypes = {
- tenant: PropTypes.object
+ tenant: PropTypes.object,
+ timezone: PropTypes.string
}
constructor () {
super()
-
this.prepareTableHeaders()
this.state = {
builds: null,
@@ -60,7 +60,8 @@ class BuildsPage extends TableFilters {
}
componentDidUpdate (prevProps) {
- if (this.props.tenant.name !== prevProps.tenant.name) {
+ if (this.props.tenant.name !== prevProps.tenant.name ||
+ this.props.timezone !== prevProps.timezone) {
this.updateData(this.getFilterFromUrl())
}
}
@@ -84,6 +85,11 @@ class BuildsPage extends TableFilters {
{moment.duration(value, 'seconds').format('h [hr] m [min] s [sec]')}
</Table.Cell>
)
+ const timeFormat = (value) => (
+ <Table.Cell>
+ {moment.utc(value).tz(this.props.timezone).format('YYYY-MM-DD HH:mm:ss')}
+ </Table.Cell>
+ )
this.columns = []
this.filterTypes = []
const myColumns = [
@@ -103,6 +109,7 @@ class BuildsPage extends TableFilters {
prop = 'job_name'
} else if (column === 'start time') {
prop = 'start_time'
+ formatter = timeFormat
} else if (column === 'change') {
prop = 'change'
formatter = linkChangeFormat
@@ -169,4 +176,4 @@ class BuildsPage extends TableFilters {
}
}
-export default connect(state => ({tenant: state.tenant}))(BuildsPage)
+export default connect(state => ({tenant: state.tenant, timezone: state.timezone}))(BuildsPage)
diff --git a/web/src/pages/Status.jsx b/web/src/pages/Status.jsx
index ad169e556..84555b5d2 100644
--- a/web/src/pages/Status.jsx
+++ b/web/src/pages/Status.jsx
@@ -13,6 +13,7 @@
// License for the specific language governing permissions and limitations
// under the License.
+import * as moment from 'moment-timezone'
import * as React from 'react'
import PropTypes from 'prop-types'
import { connect } from 'react-redux'
@@ -33,6 +34,7 @@ class StatusPage extends Refreshable {
static propTypes = {
location: PropTypes.object,
tenant: PropTypes.object,
+ timezone: PropTypes.string,
remoteData: PropTypes.object,
dispatch: PropTypes.func
}
@@ -111,6 +113,12 @@ class StatusPage extends Refreshable {
this.visibilityChangeEvent, this.visibilityListener)
}
+ componentDidUpdate (prevProps) {
+ if (this.props.timezone !== prevProps.timezo) {
+ this.loadState()
+ }
+ }
+
setFilter = (filter) => {
this.filter.value = filter
this.setState({filter: filter})
@@ -184,7 +192,7 @@ class StatusPage extends Refreshable {
<p>Zuul version: <span>{status.zuul_version}</span></p>
{status.last_reconfigured ? (
<p>Last reconfigured: <span>
- {new Date(status.last_reconfigured).toString()}
+ {moment.utc(status.last_reconfigured).tz(this.props.timezone).format('llll')}
</span></p>) : ''}
</React.Fragment>
)
@@ -258,5 +266,6 @@ class StatusPage extends Refreshable {
export default connect(state => ({
tenant: state.tenant,
+ timezone: state.timezone,
remoteData: state.status,
}))(StatusPage)
diff --git a/web/src/reducers/index.js b/web/src/reducers/index.js
index 18abb44e3..84fe8e6fd 100644
--- a/web/src/reducers/index.js
+++ b/web/src/reducers/index.js
@@ -24,30 +24,32 @@ import jobs from './jobs'
import labels from './labels'
import logfile from './logfile'
import nodes from './nodes'
+import openapi from './openapi'
import project from './project'
import projects from './projects'
import status from './status'
import tenant from './tenant'
import tenants from './tenants'
-import openapi from './openapi'
+import timezone from './timezone'
const reducers = {
- change,
build,
+ change,
+ configErrors,
+ errors,
info,
job,
jobs,
labels,
logfile,
nodes,
+ openapi,
project,
projects,
- configErrors,
- errors,
status,
tenant,
tenants,
- openapi,
+ timezone,
}
export default combineReducers(reducers)
diff --git a/web/src/reducers/timezone.js b/web/src/reducers/timezone.js
new file mode 100644
index 000000000..c382ab0d3
--- /dev/null
+++ b/web/src/reducers/timezone.js
@@ -0,0 +1,22 @@
+// Licensed under the Apache License, Version 2.0 (the "License"); you may
+// not use this file except in compliance with the License. You may obtain
+// a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations
+// under the License.
+
+import { TIMEZONE_SET } from '../actions/timezone'
+
+export default (state = 'UTC', action) => {
+ switch (action.type) {
+ case TIMEZONE_SET:
+ return action.timezone
+ default:
+ return state
+ }
+ }
diff --git a/web/yarn.lock b/web/yarn.lock
index f572e43fc..08da1ee27 100644
--- a/web/yarn.lock
+++ b/web/yarn.lock
@@ -9,6 +9,18 @@
dependencies:
"@babel/highlight" "^7.0.0"
+"@babel/helper-module-imports@^7.0.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
+ integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-validator-identifier@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
+ integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
+
"@babel/highlight@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
@@ -33,11 +45,104 @@
dependencies:
regenerator-runtime "^0.13.2"
+"@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+ version "7.9.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06"
+ integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
+"@babel/types@^7.8.3":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444"
+ integrity sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.9.5"
+ lodash "^4.17.13"
+ to-fast-properties "^2.0.0"
+
"@braintree/sanitize-url@^2.0.2":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-2.1.0.tgz#549a9d1f923c9bc7953a585d3e9aa9429be8fe28"
integrity sha1-VJqdH5I8m8eVOlhdPpqpQpvo/ig=
+"@emotion/cache@^10.0.27", "@emotion/cache@^10.0.9":
+ version "10.0.29"
+ resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0"
+ integrity sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==
+ dependencies:
+ "@emotion/sheet" "0.9.4"
+ "@emotion/stylis" "0.8.5"
+ "@emotion/utils" "0.11.3"
+ "@emotion/weak-memoize" "0.2.5"
+
+"@emotion/core@^10.0.9":
+ version "10.0.28"
+ resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.28.tgz#bb65af7262a234593a9e952c041d0f1c9b9bef3d"
+ integrity sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==
+ dependencies:
+ "@babel/runtime" "^7.5.5"
+ "@emotion/cache" "^10.0.27"
+ "@emotion/css" "^10.0.27"
+ "@emotion/serialize" "^0.11.15"
+ "@emotion/sheet" "0.9.4"
+ "@emotion/utils" "0.11.3"
+
+"@emotion/css@^10.0.27", "@emotion/css@^10.0.9":
+ version "10.0.27"
+ resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.27.tgz#3a7458198fbbebb53b01b2b87f64e5e21241e14c"
+ integrity sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==
+ dependencies:
+ "@emotion/serialize" "^0.11.15"
+ "@emotion/utils" "0.11.3"
+ babel-plugin-emotion "^10.0.27"
+
+"@emotion/hash@0.8.0":
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
+ integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
+
+"@emotion/memoize@0.7.4":
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
+ integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
+
+"@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16":
+ version "0.11.16"
+ resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.16.tgz#dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad"
+ integrity sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==
+ dependencies:
+ "@emotion/hash" "0.8.0"
+ "@emotion/memoize" "0.7.4"
+ "@emotion/unitless" "0.7.5"
+ "@emotion/utils" "0.11.3"
+ csstype "^2.5.7"
+
+"@emotion/sheet@0.9.4":
+ version "0.9.4"
+ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.4.tgz#894374bea39ec30f489bbfc3438192b9774d32e5"
+ integrity sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==
+
+"@emotion/stylis@0.8.5":
+ version "0.8.5"
+ resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04"
+ integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
+
+"@emotion/unitless@0.7.5":
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
+ integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
+
+"@emotion/utils@0.11.3":
+ version "0.11.3"
+ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924"
+ integrity sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==
+
+"@emotion/weak-memoize@0.2.5":
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
+ integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
+
"@kyleshockey/js-yaml@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@kyleshockey/js-yaml/-/js-yaml-1.0.1.tgz#5c036bb67caee77fa887738e695dc02949889bfd"
@@ -276,6 +381,11 @@
resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz#c8fa532b60a0042219cdf173ca21a975ef0666ad"
integrity sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ==
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
"@types/react@16.4.6":
version "16.4.6"
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.6.tgz#5024957c6bcef4f02823accf5974faba2e54fada"
@@ -977,6 +1087,22 @@ babel-plugin-dynamic-import-node@1.1.0:
babel-template "^6.26.0"
babel-types "^6.26.0"
+babel-plugin-emotion@^10.0.27:
+ version "10.0.33"
+ resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz#ce1155dcd1783bbb9286051efee53f4e2be63e03"
+ integrity sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@emotion/hash" "0.8.0"
+ "@emotion/memoize" "0.7.4"
+ "@emotion/serialize" "^0.11.16"
+ babel-plugin-macros "^2.0.0"
+ babel-plugin-syntax-jsx "^6.18.0"
+ convert-source-map "^1.5.0"
+ escape-string-regexp "^1.0.5"
+ find-root "^1.1.0"
+ source-map "^0.5.7"
+
babel-plugin-istanbul@^4.0.0:
version "4.1.6"
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45"
@@ -992,6 +1118,15 @@ babel-plugin-jest-hoist@^20.0.3:
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz#afedc853bd3f8dc3548ea671fbe69d03cc2c1767"
integrity sha1-r+3IU70/jcNUjqZx++adA8wsF2c=
+babel-plugin-macros@^2.0.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138"
+ integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
+ dependencies:
+ "@babel/runtime" "^7.7.2"
+ cosmiconfig "^6.0.0"
+ resolve "^1.12.0"
+
babel-plugin-syntax-async-functions@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
@@ -1017,7 +1152,7 @@ babel-plugin-syntax-flow@^6.18.0:
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d"
integrity sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=
-babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0:
+babel-plugin-syntax-jsx@^6.18.0, babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
@@ -2361,6 +2496,17 @@ cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
parse-json "^2.2.0"
require-from-string "^1.1.0"
+cosmiconfig@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
+ integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.1.0"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.7.2"
+
create-ecdh@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
@@ -2601,6 +2747,11 @@ csstype@^2.2.0:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.5.tgz#1cd1dff742ebf4d7c991470ae71e12bb6751e034"
integrity sha512-JsTaiksRsel5n7XwqPAfB0l3TFKdpjW/kgAELf9vrb5adGA7UCPLajKK5s3nFrcFm3Rkyp/Qkgl73ENc1UY3cA==
+csstype@^2.5.7, csstype@^2.6.7:
+ version "2.6.10"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b"
+ integrity sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==
+
currently-unhandled@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
@@ -2924,6 +3075,14 @@ dom-helpers@^3.2.0, dom-helpers@^3.2.1, dom-helpers@^3.4.0:
dependencies:
"@babel/runtime" "^7.1.2"
+dom-helpers@^5.0.1:
+ version "5.1.4"
+ resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.4.tgz#4609680ab5c79a45f2531441f1949b79d6587f4b"
+ integrity sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A==
+ dependencies:
+ "@babel/runtime" "^7.8.7"
+ csstype "^2.6.7"
+
dom-serializer@0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
@@ -3111,7 +3270,7 @@ errno@^0.1.3, errno@~0.1.7:
dependencies:
prr "~1.0.1"
-error-ex@^1.2.0:
+error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
@@ -3890,6 +4049,11 @@ find-cache-dir@^1.0.0:
make-dir "^1.0.0"
pkg-dir "^2.0.0"
+find-root@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
+ integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
+
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -4610,6 +4774,14 @@ import-fresh@^3.0.0:
parent-module "^1.0.0"
resolve-from "^4.0.0"
+import-fresh@^3.1.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
+ integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
import-lazy@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
@@ -5516,6 +5688,11 @@ json-loader@^0.5.4:
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==
+json-parse-better-errors@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+ integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+
json-schema-traverse@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
@@ -5679,6 +5856,11 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
+lines-and-columns@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+
load-json-file@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
@@ -5810,6 +5992,11 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
+lodash@^4.17.13:
+ version "4.17.15"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
+ integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
+
loglevel@^1.4.1:
version "1.6.3"
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280"
@@ -5922,6 +6109,11 @@ mem@^1.1.0:
dependencies:
mimic-fn "^1.0.0"
+memoize-one@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
+ integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==
+
memoizee@^0.4.12:
version "0.4.14"
resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
@@ -6124,7 +6316,14 @@ moment-timezone@^0.4.0, moment-timezone@^0.4.1:
dependencies:
moment ">= 2.6.0"
-"moment@>= 2.6.0", moment@^2.10, moment@^2.19.1, moment@^2.22.2:
+moment-timezone@^0.5.28:
+ version "0.5.28"
+ resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.28.tgz#f093d789d091ed7b055d82aa81a82467f72e4338"
+ integrity sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==
+ dependencies:
+ moment ">= 2.9.0"
+
+"moment@>= 2.6.0", "moment@>= 2.9.0", moment@^2.10, moment@^2.19.1, moment@^2.22.2:
version "2.24.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
@@ -6655,6 +6854,16 @@ parse-json@^2.2.0:
dependencies:
error-ex "^1.2.0"
+parse-json@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f"
+ integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+ lines-and-columns "^1.1.6"
+
parse-passwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
@@ -6745,6 +6954,11 @@ path-type@^2.0.0:
dependencies:
pify "^2.0.0"
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
patternfly-bootstrap-combobox@~1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/patternfly-bootstrap-combobox/-/patternfly-bootstrap-combobox-1.1.7.tgz#6a5e3ccd1170c21b3c4b4aa168a7413e1ddbb6e1"
@@ -7636,6 +7850,13 @@ react-immutable-pure-component@^1.1.1:
optionalDependencies:
"@types/react" "16.4.6"
+react-input-autosize@^2.2.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2"
+ integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==
+ dependencies:
+ prop-types "^15.5.8"
+
react-inspector@^2.3.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.3.1.tgz#f0eb7f520669b545b441af9d38ec6d706e5f649c"
@@ -7801,6 +8022,20 @@ react-scripts@1.1.4:
optionalDependencies:
fsevents "^1.1.3"
+react-select@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.1.0.tgz#ab098720b2e9fe275047c993f0d0caf5ded17c27"
+ integrity sha512-wBFVblBH1iuCBprtpyGtd1dGMadsG36W5/t2Aj8OE6WbByDg5jIFyT7X5gT+l0qmT5TqWhxX+VsKJvCEl2uL9g==
+ dependencies:
+ "@babel/runtime" "^7.4.4"
+ "@emotion/cache" "^10.0.9"
+ "@emotion/core" "^10.0.9"
+ "@emotion/css" "^10.0.9"
+ memoize-one "^5.0.0"
+ prop-types "^15.6.0"
+ react-input-autosize "^2.2.2"
+ react-transition-group "^4.3.0"
+
react-textarea-autosize@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-6.1.0.tgz#df91387f8a8f22020b77e3833c09829d706a09a5"
@@ -7818,6 +8053,16 @@ react-transition-group@^2.0.0, react-transition-group@^2.2.0:
prop-types "^15.6.2"
react-lifecycles-compat "^3.0.4"
+react-transition-group@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.3.0.tgz#fea832e386cf8796c58b61874a3319704f5ce683"
+ integrity sha512-1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw==
+ dependencies:
+ "@babel/runtime" "^7.5.5"
+ dom-helpers "^5.0.1"
+ loose-envify "^1.4.0"
+ prop-types "^15.6.2"
+
react@^15.6.2:
version "15.6.2"
resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72"
@@ -7989,6 +8234,11 @@ regenerator-runtime@^0.13.2:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447"
integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==
+regenerator-runtime@^0.13.4:
+ version "0.13.5"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697"
+ integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==
+
regenerator-transform@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
@@ -8227,6 +8477,13 @@ resolve@^1.10.0, resolve@^1.10.1, resolve@^1.3.2, resolve@^1.5.0:
dependencies:
path-parse "^1.0.6"
+resolve@^1.12.0:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
+ integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
+ dependencies:
+ path-parse "^1.0.6"
+
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@@ -9144,6 +9401,11 @@ to-fast-properties@^1.0.3:
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
+to-fast-properties@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@@ -9862,6 +10124,13 @@ yallist@^3.0.0, yallist@^3.0.3:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
+yaml@^1.7.2:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.9.2.tgz#f0cfa865f003ab707663e4f04b3956957ea564ed"
+ integrity sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==
+ dependencies:
+ "@babel/runtime" "^7.9.2"
+
yargs-parser@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"