feat(instances): CI - firewall responsive designs

This commit is contained in:
Fábio Moreira 2018-06-01 16:00:37 +01:00 committed by Sérgio Ramos
parent deb1a8436f
commit fc81d666d0
5 changed files with 324 additions and 235 deletions

View File

@ -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,15 +43,20 @@ const Firewall = ({
enabled = false,
showInactiveRules = null,
showInactive = false,
theme = {},
...props
}) => (
}) => {
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.
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">
@ -61,7 +67,7 @@ const Firewall = ({
{({ next }) => (
<Fragment>
<Margin top="5">
<Flex>
<Flex column={mobile}>
<FlexItem>
<ReduxForm
form={IR_FW_F_ENABLED}
@ -69,7 +75,7 @@ const Firewall = ({
forceUnregisterOnUnmount={true}
>
{props => (
<Margin right="5">
<Margin right="5" bottom={mobile ? '2' : '0'}>
<ToggleFirewallForm {...props} submitting={loading} />
</Margin>
)}
@ -146,6 +152,7 @@ const Firewall = ({
type="button"
component={Link}
to={next}
fluid={mobile}
>
Next
</Button>
@ -154,7 +161,8 @@ const Firewall = ({
)}
</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} />));

View File

@ -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';

View File

@ -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,6 +75,77 @@ const Rule = ({ enabled, rule_obj }) => {
const tos = rule_obj.to.map((p, index) => parsePartial(p, index, style));
return (
<Card disabled={!enabled}>
<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>
<Margin left="5" right="1" inline>
<Strong style={style}>To: </Strong>
<Margin horizontal="1" inline>
{tos}
</Margin>
</Margin>
</Flex>
</Padding>
<Padding
horizontal="3"
vertical="2"
style={{ 'border-top': '1px solid #D8D8D8' }}
>
<SmallOnly>
<Flex column>
<Margin horizontal="1" inline>
<Strong style={style}>Protocol: </Strong>
<Margin horizontal="1" inline>
{protocol.name}
</Margin>
</Margin>
<Margin horizontal="1" inline>
<Strong style={style}>Ports: </Strong>
<Margin horizontal="1" inline>
{protocol.targets.join(';')}
</Margin>
</Margin>
<Margin horizontal="1" inline>
<Strong style={style}>Action: </Strong>
<Margin horizontal="1" inline>
{capitalizeFirstLetter(action)}
</Margin>
</Margin>
</Flex>
</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">
@ -131,6 +206,7 @@ const Rule = ({ enabled, rule_obj }) => {
</Col>
</Row>
</Padding>
</Large>
</Card>
);
};

View File

@ -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
View File

@ -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"