feat(instances): CI - firewall responsive designs
This commit is contained in:
parent
deb1a8436f
commit
fc81d666d0
@ -1,4 +1,5 @@
|
||||
import React, { Fragment } from 'react';
|
||||
import { withTheme } from 'styled-components';
|
||||
import { Margin } from 'styled-components-spacing';
|
||||
import Flex, { FlexItem } from 'styled-flex-component';
|
||||
import { compose, graphql } from 'react-apollo';
|
||||
@ -42,119 +43,126 @@ const Firewall = ({
|
||||
enabled = false,
|
||||
showInactiveRules = null,
|
||||
showInactive = false,
|
||||
theme = {},
|
||||
...props
|
||||
}) => (
|
||||
<Step name="firewall" getValue={handleGetValue} {...props}>
|
||||
<StepHeader icon={<FirewallIcon />}>Firewall rules</StepHeader>
|
||||
<StepDescription href="https://docs.joyent.com/public-cloud/network/firewall">
|
||||
Cloud firewall rules secure instances by defining network traffic rules,
|
||||
controlling incoming and outgoing traffic. Enabling the firewall applies
|
||||
only rules which match your instance. Although these rules are created in
|
||||
the firewall console, the addition of tags can alter the firewall rules.
|
||||
</StepDescription>
|
||||
<StepPreview>
|
||||
<Margin top="3">
|
||||
<Preview {...preview} />
|
||||
</Margin>
|
||||
</StepPreview>
|
||||
<StepOutlet>
|
||||
{({ next }) => (
|
||||
<Fragment>
|
||||
<Margin top="5">
|
||||
<Flex>
|
||||
<FlexItem>
|
||||
<ReduxForm
|
||||
form={IR_FW_F_ENABLED}
|
||||
destroyOnUnmount={false}
|
||||
forceUnregisterOnUnmount={true}
|
||||
>
|
||||
{props => (
|
||||
<Margin right="5">
|
||||
<ToggleFirewallForm {...props} submitting={loading} />
|
||||
}) => {
|
||||
const mobile = theme.screen === 'mobile';
|
||||
|
||||
return (
|
||||
<Step name="firewall" getValue={handleGetValue} {...props}>
|
||||
<StepHeader icon={<FirewallIcon />}>Firewall rules</StepHeader>
|
||||
<StepDescription href="https://docs.joyent.com/public-cloud/network/firewall">
|
||||
Cloud firewall rules secure instances by defining network traffic rules,
|
||||
controlling incoming and outgoing traffic. Enabling the firewall applies
|
||||
only rules which match your instance. Although these rules are created
|
||||
in the firewall console, the addition of tags can alter the firewall
|
||||
rules.
|
||||
</StepDescription>
|
||||
<StepPreview>
|
||||
<Margin top="3">
|
||||
<Preview {...preview} />
|
||||
</Margin>
|
||||
</StepPreview>
|
||||
<StepOutlet>
|
||||
{({ next }) => (
|
||||
<Fragment>
|
||||
<Margin top="5">
|
||||
<Flex column={mobile}>
|
||||
<FlexItem>
|
||||
<ReduxForm
|
||||
form={IR_FW_F_ENABLED}
|
||||
destroyOnUnmount={false}
|
||||
forceUnregisterOnUnmount={true}
|
||||
>
|
||||
{props => (
|
||||
<Margin right="5" bottom={mobile ? '2' : '0'}>
|
||||
<ToggleFirewallForm {...props} submitting={loading} />
|
||||
</Margin>
|
||||
)}
|
||||
</ReduxForm>
|
||||
</FlexItem>
|
||||
<FlexItem>
|
||||
<ReduxForm
|
||||
form={IR_FW_F_INACTIVE}
|
||||
destroyOnUnmount={false}
|
||||
forceUnregisterOnUnmount={true}
|
||||
>
|
||||
{props =>
|
||||
enabled && !loading ? (
|
||||
<ToggleInactiveForm {...props} />
|
||||
) : null
|
||||
}
|
||||
</ReduxForm>
|
||||
</FlexItem>
|
||||
</Flex>
|
||||
</Margin>
|
||||
{enabled && !loading && !defaultRules.length && !tagRules.length ? (
|
||||
<Margin top="5">
|
||||
<Empty borderTop>
|
||||
<Fragment>
|
||||
<H3>No Firewall rules found</H3>
|
||||
<Margin top="1">
|
||||
<P>
|
||||
Try viewing inactive rules instead to see firewalls that
|
||||
can potentially affect your instance
|
||||
</P>
|
||||
</Margin>
|
||||
)}
|
||||
</ReduxForm>
|
||||
</FlexItem>
|
||||
<FlexItem>
|
||||
<ReduxForm
|
||||
form={IR_FW_F_INACTIVE}
|
||||
destroyOnUnmount={false}
|
||||
forceUnregisterOnUnmount={true}
|
||||
>
|
||||
{props =>
|
||||
enabled && !loading ? (
|
||||
<ToggleInactiveForm {...props} />
|
||||
) : null
|
||||
}
|
||||
</ReduxForm>
|
||||
</FlexItem>
|
||||
</Flex>
|
||||
</Margin>
|
||||
{enabled && !loading && !defaultRules.length && !tagRules.length ? (
|
||||
<Margin top="2">
|
||||
<Button
|
||||
secondary
|
||||
onClick={showInactiveRules}
|
||||
disabled={showInactive}
|
||||
>
|
||||
View Inactive Rules
|
||||
</Button>
|
||||
</Margin>
|
||||
</Fragment>
|
||||
</Empty>
|
||||
</Margin>
|
||||
) : null}
|
||||
{!loading && enabled && defaultRules.length ? (
|
||||
<Margin top="5">
|
||||
<DefaultRules rules={defaultRules} />
|
||||
</Margin>
|
||||
) : null}
|
||||
{!loading && enabled && tagRules.length ? (
|
||||
<Margin top="5">
|
||||
<TagRules rules={tagRules} />
|
||||
</Margin>
|
||||
) : null}
|
||||
{!loading && enabled && (tagRules.length || defaultRules.length) ? (
|
||||
<Margin top="5">
|
||||
<P>
|
||||
*Other firewall rules may apply as defined by wildcard(s),
|
||||
IP(s), subnet(s), tag(s) or VM(s). Please see{' '}
|
||||
<a
|
||||
href="https://apidocs.joyent.com/cloudapi/#firewall-rule-syntax"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
firewall rule list
|
||||
</a>{' '}
|
||||
for more details.
|
||||
</P>
|
||||
</Margin>
|
||||
) : null}
|
||||
<Margin top="5">
|
||||
<Empty borderTop>
|
||||
<Fragment>
|
||||
<H3>No Firewall rules found</H3>
|
||||
<Margin top="1">
|
||||
<P>
|
||||
Try viewing inactive rules instead to see firewalls that
|
||||
can potentially affect your instance
|
||||
</P>
|
||||
</Margin>
|
||||
<Margin top="2">
|
||||
<Button
|
||||
secondary
|
||||
onClick={showInactiveRules}
|
||||
disabled={showInactive}
|
||||
>
|
||||
View Inactive Rules
|
||||
</Button>
|
||||
</Margin>
|
||||
</Fragment>
|
||||
</Empty>
|
||||
<Button
|
||||
id="next-button-firewall"
|
||||
type="button"
|
||||
component={Link}
|
||||
to={next}
|
||||
fluid={mobile}
|
||||
>
|
||||
Next
|
||||
</Button>
|
||||
</Margin>
|
||||
) : null}
|
||||
{!loading && enabled && defaultRules.length ? (
|
||||
<Margin top="5">
|
||||
<DefaultRules rules={defaultRules} />
|
||||
</Margin>
|
||||
) : null}
|
||||
{!loading && enabled && tagRules.length ? (
|
||||
<Margin top="5">
|
||||
<TagRules rules={tagRules} />
|
||||
</Margin>
|
||||
) : null}
|
||||
{!loading && enabled && (tagRules.length || defaultRules.length) ? (
|
||||
<Margin top="5">
|
||||
<P>
|
||||
*Other firewall rules may apply as defined by wildcard(s),
|
||||
IP(s), subnet(s), tag(s) or VM(s). Please see{' '}
|
||||
<a
|
||||
href="https://apidocs.joyent.com/cloudapi/#firewall-rule-syntax"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
firewall rule list
|
||||
</a>{' '}
|
||||
for more details.
|
||||
</P>
|
||||
</Margin>
|
||||
) : null}
|
||||
<Margin top="5">
|
||||
<Button
|
||||
id="next-button-firewall"
|
||||
type="button"
|
||||
component={Link}
|
||||
to={next}
|
||||
>
|
||||
Next
|
||||
</Button>
|
||||
</Margin>
|
||||
</Fragment>
|
||||
)}
|
||||
</StepOutlet>
|
||||
</Step>
|
||||
);
|
||||
</Fragment>
|
||||
)}
|
||||
</StepOutlet>
|
||||
</Step>
|
||||
);
|
||||
};
|
||||
|
||||
export default compose(
|
||||
connect(({ form, values }, ownProps) => ({
|
||||
@ -206,6 +214,4 @@ export default compose(
|
||||
showInactiveRules: () =>
|
||||
dispatch(change(IR_FW_F_INACTIVE, 'inactive', true))
|
||||
}))
|
||||
)(Firewall);
|
||||
|
||||
export { Preview } from './components';
|
||||
)(withTheme(({ ...rest }) => <Firewall {...rest} />));
|
||||
|
@ -2,7 +2,6 @@ import React, { Fragment } from 'react';
|
||||
import { Margin } from 'styled-components-spacing';
|
||||
import Flex, { FlexItem } from 'styled-flex-component';
|
||||
import { withTheme } from 'styled-components';
|
||||
|
||||
import { compose } from 'react-apollo';
|
||||
import { Link } from 'react-router-dom';
|
||||
import ReduxForm from 'declarative-redux-form';
|
||||
|
@ -9,14 +9,18 @@ import {
|
||||
H3,
|
||||
FormGroup,
|
||||
FormLabel,
|
||||
Toggle,
|
||||
TagList,
|
||||
TagItem,
|
||||
P,
|
||||
Checkbox,
|
||||
Strong,
|
||||
Card
|
||||
Card,
|
||||
QueryBreakpoints
|
||||
} from 'joyent-ui-toolkit';
|
||||
|
||||
const { SmallOnly, MediumDown, Medium, Large } = QueryBreakpoints;
|
||||
|
||||
const Form = styled.form`
|
||||
margin-bottom: 0 !important;
|
||||
`;
|
||||
@ -71,66 +75,138 @@ const Rule = ({ enabled, rule_obj }) => {
|
||||
const tos = rule_obj.to.map((p, index) => parsePartial(p, index, style));
|
||||
return (
|
||||
<Card disabled={!enabled}>
|
||||
<Padding left="3" right="3" top="2" bottom="2">
|
||||
<Row>
|
||||
<Col xs="3">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
<Strong style={style}>From: </Strong>
|
||||
</FlexItem>
|
||||
<MediumDown>
|
||||
<Flex column>
|
||||
<Padding horizontal="3" vertical="2">
|
||||
<Flex row>
|
||||
<Margin horizontal="1" inline>
|
||||
<Strong style={style}>From: </Strong>
|
||||
<Margin horizontal="1" inline>
|
||||
{froms}
|
||||
</Margin>
|
||||
</Margin>
|
||||
<Flex alignCenter>{froms}</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
<Col xs="3">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
<Strong style={style}>To: </Strong>
|
||||
</FlexItem>
|
||||
<Margin left="5" right="1" inline>
|
||||
<Strong style={style}>To: </Strong>
|
||||
<Margin horizontal="1" inline>
|
||||
{tos}
|
||||
</Margin>
|
||||
</Margin>
|
||||
<Flex alignCenter>{tos}</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
<Col xs="2">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
</Padding>
|
||||
<Padding
|
||||
horizontal="3"
|
||||
vertical="2"
|
||||
style={{ 'border-top': '1px solid #D8D8D8' }}
|
||||
>
|
||||
<SmallOnly>
|
||||
<Flex column>
|
||||
<Margin horizontal="1" inline>
|
||||
<Strong style={style}>Protocol: </Strong>
|
||||
</FlexItem>
|
||||
</Margin>
|
||||
<Flex alignCenter>
|
||||
<P style={style}>{protocol.name}</P>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
<Col xs="2">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
<Margin horizontal="1" inline>
|
||||
{protocol.name}
|
||||
</Margin>
|
||||
</Margin>
|
||||
<Margin horizontal="1" inline>
|
||||
<Strong style={style}>Ports: </Strong>
|
||||
</FlexItem>
|
||||
</Margin>
|
||||
<Flex alignCenter>
|
||||
<P style={style}>{protocol.targets.join(';')}</P>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
<Col xs="2">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
<Margin horizontal="1" inline>
|
||||
{protocol.targets.join(';')}
|
||||
</Margin>
|
||||
</Margin>
|
||||
<Margin horizontal="1" inline>
|
||||
<Strong style={style}>Action: </Strong>
|
||||
</FlexItem>
|
||||
</Margin>
|
||||
<Flex alignCenter>
|
||||
<P style={style}>{capitalizeFirstLetter(action)}</P>
|
||||
<Margin horizontal="1" inline>
|
||||
{capitalizeFirstLetter(action)}
|
||||
</Margin>
|
||||
</Margin>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
</Row>
|
||||
</Padding>
|
||||
</SmallOnly>
|
||||
<Medium>
|
||||
<Flex row>
|
||||
<Margin left="1" right="4" inline>
|
||||
<Strong style={style}>Protocol: </Strong>
|
||||
<Margin horizontal="1" inline>
|
||||
{protocol.name}
|
||||
</Margin>
|
||||
</Margin>
|
||||
<Margin horizontal="4" inline>
|
||||
<Strong style={style}>Ports: </Strong>
|
||||
<Margin horizontal="1" inline>
|
||||
{protocol.targets.join(';')}
|
||||
</Margin>
|
||||
</Margin>
|
||||
<Margin left="4" right="1" inline>
|
||||
<Strong style={style}>Action: </Strong>
|
||||
<Margin horizontal="1" inline>
|
||||
{capitalizeFirstLetter(action)}
|
||||
</Margin>
|
||||
</Margin>
|
||||
</Flex>
|
||||
</Medium>
|
||||
</Padding>
|
||||
</Flex>
|
||||
</MediumDown>
|
||||
<Large>
|
||||
<Padding left="3" right="3" top="2" bottom="2">
|
||||
<Row>
|
||||
<Col xs="3">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
<Strong style={style}>From: </Strong>
|
||||
</FlexItem>
|
||||
</Margin>
|
||||
<Flex alignCenter>{froms}</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
<Col xs="3">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
<Strong style={style}>To: </Strong>
|
||||
</FlexItem>
|
||||
</Margin>
|
||||
<Flex alignCenter>{tos}</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
<Col xs="2">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
<Strong style={style}>Protocol: </Strong>
|
||||
</FlexItem>
|
||||
</Margin>
|
||||
<Flex alignCenter>
|
||||
<P style={style}>{protocol.name}</P>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
<Col xs="2">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
<Strong style={style}>Ports: </Strong>
|
||||
</FlexItem>
|
||||
</Margin>
|
||||
<Flex alignCenter>
|
||||
<P style={style}>{protocol.targets.join(';')}</P>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
<Col xs="2">
|
||||
<Flex justifyStart alignCenter contentStretch>
|
||||
<Margin right="0.5">
|
||||
<FlexItem>
|
||||
<Strong style={style}>Action: </Strong>
|
||||
</FlexItem>
|
||||
</Margin>
|
||||
<Flex alignCenter>
|
||||
<P style={style}>{capitalizeFirstLetter(action)}</P>
|
||||
</Flex>
|
||||
</Flex>
|
||||
</Col>
|
||||
</Row>
|
||||
</Padding>
|
||||
</Large>
|
||||
</Card>
|
||||
);
|
||||
};
|
||||
|
@ -91,7 +91,7 @@ const TextareaKeyValue = ({
|
||||
<Row>
|
||||
<Col xs="12">
|
||||
<FormGroup
|
||||
id={id ? 'kv-input-key-' + id : null}
|
||||
id={id ? `kv-input-key-${id}` : null}
|
||||
name="name"
|
||||
field={Field}
|
||||
fluid
|
||||
@ -119,7 +119,7 @@ const TextareaKeyValue = ({
|
||||
<Row>
|
||||
<Col xs="12">
|
||||
<FormGroup
|
||||
id={id ? 'kv-input-value-' + id : null}
|
||||
id={id ? `kv-input-value-${id}` : null}
|
||||
name="value"
|
||||
field={Field}
|
||||
fluid
|
||||
@ -160,7 +160,7 @@ const InputKeyValue = ({
|
||||
{onlyValue ? null : (
|
||||
<FlexItem basis="auto">
|
||||
<FormGroup
|
||||
id={id ? 'kv-input-name-' + id : null}
|
||||
id={id ? `kv-input-name-${id}` : null}
|
||||
name="name"
|
||||
field={Field}
|
||||
fluid
|
||||
@ -184,7 +184,7 @@ const InputKeyValue = ({
|
||||
<FlexItem basis="auto">
|
||||
<Margin top={fluid ? '2' : '0'}>
|
||||
<FormGroup
|
||||
id={id ? 'kv-input-value-' + id : null}
|
||||
id={id ? `kv-input-value-${id}` : null}
|
||||
name="value"
|
||||
field={Field}
|
||||
fluid
|
||||
@ -335,7 +335,7 @@ export const KeyValue = ({
|
||||
<Col xs={method === 'add' ? '12' : '7'} mobile={mobile}>
|
||||
<Margin top={mobile ? '1' : '0'} inline>
|
||||
<MarginalButton
|
||||
id={id ? 'kv-cancel-button-' + id : null}
|
||||
id={id ? `kv-cancel-button-${id}` : null}
|
||||
type="button"
|
||||
onClick={onCancel}
|
||||
disabled={disabled || submitting}
|
||||
@ -346,7 +346,7 @@ export const KeyValue = ({
|
||||
</MarginalButton>
|
||||
</Margin>
|
||||
<Button
|
||||
id={id ? 'kv-submit-button-' + id : null}
|
||||
id={id ? `kv-submit-button-${id}` : null}
|
||||
type="submit"
|
||||
disabled={pristine || invalid}
|
||||
loading={submitting && !removing}
|
||||
@ -366,7 +366,7 @@ export const KeyValue = ({
|
||||
right
|
||||
icon
|
||||
error
|
||||
id={id ? 'kv-remove-button-' + id : null}
|
||||
id={id ? `kv-remove-button-${id}` : null}
|
||||
>
|
||||
<Margin right="2">
|
||||
<DeleteIcon
|
||||
|
130
yarn.lock
130
yarn.lock
@ -318,8 +318,8 @@ acorn@^4.0.3, acorn@^4.0.4:
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
|
||||
|
||||
acorn@^5.0.0, acorn@^5.0.3, acorn@^5.1.1, acorn@^5.4.1, acorn@^5.5.0, acorn@^5.5.3:
|
||||
version "5.5.3"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9"
|
||||
version "5.6.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.6.1.tgz#c9e50c3e3717cf897f1b071ceadbb543bbc0a8d4"
|
||||
|
||||
add-stream@^1.0.0:
|
||||
version "1.0.0"
|
||||
@ -2255,12 +2255,12 @@ caniuse-api@^1.5.2:
|
||||
lodash.uniq "^4.5.0"
|
||||
|
||||
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
|
||||
version "1.0.30000846"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000846.tgz#d9c86f914738db4da098eeded997413c44561bd2"
|
||||
version "1.0.30000847"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000847.tgz#ff4072a5468809fec0ae9ac3b4035ef891e5b144"
|
||||
|
||||
caniuse-lite@^1.0.30000748, caniuse-lite@^1.0.30000792:
|
||||
version "1.0.30000846"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000846.tgz#2092911eecad71a89dae1faa62bcc202fde7f959"
|
||||
version "1.0.30000847"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000847.tgz#be77f439be29bbc57ae08004b1e470b653b1ec1d"
|
||||
|
||||
capture-stack-trace@^1.0.0:
|
||||
version "1.0.0"
|
||||
@ -3044,8 +3044,8 @@ create-react-class@^15.5.1:
|
||||
object-assign "^4.1.1"
|
||||
|
||||
cross-fetch@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.0.tgz#2bcbff94ee51319bcee6699c642c5dda2aa8b6c0"
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.1.tgz#96c859104d75defc967fb5db62474e75426b02b0"
|
||||
dependencies:
|
||||
node-fetch "2.1.2"
|
||||
whatwg-fetch "2.0.4"
|
||||
@ -3511,7 +3511,7 @@ doctrine@1.5.0:
|
||||
esutils "^2.0.2"
|
||||
isarray "^1.0.0"
|
||||
|
||||
doctrine@^2.0.0, doctrine@^2.0.2, doctrine@^2.1.0:
|
||||
doctrine@^2.0.0, doctrine@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
|
||||
dependencies:
|
||||
@ -3732,8 +3732,8 @@ error-ex@^1.3.1:
|
||||
is-arrayish "^0.2.1"
|
||||
|
||||
es-abstract@^1.7.0:
|
||||
version "1.11.0"
|
||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681"
|
||||
version "1.12.0"
|
||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
|
||||
dependencies:
|
||||
es-to-primitive "^1.1.1"
|
||||
function-bind "^1.1.1"
|
||||
@ -3750,8 +3750,8 @@ es-to-primitive@^1.1.1:
|
||||
is-symbol "^1.0.1"
|
||||
|
||||
es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
|
||||
version "0.10.44"
|
||||
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.44.tgz#7a877e994bb190aebd4718aa2d62784a12e2ca20"
|
||||
version "0.10.45"
|
||||
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.45.tgz#0bfdf7b473da5919d5adf3bd25ceb754fccc3653"
|
||||
dependencies:
|
||||
es6-iterator "~2.0.3"
|
||||
es6-symbol "~3.1.1"
|
||||
@ -3903,8 +3903,8 @@ eslint-plugin-flowtype@2.39.1:
|
||||
lodash "^4.15.0"
|
||||
|
||||
eslint-plugin-flowtype@^2.46.1:
|
||||
version "2.48.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.48.0.tgz#e447dc27dcb99d68e2a705fd9c1046c32aae2ca1"
|
||||
version "2.49.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.49.3.tgz#ccca6ee5ba2027eb3ed36bc2ec8c9a842feee841"
|
||||
dependencies:
|
||||
lodash "^4.17.10"
|
||||
|
||||
@ -3987,13 +3987,13 @@ eslint-plugin-react@7.4.0:
|
||||
prop-types "^15.5.10"
|
||||
|
||||
eslint-plugin-react@^7.7.0:
|
||||
version "7.8.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.8.2.tgz#e95c9c47fece55d2303d1a67c9d01b930b88a51d"
|
||||
version "7.9.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.9.1.tgz#101aadd15e7c7b431ed025303ac7b421a8e3dc15"
|
||||
dependencies:
|
||||
doctrine "^2.0.2"
|
||||
has "^1.0.1"
|
||||
doctrine "^2.1.0"
|
||||
has "^1.0.2"
|
||||
jsx-ast-utils "^2.0.1"
|
||||
prop-types "^15.6.0"
|
||||
prop-types "^15.6.1"
|
||||
|
||||
eslint-scope@^3.7.1, eslint-scope@~3.7.1:
|
||||
version "3.7.1"
|
||||
@ -4703,7 +4703,7 @@ fullstore@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fullstore/-/fullstore-1.1.0.tgz#a7a8b00ca07d86faca05fb825c45e5d1c3bba97e"
|
||||
|
||||
function-bind@^1.0.2, function-bind@^1.1.1:
|
||||
function-bind@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
|
||||
|
||||
@ -5181,11 +5181,11 @@ has-values@^1.0.0:
|
||||
is-number "^3.0.0"
|
||||
kind-of "^4.0.0"
|
||||
|
||||
has@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
|
||||
has@^1.0.1, has@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/has/-/has-1.0.2.tgz#1a64bfe4b52e67fb87b9822503d97c019fb6ba42"
|
||||
dependencies:
|
||||
function-bind "^1.0.2"
|
||||
function-bind "^1.1.1"
|
||||
|
||||
hash-base@^3.0.0:
|
||||
version "3.0.4"
|
||||
@ -6055,8 +6055,8 @@ istanbul-lib-source-maps@^1.1.0:
|
||||
source-map "^0.5.3"
|
||||
|
||||
istanbul-lib-source-maps@^1.2.4:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz#cc7ccad61629f4efff8e2f78adb8c522c9976ec7"
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1"
|
||||
dependencies:
|
||||
debug "^3.1.0"
|
||||
istanbul-lib-coverage "^1.2.0"
|
||||
@ -6342,7 +6342,7 @@ joyent-manifest-editor@^1.4.0:
|
||||
prop-types "^15.6.0"
|
||||
react-codemirror "^1.0.0"
|
||||
|
||||
joyent-react-scripts@^8.2.1:
|
||||
joyent-react-scripts@^8.2.0, joyent-react-scripts@^8.2.1:
|
||||
version "8.2.1"
|
||||
resolved "https://registry.yarnpkg.com/joyent-react-scripts/-/joyent-react-scripts-8.2.1.tgz#6ccdf4f8e6af028cc8846e8099a2b7f486699f67"
|
||||
dependencies:
|
||||
@ -6382,8 +6382,8 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
||||
|
||||
js-yaml@^3.4.3, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1:
|
||||
version "3.11.0"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
|
||||
version "3.12.0"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
@ -6555,8 +6555,8 @@ jss-nested@^6.0.1:
|
||||
warning "^3.0.0"
|
||||
|
||||
jss@^9.8.1:
|
||||
version "9.8.1"
|
||||
resolved "https://registry.yarnpkg.com/jss/-/jss-9.8.1.tgz#e2ff250777ad657430e6edc47a63516541b888fa"
|
||||
version "9.8.2"
|
||||
resolved "https://registry.yarnpkg.com/jss/-/jss-9.8.2.tgz#09cabdfba831545bf094e399cfa45a1743daf4a6"
|
||||
dependencies:
|
||||
is-in-browser "^1.1.3"
|
||||
symbol-observable "^1.1.0"
|
||||
@ -7166,7 +7166,11 @@ miller-rabin@^4.0.0:
|
||||
bn.js "^4.0.0"
|
||||
brorand "^1.0.1"
|
||||
|
||||
mime-db@1.x.x, "mime-db@>= 1.33.0 < 2", mime-db@~1.33.0:
|
||||
mime-db@1.x.x, "mime-db@>= 1.33.0 < 2":
|
||||
version "1.34.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.34.0.tgz#452d0ecff5c30346a6dc1e64b1eaee0d3719ff9a"
|
||||
|
||||
mime-db@~1.33.0:
|
||||
version "1.33.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
|
||||
|
||||
@ -7294,8 +7298,8 @@ modify-values@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
|
||||
|
||||
moment@^2.6.0:
|
||||
version "2.22.1"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.1.tgz#529a2e9bf973f259c9643d237fda84de3a26e8ad"
|
||||
version "2.22.2"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66"
|
||||
|
||||
move-concurrently@^1.0.1:
|
||||
version "1.0.1"
|
||||
@ -8415,8 +8419,8 @@ prettier@1.11.0:
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.11.0.tgz#c024f70cab158c993f50fc0c25ffe738cb8b0f85"
|
||||
|
||||
prettier@^1.7.4:
|
||||
version "1.13.3"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.3.tgz#e74c09a7df6519d472ca6febaa37cf7addb48a20"
|
||||
version "1.13.4"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.4.tgz#31bbae6990f13b1093187c731766a14036fa72e6"
|
||||
|
||||
pretty-bytes@^4.0.2:
|
||||
version "4.0.2"
|
||||
@ -8928,14 +8932,14 @@ react-scripts@^1.1.1:
|
||||
fsevents "^1.1.3"
|
||||
|
||||
react-scroll-parallax@^1.3.4:
|
||||
version "1.3.4"
|
||||
resolved "https://registry.yarnpkg.com/react-scroll-parallax/-/react-scroll-parallax-1.3.4.tgz#dcd8bd4930ed143c2f1f33f083a55d3e4375ad44"
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/react-scroll-parallax/-/react-scroll-parallax-1.3.5.tgz#14a799f4773922c7feb5e31dc8a2acdb783e49d6"
|
||||
dependencies:
|
||||
prop-types "^15.5.10"
|
||||
|
||||
react-styleguidist@^7.0.14:
|
||||
version "7.0.14"
|
||||
resolved "https://registry.yarnpkg.com/react-styleguidist/-/react-styleguidist-7.0.14.tgz#ac6c6e5e7c80cb0e021aebe86f6609122a776a94"
|
||||
version "7.0.16"
|
||||
resolved "https://registry.yarnpkg.com/react-styleguidist/-/react-styleguidist-7.0.16.tgz#9d62aa52c94a65634198ea31ee3b17eac37e1328"
|
||||
dependencies:
|
||||
"@vxna/mini-html-webpack-template" "^0.1.7"
|
||||
acorn "^5.5.3"
|
||||
@ -9004,7 +9008,7 @@ react-test-renderer@^16.4.0:
|
||||
prop-types "^15.6.0"
|
||||
react-is "^16.4.0"
|
||||
|
||||
react@16.4.0, react@^0.14.0, react@^16.4.0, react@~15.4.1:
|
||||
react@16.4.0, react@^0.14.0, react@^16.3.1, react@^16.4.0, react@~15.4.1:
|
||||
version "16.4.0"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-16.4.0.tgz#402c2db83335336fba1962c08b98c6272617d585"
|
||||
dependencies:
|
||||
@ -9148,7 +9152,7 @@ redent@^2.0.0:
|
||||
indent-string "^3.0.0"
|
||||
strip-indent "^2.0.0"
|
||||
|
||||
redrun@^6.0.1, redrun@^6.0.4:
|
||||
redrun@^6.0.1, redrun@^6.0.2, redrun@^6.0.4:
|
||||
version "6.0.4"
|
||||
resolved "https://registry.yarnpkg.com/redrun/-/redrun-6.0.4.tgz#b32b0e089fb456529966f9b0134acdf7bad001ae"
|
||||
dependencies:
|
||||
@ -9185,16 +9189,7 @@ reduce-reducers@^0.1.0:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.1.5.tgz#ff77ca8068ff41007319b8b4b91533c7e0e54576"
|
||||
|
||||
redux-actions@^2.2.1:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.4.0.tgz#620df42d264af88366b4e919c46ae68da7c9ce7c"
|
||||
dependencies:
|
||||
invariant "^2.2.1"
|
||||
lodash "^4.13.1"
|
||||
lodash-es "^4.17.4"
|
||||
reduce-reducers "^0.1.0"
|
||||
|
||||
redux-actions@^2.4.0:
|
||||
redux-actions@^2.2.1, redux-actions@^2.4.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.4.0.tgz#620df42d264af88366b4e919c46ae68da7c9ce7c"
|
||||
dependencies:
|
||||
@ -10075,8 +10070,8 @@ stream-each@^1.1.0:
|
||||
stream-shift "^1.0.0"
|
||||
|
||||
stream-http@^2.7.2:
|
||||
version "2.8.2"
|
||||
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87"
|
||||
version "2.8.3"
|
||||
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
|
||||
dependencies:
|
||||
builtin-status-codes "^3.0.0"
|
||||
inherits "^2.0.1"
|
||||
@ -10220,14 +10215,14 @@ styled-components-breakpoint@^2.0.1:
|
||||
resolved "https://registry.yarnpkg.com/styled-components-breakpoint/-/styled-components-breakpoint-2.0.2.tgz#c55dbab794e9ff3a4f813349e2b35727a9364b09"
|
||||
|
||||
styled-components-spacing@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/styled-components-spacing/-/styled-components-spacing-3.0.0.tgz#67f9c48d96743e932a36afee1337ba4fb2a6f6ad"
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/styled-components-spacing/-/styled-components-spacing-3.0.1.tgz#f62e703b329921320e585b5bd1047327292a0c20"
|
||||
dependencies:
|
||||
styled-components-breakpoint "^2.0.1"
|
||||
|
||||
styled-components@^3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-3.3.0.tgz#335b1b2b673b416cd5ec012010e237ed1f877fe9"
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-3.3.2.tgz#087b96830ee3d60d9a8b5ef17c132b4f29cc71df"
|
||||
dependencies:
|
||||
buffer "^5.0.3"
|
||||
css-to-react-native "^2.0.3"
|
||||
@ -10700,7 +10695,7 @@ uglify-es@^3.3.4, uglify-es@^3.3.9:
|
||||
commander "~2.13.0"
|
||||
source-map "~0.6.1"
|
||||
|
||||
uglify-js@3.3.x, uglify-js@^3.0.13:
|
||||
uglify-js@3.3.x:
|
||||
version "3.3.28"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.28.tgz#0efb9a13850e11303361c1051f64d2ec68d9be06"
|
||||
dependencies:
|
||||
@ -10716,6 +10711,13 @@ uglify-js@^2.6, uglify-js@^2.8.29:
|
||||
optionalDependencies:
|
||||
uglify-to-browserify "~1.0.0"
|
||||
|
||||
uglify-js@^3.0.13:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.0.tgz#796762282b5b5f0eafe7d5c8c708d1d7bd5ba11d"
|
||||
dependencies:
|
||||
commander "~2.15.0"
|
||||
source-map "~0.6.1"
|
||||
|
||||
uglify-to-browserify@~1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
|
||||
@ -10953,12 +10955,18 @@ util-deprecate@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
|
||||
util@0.10.3, util@^0.10.3:
|
||||
util@0.10.3:
|
||||
version "0.10.3"
|
||||
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
|
||||
dependencies:
|
||||
inherits "2.0.1"
|
||||
|
||||
util@^0.10.3:
|
||||
version "0.10.4"
|
||||
resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
|
||||
dependencies:
|
||||
inherits "2.0.3"
|
||||
|
||||
utila@~0.3:
|
||||
version "0.3.3"
|
||||
resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226"
|
||||
|
Loading…
Reference in New Issue
Block a user