diff --git a/packages/ui-toolkit/package.json b/packages/ui-toolkit/package.json index 7343310b..5aa54d7d 100644 --- a/packages/ui-toolkit/package.json +++ b/packages/ui-toolkit/package.json @@ -42,21 +42,17 @@ "babel-template": "^6.26.0", "camel-case": "^3.0.0", "cross-env": "^5.0.5", - "d3": "^4.11.0", "disable-scroll": "^0.3.0", "file-loader": "^1.1.5", "fontfaceobserver": "^2.0.13", "joy-react-broadcast": "^0.6.9", "joyent-manifest-editor": "^1.4.0", - "lodash.difference": "^4.5.0", - "lodash.differenceby": "^4.8.0", "lodash.isequal": "^4.5.0", "lodash.isequalwith": "^4.4.0", "lodash.isstring": "^4.0.1", "moment": "^2.19.1", "normalized-styled-components": "^1.0.17", "pascal-case": "^2.0.1", - "polished": "^1.8.1", "prop-types": "^15.6.0", "react-bundle": "^1.0.4", "react-input-range": "^1.2.1", diff --git a/packages/ui-toolkit/src/index.js b/packages/ui-toolkit/src/index.js index 5d4d5b5d..70b59d44 100644 --- a/packages/ui-toolkit/src/index.js +++ b/packages/ui-toolkit/src/index.js @@ -12,7 +12,6 @@ export { default as Small } from './text/small'; export { default as Title } from './text/title'; export { default as theme } from './theme'; export { default as typography, fonts } from './typography'; -export { default as Topology } from './topology'; export { default as Modal, ModalHeading, ModalText } from './modal'; export { default as Chevron } from './chevron'; export { default as CloseButton } from './close-button'; diff --git a/packages/ui-toolkit/src/topology/constants.js b/packages/ui-toolkit/src/topology/constants.js deleted file mode 100644 index c3a05b76..00000000 --- a/packages/ui-toolkit/src/topology/constants.js +++ /dev/null @@ -1,94 +0,0 @@ -const Lengths = { - paddingLeft: 12, - nodeWidth: 180, - statusHeight: 18 -}; - -const Sizes = { - buttonSize: { - width: 40, - height: 48 - }, - contentSize: { - width: Lengths.nodeWidth, - // height: 101 // This is the height w/o info comp - height: 42 - }, - childContentSize: { - width: Lengths.nodeWidth, - height: 60 - }, - nodeSize: { - width: Lengths.nodeWidth, - // height: 156 - height: 90 - }, - nodeSizeWithChildren: { - width: Lengths.nodeWidth, - // height: 276 - height: 176 - } -}; - -const Points = { - buttonPosition: { - x: Lengths.nodeWidth - Sizes.buttonSize.width, - y: 0 - }, - contentPosition: { - x: 0, - y: Sizes.buttonSize.height - }, - infoPosition: { - x: Lengths.paddingLeft, - y: 11 - }, - metricsPosition: { - x: Lengths.paddingLeft, - y: 41 - }, - subtitlePosition: { - x: Lengths.paddingLeft, - y: 23 - } -}; - -const Rects = { - // X, y, width, height - buttonRect: { - ...Sizes.buttonSize, - ...Points.buttonPosition - }, - contentRect: { - ...Sizes.contentSize, - ...Points.contentPosition - }, - childContentRect: { - ...Sizes.childContentSize, - ...Points.contentPosition - }, - // Top, bottom, left, right - from 'centre' - nodeRect: { - ...Sizes.nodeSize, - left: -Sizes.nodeSize.width / 2, - right: Sizes.nodeSize.width / 2, - top: -Sizes.nodeSize.height / 2, - bottom: Sizes.nodeSize.height / 2 - }, - nodeRectWithChildren: { - ...Sizes.nodeSizeWithChildren, - left: -Sizes.nodeSizeWithChildren.width / 2, - right: Sizes.nodeSizeWithChildren.width / 2, - top: -Sizes.nodeSizeWithChildren.height / 2 + Sizes.contentSize.height / 3, - bottom: Sizes.nodeSizeWithChildren.height / 2 + Sizes.contentSize.height / 3 - } -}; - -const Constants = { - ...Lengths, - ...Sizes, - ...Points, - ...Rects -}; - -export default Constants; diff --git a/packages/ui-toolkit/src/topology/data/big.json b/packages/ui-toolkit/src/topology/data/big.json deleted file mode 100644 index a2f5920c..00000000 --- a/packages/ui-toolkit/src/topology/data/big.json +++ /dev/null @@ -1,1212 +0,0 @@ -[ - { - "uuid": "primary-consul", - "id": "consul", - "name": "Consul", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "isConsul": true, - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": "primary-nginx", - "id": "nginx", - "name": "Nginx", - "instances": [""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": [ - 21393, - 688632, - 3802, - 211054, - 514555, - 823837, - 728066, - 626040, - 39531, - 338897, - 870461, - 306578, - 557611, - 24764, - 866947, - 521183, - 920500, - 673424, - 752876, - 125936, - 195071, - 101278, - 766252, - 272044, - 579947, - 211151, - 712793, - 831906, - 897694, - 261116, - 246274, - 380300, - 299558, - 303216, - 974334, - 127763, - 437955, - 143274, - 634968, - 431609, - 282549, - 262582, - 418482, - 284724, - 798952, - 308763, - 111726 - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": "primary-mongodb", - "id": "mongodb", - "name": "MongoDB", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 21393, - "id": "accountservice", - "name": "AccountService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 688632, - "id": "addressservice", - "name": "AddressService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 3802, - "id": "bloomreachservice", - "name": "BloomreachService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 211054, - "id": "cartservice", - "name": "CartService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 514555, - "id": "extra service reported by containerpilot: cartservice-https", - "name": "Extra service reported by ContainerPilot: CartService-HTTPS", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 823837, - "id": "cctokenizationclientservice", - "name": "CCTokenizationClientService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 728066, - "id": "checkoutservice", - "name": "CheckoutService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 626040, - "id": "colorswatchservice", - "name": "ColorSwatchService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 39531, - "id": "emailmarketingservice", - "name": "EmailMarketingService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 338897, - "id": "favoriteservice", - "name": "FavoriteService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 870461, - "id": "findinstoreservice", - "name": "FindInStoreService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 306578, - "id": "fitpredictorservice", - "name": "FitpredictorService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 557611, - "id": "hidefromcatalogservice", - "name": "HidefromcatalogService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 24764, - "id": "internationalcheckoutservice", - "name": "InternationalCheckoutService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 866947, - "id": "internationalposervice", - "name": "InternationalPOService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 521183, - "id": "internationalshippingservice", - "name": "InternationalShippingService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 920500, - "id": "inventoryservice", - "name": "InventoryService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 673424, - "id": "localizationservice", - "name": "LocalizationService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 752876, - "id": "moreaccountservice", - "name": "MoreAccountService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 125936, - "id": "navigationservice", - "name": "NavigationService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 195071, - "id": "ordercreationjob", - "name": "OrderCreationJob", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 101278, - "id": "orderservice", - "name": "OrderService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 766252, - "id": "orderservice", - "name": "OrderService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 272044, - "id": "paymentmethodservice", - "name": "PaymentMethodService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 579947, - "id": "paymentservice", - "name": "PaymentService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 211151, - "id": "paymentservice", - "name": "PaymentService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 712793, - "id": "priceservice", - "name": "PriceService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 831906, - "id": "privatesaleservice", - "name": "PrivatesaleService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 897694, - "id": "productarrayservice", - "name": "ProductArrayService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 261116, - "id": "productdetailservice", - "name": "ProductDetailService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 246274, - "id": "productservice", - "name": "ProductService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 380300, - "id": "profileservice", - "name": "ProfileService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 299558, - "id": "promoservice", - "name": "PromoService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 303216, - "id": "promotionservice", - "name": "PromotionService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 974334, - "id": "questionanswerservice", - "name": "QuestionanswerService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 127763, - "id": "redbaloonservice", - "name": "RedBaloonService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 437955, - "id": "extra service reported by containerpilot: redbaloonservice-https", - "name": "Extra service reported by ContainerPilot: RedBaloonService-HTTPS", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 143274, - "id": "reviewsservice", - "name": "ReviewsService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 634968, - "id": "searchfacetsservice", - "name": "SearchFacetsService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 431609, - "id": "searchindexservice", - "name": "SearchIndexService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 282549, - "id": "shoprunnerservice", - "name": "ShopRunnerService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 262582, - "id": "taxservice", - "name": "TaxService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 418482, - "id": "toggleservice", - "name": "ToggleService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 284724, - "id": "useraccountservice", - "name": "UserAccountService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 798952, - "id": "userauthenticationservice", - "name": "UserAuthenticationService", - "instances": ["", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 308763, - "id": "waitlistoverlayservice", - "name": "WaitlistOverlayService", - "instances": ["", "", "", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["primary-mongodb"], - "datacentres": 1, - "healthy": true - }, - { - "uuid": 111726, - "id": "waitlistservice", - "name": "WaitlistService", - "instances": ["", "", ""], - "project": "9fcb374d-a267-4c2a-9d9c-ba469b804639", - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "datacentres": 1, - "healthy": true - } -] diff --git a/packages/ui-toolkit/src/topology/data/wp.json b/packages/ui-toolkit/src/topology/data/wp.json deleted file mode 100644 index 5e6facfe..00000000 --- a/packages/ui-toolkit/src/topology/data/wp.json +++ /dev/null @@ -1,147 +0,0 @@ -[ - { - "uuid": "081a792c-47e0-4439-924b-2efa9788ae9e", - "id": "nginx", - "name": "Nginx", - "project": "e0ea0c02-55cc-45fe-8064-3e5176a59401", - "instances": [""], - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": ["be227788-74f1-4e5b-a85f-b5c71cbae8d8"], - "healthy": true, - "datacentres": 1 - }, - { - "uuid": "be227788-74f1-4e5b-a85f-b5c71cbae8d8", - "id": "wordpress", - "name": "Wordpress", - "project": "e0ea0c02-55cc-45fe-8064-3e5176a59401", - "instances": ["", ""], - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "connections": [ - "6a0eee76-c019-413b-9d5f-44712b55b993", - "6d31aff4-de1e-4042-a983-fbd23d5c530c", - "4ee4103e-1a52-4099-a48e-01588f597c70" - ], - "healthy": true, - "datacentres": 2 - }, - { - "uuid": "6a0eee76-c019-413b-9d5f-44712b55b993", - "id": "nfs", - "name": "NFS", - "project": "e0ea0c02-55cc-45fe-8064-3e5176a59401", - "instances": ["", ""], - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "healthy": true, - "datacentres": 2 - }, - { - "uuid": "6d31aff4-de1e-4042-a983-fbd23d5c530c", - "id": "memcached", - "name": "Memcached", - "project": "e0ea0c02-55cc-45fe-8064-3e5176a59401", - "instances": ["", ""], - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "healthy": true, - "datacentres": 2 - }, - { - "uuid": "4ee4103e-1a52-4099-a48e-01588f597c70", - "id": "percona", - "name": "Percona", - "project": "e0ea0c02-55cc-45fe-8064-3e5176a59401", - "instances": ["", ""], - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "healthy": true, - "datacentres": 1 - }, - { - "uuid": "97c68055-db88-45c9-ad49-f26da4264777", - "id": "consul", - "name": "Consul", - "project": "e0ea0c02-55cc-45fe-8064-3e5176a59401", - "instances": ["", ""], - "isConsul": true, - "metrics": [ - { - "name": "CPU", - "value": "50%" - }, - { - "name": "Memory", - "value": "20%" - }, - { - "name": "Network", - "value": "2.9Kb/sec" - } - ], - "healthy": true, - "datacentres": 2 - } -] diff --git a/packages/ui-toolkit/src/topology/functions.js b/packages/ui-toolkit/src/topology/functions.js deleted file mode 100644 index 7a20080c..00000000 --- a/packages/ui-toolkit/src/topology/functions.js +++ /dev/null @@ -1,148 +0,0 @@ -import Constants from './constants'; - -const getAngleFromPoints = (source, target) => { - const lineAngle = Math.atan2(target.y - source.y, target.x - source.x); - const lineAngleDeg = lineAngle * 180 / Math.PI; - const zeroToThreeSixty = lineAngleDeg < 0 ? 360 + lineAngleDeg : lineAngleDeg; - - return zeroToThreeSixty; -}; - -const getPosition = (angle, positions, position, noCorners = false) => { - const positionIndex = noCorners - ? Math.round(angle / 90) * 2 - : Math.round(angle / 45); - - const offsetPosition = positions[positionIndex]; - - return { - id: offsetPosition.id, - x: position.x + offsetPosition.x, - y: position.y + offsetPosition.y - }; -}; - -const getPositions = (rect, halfCorner = 0) => [ - { - id: 'r', - x: rect.right, - y: 0 - }, - { - id: 'br', - x: rect.right - halfCorner, - y: rect.bottom - halfCorner - }, - { - id: 'b', - x: 0, - y: rect.bottom - }, - { - id: 'bl', - x: rect.left + halfCorner, - y: rect.bottom - halfCorner - }, - { - id: 'l', - x: rect.left, - y: 0 - }, - { - id: 'tl', - x: rect.left + halfCorner, - y: rect.top + halfCorner - }, - { - id: 't', - x: 0, - y: rect.top - }, - { - id: 'tr', - x: rect.right - halfCorner, - y: rect.top + halfCorner - }, - { - id: 'r', - x: rect.right, - y: 0 - } -]; - -/* const getRect = data => - data.children ? Constants.nodeRectWithChildren : Constants.nodeRect; */ - -const calculateLineLayout = ({ source, target }) => { - // Actually, this will need to be got dynamically, in case them things are different sizes - // yeah right, now you'll get to do exactly that - - const halfCorner = 2; - - const sourcePositions = getPositions(source.nodeRect, halfCorner); - const sourceAngle = getAngleFromPoints(source, target); - const sourcePosition = getPosition(sourceAngle, sourcePositions, source); - - const targetPositions = getPositions(target.nodeRect, halfCorner); - const targetAngle = getAngleFromPoints(target, sourcePosition); - const targetPosition = getPosition(targetAngle, targetPositions, target); // , true); - - const arrowAngle = getAngleFromPoints(sourcePosition, targetPosition); - - return { - source, - target, - sourcePosition, - targetPosition, - arrowAngle - }; -}; - -const getStatusesLength = data => - data.transitionalStatus ? 1 : data.instanceStatuses.length; - -const getStatusesHeight = data => { - const statuses = data.children - ? data.children.reduce( - (statuses, child) => statuses + getStatusesLength(child), - 0 - ) - : getStatusesLength(data); - - return statuses ? Constants.statusHeight * statuses + 6 : 0; -}; - -const getContentRect = (data, isChild = false) => { - const contentSize = isChild - ? Constants.childContentSize - : Constants.contentSize; - - const { height } = contentSize; - const contentHeight = height + getStatusesHeight(data); - - return { - ...Constants.contentPosition, - width: contentSize.width, - height: contentHeight - }; -}; - -const getNodeRect = data => { - const nodeSize = data.children - ? Constants.nodeSizeWithChildren - : Constants.nodeSize; - - const { width, height } = nodeSize; - const nodeHeight = height + getStatusesHeight(data); - - return { - left: -width / 2, - right: width / 2, - top: -height / 2, - bottom: nodeHeight - height / 2, - width, - height: nodeHeight - }; -}; - -export { getContentRect, getNodeRect, calculateLineLayout }; diff --git a/packages/ui-toolkit/src/topology/index.js b/packages/ui-toolkit/src/topology/index.js deleted file mode 100644 index acd69e75..00000000 --- a/packages/ui-toolkit/src/topology/index.js +++ /dev/null @@ -1,462 +0,0 @@ -import React from 'react'; -import { Svg } from 'normalized-styled-components'; -import PropTypes from 'prop-types'; -import difference from 'lodash.difference'; -import differenceBy from 'lodash.differenceby'; - -import Baseline from '../baseline'; -import Constants from './constants'; -import { createSimulation } from './simulation'; -import TopologyNode from './node'; -import TopologyLink from './link'; -import TopologyLinkArrow from './link/arrow'; -import { getNodeRect, calculateLineLayout } from './functions'; - -const StyledSvg = Svg.extend` - width: 100%; - height: 1000px; -`; - -/** - * @example ./usage.md - */ -class Topology extends React.Component { - componentWillMount() { - this.create(this.props); - } - - componentDidMount() { - this.boundResize = this.handleResize.bind(this); - window.addEventListener('resize', this.boundResize); - } - - componentWillUnmount() { - window.removeEventListener('resize', this.boundResize); - } - - shouldComponentUpdate() { - return false; - } - - getChangedConnections(services, nextServices) { - return nextServices.reduce((changed, nextService) => { - if (changed.added || changed.removed) { - return changed; - } - const service = services - .filter(service => service.id === nextService.id) - .shift(); - const connectionsAdded = difference( - nextService.connections, - service.connections - ).length; - // there's a new connection, we need to redraw - if (connectionsAdded) { - return { added: true }; - } - const connectionsRemoved = difference( - service.connections, - nextService.connections - ).length; - // we'll need to remove the offending connections from links - if (connectionsRemoved) { - return { removed: true }; - } - return changed; - }, {}); - } - - getNextLinks(nextServices) { - const links = this.state.links; - return links.reduce((nextLinks, link) => { - const sourceExists = nextServices.filter( - nextService => nextService.id === link.source.id - ); - if (sourceExists.length) { - const source = sourceExists.shift(); - const targetExists = nextServices.filter( - nextService => nextService.id === link.target.id - ).length; - const connectionExists = source.connections.filter( - connection => connection === link.target.id - ).length; - if (targetExists && connectionExists) { - nextLinks.push(link); - } - } - return nextLinks; - }, []); - } - - getNextNodes(nextServices) { - const nodes = this.state.nodes; - // let notConnectedX = 0; - return nodes.reduce((nextNodes, node) => { - const keep = nextServices.filter( - nextService => nextService.id === node.id - ).length; - if (keep) { - nextNodes.push(node); - } - return nextNodes; - }, []); - } - - componentWillReceiveProps(nextProps) { - // if we remove a node, it should just be removed from the simulation nodes and links - // if we add a node, then we should recreate the damn thing - // on other updates, we should update the services on the state and that's it - // we should forceUpdate once the state has been updated - const nextServices = nextProps.services.sort(); - const connectedNextServices = nextServices.filter( - service => service.connected - ); - const notConnectedNextServices = nextServices.filter( - service => !service.connected - ); - - const { services } = this.state; - if (nextServices.length > services.length) { - // new service added, we need to redraw - this.create(nextProps); - } else if (nextServices.length <= services.length) { - const servicesRemoved = differenceBy(services, nextServices, 'id'); - const servicesChanged = differenceBy(nextServices, services, 'id'); - if ( - servicesChanged.length || - servicesRemoved.length !== services.length - nextServices.length - ) { - this.create(nextProps); - } else { - // check whether there are new connections. if so, we need to redraw - // if we just dropped one, we need to remove it from links - // comparison to yield 3 possible outcomes; no change, added, dropped - const changedConnections = this.getChangedConnections( - services, - nextServices - ); - // if connections are added, we'll need to redraw - if (changedConnections.added) { - this.create(nextProps); - } else if (servicesRemoved.length || changedConnections.removed) { - const nextNodes = this.getNextNodes(connectedNextServices); - const notConnectedNodes = this.getNotConnectedNodes( - notConnectedNextServices - ); - const nextLinks = this.getNextLinks(nextServices); - - this.setState( - { - services: nextServices, - links: nextLinks, - nodes: nextNodes, - notConnectedNodes - }, - () => this.forceUpdate() - ); - } else { - // we've got the same services, no links changed, so we just need to set them to the state - this.setState({ services: nextServices }, () => this.forceUpdate()); - } - } - } - } - - getNotConnectedNodes(notConnectedServices) { - return notConnectedServices.map((notConnectedService, index) => { - const svgSize = this.getSvgSize(); - const x = notConnectedService.isConsul - ? svgSize.width - Constants.nodeSize.width - : (Constants.nodeSize.width + 10) * index; - - return { - id: notConnectedService.id, - x, - y: 0 - }; - }); - } - - handleResize(evt) { - this.create(this.props); - // resize should just rejig the positions - } - - create(props) { - // other updates should also just update the services rather than recreate the simulation - const services = props.services.sort(); - const connectedServices = services.filter(service => service.connected); - const notConnectedServices = services.filter(service => !service.connected); - const svgSize = this.getSvgSize(); - - const { nodes, links, simulation } = createSimulation( - connectedServices, - svgSize - ); - const notConnectedNodes = this.getNotConnectedNodes(notConnectedServices); - - this.setState( - { - notConnectedNodes, - nodes, - links, - simulation, - services - }, - () => { - this.forceUpdate(); - } - ); - } - - getSvgSize() { - if (document.getElementById('topology-svg')) { - return document.getElementById('topology-svg').getBoundingClientRect(); - } - - const windowWidth = - window.innerWidth || - document.documentElement.clientWidth || - document.body.clientWidth; - - return { - width: windowWidth - 2 * 24, - height: 1000 - }; - } - - constrainNodePosition(x, y, nodeRect, children = false) { - const svgSize = this.getSvgSize(); - - /* const nodeRect = children - ? Constants.nodeRectWithChildren - : Constants.nodeRect; */ - - if (x < nodeRect.right + 2) { - x = nodeRect.right + 2; - } else if (x > svgSize.width + nodeRect.left - 2) { - x = svgSize.width + nodeRect.left - 2; - } - - if (y < -nodeRect.top + 2) { - y = -nodeRect.top + 2; - } else if (y > svgSize.height - nodeRect.bottom - 2) { - y = svgSize.height - nodeRect.bottom - 2; - } - - return { - x, - y - }; - } - - findNode(nodeId) { - return this.state.nodes.reduce( - (acc, simNode, index) => (simNode.id === nodeId ? simNode : acc), - {} - ); - } - - getConstrainedNodePosition(nodeId, nodeRect, children = false) { - const node = this.findNode(nodeId); - return this.constrainNodePosition(node.x, node.y, nodeRect, children); - } - - getNotConnectedNodePosition(nodeId) { - return this.state.notConnectedNodes - .filter(ncn => ncn.id === nodeId) - .shift(); - } - - findNodeData(nodesData, nodeId) { - return nodesData.filter(nodeData => nodeData.id === nodeId).shift(); - } - - setDragInfo(dragging, nodeId = null, position = {}) { - this.dragInfo = { - dragging, - nodeId, - position - }; - } - - render() { - const { onQuickActionsClick, onNodeTitleClick } = this.props; - - const { nodes, links, services } = this.state; - - const nodesData = services.map((service, index) => { - const nodeRect = getNodeRect(service); - const nodePosition = service.connected - ? this.getConstrainedNodePosition( - service.id, - nodeRect, - service.children - ) - : this.getNotConnectedNodePosition(service.id); - - return { - ...service, - ...nodePosition, - nodeRect - }; - }); - - // TODO links will need to know whether a service has children - // if it does, the height of it will be different - const linksData = links - .map((link, index) => ({ - source: this.findNodeData(nodesData, link.source.id), - target: this.findNodeData(nodesData, link.target.id) - })) - .map((linkData, index) => { - return calculateLineLayout(linkData, index); - }); - - const onDragStart = (evt, nodeId) => { - // It's this node's position that we'll need to update - - const x = evt.changedTouches ? evt.changedTouches[0].pageX : evt.clientX; - const y = evt.changedTouches ? evt.changedTouches[0].pageY : evt.clientY; - - this.setDragInfo(true, nodeId, { - x, - y - }); - }; - - const onDragMove = evt => { - if (this.dragInfo && this.dragInfo.dragging) { - const x = evt.changedTouches - ? evt.changedTouches[0].pageX - : evt.clientX; - const y = evt.changedTouches - ? evt.changedTouches[0].pageY - : evt.clientY; - - const offset = { - x: x - this.dragInfo.position.x, - y: y - this.dragInfo.position.y - }; - - const dragNodes = nodes.map((simNode, index) => { - if (simNode.id === this.dragInfo.nodeId) { - return { - ...simNode, - x: simNode.x + offset.x, - y: simNode.y + offset.y - }; - } - return { - ...simNode - }; - }); - - this.setState( - { - nodes: dragNodes - }, - () => this.forceUpdate() - ); - - this.setDragInfo(true, this.dragInfo.nodeId, { - x, - y - }); - } - }; - - const onDragEnd = evt => { - this.setDragInfo(false); - }; - - const renderedNode = (n, index) => ( - - ); - - const renderedLink = (l, index) => ( - - ); - - const renderedLinkArrow = (l, index) => ( - - ); - - const renderedNodes = - this.dragInfo && this.dragInfo.dragging - ? nodesData - .filter((n, index) => n.id !== this.dragInfo.nodeId) - .map((n, index) => renderedNode(n, index)) - : nodesData.map((n, index) => renderedNode(n, index)); - - const renderedLinks = linksData.map((l, index) => renderedLink(l, index)); - - const renderedLinkArrows = - this.dragInfo && this.dragInfo.dragging - ? linksData - .filter((l, index) => l.target.id !== this.dragInfo.nodeId) - .map((l, index) => renderedLinkArrow(l, index)) - : linksData.map((l, index) => renderedLinkArrow(l, index)); - - const dragNode = - !this.dragInfo || !this.dragInfo.dragging - ? null - : renderedNode( - nodesData.reduce((dragNode, n, index) => { - if (n.id === this.dragInfo.nodeId) { - return n; - } - return dragNode; - }, {}) - ); - - const dragLinkArrow = - !this.dragInfo || - !this.dragInfo.dragging || - renderedLinkArrows.length === renderedLinks.length - ? null - : renderedLinkArrow( - linksData.reduce((dragLinkArrow, l, index) => { - if (l.target.id === this.dragInfo.nodeId) { - return l; - } - return dragLinkArrow; - }, {}) - ); - - return ( - - {renderedNodes} - {renderedLinks} - {renderedLinkArrows} - {dragNode} - {dragLinkArrow} - - ); - } -} - -Topology.propTypes = { - onQuickActionsClick: PropTypes.func, - onNodeTitleClick: PropTypes.func, - services: PropTypes.array -}; - -export default Baseline(Topology); - -export { default as TopologyNode } from './node'; -export { default as TopologyLink } from './link'; diff --git a/packages/ui-toolkit/src/topology/link/arrow.js b/packages/ui-toolkit/src/topology/link/arrow.js deleted file mode 100644 index 2e44d1ee..00000000 --- a/packages/ui-toolkit/src/topology/link/arrow.js +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { GraphLinkCircle, GraphLinkArrowLine } from './shapes'; -import Baseline from '../../baseline'; - -const GraphLinkArrow = ({ data, index }) => { - const { targetPosition, arrowAngle } = data; - - return ( - - - - - - ); -}; - -GraphLinkArrow.propTypes = { - data: PropTypes.object.isRequired, - index: PropTypes.number -}; - -export default Baseline(GraphLinkArrow); diff --git a/packages/ui-toolkit/src/topology/link/index.js b/packages/ui-toolkit/src/topology/link/index.js deleted file mode 100644 index b0189ec3..00000000 --- a/packages/ui-toolkit/src/topology/link/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { GraphLinkLine } from './shapes'; -import Baseline from '../../baseline'; - -const GraphLink = ({ data, index }) => { - const { sourcePosition, targetPosition } = data; - - return ( - - ); -}; - -GraphLink.propTypes = { - data: PropTypes.object.isRequired, - index: PropTypes.number -}; - -export default Baseline(GraphLink); diff --git a/packages/ui-toolkit/src/topology/link/shapes.js b/packages/ui-toolkit/src/topology/link/shapes.js deleted file mode 100644 index 8642a4b1..00000000 --- a/packages/ui-toolkit/src/topology/link/shapes.js +++ /dev/null @@ -1,18 +0,0 @@ -import styled from 'styled-components'; - -export const GraphLinkLine = styled.line` - stroke: ${props => props.theme.secondaryActive}; - stroke-width: 1.5; -`; - -export const GraphLinkCircle = styled.circle` - stroke: ${props => props.theme.secondaryActive}; - fill: ${props => props.theme.secondary}; - stroke-width: 1.5; -`; - -export const GraphLinkArrowLine = styled.line` - stroke: ${props => props.theme.white}; - stroke-width: 2; - stroke-linecap: round; -`; diff --git a/packages/ui-toolkit/src/topology/node/button.js b/packages/ui-toolkit/src/topology/node/button.js deleted file mode 100644 index ff73356c..00000000 --- a/packages/ui-toolkit/src/topology/node/button.js +++ /dev/null @@ -1,58 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import Baseline from '../../baseline'; -import Constants from '../constants'; -import { GraphLine, GraphButtonRect, GraphButtonCircle } from './shapes'; - -const NodeButton = ({ onButtonClick, index, isConsul, instancesActive }) => { - const { x, y, width, height } = Constants.buttonRect; - - const buttonCircleRadius = 2; - const buttonCircleSpacing = 2; - const buttonCircleY = - (height - buttonCircleRadius * 4 - buttonCircleSpacing * 2) / 2; - - const buttonCircles = [1, 2, 3].map((item, index) => ( - - )); - - return ( - - - {buttonCircles} - - - ); -}; - -NodeButton.propTypes = { - index: PropTypes.number.isRequired, - onButtonClick: PropTypes.func.isRequired, - isConsul: PropTypes.bool, - instancesActive: PropTypes.bool -}; - -export default Baseline(NodeButton); diff --git a/packages/ui-toolkit/src/topology/node/content.js b/packages/ui-toolkit/src/topology/node/content.js deleted file mode 100644 index 9d444792..00000000 --- a/packages/ui-toolkit/src/topology/node/content.js +++ /dev/null @@ -1,57 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import Baseline from '../../baseline'; -import Constants from '../constants'; -import { GraphLine, GraphSubtitle } from './shapes'; -import GraphNodeInfo from './info'; - -const GraphNodeContent = ({ - child = false, - data, - y = Constants.contentRect.y, - index = 0 -}) => { - const { x, width } = Constants.contentRect; - - const nodeInfoPos = child - ? { - x: Constants.infoPosition.x, - y: Constants.infoPosition.y + 21 - } - : Constants.infoPosition; - - const nodeSubtitle = child ? ( - - {data.name} - - ) : null; - - const nodeInfo = ; - - return ( - - - {nodeSubtitle} - {nodeInfo} - - ); -}; - -GraphNodeContent.propTypes = { - child: PropTypes.bool, - data: PropTypes.object.isRequired, - index: PropTypes.number -}; - -export default Baseline(GraphNodeContent); diff --git a/packages/ui-toolkit/src/topology/node/icon-data-centers.svg b/packages/ui-toolkit/src/topology/node/icon-data-centers.svg deleted file mode 100644 index 4a41683a..00000000 --- a/packages/ui-toolkit/src/topology/node/icon-data-centers.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - icon: data center - Created with Sketch. - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/ui-toolkit/src/topology/node/icon-heart.svg b/packages/ui-toolkit/src/topology/node/icon-heart.svg deleted file mode 100644 index 3ff9b2a9..00000000 --- a/packages/ui-toolkit/src/topology/node/icon-heart.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - icon: health - Created with Sketch. - - - - - - - - - - - - - diff --git a/packages/ui-toolkit/src/topology/node/icon-instances.svg b/packages/ui-toolkit/src/topology/node/icon-instances.svg deleted file mode 100644 index 6289d82e..00000000 --- a/packages/ui-toolkit/src/topology/node/icon-instances.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - icon: instances - Created with Sketch. - - - - - - - - - - - - - - - diff --git a/packages/ui-toolkit/src/topology/node/index.js b/packages/ui-toolkit/src/topology/node/index.js deleted file mode 100644 index 449d495f..00000000 --- a/packages/ui-toolkit/src/topology/node/index.js +++ /dev/null @@ -1,124 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import Constants from '../constants'; -import { getContentRect } from '../functions'; -import GraphNodeTitle from './title'; -import GraphNodeButton from './button'; -import GraphNodeContent from './content'; -import { GraphNodeRect, GraphShadowRect } from './shapes'; -import Baseline from '../../baseline'; - -const GraphNode = ({ - data, - index, - onDragStart, - onNodeTitleClick, - onQuickActions -}) => { - const { left, top, width, height } = data.nodeRect; - const { connected, id, children, instancesActive, isConsul } = data; - - let x = data.x; - let y = data.y; - - if (connected) { - x = data.x + left; - y = data.y + top; - } - - const onButtonClick = evt => { - const tooltipPosition = { - x: data.x + Constants.buttonRect.x + Constants.buttonRect.width / 2, - y: data.y + Constants.buttonRect.y + Constants.buttonRect.height - }; - - if (connected) { - tooltipPosition.x += left; - tooltipPosition.y += top; - } - - const d = { - service: data, - position: { - left: tooltipPosition.x, - top: tooltipPosition.y - } - }; - - onQuickActions(evt, d); - }; - - const onTitleClick = evt => onNodeTitleClick(evt, { service: data }); - - const onStart = evt => { - evt.preventDefault(); - onDragStart(evt, id); - }; - - const nodeRectEvents = connected - ? { - onMouseDown: onStart, - onTouchStart: onStart - } - : {}; - - const nodeContent = children ? ( - children.reduce( - (acc, d, i) => { - acc.children.push( - - ); - acc.y += getContentRect(d, true).height; - return acc; - }, - { y: Constants.contentRect.y, children: [] } - ).children - ) : ( - - ); - - const nodeShadow = instancesActive ? ( - - ) : null; - - return ( - - {nodeShadow} - - - - {nodeContent} - - ); -}; - -GraphNode.propTypes = { - data: PropTypes.object.isRequired, - index: PropTypes.number.isRequired, - onDragStart: PropTypes.func, - onNodeTitleClick: PropTypes.func, - onQuickActions: PropTypes.func -}; - -export default Baseline(GraphNode); diff --git a/packages/ui-toolkit/src/topology/node/info.js b/packages/ui-toolkit/src/topology/node/info.js deleted file mode 100644 index 1e79387f..00000000 --- a/packages/ui-toolkit/src/topology/node/info.js +++ /dev/null @@ -1,96 +0,0 @@ -import React from 'react'; -import styled from 'styled-components'; -import is, { isNot } from 'styled-is'; -import PropTypes from 'prop-types'; -import Baseline from '../../baseline'; -import InstancesIcon from './icon-instances.svg'; -import { Point } from '../prop-types'; -import { GraphText } from './shapes'; -import { HealthyIcon } from '../../icons'; - -const StyledInstancesIcon = styled(InstancesIcon)` - fill: ${props => props.theme.white}; - - ${is('consul')` - fill: ${props => props.theme.secondary}; - `}; - - ${isNot('active')` - fill: ${props => props.theme.secondary}; - `}; -`; - -// const StyledDataCentresIcon = styled(DataCentresIcon)` -// fill: ${props => props.theme.white}; -// -// ${is('consul')` -// fill: ${props => props.theme.secondary}; -// `}; -// -// ${isNot('active')` -// fill: ${props => props.theme.secondary}; -// `}; -// `; - -const GraphNodeInfo = ({ data, pos }) => { - const { - instances, - instanceStatuses, - instancesHealthy, - isConsul, - instancesActive, - transitionalStatus, - status - } = data; - - const { x, y } = pos; - - const statuses = transitionalStatus ? ( - - {status.toLowerCase()} - - ) : ( - instanceStatuses.map((instanceStatus, index) => ( - - {`${instanceStatus.count} - ${instanceStatus.status.toLowerCase()}`} - - )) - ); - - const healthy = ( - - ); - - return ( - - {healthy} - - - - - {`${instances.length} inst.`} - - {statuses} - {/* - - - - {datacenter} - */} - - ); -}; - -GraphNodeInfo.propTypes = { - data: PropTypes.object.isRequired, - pos: Point.isRequired -}; - -export default Baseline(GraphNodeInfo); diff --git a/packages/ui-toolkit/src/topology/node/metrics.js b/packages/ui-toolkit/src/topology/node/metrics.js deleted file mode 100644 index 9ad7bad2..00000000 --- a/packages/ui-toolkit/src/topology/node/metrics.js +++ /dev/null @@ -1,36 +0,0 @@ -import React from 'react'; -import Baseline from '../../baseline'; -import { Point } from '../prop-types'; -import { GraphText } from './shapes'; -import PropTypes from 'prop-types'; - -const GraphNodeMetrics = ({ connected, metrics, pos }) => { - const { x, y } = pos; - - const metricSpacing = 18; - const metricsText = metrics.map((metric, index) => ( - - {`${metric.name}: ${metric.value}`} - - )); - - return {metricsText}; -}; - -GraphNodeMetrics.propTypes = { - connected: PropTypes.bool, - metrics: PropTypes.arrayOf( - PropTypes.shape({ - name: PropTypes.string.isRequired, - value: PropTypes.string.isRequired - }) - ), - pos: Point.isRequired -}; - -export default Baseline(GraphNodeMetrics); diff --git a/packages/ui-toolkit/src/topology/node/shapes.js b/packages/ui-toolkit/src/topology/node/shapes.js deleted file mode 100644 index abfd1a8b..00000000 --- a/packages/ui-toolkit/src/topology/node/shapes.js +++ /dev/null @@ -1,124 +0,0 @@ -import styled from 'styled-components'; -import is, { isNot } from 'styled-is'; -import typography from '../../typography'; - -export const GraphLine = styled.line` - stroke: ${props => props.theme.secondaryActive}; - stroke-width: 1.5; - - ${is('consul')` - stroke: ${props => props.theme.grey}; - `}; - - ${isNot('active')` - stroke: ${props => props.theme.grey}; - `}; -`; - -export const GraphNodeRect = styled.rect` - fill: ${props => props.theme.secondary}; - stroke: ${props => props.theme.secondaryActive}; - stroke-width: 1.5; - rx: 4; - ry: 4; - - ${is('consul')` - stroke: ${props => props.theme.grey}; - fill: ${props => props.theme.white}; - `}; - - ${isNot('active')` - stroke: ${props => props.theme.grey}; - fill: ${props => props.theme.whiteActive}; - `}; - - ${is('connected')` - cursor: move; - `}; -`; - -export const GraphShadowRect = styled.rect` - fill: ${props => props.theme.secondary}; - opacity: 0.33; - rx: 4; - ry: 4; - - ${is('consul')` - fill: ${props => props.theme.grey}; - `}; -`; - -export const GraphTitle = styled.text` - ${typography.normal}; - - font-size: 16px; - font-weight: 600; - fill: ${props => props.theme.white}; - - ${is('consul')` - fill: ${props => props.theme.secondary}; - `}; - - ${isNot('active')` - fill: ${props => props.theme.secondary}; - `}; - - cursor: pointer; -`; - -export const GraphSubtitle = styled.text` - ${typography.normal}; - - font-size: 12px; - font-weight: 600; - fill: ${props => props.theme.white}; - - ${is('consul')` - fill: ${props => props.theme.secondary}; - `}; - - ${isNot('active')` - fill: ${props => props.theme.secondary}; - `}; -`; - -export const GraphText = styled.text` - ${typography.normal}; - - font-size: 12px; - fill: ${props => props.theme.white}; - opacity: 0.8; - - ${is('consul')` - fill: ${props => props.theme.secondary}; - `}; - - ${isNot('active')` - fill: ${props => props.theme.secondary}; - `}; -`; - -export const GraphButtonRect = styled.rect` - cursor: pointer; - opacity: 0; - - &:focus { - outline: none; - } -`; - -export const GraphButtonCircle = styled.circle` - fill: ${props => props.theme.white}; - - ${is('consul')` - fill: ${props => props.theme.secondary}; - `}; - - ${isNot('active')` - fill: ${props => props.theme.secondary}; - `}; -`; - -export const GraphHealthyCircle = styled.circle` - fill: ${props => props.theme.green}; -`; diff --git a/packages/ui-toolkit/src/topology/node/title.js b/packages/ui-toolkit/src/topology/node/title.js deleted file mode 100644 index 25115b93..00000000 --- a/packages/ui-toolkit/src/topology/node/title.js +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import Baseline from '../../baseline'; -import Constants from '../constants'; -import { GraphTitle } from './shapes'; - -const GraphNodeTitle = ({ data, onNodeTitleClick }) => ( - - - {data.name} - - {/* - - - */} - -); - -GraphNodeTitle.propTypes = { - data: PropTypes.object.isRequired, - onNodeTitleClick: PropTypes.func -}; - -export default Baseline(GraphNodeTitle); diff --git a/packages/ui-toolkit/src/topology/prop-types.js b/packages/ui-toolkit/src/topology/prop-types.js deleted file mode 100644 index d246493c..00000000 --- a/packages/ui-toolkit/src/topology/prop-types.js +++ /dev/null @@ -1,26 +0,0 @@ -import PropTypes from 'prop-types'; - -const p = { - x: PropTypes.number.isRequired, - y: PropTypes.number.isRequired -}; - -const s = { - width: PropTypes.number, - height: PropTypes.number -}; - -const Point = PropTypes.shape({ - ...p -}); - -const Size = PropTypes.shape({ - ...s -}); - -const Rect = PropTypes.shape({ - ...p, - ...s -}); - -export { Point, Rect, Size }; diff --git a/packages/ui-toolkit/src/topology/simulation.js b/packages/ui-toolkit/src/topology/simulation.js deleted file mode 100644 index f07c8b69..00000000 --- a/packages/ui-toolkit/src/topology/simulation.js +++ /dev/null @@ -1,140 +0,0 @@ -import { forceSimulation, forceLink, forceCollide, forceCenter } from 'd3'; -import Constants from './constants'; - -const hypotenuse = (a, b) => Math.sqrt(a * a + b * b); - -const rectRadius = ({ width, height }) => - Math.round(hypotenuse(width, height) / 2); - -const forcePlayAnimation = (simulation, animationTicks) => { - const n = - Math.ceil( - Math.log(simulation.alphaMin()) / Math.log(1 - simulation.alphaDecay()) - ) + 100; // - animationTicks; - - for (let i = 0; i < n; ++i) { - simulation.tick(); - } -}; - -const createLinks = services => - services.reduce( - (acc, service, index) => - service.connections - ? acc.concat( - service.connections.reduce((connections, connection, index) => { - const targetExists = services.filter( - service => service.id === connection - ).length; - if (targetExists) { - connections.push({ - source: service.id, - target: connection - }); - } - return connections; - }, []) - ) - : acc, - [] - ); - -const createSimulation = (services, svgSize, animationTicks = 0) => { - // This is not going to work given that as well as the d3 layout stuff, other things might be at play too - // We should pass two objects to the components - one for positioning and one for data - const nodes = services.map((service, index) => { - return { - id: service.id, - index - }; - }); - - const links = createLinks(services); - - const { width, height } = svgSize; - - const nodeRadius = rectRadius(Constants.nodeSizeWithChildren); - - const simulation = forceSimulation(nodes) - .force('link', forceLink(links).id(d => d.id)) - .force('collide', forceCollide(nodeRadius)) - .force('center', forceCenter(width / 2, height / 2)); - - forcePlayAnimation(simulation, animationTicks); - - return { - nodes, - links, - simulation - }; -}; - -// TODO we need to kill the previous simulation -const updateSimulation = ( - simulation, - services, - simNodes, - simLinks, - svgSize, - onTick, - onEnd -) => { - const nodes = services.map((service, index) => { - const simNode = simNodes.reduce((acc, n, i) => { - return service.id === n.id ? n : acc; - }, null); - - return simNode - ? { - id: simNode.id, - // Fx: simNode.x, - // fy: simNode.y, - index - } - : { - id: service.id, - index - }; - }); - - const links = createLinks(services); - - const { width, height } = svgSize; - - const nodeRadius = rectRadius(Constants.nodeSizeWithChildren); - - return { - simulation: forceSimulation(nodes) - .force('link', forceLink(links).id(d => d.id)) - .force('collide', forceCollide(nodeRadius)) - .force('center', forceCenter(width / 2, height / 2)) - .on('tick', onTick) - .on('end', onEnd), - nodes, - links - }; -}; - -export { createSimulation, updateSimulation }; - -/* -Const simulation = forceSimulation(dataNodes) - // .alpha(1).alphaDecay(0.1) - // .force('charge', forceManyBody()) - .force('link', forceLink(dataLinks) - //.distance(() => linkDistance) - .id(d => d.id)) - .force('collide', forceCollide(nodeRadius)) - .force('center', forceCenter(1024/2, 860/2)) - .on('tick', () => { - console.log('SIMULATION TICK'); - console.log('tickCounter = ', tickCounter); - tickCounter++; - this.forceUpdate(); - }) - .on('end', () => { - console.log('SIMULATION END'); - console.log('tickCounter = ', tickCounter); - // this.forceUpdate(); - }) -*/ diff --git a/packages/ui-toolkit/src/topology/usage.md b/packages/ui-toolkit/src/topology/usage.md deleted file mode 100644 index 1b253d36..00000000 --- a/packages/ui-toolkit/src/topology/usage.md +++ /dev/null @@ -1,94 +0,0 @@ -``` - -``` diff --git a/packages/ui-toolkit/styleguide.config.js b/packages/ui-toolkit/styleguide.config.js index 5d2ac759..a510886f 100644 --- a/packages/ui-toolkit/styleguide.config.js +++ b/packages/ui-toolkit/styleguide.config.js @@ -105,8 +105,7 @@ module.exports = { 'src/form/radio.js', 'src/section-list/index.js', 'src/form/select.js', - 'src/form/toggle.js', - 'src/topology/index.js' + 'src/form/toggle.js' ] } ], diff --git a/yarn.lock b/yarn.lock index 44cd104b..b75a06c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,7 +120,7 @@ version "0.10.2" resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.10.2.tgz#d7c79acbaa17453b6681c80c34b38fcb10c4c08c" -"@types/graphql@^0.9.0", "@types/graphql@^0.9.1": +"@types/graphql@^0.9.1": version "0.9.4" resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.9.4.tgz#cdeb6bcbef9b6c584374b81aa7f48ecf3da404fa" @@ -378,25 +378,24 @@ apollo-link-core@^0.5.0: graphql-tag "^2.4.2" zen-observable-ts "^0.4.4" -apollo-link@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-0.7.0.tgz#a8f09069b31821c27285584264356b1b6e6be6f2" +apollo-link@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-0.8.0.tgz#efce6b35ae9ea5f6966a87054ba4893a5b6d960a" dependencies: apollo-utilities "^0.2.0-beta.0" - graphql "^0.11.3" - zen-observable-ts "^0.5.0" + zen-observable "^0.6.0" -apollo-server-core@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.1.6.tgz#be45833e15a6fa28e52bc7e853cd77dfb2558da7" +apollo-server-core@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.1.7.tgz#4d7df340a44e949e98ab6ca405f54e862ef5416e" dependencies: - apollo-tracing "^0.0.7" + apollo-tracing "^0.0.x" apollo-server-hapi@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/apollo-server-hapi/-/apollo-server-hapi-1.1.6.tgz#97bdc483afe908e28aa0ae9a3ee7744d581bc3bf" + version "1.1.7" + resolved "https://registry.yarnpkg.com/apollo-server-hapi/-/apollo-server-hapi-1.1.7.tgz#4c6dc539483666e7ac1864545e9a9c3c70ae20ce" dependencies: - apollo-server-core "^1.1.6" + apollo-server-core "^1.1.7" apollo-server-module-graphiql "^1.1.6" boom "^5.2.0" @@ -404,11 +403,11 @@ apollo-server-module-graphiql@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/apollo-server-module-graphiql/-/apollo-server-module-graphiql-1.1.6.tgz#9a0c8ff7ed7c4fff313065db388f08b1e7b6f9b9" -apollo-tracing@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.0.7.tgz#78466cfefdb52a0802a57b488d26a1a67a25909f" +apollo-tracing@^0.0.x: + version "0.0.8" + resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.0.8.tgz#b61398115c04b0eb425a01e934a9f55240bc3913" dependencies: - graphql-tools "^1.1.0" + graphql-tools "^2.2.0" apollo-utilities@^0.2.0-beta.0: version "0.2.0-rc.0" @@ -550,14 +549,14 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -args@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/args/-/args-3.0.4.tgz#8f98de16f14547e061ba8ccec82d7f660195c583" +args@3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/args/-/args-3.0.7.tgz#92b3dfe99c86b7051c6122853133099458fb624c" dependencies: camelcase "4.1.0" - chalk "2.0.1" - minimist "1.2.0" - pkginfo "0.4.0" + chalk "2.1.0" + mri "1.1.0" + pkginfo "0.4.1" string-similarity "1.2.0" aria-query@^0.7.0: @@ -2008,11 +2007,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" - -bluebird@^3.4.7, bluebird@^3.5.0, bluebird@^3.5.1: +bluebird@3.5.1, bluebird@^3.4.7, bluebird@^3.5.0, bluebird@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" @@ -2089,7 +2084,7 @@ boom@^6.0.0: dependencies: hoek "5.x.x" -boxen@1.2.1, boxen@^1.0.0, boxen@^1.2.1: +boxen@1.2.1, boxen@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.1.tgz#0f11e7fe344edb9397977fc13ede7f64d956481d" dependencies: @@ -2457,14 +2452,6 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.0.1.tgz#dbec49436d2ae15f536114e76d14656cdbc0f44d" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - chalk@2.1.0, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" @@ -2748,11 +2735,7 @@ codemirror-graphql@^0.6.11: graphql-language-service-interface "0.0.19" graphql-language-service-parser "0.0.15" -codemirror@5.20.2: - version "5.20.2" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.20.2.tgz#918e0ece96d57a99030b2f8b33011284bed5217a" - -codemirror@^5.18.2, codemirror@^5.26.0, codemirror@^5.27.4, codemirror@^5.30.0: +codemirror@5.20.2, codemirror@5.30.0, codemirror@^5.18.2, codemirror@^5.26.0, codemirror@^5.27.4, codemirror@^5.30.0: version "5.30.0" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.30.0.tgz#86e57dd5ea5535acbcf9c720797b4cefe05b5a70" @@ -2829,14 +2812,14 @@ command-join@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" -commander@2, commander@2.11.x, commander@^2.11.0, commander@^2.9.0, commander@~2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - commander@2.1.x, commander@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781" +commander@2.11.x, commander@^2.11.0, commander@^2.9.0, commander@~2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + commitizen@^2.9.6: version "2.9.6" resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-2.9.6.tgz#c0d00535ef264da7f63737edfda4228983fa2291" @@ -3259,7 +3242,7 @@ 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.5.2, create-react-class@^15.6.0: +create-react-class@^15.5.1: version "15.6.2" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.2.tgz#cf1ed15f12aad7f14ef5f2dfe05e6c42f91ef02a" dependencies: @@ -3268,8 +3251,8 @@ create-react-class@^15.5.1, create-react-class@^15.5.2, create-react-class@^15.6 object-assign "^4.1.1" cross-env@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.0.5.tgz#4383d364d9660873dd185b398af3bfef5efffef3" + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.0.tgz#1f12d6b3777d5847dcf9cf39fbee3c6a76dd5058" dependencies: cross-spawn "^5.1.0" is-windows "^1.0.0" @@ -3472,8 +3455,8 @@ cssesc@^0.1.0: postcss-zindex "^2.0.1" csso@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-3.3.0.tgz#bb9b777596065feaf8e74705fb24c63a82f74796" + version "3.3.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-3.3.1.tgz#e069a8f52adcf53685a8a7374256ccbc22c6ce3e" dependencies: css-tree "1.0.0-alpha25" @@ -3527,222 +3510,6 @@ cz-conventional-changelog@1.2.0: right-pad "^1.0.1" word-wrap "^1.0.3" -d3-array@1, d3-array@1.2.1, d3-array@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc" - -d3-axis@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.8.tgz#31a705a0b535e65759de14173a31933137f18efa" - -d3-brush@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.4.tgz#00c2f238019f24f6c0a194a26d41a1530ffe7bc4" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" - -d3-chord@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.4.tgz#7dec4f0ba886f713fe111c45f763414f6f74ca2c" - dependencies: - d3-array "1" - d3-path "1" - -d3-collection@1, d3-collection@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.4.tgz#342dfd12837c90974f33f1cc0a785aea570dcdc2" - -d3-color@1, d3-color@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.0.3.tgz#bc7643fca8e53a8347e2fbdaffa236796b58509b" - -d3-dispatch@1, d3-dispatch@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.3.tgz#46e1491eaa9b58c358fce5be4e8bed626e7871f8" - -d3-drag@1, d3-drag@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.1.tgz#df8dd4c502fb490fc7462046a8ad98a5c479282d" - dependencies: - d3-dispatch "1" - d3-selection "1" - -d3-dsv@1, d3-dsv@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.7.tgz#137076663f398428fc3d031ae65370522492b78f" - dependencies: - commander "2" - iconv-lite "0.4" - rw "1" - -d3-ease@1, d3-ease@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e" - -d3-force@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.1.0.tgz#cebf3c694f1078fcc3d4daf8e567b2fbd70d4ea3" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-quadtree "1" - d3-timer "1" - -d3-format@1, d3-format@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.0.tgz#6b480baa886885d4651dc248a8f4ac9da16db07a" - -d3-geo@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.8.1.tgz#50615c33454487e350db71059f84f71cda2dd983" - dependencies: - d3-array "1" - -d3-hierarchy@1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz#a1c845c42f84a206bcf1c01c01098ea4ddaa7a26" - -d3-interpolate@1, d3-interpolate@1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.5.tgz#69e099ff39214716e563c9aec3ea9d1ea4b8a79f" - dependencies: - d3-color "1" - -d3-path@1, d3-path@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.5.tgz#241eb1849bd9e9e8021c0d0a799f8a0e8e441764" - -d3-polygon@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.3.tgz#16888e9026460933f2b179652ad378224d382c62" - -d3-quadtree@1, d3-quadtree@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.3.tgz#ac7987e3e23fe805a990f28e1b50d38fcb822438" - -d3-queue@3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/d3-queue/-/d3-queue-3.0.7.tgz#c93a2e54b417c0959129d7d73f6cf7d4292e7618" - -d3-random@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.0.tgz#6642e506c6fa3a648595d2b2469788a8d12529d3" - -d3-request@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/d3-request/-/d3-request-1.0.6.tgz#a1044a9ef4ec28c824171c9379fae6d79474b19f" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-dsv "1" - xmlhttprequest "1" - -d3-scale@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.6.tgz#bce19da80d3a0cf422c9543ae3322086220b34ed" - dependencies: - d3-array "^1.2.0" - d3-collection "1" - d3-color "1" - d3-format "1" - d3-interpolate "1" - d3-time "1" - d3-time-format "2" - -d3-selection@1, d3-selection@1.1.0, d3-selection@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.1.0.tgz#1998684896488f839ca0372123da34f1d318809c" - -d3-shape@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz#45d01538f064bafd05ea3d6d2cb748fd8c41f777" - dependencies: - d3-path "1" - -d3-time-format@2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.0.tgz#a1d9540a1dc498817d44066b121b19a4a83e3531" - dependencies: - d3-time "1" - -d3-time-format@2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.0.5.tgz#9d7780204f7c9119c9170b1a56db4de9a8af972e" - dependencies: - d3-time "1" - -d3-time@1, d3-time@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.7.tgz#94caf6edbb7879bb809d0d1f7572bc48482f7270" - -d3-timer@1, d3-timer@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531" - -d3-transition@1, d3-transition@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.0.tgz#cfc85c74e5239324290546623572990560c3966f" - dependencies: - d3-color "1" - d3-dispatch "1" - d3-ease "1" - d3-interpolate "1" - d3-selection "^1.1.0" - d3-timer "1" - -d3-voronoi@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c" - -d3-zoom@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.6.0.tgz#eb645b07fd0c37acc8b36b88476b781ed277b40e" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" - -d3@^4.11.0: - version "4.11.0" - resolved "https://registry.yarnpkg.com/d3/-/d3-4.11.0.tgz#15ce99ec33e6941718cfd8fb826071b4fb7c48cb" - dependencies: - d3-array "1.2.1" - d3-axis "1.0.8" - d3-brush "1.0.4" - d3-chord "1.0.4" - d3-collection "1.0.4" - d3-color "1.0.3" - d3-dispatch "1.0.3" - d3-drag "1.2.1" - d3-dsv "1.0.7" - d3-ease "1.0.3" - d3-force "1.1.0" - d3-format "1.2.0" - d3-geo "1.8.1" - d3-hierarchy "1.1.5" - d3-interpolate "1.1.5" - d3-path "1.0.5" - d3-polygon "1.0.3" - d3-quadtree "1.0.3" - d3-queue "3.0.7" - d3-random "1.1.0" - d3-request "1.0.6" - d3-scale "1.0.6" - d3-selection "1.1.0" - d3-shape "1.2.0" - d3-time "1.0.7" - d3-time-format "2.0.5" - d3-timer "1.0.7" - d3-transition "1.1.0" - d3-voronoi "1.1.2" - d3-zoom "1.6.0" - d@1: version "1.0.0" resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" @@ -4155,10 +3922,6 @@ electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.24: version "1.3.26" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.26.tgz#996427294861a74d9c7c82b9260ea301e8c02d66" -element-class@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/element-class/-/element-class-0.2.2.tgz#9d3bbd0767f9013ef8e1c8ebe722c1402a60050e" - elliptic@^6.0.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -4220,14 +3983,15 @@ envir@^1.0.0: jessy "^2.0.0" enzyme-adapter-react-16@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.1.tgz#066cb1735e65d8d95841a023f94dab3ce6109e17" + version "1.0.2" + resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.2.tgz#8c6f431f17c69e1e9eeb25ca4bd92f31971eb2dd" dependencies: enzyme-adapter-utils "^1.0.0" lodash "^4.17.4" object.assign "^4.0.4" object.values "^1.0.4" prop-types "^15.5.10" + react-test-renderer "^16.0.0-0" enzyme-adapter-utils@^1.0.0: version "1.0.1" @@ -4267,7 +4031,7 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: +es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: version "0.10.35" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.35.tgz#18ee858ce6a3c45c7d79e91c15fcca9ec568494f" dependencies: @@ -4279,12 +4043,12 @@ es6-error@^4.0.0: resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" es6-iterator@^2.0.1, es6-iterator@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" dependencies: d "1" - es5-ext "^0.10.14" - es6-symbol "^3.1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" es6-map@^0.1.3: version "0.1.5" @@ -4319,7 +4083,7 @@ es6-set@~0.1.5: es6-symbol "3.1.1" event-emitter "~0.3.5" -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: +es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: @@ -4573,9 +4337,9 @@ eslint@4.4.1: table "^4.0.1" text-table "~0.2.0" -eslint@^4.5.0, eslint@^4.8.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.8.0.tgz#229ef0e354e0e61d837c7a80fdfba825e199815e" +eslint@^4.5.0, eslint@^4.8.0, eslint@^4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.9.0.tgz#76879d274068261b191fe0f2f56c74c2f4208e8b" dependencies: ajv "^5.2.0" babel-code-frame "^6.22.0" @@ -4751,11 +4515,7 @@ execall@^1.0.0: dependencies: clone-regexp "^1.0.0" -exenv@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.0.tgz#3835f127abf075bfe082d0aed4484057c78e3c89" - -exenv@^1.2.0: +exenv@^1.2.0, exenv@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" @@ -5766,8 +5526,8 @@ graphql-language-service-utils@0.0.17: graphql-language-service-types "0.0.21" graphql-playground@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/graphql-playground/-/graphql-playground-1.0.8.tgz#314cb5f7e423811d752a23e6167f1f1a9273e69f" + version "1.0.19" + resolved "https://registry.yarnpkg.com/graphql-playground/-/graphql-playground-1.0.19.tgz#b524771fc175346c4fac2173cd4d4adf07c013e5" dependencies: calculate-size "^1.1.1" classnames "^2.2.5" @@ -5788,6 +5548,7 @@ graphql-playground@^1.0.8: react-codemirror "^1.0.0" react-copy-to-clipboard "^5.0.0" react-dom "^15.4.2" + react-helmet "^5.2.0" react-modal "^1.6.5" react-redux "^5.0.5" react-router-dom "^4.2.2" @@ -5816,23 +5577,14 @@ graphql-subscriptions@^0.4.4: iterall "^1.1.1" graphql-tag@^2.0.0, graphql-tag@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.4.2.tgz#6a63297d8522d03a2b72d26f1b239aab343840cd" - -graphql-tools@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-1.2.3.tgz#079bf4d157e46c0a0bae9fec117e0eea6e03ba2c" - dependencies: - deprecated-decorator "^0.1.6" - uuid "^3.0.1" - optionalDependencies: - "@types/graphql" "^0.9.0" - -graphql-tools@^2.3.0: version "2.5.0" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-2.5.0.tgz#b072faf8e1d621550598a681c08504bae13b1904" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.5.0.tgz#b43bfd8b5babcd2c205ad680c03e98b238934e0f" + +graphql-tools@^2.2.0, graphql-tools@^2.3.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-2.5.1.tgz#542c48d4f9a532e09280ae216084813ea7ba4b18" dependencies: - apollo-link "^0.7.0" + apollo-link "^0.8.0" deprecated-decorator "^0.1.6" uuid "^3.1.0" @@ -5855,30 +5607,12 @@ graphql-voyager@^1.0.0-rc.9: reselect "^3.0.1" svg-pan-zoom "^3.5.2" -graphql@^0.10.0, graphql@^0.10.1, graphql@^0.10.3, graphql@^0.10.5: - version "0.10.5" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.10.5.tgz#c9be17ca2bdfdbd134077ffd9bbaa48b8becd298" - dependencies: - iterall "^1.1.0" - -graphql@^0.11.3, graphql@^0.11.6, graphql@^0.11.7: +graphql@0.11.7, graphql@^0.10.0, graphql@^0.10.1, graphql@^0.10.3, graphql@^0.10.5, graphql@^0.11.6, graphql@^0.11.7, graphql@^0.7.0, "graphql@github:apis-guru/graphql-js#directives-fork-dist": version "0.11.7" resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.11.7.tgz#e5abaa9cb7b7cccb84e9f0836bf4370d268750c6" dependencies: iterall "1.1.3" -graphql@^0.7.0: - version "0.7.2" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.7.2.tgz#cc894a32823399b8a0cb012b9e9ecad35cd00f72" - dependencies: - iterall "1.0.2" - -"graphql@github:apis-guru/graphql-js#directives-fork-dist": - version "0.9.1" - resolved "https://codeload.github.com/apis-guru/graphql-js/tar.gz/96b1ce3a0e578545dc3958f8b3457e9a535d73a9" - dependencies: - iterall "1.0.3" - growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -6076,11 +5810,7 @@ hoek@5.x.x: version "5.0.0" resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.0.tgz#b88953e0fec8e58082e4abd223ed20915d535831" -hoist-non-react-statics@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" - -hoist-non-react-statics@^2.2.0, hoist-non-react-statics@^2.2.1, hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.3.1: +hoist-non-react-statics@2.3.1, hoist-non-react-statics@^1.2.0, hoist-non-react-statics@^2.2.0, hoist-non-react-statics@^2.2.1, hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz#343db84c6018c650778898240135a1420ee22ce0" @@ -6266,14 +5996,14 @@ hyphenate-style-name@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" -iconv-lite@0.4, iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@^0.4.8, iconv-lite@~0.4.13: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" - iconv-lite@0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" +iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@^0.4.8, iconv-lite@~0.4.13: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -6484,8 +6214,8 @@ ipaddr.js@1.5.2: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" ipaddr.js@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.3.tgz#ec68539dd70ff0990c3195ab7ec43124a83df589" + version "1.5.4" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.4.tgz#962263d9d26132956fc5c630b638a30d3cdffc14" iron@4.x.x, iron@^4.0.5: version "4.0.5" @@ -6913,15 +6643,7 @@ items@2.x.x, items@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/items/-/items-2.1.1.tgz#8bd16d9c83b19529de5aea321acaada78364a198" -iterall@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.0.2.tgz#41a2e96ce9eda5e61c767ee5dc312373bb046e91" - -iterall@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.0.3.tgz#e0b31958f835013c323ff0b10943829ac69aa4b7" - -iterall@1.1.3, iterall@^1.1.0, iterall@^1.1.1: +iterall@1.1.3, iterall@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.1.3.tgz#1cbbff96204056dde6656e2ed2e2226d0e6d72c9" @@ -7474,8 +7196,8 @@ joi@8.1.x: topo "2.x.x" joi@^11.1.0: - version "11.3.4" - resolved "https://registry.yarnpkg.com/joi/-/joi-11.3.4.tgz#c25fc2598c3847865f92c51b5249b519af3e51cb" + version "11.4.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-11.4.0.tgz#f674897537b625e9ac3d0b7e1604c828ad913ccb" dependencies: hoek "4.x.x" isemail "3.x.x" @@ -7496,7 +7218,7 @@ joyent-manifest-editor@^1.4.0: prop-types "^15.6.0" react-codemirror "^1.0.0" -joyent-react-scripts@^2.2.1: +joyent-react-scripts@^2.2.1, joyent-react-scripts@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/joyent-react-scripts/-/joyent-react-scripts-2.3.0.tgz#9e48f93d67284b8149dc73b35ccdfc11d27131d9" dependencies: @@ -7973,50 +7695,11 @@ lodash-webpack-plugin@^0.11.4: dependencies: lodash "^4.17.4" -lodash._baseassign@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" - dependencies: - lodash._basecopy "^3.0.0" - lodash.keys "^3.0.0" - -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._bindcallback@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" - -lodash._createassigner@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" - dependencies: - lodash._bindcallback "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash.restparam "^3.0.0" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - lodash._reinterpolate@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" -lodash.assign@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" - dependencies: - lodash._baseassign "^3.0.0" - lodash._createassigner "^3.0.0" - lodash.keys "^3.0.0" - -lodash.assign@^4.2.0: +lodash.assign@4.2.0, lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -8036,14 +7719,7 @@ lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" -lodash.defaults@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c" - dependencies: - lodash.assign "^3.0.0" - lodash.restparam "^3.0.0" - -lodash.defaults@^4.2.0: +lodash.defaults@4.2.0, lodash.defaults@^3.1.2, lodash.defaults@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" @@ -8051,10 +7727,6 @@ lodash.difference@^4.4.0, lodash.difference@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" -lodash.differenceby@^4.8.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/lodash.differenceby/-/lodash.differenceby-4.8.0.tgz#cfd59e94353af5de51da5d302ca4ebff33faac57" - lodash.find@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" @@ -8079,14 +7751,6 @@ lodash.intersection@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.intersection/-/lodash.intersection-4.4.0.tgz#0a11ba631d0e95c23c7f2f4cbb9a692ed178e705" -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - lodash.isarraylike@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.isarraylike/-/lodash.isarraylike-4.2.0.tgz#4623310ab318804b667ddc3619058137559400c4" @@ -8131,15 +7795,7 @@ lodash.isstring@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - -lodash.keys@^4.2.0: +lodash.keys@4.2.0, lodash.keys@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" @@ -8155,10 +7811,6 @@ lodash.pick@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" -lodash.restparam@^3.0.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - lodash.some@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" @@ -8192,18 +7844,10 @@ lodash.uniqby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" -lodash@4.17.2: - version "4.17.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42" - -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.1.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.6, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.7.0: +lodash@4.17.2, lodash@4.17.4, "lodash@>=3.5 <5", lodash@^3.10.1, lodash@^3.3.1, lodash@^3.9.3, lodash@^4.0.0, lodash@^4.1.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.6, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.7.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" -lodash@^3.10.1, lodash@^3.3.1, lodash@^3.9.3: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - log-symbols@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.1.0.tgz#f35fa60e278832b538dc4dddcbb478a45d3e3be6" @@ -8280,8 +7924,8 @@ lstream@0.0.4: readable-stream ">= 1.0.2" lunr@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.1.3.tgz#e7d779a9d5bc69ee13d713dedd9024188a7aa263" + version "2.1.4" + resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.1.4.tgz#52be0a9d068321909a7fb46575620e24417d5591" macaddress@^0.2.8: version "0.2.8" @@ -8579,18 +8223,10 @@ modify-values@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" -moment@2.15.x: - version "2.15.2" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.15.2.tgz#1bfdedf6a6e345f322fe956d5df5bd08a8ce84dc" - -moment@2.x.x, moment@^2.10.6, moment@^2.19.0, moment@^2.19.1, moment@^2.6.0: +moment@2.15.x, moment@2.19.1, moment@2.x.x, moment@^2.10.6, moment@^2.19.0, moment@^2.19.1, moment@^2.6.0, moment@~2.18.0: version "2.19.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.19.1.tgz#56da1a2d1cbf01d38b7e1afc31c10bcfa1929167" -moment@~2.18.0: - version "2.18.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" - mooremachine@^2.0.1: version "2.2.0" resolved "https://registry.yarnpkg.com/mooremachine/-/mooremachine-2.2.0.tgz#ec70bf284f5ae478afa7b359b294af67e2c97906" @@ -9057,6 +8693,10 @@ opener@~1.4.0: version "1.4.3" resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" +openssl-self-signed-certificate@1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/openssl-self-signed-certificate/-/openssl-self-signed-certificate-1.1.6.tgz#9d3a4776b1a57e9847350392114ad2f915a83dd4" + opn@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" @@ -9421,9 +9061,9 @@ pkg-dir@^2.0.0: dependencies: find-up "^2.1.0" -pkginfo@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.0.tgz#349dbb7ffd38081fcadc0853df687f0c7744cd65" +pkginfo@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" pluralize@^4.0.0: version "4.0.0" @@ -9460,10 +9100,6 @@ podium@^1.3.0: items "2.x.x" joi "10.x.x" -polished@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/polished/-/polished-1.8.0.tgz#21d5389c23ebb47e872f991b0b07503c618d5feb" - portfinder@^1.0.13, portfinder@^1.0.9: version "1.0.13" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" @@ -10127,8 +9763,8 @@ raw-loader@^0.5.1: resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: - version "1.2.1" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" + version "1.2.2" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" dependencies: deep-extend "~0.4.0" ini "~1.3.0" @@ -10277,11 +9913,7 @@ react-docgen@^3.0.0-beta8: node-dir "^0.1.10" recast "^0.12.6" -react-dom-factories@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.2.tgz#eb7705c4db36fb501b3aa38ff759616aa0ff96e0" - -"react-dom@^15 || ^16", react-dom@^16.0.0: +react-dom@16.0.0, "react-dom@^15 || ^16", react-dom@^15.3.2, react-dom@^15.4.2, react-dom@^16.0.0: version "16.0.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.0.0.tgz#9cc3079c3dcd70d4c6e01b84aab2a7e34c303f58" dependencies: @@ -10290,15 +9922,6 @@ react-dom-factories@^1.0.0: object-assign "^4.1.1" prop-types "^15.6.0" -react-dom@^15.3.2, react-dom@^15.4.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730" - dependencies: - fbjs "^0.8.9" - loose-envify "^1.1.0" - object-assign "^4.1.0" - prop-types "^15.5.10" - react-error-overlay@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-2.0.2.tgz#967b091962b17f5aeb4a60b1311b1736e1b6533d" @@ -10318,6 +9941,15 @@ react-group@^1.0.5: dependencies: prop-types "^15.5.10" +react-helmet@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.2.0.tgz#a81811df21313a6d55c5f058c4aeba5d6f3d97a7" + dependencies: + deep-equal "^1.0.1" + object-assign "^4.1.1" + prop-types "^15.5.4" + react-side-effect "^1.1.0" + react-icon-base@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/react-icon-base/-/react-icon-base-2.1.0.tgz#a196e33fdf1e7aaa1fda3aefbb68bdad9e82a79d" @@ -10336,26 +9968,15 @@ react-input-range@^1.2.1: prop-types "^15.5.8" react-json-view@^1.13.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.13.0.tgz#4d6df1520bf838b450e5940b54cad4dba9a6aac1" + version "1.13.1" + resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.13.1.tgz#2a4ec2720d959fb7440bac914dfcb90442c536a9" dependencies: clipboard "^1.7.1" flux "^3.1.3" react-base16-styling "^0.5.3" react-textarea-autosize "^5.1.0" -react-modal@^1.6.5: - version "1.9.7" - resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-1.9.7.tgz#07ef56790b953e3b98ef1e2989e347983c72871d" - dependencies: - create-react-class "^15.5.2" - element-class "^0.2.0" - exenv "1.2.0" - lodash.assign "^4.2.0" - prop-types "^15.5.7" - react-dom-factories "^1.0.0" - -react-modal@^2.3.2: +react-modal@2.4.1, react-modal@^1.6.5, react-modal@^2.3.2: version "2.4.1" resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-2.4.1.tgz#cb09b26711b148eb9f59cb180e1b7d82980ded05" dependencies: @@ -10446,6 +10067,13 @@ react-scripts@^1.0.14: optionalDependencies: fsevents "1.1.2" +react-side-effect@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.1.3.tgz#512c25abe0dec172834c4001ec5c51e04d41bc5c" + dependencies: + exenv "^1.2.1" + shallowequal "^1.0.1" + react-style-proptype@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/react-style-proptype/-/react-style-proptype-3.0.0.tgz#89e0b646f266c656abb0f0dd8202dbd5036c31e6" @@ -10458,7 +10086,7 @@ react-styled-flexboxgrid@^2.0.3, react-styled-flexboxgrid@^2.1.0: dependencies: lodash.isinteger "^4.0.4" -react-styleguidist@^6.0.30: +react-styleguidist@^6.0.31: version "6.0.31" resolved "https://registry.yarnpkg.com/react-styleguidist/-/react-styleguidist-6.0.31.tgz#db77cf38922715c89433a16628672363ad30964a" dependencies: @@ -10525,7 +10153,7 @@ react-test-renderer@15.6.1: fbjs "^0.8.9" object-assign "^4.1.0" -react-test-renderer@^16.0.0: +react-test-renderer@^16.0.0, react-test-renderer@^16.0.0-0: version "16.0.0" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.0.0.tgz#9fe7b8308f2f71f29fc356d4102086f131c9cb15" dependencies: @@ -10568,7 +10196,7 @@ react-virtualized@^8.11.3: dom-helpers "^2.4.0 || ^3.0.0" loose-envify "^1.3.0" -"react@^15 || ^16", react@^16.0.0: +react@16.0.0, "react@^15 || ^16", react@^15.4.2, react@^16.0.0: version "16.0.0" resolved "https://registry.yarnpkg.com/react/-/react-16.0.0.tgz#ce7df8f1941b036f02b2cca9dbd0cb1f0e855e2d" dependencies: @@ -10577,16 +10205,6 @@ react-virtualized@^8.11.3: object-assign "^4.1.1" prop-types "^15.6.0" -react@^15.4.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72" - dependencies: - create-react-class "^15.6.0" - fbjs "^0.8.9" - loose-envify "^1.1.0" - object-assign "^4.1.0" - prop-types "^15.5.10" - read-all-stream@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" @@ -11395,10 +11013,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rw@1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - rx-lite-aggregates@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" @@ -11555,12 +11169,12 @@ serve-static@1.13.1, serve-static@^1.13.1: send "0.16.1" serve@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/serve/-/serve-6.2.0.tgz#e0f94d7c50ee8ac3841e86d1f0b16761f7a8f05b" + version "6.3.0" + resolved "https://registry.yarnpkg.com/serve/-/serve-6.3.0.tgz#23cf1aa2086c8577b95439ab8bd2f27740509a74" dependencies: - args "3.0.4" + args "3.0.7" basic-auth "2.0.0" - bluebird "3.5.0" + bluebird "3.5.1" boxen "1.2.1" chalk "2.1.0" clipboardy "1.1.4" @@ -11574,10 +11188,11 @@ serve@^6.2.0: micro-compress "1.0.0" mime-types "2.1.17" node-version "1.1.0" + openssl-self-signed-certificate "1.1.6" opn "5.1.0" path-type "3.0.0" send "0.16.1" - update-notifier "2.2.0" + update-notifier "2.3.0" serviceworker-cache-polyfill@^4.0.0: version "4.0.0" @@ -11618,6 +11233,10 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallowequal@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.0.2.tgz#1561dbdefb8c01408100319085764da3fcf83f8f" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -12863,11 +12482,11 @@ uglify-es@^3.0.24: source-map "~0.5.1" uglify-js@3.1.x, uglify-js@^3.0.13: - version "3.1.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.1.3.tgz#d61f0453b4718cab01581f3162aa90bab7520b42" + version "3.1.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.1.4.tgz#8e1efa1244b207588e525c9c1835a33458b90aee" dependencies: commander "~2.11.0" - source-map "~0.5.1" + source-map "~0.6.1" uglify-js@^2.6, uglify-js@^2.8.29: version "2.8.29" @@ -13039,14 +12658,15 @@ unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" -update-notifier@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f" +update-notifier@2.3.0, update-notifier@^2.1.0, update-notifier@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" dependencies: - boxen "^1.0.0" - chalk "^1.0.0" + boxen "^1.2.1" + chalk "^2.0.1" configstore "^3.0.0" import-lazy "^2.1.0" + is-installed-globally "^0.1.0" is-npm "^1.0.0" latest-version "^3.0.0" semver-diff "^2.0.0" @@ -13065,20 +12685,6 @@ update-notifier@^1.0.3: semver-diff "^2.0.0" xdg-basedir "^2.0.0" -update-notifier@^2.1.0, update-notifier@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - upper-case-first@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" @@ -13434,8 +13040,8 @@ webpack-dev-server@^1.16.2: webpack-dev-middleware "^1.10.2" webpack-dev-server@^2.8.2: - version "2.9.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.1.tgz#7ac9320b61b00eb65b2109f15c82747fc5b93585" + version "2.9.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.2.tgz#0fbab915701d25a905a60e1e784df19727da800f" dependencies: ansi-html "0.0.7" array-includes "^3.0.3" @@ -13510,8 +13116,8 @@ webpack@3.5.1: yargs "^8.0.2" webpack@^3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.7.1.tgz#6046b5c415ff7df7a0dc54c5b6b86098e8b952da" + version "3.8.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.8.0.tgz#36ed73aa62e86959fbc9b7b3a90f0f094e672708" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" @@ -13752,10 +13358,6 @@ xml@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" -xmlhttprequest@1: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -13893,6 +13495,6 @@ zen-observable-ts@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.4.4.tgz#c244c71eaebef79a985ccf9895bc90307a6e9712" -zen-observable-ts@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.5.0.tgz#c5021e7ac486fc281f6126d574673cfb6daf0069" +zen-observable@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.6.0.tgz#8a6157ed15348d185d948cfc4a59d90a2c0f70ee"