web: add OpenAPI documentation
This change adds a swagger description of the REST API. The description is rendered in the sphinx user documentations and in the web interface. Change-Id: I753524f40a09874dab5952f14ab17025525bbab9
This commit is contained in:
parent
1fab39cc4b
commit
85616c4c09
@ -3,5 +3,6 @@ sphinx>=1.6.1
|
||||
sphinxcontrib-blockdiag>=1.1.0
|
||||
sphinxcontrib-programoutput
|
||||
sphinx-autodoc-typehints
|
||||
sphinxcontrib-openapi>=0.4.0
|
||||
reno>=2.8.0 # Apache-2.0
|
||||
zuul-sphinx
|
||||
|
@ -31,6 +31,7 @@ extensions = [
|
||||
'sphinx.ext.graphviz',
|
||||
'sphinxcontrib.blockdiag',
|
||||
'sphinxcontrib.programoutput',
|
||||
'sphinxcontrib.openapi',
|
||||
'zuul_sphinx',
|
||||
'zuul.sphinx.ansible',
|
||||
'zuul.sphinx.zuul',
|
||||
|
@ -16,6 +16,7 @@ configure it to meet your needs.
|
||||
config
|
||||
jobs
|
||||
encryption
|
||||
web
|
||||
badges
|
||||
howtos
|
||||
vulnerabilities
|
||||
|
7
doc/source/user/web.rst
Normal file
7
doc/source/user/web.rst
Normal file
@ -0,0 +1,7 @@
|
||||
:title: REST API
|
||||
|
||||
Rest API
|
||||
========
|
||||
|
||||
.. openapi:: ../../../web/public/openapi.yaml
|
||||
:examples:
|
@ -1,4 +1,5 @@
|
||||
flake8
|
||||
openapi-spec-validator
|
||||
|
||||
coverage>=3.6
|
||||
fixtures>=0.3.14
|
||||
|
1
tox.ini
1
tox.ini
@ -54,6 +54,7 @@ install_command = pip install {opts} {packages}
|
||||
commands =
|
||||
flake8 {posargs}
|
||||
mypy --ignore-missing-imports zuul
|
||||
openapi-spec-validator web/public/openapi.yaml
|
||||
|
||||
[testenv:cover]
|
||||
setenv =
|
||||
|
@ -9,6 +9,7 @@
|
||||
"dependencies": {
|
||||
"axios": "^0.19.0",
|
||||
"immutability-helper": "^2.8.1",
|
||||
"js-yaml": "^3.13.0",
|
||||
"lodash": "^4.17.10",
|
||||
"moment": "^2.22.2",
|
||||
"patternfly-react": "^2.13.1",
|
||||
@ -24,6 +25,7 @@
|
||||
"redux": "<4.0.0",
|
||||
"redux-thunk": "^2.3.0",
|
||||
"sockette": "^2.0.0",
|
||||
"swagger-ui": "^3.20.1",
|
||||
"xterm": "<3.14.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
439
web/public/openapi.yaml
Normal file
439
web/public/openapi.yaml
Normal file
@ -0,0 +1,439 @@
|
||||
info:
|
||||
title: Zuul REST API
|
||||
version: v1
|
||||
description: Incomplete (work in progress) list of the endpoints.
|
||||
openapi: 3.0.0
|
||||
tags:
|
||||
- name: tenant
|
||||
paths:
|
||||
/api/tenant/{tenant}/builds:
|
||||
get:
|
||||
operationId: list-builds
|
||||
parameters:
|
||||
- description: The tenant name
|
||||
in: path
|
||||
name: tenant
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- description: A project name
|
||||
in: query
|
||||
name: project
|
||||
schema:
|
||||
type: string
|
||||
- description: A pipeline name
|
||||
in: query
|
||||
name: pipeline
|
||||
schema:
|
||||
type: string
|
||||
- description: A job name
|
||||
in: query
|
||||
name: job_name
|
||||
schema:
|
||||
type: string
|
||||
- description: A branch name
|
||||
in: query
|
||||
name: branch
|
||||
schema:
|
||||
type: string
|
||||
- description: A change number
|
||||
in: query
|
||||
name: change
|
||||
schema:
|
||||
type: string
|
||||
- description: A patchset number
|
||||
in: query
|
||||
name: patchset
|
||||
schema:
|
||||
type: string
|
||||
- description: A ref
|
||||
in: query
|
||||
name: ref
|
||||
schema:
|
||||
type: string
|
||||
- description: A new revision hash
|
||||
in: query
|
||||
name: newrev
|
||||
schema:
|
||||
type: string
|
||||
- description: A build uuid
|
||||
in: query
|
||||
name: uuid
|
||||
schema:
|
||||
type: string
|
||||
- description: A build voting status
|
||||
in: query
|
||||
name: voting
|
||||
schema:
|
||||
type: string
|
||||
- description: A build result
|
||||
in: query
|
||||
name: result
|
||||
schema:
|
||||
type: string
|
||||
- description: The limit count (default 50)
|
||||
in: query
|
||||
name: limit
|
||||
schema:
|
||||
type: string
|
||||
- description: Skip number of results
|
||||
in: query
|
||||
name: skip
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
'200':
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
description: The list of builds
|
||||
items:
|
||||
$ref: '#/components/schemas/build'
|
||||
type: array
|
||||
description: Returns the list of builds
|
||||
'404':
|
||||
description: Tenant not found
|
||||
summary: List the executed builds
|
||||
tags:
|
||||
- tenant
|
||||
/api/tenant/{tenant}/jobs:
|
||||
get:
|
||||
operationId: list-jobs
|
||||
parameters:
|
||||
- description: The tenant name
|
||||
in: path
|
||||
name: tenant
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
'200':
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
description: The list of jobs
|
||||
items:
|
||||
description: A job
|
||||
properties:
|
||||
description:
|
||||
description: The job short description
|
||||
type: string
|
||||
name:
|
||||
description: The job name
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
description: Returns the list of jobs
|
||||
'404':
|
||||
description: Tenant not found
|
||||
summary: List available jobs
|
||||
tags:
|
||||
- tenant
|
||||
/api/tenant/{tenant}/key/{project}.pub:
|
||||
get:
|
||||
operationId: get-project-key
|
||||
parameters:
|
||||
- description: The tenant name
|
||||
in: path
|
||||
name: tenant
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- description: The project name
|
||||
in: path
|
||||
name: project
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
'200':
|
||||
content:
|
||||
text/plain:
|
||||
example: '-----BEGIN PUBLIC KEY-----
|
||||
|
||||
MIICI...
|
||||
|
||||
-----END PUBLIC KEY-----
|
||||
|
||||
'
|
||||
schema:
|
||||
description: The project public key
|
||||
type: string
|
||||
description: Returns the project public key
|
||||
'404':
|
||||
description: Tenant or Project not found
|
||||
summary: Get a project public key
|
||||
tags:
|
||||
- tenant
|
||||
/api/tenant/{tenant}/status:
|
||||
get:
|
||||
operationId: get-status
|
||||
parameters:
|
||||
- description: The tenant name
|
||||
in: path
|
||||
name: tenant
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
'200':
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
description: The tenant status
|
||||
properties:
|
||||
last_reconfigured:
|
||||
description: The Epoch timestamp of the last reconfiguration
|
||||
type: integer
|
||||
pipelines:
|
||||
description: The list of pipelines
|
||||
items:
|
||||
$ref: '#/components/schemas/pipelineStatus'
|
||||
type: array
|
||||
result_event_queue:
|
||||
description: The number of completed events
|
||||
type: integer
|
||||
trigger_event_queue:
|
||||
description: The number of running events
|
||||
type: integer
|
||||
zuul_version:
|
||||
description: The Zuul version
|
||||
type: string
|
||||
type: object
|
||||
description: Returns the list of tenants
|
||||
'404':
|
||||
description: Tenant not found
|
||||
summary: Get tenant status
|
||||
tags:
|
||||
- tenant
|
||||
/api/tenants:
|
||||
get:
|
||||
operationId: list-tenants
|
||||
responses:
|
||||
'200':
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
description: Tenant name
|
||||
type: string
|
||||
projects:
|
||||
description: Tenant project count
|
||||
type: integer
|
||||
queue:
|
||||
description: Active changes count
|
||||
type: integer
|
||||
type: object
|
||||
type: array
|
||||
description: Returns the list of tenants
|
||||
summary: List the tenants
|
||||
tags:
|
||||
- tenant
|
||||
components:
|
||||
schemas:
|
||||
build:
|
||||
description: A build
|
||||
properties:
|
||||
branch:
|
||||
description: The build change branch
|
||||
type: string
|
||||
change:
|
||||
description: The build change number
|
||||
type: integer
|
||||
duration:
|
||||
description: The build duration in second
|
||||
type: integer
|
||||
end_time:
|
||||
description: The build end time ISO 8601 format
|
||||
type: string
|
||||
job_name:
|
||||
description: The build job name
|
||||
type: string
|
||||
log_url:
|
||||
description: The build logs url
|
||||
type: string
|
||||
newrev:
|
||||
description: The build newrev
|
||||
type: string
|
||||
patchset:
|
||||
description: The build patchset number
|
||||
type: integer
|
||||
pipeline:
|
||||
description: The build pipeline
|
||||
type: string
|
||||
project:
|
||||
description: The build project name
|
||||
type: string
|
||||
ref:
|
||||
description: The build change reference
|
||||
type: string
|
||||
ref_url:
|
||||
description: The build change reference url
|
||||
type: string
|
||||
result:
|
||||
description: The build result
|
||||
type: string
|
||||
start_time:
|
||||
description: The build start time ISO 8601 format
|
||||
type: string
|
||||
uuid:
|
||||
description: The build uuid
|
||||
type: string
|
||||
voting:
|
||||
description: The build voting status
|
||||
type: boolean
|
||||
type: object
|
||||
changeQueue:
|
||||
description: A change queue
|
||||
properties:
|
||||
heads:
|
||||
description: The list of queue events
|
||||
items:
|
||||
items:
|
||||
$ref: '#/components/schemas/eventQueue'
|
||||
type: array
|
||||
type: array
|
||||
name:
|
||||
description: The queue name
|
||||
type: string
|
||||
window:
|
||||
description: The queue window
|
||||
type: integer
|
||||
type: object
|
||||
eventQueue:
|
||||
description: A queue event
|
||||
properties:
|
||||
active:
|
||||
description: Is the event active
|
||||
type: boolean
|
||||
enqueue_time:
|
||||
description: The epoch creation time
|
||||
type: integer
|
||||
failing_reasons:
|
||||
description: The list of failing reasons
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
id:
|
||||
description: The event id
|
||||
type: string
|
||||
item_ahead:
|
||||
description: The list of events ahead
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
item_behind:
|
||||
description: The list of events behind
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
jobs:
|
||||
description: The event list of jobs
|
||||
items:
|
||||
$ref: '#/components/schemas/statusJob'
|
||||
type: array
|
||||
live:
|
||||
description: Is the event live
|
||||
type: boolean
|
||||
owner:
|
||||
description: The event owner
|
||||
type: string
|
||||
project:
|
||||
description: The event project
|
||||
type: string
|
||||
remaining_time:
|
||||
description: The estimated remaining time
|
||||
type: integer
|
||||
url:
|
||||
description: The event url
|
||||
type: string
|
||||
zuul_ref:
|
||||
description: The zuul ref
|
||||
type: string
|
||||
type: object
|
||||
pipelineStatus:
|
||||
description: A pipeline
|
||||
properties:
|
||||
change_queues:
|
||||
description: The pipeline list of change queues
|
||||
items:
|
||||
$ref: '#/components/schemas/changeQueue'
|
||||
type: array
|
||||
description:
|
||||
description: The pipeline description
|
||||
type: string
|
||||
name:
|
||||
description: The pipeline name
|
||||
type: string
|
||||
type: object
|
||||
statusJob:
|
||||
description: A job status
|
||||
properties:
|
||||
canceled:
|
||||
description: Is the job canceled
|
||||
type: boolean
|
||||
elapsed_time:
|
||||
description: The elapsed time
|
||||
type: integer
|
||||
launch_time:
|
||||
description: The epoch launch time
|
||||
type: integer
|
||||
name:
|
||||
description: The job name
|
||||
type: string
|
||||
number:
|
||||
description: The job number
|
||||
type: integer
|
||||
pipeline:
|
||||
description: The job pipeline
|
||||
type: string
|
||||
remaining_time:
|
||||
description: The estimated remaining time
|
||||
type: integer
|
||||
result:
|
||||
description: The job result
|
||||
type: string
|
||||
retry:
|
||||
description: The retry count
|
||||
type: integer
|
||||
start_time:
|
||||
description: The epoch start time
|
||||
type: integer
|
||||
url:
|
||||
description: The job stream url
|
||||
type: string
|
||||
uuid:
|
||||
description: The job uuid
|
||||
type: string
|
||||
voting:
|
||||
description: Is the job voting
|
||||
type: boolean
|
||||
worker:
|
||||
$ref: '#/components/schemas/statusWorker'
|
||||
type: object
|
||||
statusWorker:
|
||||
description: A job worker node
|
||||
properties:
|
||||
fqdn:
|
||||
description: The worker fully qualified domain name
|
||||
type: string
|
||||
hostname:
|
||||
description: The worker hostname
|
||||
type: string
|
||||
ips:
|
||||
description: The list of worker ip addresses
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
name:
|
||||
description: The worker name
|
||||
type: string
|
||||
program:
|
||||
description: The worker program
|
||||
type: string
|
||||
version:
|
||||
description: The worker version
|
||||
type: string
|
||||
type: object
|
@ -106,7 +106,9 @@ class App extends React.Component {
|
||||
allRoutes.push(
|
||||
<Route
|
||||
key={index}
|
||||
path={item.globalRoute ? item.to : tenant.routePrefix + item.to}
|
||||
path={
|
||||
item.globalRoute ? item.to :
|
||||
item.noTenantPrefix ? item.to : tenant.routePrefix + item.to}
|
||||
component={item.component}
|
||||
exact
|
||||
/>
|
||||
@ -255,6 +257,9 @@ class App extends React.Component {
|
||||
this.setState({showErrors: !this.state.showErrors})}}
|
||||
/>
|
||||
}
|
||||
<li>
|
||||
<Link to='/openapi'>API</Link>
|
||||
</li>
|
||||
<li>
|
||||
<a href='https://zuul-ci.org/docs'
|
||||
rel='noopener noreferrer' target='_blank'>
|
||||
|
82
web/src/actions/openapi.js
Normal file
82
web/src/actions/openapi.js
Normal file
@ -0,0 +1,82 @@
|
||||
// Copyright 2018 Red Hat, Inc
|
||||
//
|
||||
// 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 * as API from '../api'
|
||||
import yaml from 'js-yaml'
|
||||
|
||||
export const OPENAPI_FETCH_REQUEST = 'OPENAPI_FETCH_REQUEST'
|
||||
export const OPENAPI_FETCH_SUCCESS = 'OPENAPI_FETCH_SUCCESS'
|
||||
export const OPENAPI_FETCH_FAIL = 'OPENAPI_FETCH_FAIL'
|
||||
|
||||
export const fetchOpenApiRequest = () => ({
|
||||
type: OPENAPI_FETCH_REQUEST
|
||||
})
|
||||
|
||||
export const fetchOpenApiSuccess = (yaml_data, whiteLabel) => {
|
||||
const data = yaml.safeLoad(yaml_data)
|
||||
if (whiteLabel) {
|
||||
const paths = {}
|
||||
for (let path in data.paths) {
|
||||
// Remove tenant list api
|
||||
if (path === '/api/tenants') {
|
||||
continue
|
||||
}
|
||||
// Remove tenant in path parameter
|
||||
data.paths[path].get.parameters.splice(0, 1)
|
||||
paths[path.replace('/api/tenant/{tenant}/', '/api/')] = data.paths[path]
|
||||
}
|
||||
data.paths = paths
|
||||
}
|
||||
data.servers = [{
|
||||
// Trim the trailing '/api/'
|
||||
url: API.apiUrl.substr(0, API.apiUrl.length - 5),
|
||||
description: 'Production server',
|
||||
}]
|
||||
return {
|
||||
type: OPENAPI_FETCH_SUCCESS,
|
||||
openapi: data,
|
||||
}
|
||||
}
|
||||
|
||||
const fetchOpenApiFail = error => ({
|
||||
type: OPENAPI_FETCH_FAIL,
|
||||
error
|
||||
})
|
||||
|
||||
const fetchOpenApi = (whiteLabel) => dispatch => {
|
||||
dispatch(fetchOpenApiRequest())
|
||||
return API.fetchOpenApi()
|
||||
.then(response => dispatch(fetchOpenApiSuccess(response.data, whiteLabel)))
|
||||
.catch(error => {
|
||||
dispatch(fetchOpenApiFail(error))
|
||||
setTimeout(() => {dispatch(fetchOpenApi())}, 5000)
|
||||
})
|
||||
}
|
||||
|
||||
const shouldFetchOpenApi = openapi => {
|
||||
if (!openapi.openapi) {
|
||||
return true
|
||||
}
|
||||
if (openapi.isFetching) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
export const fetchOpenApiIfNeeded = (force) => (dispatch, getState) => {
|
||||
const state = getState()
|
||||
if (force || shouldFetchOpenApi(state.openapi)) {
|
||||
return dispatch(fetchOpenApi(state.tenant.whiteLabel))
|
||||
}
|
||||
}
|
@ -106,6 +106,9 @@ function getStreamUrl (apiPrefix) {
|
||||
function fetchInfo () {
|
||||
return Axios.get(apiUrl + 'info')
|
||||
}
|
||||
function fetchOpenApi () {
|
||||
return Axios.get(getHomepageUrl () + 'openapi.yaml')
|
||||
}
|
||||
function fetchTenants () {
|
||||
return Axios.get(apiUrl + 'tenants')
|
||||
}
|
||||
@ -155,6 +158,7 @@ function fetchNodes (apiPrefix) {
|
||||
}
|
||||
|
||||
export {
|
||||
apiUrl,
|
||||
getHomepageUrl,
|
||||
getStreamUrl,
|
||||
fetchChangeStatus,
|
||||
@ -169,6 +173,7 @@ export {
|
||||
fetchJobs,
|
||||
fetchLabels,
|
||||
fetchNodes,
|
||||
fetchOpenApi,
|
||||
fetchTenants,
|
||||
fetchInfo
|
||||
}
|
||||
|
@ -121,3 +121,12 @@ a.refresh {
|
||||
div.tree-view-container ul.list-group {
|
||||
margin: 0px 0px;
|
||||
}
|
||||
|
||||
/* OpenAPI page */
|
||||
pre.version {
|
||||
background-color: lightgrey;
|
||||
color: black;
|
||||
}
|
||||
.swagger-ui .servers {
|
||||
padding-top: 5px
|
||||
}
|
||||
|
67
web/src/pages/OpenApi.jsx
Normal file
67
web/src/pages/OpenApi.jsx
Normal file
@ -0,0 +1,67 @@
|
||||
// Copyright 2018 Red Hat, Inc
|
||||
//
|
||||
// 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 * as React from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import { connect } from 'react-redux'
|
||||
import SwaggerUi from 'swagger-ui'
|
||||
import 'swagger-ui/dist/swagger-ui.css'
|
||||
|
||||
import { fetchOpenApiIfNeeded } from '../actions/openapi'
|
||||
import Refreshable from '../containers/Refreshable'
|
||||
|
||||
|
||||
class OpenApiPage extends Refreshable {
|
||||
static propTypes = {
|
||||
tenant: PropTypes.object,
|
||||
remoteData: PropTypes.object,
|
||||
dispatch: PropTypes.func
|
||||
}
|
||||
|
||||
updateData = (force) => {
|
||||
this.props.dispatch(fetchOpenApiIfNeeded(force))
|
||||
}
|
||||
|
||||
componentDidMount () {
|
||||
document.title = 'Zuul API'
|
||||
this.updateData()
|
||||
}
|
||||
|
||||
componentDidUpdate (prevProps) {
|
||||
if (this.props.remoteData.openapi &&
|
||||
this.props.remoteData.openapi !== prevProps.remoteData.openapi) {
|
||||
SwaggerUi({
|
||||
dom_id: '#swaggerContainer',
|
||||
spec: this.props.remoteData.openapi,
|
||||
presets: [SwaggerUi.presets.apis]
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<React.Fragment>
|
||||
<div className="pull-right" style={{display: 'flex'}}>
|
||||
{this.renderSpinner()}
|
||||
</div>
|
||||
<div id="swaggerContainer" />
|
||||
</React.Fragment>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default connect(state => ({
|
||||
tenant: state.tenant,
|
||||
remoteData: state.openapi,
|
||||
}))(OpenApiPage)
|
@ -28,6 +28,7 @@ import projects from './projects'
|
||||
import status from './status'
|
||||
import tenant from './tenant'
|
||||
import tenants from './tenants'
|
||||
import openapi from './openapi'
|
||||
|
||||
const reducers = {
|
||||
change,
|
||||
@ -44,6 +45,7 @@ const reducers = {
|
||||
status,
|
||||
tenant,
|
||||
tenants,
|
||||
openapi,
|
||||
}
|
||||
|
||||
export default combineReducers(reducers)
|
||||
|
40
web/src/reducers/openapi.js
Normal file
40
web/src/reducers/openapi.js
Normal file
@ -0,0 +1,40 @@
|
||||
// Copyright 2018 Red Hat, Inc
|
||||
//
|
||||
// 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 {
|
||||
OPENAPI_FETCH_REQUEST,
|
||||
OPENAPI_FETCH_SUCCESS,
|
||||
OPENAPI_FETCH_FAIL,
|
||||
} from '../actions/openapi'
|
||||
|
||||
export default (state = {
|
||||
isFetching: false,
|
||||
openapi: null,
|
||||
}, action) => {
|
||||
switch (action.type) {
|
||||
case OPENAPI_FETCH_REQUEST:
|
||||
case OPENAPI_FETCH_FAIL:
|
||||
return {
|
||||
isFetching: true,
|
||||
tenant: state.openapi,
|
||||
}
|
||||
case OPENAPI_FETCH_SUCCESS:
|
||||
return {
|
||||
isFetching: false,
|
||||
openapi: action.openapi,
|
||||
}
|
||||
default:
|
||||
return state
|
||||
}
|
||||
}
|
@ -26,6 +26,7 @@ import BuildsetsPage from './pages/Buildsets'
|
||||
import ConfigErrorsPage from './pages/ConfigErrors'
|
||||
import TenantsPage from './pages/Tenants'
|
||||
import StreamPage from './pages/Stream'
|
||||
import OpenApiPage from './pages/OpenApi'
|
||||
|
||||
// The Route object are created in the App component.
|
||||
// Object with a title are created in the menu.
|
||||
@ -95,6 +96,11 @@ const routes = () => [
|
||||
to: '/tenants',
|
||||
component: TenantsPage,
|
||||
globalRoute: true
|
||||
},
|
||||
{
|
||||
to: '/openapi',
|
||||
component: OpenApiPage,
|
||||
noTenantPrefix: true,
|
||||
}
|
||||
]
|
||||
|
||||
|
470
web/yarn.lock
470
web/yarn.lock
@ -33,6 +33,30 @@
|
||||
dependencies:
|
||||
regenerator-runtime "^0.13.2"
|
||||
|
||||
"@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=
|
||||
|
||||
"@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"
|
||||
integrity sha512-coFyIk1LvTscq1cUU4nCCfYwv+cmG4fCP+wgDKgYZjhM4f++YwZy+g0k+1tUqa4GuUpBTEOGH2KUqKFFWdT73g==
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
|
||||
"@kyleshockey/object-assign-deep@^0.4.0", "@kyleshockey/object-assign-deep@^0.4.2":
|
||||
version "0.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@kyleshockey/object-assign-deep/-/object-assign-deep-0.4.2.tgz#84900f0eefc372798f4751b5262830b8208922ec"
|
||||
integrity sha1-hJAPDu/DcnmPR1G1JigwuCCJIuw=
|
||||
|
||||
"@kyleshockey/xml@^1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@kyleshockey/xml/-/xml-1.0.2.tgz#81fad3d7c33da2ba2639db095db3db24c2921f70"
|
||||
integrity sha512-iMo32MPLcI9cPxs3YL5kmKxKgDmkSZDCFEqIT5eRk7d/Ll8r4X3SwGYSigzALd6+RHWlFEmjL1QyaQ15xDZFlw==
|
||||
dependencies:
|
||||
stream "^0.0.2"
|
||||
|
||||
"@types/c3@^0.6.0":
|
||||
version "0.6.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/c3/-/c3-0.6.4.tgz#449830da0e1a2fc4feceb87f97de7ee5965e183b"
|
||||
@ -252,6 +276,13 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz#c8fa532b60a0042219cdf173ca21a975ef0666ad"
|
||||
integrity sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ==
|
||||
|
||||
"@types/react@16.4.6":
|
||||
version "16.4.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.6.tgz#5024957c6bcef4f02823accf5974faba2e54fada"
|
||||
integrity sha512-9LDZdhsuKSc+DjY65SjBkA958oBWcTWSVWAd2cD9XqKBjhGw1KzAkRhWRw2eIsXvaIE/TOTjjKMFVC+JA1iU4g==
|
||||
dependencies:
|
||||
csstype "^2.2.0"
|
||||
|
||||
abab@^1.0.3:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
|
||||
@ -462,6 +493,14 @@ argparse@^1.0.7:
|
||||
dependencies:
|
||||
sprintf-js "~1.0.2"
|
||||
|
||||
argparse@~0.1.15:
|
||||
version "0.1.16"
|
||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c"
|
||||
integrity sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=
|
||||
dependencies:
|
||||
underscore "~1.7.0"
|
||||
underscore.string "~2.4.0"
|
||||
|
||||
aria-query@^0.7.0:
|
||||
version "0.7.1"
|
||||
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.7.1.tgz#26cbb5aff64144b0a825be1846e0b16cfa00b11e"
|
||||
@ -621,7 +660,7 @@ async@^1.5.2:
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
||||
integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
|
||||
|
||||
async@^2.1.2, async@^2.1.4, async@^2.4.1:
|
||||
async@^2.0.1, async@^2.1.2, async@^2.1.4, async@^2.4.1:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381"
|
||||
integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==
|
||||
@ -638,6 +677,11 @@ atob@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
||||
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
|
||||
|
||||
autolinker@~0.15.0:
|
||||
version "0.15.3"
|
||||
resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.15.3.tgz#342417d8f2f3461b14cf09088d5edf8791dc9832"
|
||||
integrity sha1-NCQX2PLzRhsUzwkIjV7fh5HcmDI=
|
||||
|
||||
autoprefixer@7.1.6:
|
||||
version "7.1.6"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.6.tgz#fb933039f74af74a83e71225ce78d9fd58ba84d7"
|
||||
@ -1441,7 +1485,7 @@ base16@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70"
|
||||
integrity sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=
|
||||
|
||||
base64-js@^1.0.2:
|
||||
base64-js@^1.0.2, base64-js@^1.2.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
|
||||
integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
|
||||
@ -1725,6 +1769,11 @@ bser@^2.0.0:
|
||||
dependencies:
|
||||
node-int64 "^0.4.0"
|
||||
|
||||
btoa@1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.1.2.tgz#3e40b81663f81d2dd6596a4cb714a8dc16cfabe0"
|
||||
integrity sha1-PkC4FmP4HS3WWWpMtxSo3BbPq+A=
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
@ -1749,6 +1798,14 @@ buffer@^4.3.0:
|
||||
ieee754 "^1.1.4"
|
||||
isarray "^1.0.0"
|
||||
|
||||
buffer@^5.1.0:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6"
|
||||
integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==
|
||||
dependencies:
|
||||
base64-js "^1.0.2"
|
||||
ieee754 "^1.1.4"
|
||||
|
||||
builtin-modules@^1.0.0, builtin-modules@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
|
||||
@ -2126,7 +2183,7 @@ colors@~1.1.2:
|
||||
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
|
||||
integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM=
|
||||
|
||||
combined-stream@^1.0.6, combined-stream@~1.0.6:
|
||||
combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@~1.0.6:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
|
||||
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
|
||||
@ -2266,6 +2323,11 @@ cookie@0.4.0:
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
|
||||
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
|
||||
|
||||
cookie@^0.3.1:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
|
||||
integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
|
||||
|
||||
copy-descriptor@^0.1.0:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
|
||||
@ -2276,7 +2338,7 @@ core-js@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
|
||||
integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
|
||||
|
||||
core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.5:
|
||||
core-js@^2.4.0, core-js@^2.5.0, core-js@^2.5.1, core-js@^2.6.5:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2"
|
||||
integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==
|
||||
@ -2337,6 +2399,15 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
|
||||
safe-buffer "^5.0.1"
|
||||
sha.js "^2.4.8"
|
||||
|
||||
create-react-class@^15.5.1, create-react-class@^15.6.0:
|
||||
version "15.6.3"
|
||||
resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036"
|
||||
integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==
|
||||
dependencies:
|
||||
fbjs "^0.8.9"
|
||||
loose-envify "^1.3.1"
|
||||
object-assign "^4.1.1"
|
||||
|
||||
create-react-context@<=0.2.2:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.2.tgz#9836542f9aaa22868cd7d4a6f82667df38019dca"
|
||||
@ -2353,6 +2424,14 @@ create-react-context@^0.2.3:
|
||||
fbjs "^0.8.0"
|
||||
gud "^1.0.0"
|
||||
|
||||
cross-fetch@0.0.8:
|
||||
version "0.0.8"
|
||||
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-0.0.8.tgz#01ed94dc407df2c00f1807fde700a7cfa48a205c"
|
||||
integrity sha1-Ae2U3EB98sAPGAf95wCnz6SKIFw=
|
||||
dependencies:
|
||||
node-fetch "1.7.3"
|
||||
whatwg-fetch "2.0.3"
|
||||
|
||||
cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
||||
@ -2449,6 +2528,11 @@ css-what@2.1:
|
||||
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
|
||||
integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
|
||||
|
||||
css.escape@1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
|
||||
integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=
|
||||
|
||||
cssesc@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
|
||||
@ -2512,6 +2596,11 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
|
||||
dependencies:
|
||||
cssom "0.3.x"
|
||||
|
||||
csstype@^2.2.0:
|
||||
version "2.6.5"
|
||||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.5.tgz#1cd1dff742ebf4d7c991470ae71e12bb6751e034"
|
||||
integrity sha512-JsTaiksRsel5n7XwqPAfB0l3TFKdpjW/kgAELf9vrb5adGA7UCPLajKK5s3nFrcFm3Rkyp/Qkgl73ENc1UY3cA==
|
||||
|
||||
currently-unhandled@^0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
|
||||
@ -2631,6 +2720,11 @@ deep-equal@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
|
||||
integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=
|
||||
|
||||
deep-extend@0.5.1, deep-extend@^0.5.1:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f"
|
||||
integrity sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==
|
||||
|
||||
deep-extend@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||
@ -2862,6 +2956,11 @@ domhandler@^2.3.0:
|
||||
dependencies:
|
||||
domelementtype "1"
|
||||
|
||||
dompurify@^1.0.4:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-1.0.10.tgz#18d7353631c86ee25049e38fbca8c6b2c5a2af87"
|
||||
integrity sha512-huhl3DSWX5LaA7jDtnj3XQdJgWW1wYouNW7N0drGzQa4vEUSVWyeFN+Atx6HP4r5cang6oQytMom6I4yhGJj5g==
|
||||
|
||||
domutils@1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
|
||||
@ -2926,9 +3025,9 @@ ee-first@1.1.1:
|
||||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
||||
|
||||
electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30:
|
||||
version "1.3.148"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.148.tgz#5796c0d9eb0358d397163413b90bf376c5d8bf08"
|
||||
integrity sha512-nuCOlXNlGMQmdzihIPGm2K3Yf3H1hke/1rK381i02pH8wNliJU9hVNnOi/xjmxt+mjABd/BzufP5nPHWKshLWA==
|
||||
version "1.3.158"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.158.tgz#5e16909dcfd25ab7cd1665114ee381083a3ee858"
|
||||
integrity sha512-wJsJaWsViNQ129XPGmyO5gGs1jPMHr9vffjHAhUje1xZbEzQcqbENdvfyRD9q8UF0TgFQFCCUbaIpJarFbvsIg==
|
||||
|
||||
elliptic@^6.0.0:
|
||||
version "6.4.1"
|
||||
@ -2943,6 +3042,11 @@ elliptic@^6.0.0:
|
||||
minimalistic-assert "^1.0.0"
|
||||
minimalistic-crypto-utils "^1.0.0"
|
||||
|
||||
emitter-component@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/emitter-component/-/emitter-component-1.1.1.tgz#065e2dbed6959bf470679edabeaf7981d1003ab6"
|
||||
integrity sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY=
|
||||
|
||||
emoji-regex@^6.1.0:
|
||||
version "6.5.1"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2"
|
||||
@ -2958,6 +3062,11 @@ emojis-list@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
|
||||
integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
|
||||
|
||||
encode-3986@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/encode-3986/-/encode-3986-1.0.0.tgz#940d51498f8741ade184b75ad1439b317c0c7a60"
|
||||
integrity sha1-lA1RSY+HQa3hhLda0UObMXwMemA=
|
||||
|
||||
encodeurl@~1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
|
||||
@ -3030,7 +3139,7 @@ es-to-primitive@^1.2.0:
|
||||
is-date-object "^1.0.1"
|
||||
is-symbol "^1.0.2"
|
||||
|
||||
es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
|
||||
es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
|
||||
version "0.10.50"
|
||||
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778"
|
||||
integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==
|
||||
@ -3039,7 +3148,7 @@ es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
|
||||
es6-symbol "~3.1.1"
|
||||
next-tick "^1.0.0"
|
||||
|
||||
es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
|
||||
es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
|
||||
integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
|
||||
@ -3084,14 +3193,14 @@ es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
|
||||
d "1"
|
||||
es5-ext "~0.10.14"
|
||||
|
||||
es6-weak-map@^2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
|
||||
integrity sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=
|
||||
es6-weak-map@^2.0.1, es6-weak-map@^2.0.2:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
|
||||
integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
|
||||
dependencies:
|
||||
d "1"
|
||||
es5-ext "^0.10.14"
|
||||
es6-iterator "^2.0.1"
|
||||
es5-ext "^0.10.46"
|
||||
es6-iterator "^2.0.3"
|
||||
es6-symbol "^3.1.1"
|
||||
|
||||
escape-html@~1.0.3:
|
||||
@ -3399,7 +3508,7 @@ etag@~1.8.1:
|
||||
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
||||
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
|
||||
|
||||
event-emitter@~0.3.5:
|
||||
event-emitter@^0.3.5, event-emitter@~0.3.5:
|
||||
version "0.3.5"
|
||||
resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
|
||||
integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
|
||||
@ -3611,6 +3720,13 @@ fast-deep-equal@^2.0.1:
|
||||
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
|
||||
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
|
||||
|
||||
fast-json-patch@^2.0.6:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fast-json-patch/-/fast-json-patch-2.1.0.tgz#e348c330a5b2481b14f5fffd707aebfef8b7bef6"
|
||||
integrity sha512-PipOsAKamRw7+CXtKiieehyjUeDVPJ5J7b2kdJYerEf6TSUQoD2ijpVyZ88KQm5YXziff4h762bz3+vzf56khg==
|
||||
dependencies:
|
||||
deep-equal "^1.0.1"
|
||||
|
||||
fast-json-stable-stringify@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
|
||||
@ -3634,9 +3750,9 @@ faye-websocket@^0.10.0:
|
||||
websocket-driver ">=0.5.1"
|
||||
|
||||
faye-websocket@~0.11.0:
|
||||
version "0.11.1"
|
||||
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
|
||||
integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=
|
||||
version "0.11.3"
|
||||
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e"
|
||||
integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==
|
||||
dependencies:
|
||||
websocket-driver ">=0.5.1"
|
||||
|
||||
@ -3867,6 +3983,15 @@ forever-agent@~0.6.1:
|
||||
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
|
||||
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
|
||||
|
||||
form-data@^1.0.0-rc3:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c"
|
||||
integrity sha1-rjFduaSQf6BlUCMEpm13M0de43w=
|
||||
dependencies:
|
||||
async "^2.0.1"
|
||||
combined-stream "^1.0.5"
|
||||
mime-types "^2.1.11"
|
||||
|
||||
form-data@~2.3.2:
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
|
||||
@ -4269,7 +4394,7 @@ hoist-non-react-statics@^2.1.1, hoist-non-react-statics@^2.3.1, hoist-non-react-
|
||||
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
|
||||
integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
|
||||
|
||||
hoist-non-react-statics@^3.1.0:
|
||||
hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b"
|
||||
integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==
|
||||
@ -4443,7 +4568,7 @@ icss-utils@^2.1.0:
|
||||
dependencies:
|
||||
postcss "^6.0.1"
|
||||
|
||||
ieee754@^1.1.4:
|
||||
ieee754@^1.1.4, ieee754@^1.1.8:
|
||||
version "1.1.13"
|
||||
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
|
||||
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
|
||||
@ -4472,6 +4597,11 @@ immutability-helper@^2.8.1:
|
||||
dependencies:
|
||||
invariant "^2.2.0"
|
||||
|
||||
immutable@^3.7.6, immutable@^3.x.x:
|
||||
version "3.8.2"
|
||||
resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3"
|
||||
integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=
|
||||
|
||||
import-fresh@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390"
|
||||
@ -4589,7 +4719,7 @@ interpret@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
|
||||
integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
|
||||
|
||||
invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
|
||||
invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
|
||||
version "2.2.4"
|
||||
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
||||
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
|
||||
@ -4713,6 +4843,11 @@ is-directory@^0.3.1:
|
||||
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
|
||||
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
|
||||
|
||||
is-dom@^1.0.9:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/is-dom/-/is-dom-1.0.9.tgz#483832d52972073de12b9fe3f60320870da8370d"
|
||||
integrity sha1-SDgy1SlyBz3hK5/j9gMghw2oNw0=
|
||||
|
||||
is-dotfile@^1.0.0:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
|
||||
@ -4865,7 +5000,7 @@ is-primitive@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
|
||||
integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
|
||||
|
||||
is-promise@^2.1.0:
|
||||
is-promise@^2.1, is-promise@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
|
||||
integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
|
||||
@ -4971,6 +5106,13 @@ isomorphic-fetch@^2.1.1:
|
||||
node-fetch "^1.0.1"
|
||||
whatwg-fetch ">=0.10.0"
|
||||
|
||||
isomorphic-form-data@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/isomorphic-form-data/-/isomorphic-form-data-0.0.1.tgz#026f627e032b0cd8413ecc8755928b94a468b062"
|
||||
integrity sha1-Am9ifgMrDNhBPsyHVZKLlKRosGI=
|
||||
dependencies:
|
||||
form-data "^1.0.0-rc3"
|
||||
|
||||
isstream@~0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
|
||||
@ -5298,6 +5440,11 @@ js-base64@^2.1.9:
|
||||
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
|
||||
integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==
|
||||
|
||||
js-file-download@^0.4.1:
|
||||
version "0.4.7"
|
||||
resolved "https://registry.yarnpkg.com/js-file-download/-/js-file-download-0.4.7.tgz#cafea2f7230b63fa1747e80efe1257649b59143e"
|
||||
integrity sha512-9AQYwIpgTz3BqKQQ9kZldCXd0BekFmxvUguEVJwVlTe9cON1slRaT+hqctEbjoXbz9Aj+8Qgl3841zYWeCstuA==
|
||||
|
||||
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
@ -5658,15 +5805,15 @@ lodash.uniq@^4.5.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
||||
|
||||
"lodash@>=3.5 <5", lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0:
|
||||
"lodash@>=3.5 <5", lodash@^4.15.0, lodash@^4.16.2, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0:
|
||||
version "4.17.11"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
||||
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
||||
|
||||
loglevel@^1.4.1:
|
||||
version "1.6.2"
|
||||
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.2.tgz#668c77948a03dbd22502a3513ace1f62a80cc372"
|
||||
integrity sha512-Jt2MHrCNdtIe1W6co3tF5KXGRkzF+TYffiQstfXa04mrss9IKXzAAXYWak8LbZseAQY03sH2GzMCMU0ZOUc9bg==
|
||||
version "1.6.3"
|
||||
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280"
|
||||
integrity sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==
|
||||
|
||||
longest@^1.0.1:
|
||||
version "1.0.1"
|
||||
@ -5706,6 +5853,13 @@ lru-cache@^4.0.1:
|
||||
pseudomap "^1.0.2"
|
||||
yallist "^2.1.2"
|
||||
|
||||
lru-queue@0.1:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
|
||||
integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=
|
||||
dependencies:
|
||||
es5-ext "~0.10.2"
|
||||
|
||||
make-dir@^1.0.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
|
||||
@ -5768,6 +5922,20 @@ mem@^1.1.0:
|
||||
dependencies:
|
||||
mimic-fn "^1.0.0"
|
||||
|
||||
memoizee@^0.4.12:
|
||||
version "0.4.14"
|
||||
resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
|
||||
integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==
|
||||
dependencies:
|
||||
d "1"
|
||||
es5-ext "^0.10.45"
|
||||
es6-weak-map "^2.0.2"
|
||||
event-emitter "^0.3.5"
|
||||
is-promise "^2.1"
|
||||
lru-queue "0.1"
|
||||
next-tick "1"
|
||||
timers-ext "^0.1.5"
|
||||
|
||||
memory-fs@^0.4.0, memory-fs@~0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
|
||||
@ -5858,7 +6026,7 @@ mime-db@1.40.0, "mime-db@>= 1.40.0 < 2":
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32"
|
||||
integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
|
||||
|
||||
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
|
||||
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
|
||||
version "2.1.24"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
|
||||
integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
|
||||
@ -6035,7 +6203,7 @@ neo-async@^2.5.0, neo-async@^2.6.0:
|
||||
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
|
||||
integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
|
||||
|
||||
next-tick@^1.0.0:
|
||||
next-tick@1, next-tick@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
|
||||
integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
|
||||
@ -6052,7 +6220,7 @@ no-case@^2.2.0:
|
||||
dependencies:
|
||||
lower-case "^1.1.1"
|
||||
|
||||
node-fetch@^1.0.1:
|
||||
node-fetch@1.7.3, node-fetch@^1.0.1:
|
||||
version "1.7.3"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
|
||||
integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
|
||||
@ -6586,9 +6754,9 @@ patternfly-bootstrap-treeview@~2.1.0:
|
||||
jquery ">= 2.1.x"
|
||||
|
||||
patternfly-react@^2.13.1:
|
||||
version "2.36.0"
|
||||
resolved "https://registry.yarnpkg.com/patternfly-react/-/patternfly-react-2.36.0.tgz#7143a13356ef6c61ea7764a61d84be58502fc0e7"
|
||||
integrity sha512-VmkrZtfdieL4kWFeSsjK02pNLt214x2lwpTPyHlbWy5uXjqXU2fYBo9gA2gNXYwdy25DVJ+EDh493+ye/C3AIg==
|
||||
version "2.36.1"
|
||||
resolved "https://registry.yarnpkg.com/patternfly-react/-/patternfly-react-2.36.1.tgz#a6bdfd9b8e11d7fa6055492655fabbd300701815"
|
||||
integrity sha512-1BKlf/LnvEzofpQ0pGSrTuTPP+ykV3d2lH60bM3c3bdCXPYdOsWrRaBZugv1oREzbRSts/8xvwiVMitXc5xjwA==
|
||||
dependencies:
|
||||
bootstrap-slider-without-jquery "^10.0.0"
|
||||
breakjs "^1.0.0"
|
||||
@ -7202,7 +7370,7 @@ q@^1.1.2:
|
||||
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
|
||||
integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
|
||||
|
||||
qs@6.7.0:
|
||||
qs@6.7.0, qs@^6.3.0:
|
||||
version "6.7.0"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
|
||||
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
|
||||
@ -7220,6 +7388,11 @@ query-string@^4.1.0:
|
||||
object-assign "^4.1.0"
|
||||
strict-uri-encode "^1.0.0"
|
||||
|
||||
querystring-browser@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/querystring-browser/-/querystring-browser-1.0.4.tgz#f2e35881840a819bc7b1bf597faf0979e6622dc6"
|
||||
integrity sha1-8uNYgYQKgZvHsb9Zf68JeeZiLcY=
|
||||
|
||||
querystring-es3@^0.2.0:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
|
||||
@ -7400,6 +7573,16 @@ react-dev-utils@^5.0.1:
|
||||
strip-ansi "3.0.1"
|
||||
text-table "0.2.0"
|
||||
|
||||
react-dom@^15.6.2:
|
||||
version "15.6.2"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730"
|
||||
integrity sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=
|
||||
dependencies:
|
||||
fbjs "^0.8.9"
|
||||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
react-dom@^16.4.2:
|
||||
version "16.8.6"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f"
|
||||
@ -7436,6 +7619,27 @@ react-height@^3.0.0:
|
||||
dependencies:
|
||||
prop-types "15.5.8"
|
||||
|
||||
react-immutable-proptypes@2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.1.0.tgz#023d6f39bb15c97c071e9e60d00d136eac5fa0b4"
|
||||
integrity sha1-Aj1vObsVyXwHHp5g0A0TbqxfoLQ=
|
||||
|
||||
react-immutable-pure-component@^1.1.1:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/react-immutable-pure-component/-/react-immutable-pure-component-1.2.3.tgz#fa33638df68cfe9f73ccbee1d5861c17f3053f86"
|
||||
integrity sha512-kNy2A/fDrSuR8TKwB+4ynmItmp1vgF87tWxxfmadwDYo2J3ANipHqTjDIBvJvJ7libvuh76jIbvmK0krjtKH1g==
|
||||
optionalDependencies:
|
||||
"@types/react" "16.4.6"
|
||||
|
||||
react-inspector@^2.3.0:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.3.1.tgz#f0eb7f520669b545b441af9d38ec6d706e5f649c"
|
||||
integrity sha512-tUUK7t3KWgZEIUktOYko5Ic/oYwvjEvQUFAGC1UeMeDaQ5za2yZFtItJa2RTwBJB//NxPr000WQK6sEbqC6y0Q==
|
||||
dependencies:
|
||||
babel-runtime "^6.26.0"
|
||||
is-dom "^1.0.9"
|
||||
prop-types "^15.6.1"
|
||||
|
||||
react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1:
|
||||
version "16.8.6"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
|
||||