From 67cd427c5919b8aa849504cdc727e8721180024d Mon Sep 17 00:00:00 2001 From: Philip Cline Date: Mon, 6 Jul 2020 14:42:56 -0400 Subject: [PATCH 001/639] improvement(lib/editor/util/gtfs.js): Update routeform public,status defaults Update the default values of status and publicly available feeds to be "Approved" and "Yes", respectively. This should better conform to user expectations. resolves #589 --- lib/editor/util/gtfs.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/editor/util/gtfs.js b/lib/editor/util/gtfs.js index 19398d46a..1d4bedafe 100644 --- a/lib/editor/util/gtfs.js +++ b/lib/editor/util/gtfs.js @@ -135,8 +135,8 @@ export const generateProps = (component: string, editorState: any): any => { route_long_name: null, route_color: routeColor, route_text_color: idealTextColor(routeColor), - publicly_visible: 0, // not public - status: 0, // IN_PROGRESS + publicly_visible: 1, // public + status: 2, // APPROVED route_type: feedInfo && feedInfo.default_route_type !== null ? feedInfo.default_route_type : 3 From e02a8286ad8f7056e4d2c91383ff05934de70bdd Mon Sep 17 00:00:00 2001 From: philip-paulson-ibigroup <58188542+philip-paulson-ibigroup@users.noreply.github.com> Date: Thu, 6 May 2021 11:32:41 -0700 Subject: [PATCH 002/639] Update introduction.md --- docs/user/introduction.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/user/introduction.md b/docs/user/introduction.md index 1e641e006..65873e95b 100644 --- a/docs/user/introduction.md +++ b/docs/user/introduction.md @@ -14,7 +14,7 @@ Projects are collections of feed sources and deployments. ### Feed Sources -Feed sources define the locations or upstream sources of GTFS feeds. These can be any combination of: +Feed sources define the locations or upstream sources of GTFS feeds. These can be any combination feeds that are: 1. **Manually Uploaded** - Manually collected/managed feeds provided directly by an external source. 2. **Fetched Automatically** - Public available feeds that can be fetched from a URL @@ -22,10 +22,11 @@ Feed sources define the locations or upstream sources of GTFS feeds. These can b ### Feed Versions -Feed Versions store specific instances of a GTFS feed for a given feed source as published over time. Each Feed Version has an associated GTFS file that is stored within the Data Manager, can be downloaded by users, and for which detailed information, such as validation results, is available. - +Feed Versions store specific instances of a GTFS feed for a given feed source as they are published over time. Each Feed Version has an associated GTFS file that is stored within the Data Manager, which can be downloaded by users, where users can view detailed information about that version of the GTFS including validation results. ### Snapshots -Internally managed GTFS data sets are pulled from the GTFS Editor using “snapshots” created in the editor interface. These snapshots are static versions of the data set, or save points, that can be exported, or used as starting point for future edits. The Data manager only imports snapshotted versions of feeds. This allows users to ensure the correct version of data is being imported and to retrieve and review data in the future. +Internally managed GTFS data sets are pulled from the GTFS Editor using “snapshots” created in the editor interface. These snapshots are static versions of the data set, that serve as save points that can be exported or used as starting point for future edits. The Data Manager only imports versions of feeds where a snapshot has been created. This allows users to ensure the correct version of data is being imported and to retrieve and review data in the future. + + *Note: See section 2.6 in GTFS Editor User Manual for more information on snapshots.* From 9ddcd9b5b6f455288c95e6de2228c941b76e6880 Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup <56846598+binh-dam-ibigroup@users.noreply.github.com> Date: Fri, 24 Sep 2021 17:19:42 -0400 Subject: [PATCH 003/639] docs(introduction): Address PR comments. --- docs/user/introduction.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/user/introduction.md b/docs/user/introduction.md index 65873e95b..46fc618f9 100644 --- a/docs/user/introduction.md +++ b/docs/user/introduction.md @@ -14,7 +14,7 @@ Projects are collections of feed sources and deployments. ### Feed Sources -Feed sources define the locations or upstream sources of GTFS feeds. These can be any combination feeds that are: +Feed sources define the locations or upstream sources of GTFS feeds. These can be any combination of feeds that are: 1. **Manually Uploaded** - Manually collected/managed feeds provided directly by an external source. 2. **Fetched Automatically** - Public available feeds that can be fetched from a URL @@ -23,6 +23,7 @@ Feed sources define the locations or upstream sources of GTFS feeds. These can b ### Feed Versions Feed Versions store specific instances of a GTFS feed for a given feed source as they are published over time. Each Feed Version has an associated GTFS file that is stored within the Data Manager, which can be downloaded by users, where users can view detailed information about that version of the GTFS including validation results. + ### Snapshots Internally managed GTFS data sets are pulled from the GTFS Editor using “snapshots” created in the editor interface. These snapshots are static versions of the data set, that serve as save points that can be exported or used as starting point for future edits. The Data Manager only imports versions of feeds where a snapshot has been created. This allows users to ensure the correct version of data is being imported and to retrieve and review data in the future. From bf8ba8d04768fa4dcc9648d709ccd186413baadf Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Tue, 14 Dec 2021 15:10:24 +0100 Subject: [PATCH 004/639] feat(deps): upgrade to react 17 --- .../pattern/PatternStopContainer.js | 6 +- package.json | 17 +- yarn.lock | 322 +++++++++++++----- 3 files changed, 249 insertions(+), 96 deletions(-) diff --git a/lib/editor/components/pattern/PatternStopContainer.js b/lib/editor/components/pattern/PatternStopContainer.js index 2f904c705..bf5715b5e 100644 --- a/lib/editor/components/pattern/PatternStopContainer.js +++ b/lib/editor/components/pattern/PatternStopContainer.js @@ -1,7 +1,7 @@ // @flow import React, {Component} from 'react' -import update from 'react/lib/update' +import update from 'react-addons-update' import { shallowEqual } from 'react-pure-render' import { DropTarget, DragDropContext } from 'react-dnd' import HTML5Backend from 'react-dnd-html5-backend' @@ -9,10 +9,10 @@ import HTML5Backend from 'react-dnd-html5-backend' import * as activeActions from '../../actions/active' import * as stopStrategiesActions from '../../actions/map/stopStrategies' import * as tripPatternActions from '../../actions/tripPattern' -import PatternStopCard from './PatternStopCard' - import type {GtfsStop, Feed, Pattern, PatternStop} from '../../../types' +import PatternStopCard from './PatternStopCard' + type Props = { activePattern: Pattern, addStopToPattern: typeof stopStrategiesActions.addStopToPattern, diff --git a/package.json b/package.json index ae774542e..5254e90cb 100644 --- a/package.json +++ b/package.json @@ -64,28 +64,29 @@ "numeral": "2.0.4", "object-path": "^0.11.5", "polyline": "^0.2.0", - "prop-types": "^15.6.0", "qs": "^6.2.1", "randomcolor": "^0.5.3", "rbush": "^2.0.1", "rc-slider": "6.1.2", - "react": "^15.4.1", + "react": "^17.0.2", "react-addons-shallow-compare": "^15.4.1", - "react-addons-update": "^15.4.1", - "react-bootstrap": "^0.30.0-rc.2", - "react-bootstrap-datetimepicker": "^0.0.22", - "react-bootstrap-table": "https://github.com/conveyal/react-bootstrap-table.git", + "react-addons-update": "^15.6.3", + "react-bootstrap": "^0.33.1", + "react-bootstrap-table": "^4.3.1", "react-color": "^2.3.4", + "react-datetime": "^3.1.1", "react-dnd": "^2.1.4", "react-dnd-html5-backend": "^2.1.2", - "react-dom": "^15.4.1", + "react-dom": "^17.0.2", "react-dropzone": "^3.5.3", "react-ga": "^2.3.5", "react-leaflet": "1.1.0", + "react-overlays": "^5.1.1", "react-pure-render": "^1.0.2", "react-redux": "^5.0.3", "react-router": "^3.0.0-alpha.1", - "react-router-bootstrap": "0.23.1", + "react-router-bootstrap": "^0.26.0", + "react-router-dom": "^6.1.1", "react-router-redux": "^4.0.8", "react-select": "^1.0.0-beta14", "react-toastify": "^5.1.0", diff --git a/yarn.lock b/yarn.lock index 486c63a5b..7a00c4175 100644 --- a/yarn.lock +++ b/yarn.lock @@ -721,6 +721,14 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" +"@babel/runtime-corejs2@^7.0.0": + version "7.16.5" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.16.5.tgz#1bd3870328b89e41ba7dabd005ccd9eae4f12dfa" + integrity sha512-GHejyoK+JQqna9rUTkybaGahZOOM+EDcUsbWaLye1g4ZOQMotrMiY8VTBbX1gycZTMNG/YiWTo4WTABvyPUgOg== + dependencies: + core-js "^2.6.5" + regenerator-runtime "^0.13.4" + "@babel/runtime-corejs2@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.5.5.tgz#c3214c08ef20341af4187f1c9fbdc357fbec96b2" @@ -736,6 +744,13 @@ dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.13.8", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.7": + version "7.16.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.5.tgz#7f3e34bf8bdbbadf03fbb7b1ea0d929569c9487a" + integrity sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" @@ -1088,6 +1103,18 @@ dependencies: "@types/node" ">= 8" +"@popperjs/core@^2.8.6": + version "2.11.0" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.0.tgz#6734f8ebc106a0860dff7f92bf90df193f0935d7" + integrity sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ== + +"@restart/hooks@^0.3.26": + version "0.3.27" + resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.3.27.tgz#91f356d66d4699a8cd8b3d008402708b6a9dc505" + integrity sha512-s984xV/EapUIfkjlf8wz9weP2O9TNKR96C68FfMEy2bE69+H4cNv3RD4Mf97lW7Htt7PjZrYTjSC8f3SB9VCXw== + dependencies: + dequal "^2.0.2" + "@semantic-release/commit-analyzer@^8.0.0": version "8.0.1" resolved "https://registry.yarnpkg.com/@semantic-release/commit-analyzer/-/commit-analyzer-8.0.1.tgz#5d2a37cd5a3312da0e3ac05b1ca348bf60b90bca" @@ -1400,21 +1427,45 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/prop-types@*": + version "15.7.4" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" + integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== + "@types/q@^1.5.1": version "1.5.2" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== +"@types/react@>=16.9.11": + version "17.0.37" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.37.tgz#6884d0aa402605935c397ae689deed115caad959" + integrity sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/retry@^0.12.0": version "0.12.0" resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== +"@types/warning@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/warning/-/warning-3.0.0.tgz#0d2501268ad8f9962b740d387c4654f5f8e23e52" + integrity sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI= + "@types/yargs@^12.0.2", "@types/yargs@^12.0.9": version "12.0.12" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" @@ -2229,7 +2280,7 @@ babel-runtime@6.11.6: core-js "^2.4.0" regenerator-runtime "^0.9.5" -babel-runtime@6.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.26.0: +babel-runtime@6.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= @@ -2237,13 +2288,6 @@ babel-runtime@6.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^ core-js "^2.4.0" regenerator-runtime "^0.11.0" -babel-runtime@^5.6.18: - version "5.8.38" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-5.8.38.tgz#1c0b02eb63312f5f087ff20450827b425c9d4c19" - integrity sha1-HAsC62MxL18If/IEUIJ7QlydTBk= - dependencies: - core-js "^1.0.0" - babelify@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/babelify/-/babelify-10.0.0.tgz#fe73b1a22583f06680d8d072e25a1e0d1d1d7fb5" @@ -3678,7 +3722,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, create-react-class@^15.6.0: version "15.6.3" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg== @@ -3952,6 +3996,11 @@ cssstyle@^1.0.0: dependencies: cssom "0.3.x" +csstype@^3.0.2: + version "3.0.10" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" + integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -4218,6 +4267,11 @@ deps-sort@^2.0.0: subarg "^1.0.0" through2 "^2.0.0" +dequal@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d" + integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug== + des.js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" @@ -4346,13 +4400,21 @@ dom-helpers@3.2.1: resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.2.1.tgz#3203e07fed217bd1f424b019735582fc37b2825a" integrity sha1-MgPgf+0he9H0JLAZc1WC/Deyglo= -"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.2.0, dom-helpers@^3.4.0: +"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.2.0, dom-helpers@^3.2.1, dom-helpers@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== dependencies: "@babel/runtime" "^7.1.2" +dom-helpers@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + dom-serializer@0, dom-serializer@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" @@ -4487,11 +4549,6 @@ electron-to-chromium@^1.3.723: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052" integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig== -element-class@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/element-class/-/element-class-0.2.2.tgz#9d3bbd0767f9013ef8e1c8ebe722c1402a60050e" - integrity sha1-nTu9B2f5AT744cjr5yLBQCpgBQ4= - elliptic@^6.0.0: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" @@ -5177,10 +5234,10 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -exenv@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.0.tgz#3835f127abf075bfe082d0aed4484057c78e3c89" - integrity sha1-ODXxJ6vwdb/ggtCu1EhAV8eOPIk= +exenv@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= exit@^0.1.2: version "0.1.2" @@ -6271,6 +6328,13 @@ history@^3.0.0: query-string "^4.2.2" warning "^3.0.0" +history@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/history/-/history-5.1.0.tgz#2e93c09c064194d38d52ed62afd0afc9d9b01ece" + integrity sha512-zPuQgPacm2vH2xdORvGGz1wQMuHSIB56yNAy5FnLuwOwgSYyPKptJtcMm6Ev+hRGeS+GzhbmRacHzvlESbFwDg== + dependencies: + "@babel/runtime" "^7.7.6" + hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -7928,10 +7992,10 @@ jwt-decode@^2.1.0: resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-2.2.0.tgz#7d86bd56679f58ce6a84704a657dd392bba81a79" integrity sha1-fYa9VmefWM5qhHBKZX3TkruoGnk= -keycode@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" - integrity sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ= +keycode@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.1.tgz#09c23b2be0611d26117ea2501c2c391a01f39eff" + integrity sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg== kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" @@ -9199,7 +9263,7 @@ mold-source-map@~0.4.0: convert-source-map "^1.1.0" through "~2.2.7" -moment@2.x.x, moment@^2.11.2, moment@^2.20.1, moment@^2.8.2: +moment@2.x.x, moment@^2.11.2, moment@^2.20.1: version "2.23.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.23.0.tgz#759ea491ac97d54bac5ad776996e2a58cc1bc225" integrity sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA== @@ -11320,6 +11384,14 @@ promzard@^0.3.0: dependencies: read "1" +prop-types-extra@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz#58c3b74cbfbb95d304625975aa2f0848329a010b" + integrity sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew== + dependencies: + react-is "^16.3.2" + warning "^4.0.0" + prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" @@ -11676,44 +11748,39 @@ react-addons-test-utils@^15.6.2: resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.6.2.tgz#c12b6efdc2247c10da7b8770d185080a7b047156" integrity sha1-wStu/cIkfBDae4dw0YUICnsEcVY= -react-addons-update@^15.4.1: - version "15.6.2" - resolved "https://registry.yarnpkg.com/react-addons-update/-/react-addons-update-15.6.2.tgz#e53753c5b34887974510c882d7fb075851d5e504" - integrity sha1-5TdTxbNIh5dFEMiC1/sHWFHV5QQ= +react-addons-update@^15.6.3: + version "15.6.3" + resolved "https://registry.yarnpkg.com/react-addons-update/-/react-addons-update-15.6.3.tgz#c449c309154024d04087b206d0400e020547b313" + integrity sha512-wBkjgx5cR0XTjZEz5jl2kScChrjI9T7rWVdaM0dLiIdHSgeHycLRdHPPiTgKk7vK18Od4rXmLJv91qofBXlE0A== dependencies: - fbjs "^0.8.9" object-assign "^4.1.0" -react-bootstrap-datetimepicker@^0.0.22: - version "0.0.22" - resolved "https://registry.yarnpkg.com/react-bootstrap-datetimepicker/-/react-bootstrap-datetimepicker-0.0.22.tgz#07e448d993157d049ad0876d0f9a3c9c5029d9c5" - integrity sha1-B+RI2ZMVfQSa0IdtD5o8nFAp2cU= - dependencies: - babel-runtime "^5.6.18" - classnames "^2.1.2" - moment "^2.8.2" - -"react-bootstrap-table@https://github.com/conveyal/react-bootstrap-table.git": - version "3.0.0" - resolved "https://github.com/conveyal/react-bootstrap-table.git#ab9f06b91f2bd25adf8806cf46f1b0864894b72e" +react-bootstrap-table@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/react-bootstrap-table/-/react-bootstrap-table-4.3.1.tgz#f704be55b7f6bf0557d2fc5bec6d25fd307d0cde" + integrity sha1-9wS+Vbf2vwVX0vxb7G0l/TB9DN4= dependencies: classnames "^2.1.2" - react-modal "^1.4.0" + prop-types "^15.5.10" + react-modal "^3.1.7" + react-s-alert "^1.3.2" -react-bootstrap@^0.30.0-rc.2: - version "0.30.10" - resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.30.10.tgz#dbba6909595f2af4d91937db0f96ec8c2df2d1a8" - integrity sha1-27ppCVlfKvTZGTfbD5bsjC3y0ag= +react-bootstrap@^0.33.1: + version "0.33.1" + resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.33.1.tgz#e072592aa143b9792526281272eca754bc9a4940" + integrity sha512-qWTRravSds87P8WC82tETy2yIso8qDqlIm0czsrduCaYAFtHuyLu0XDbUlfLXeRzqgwm5sRk2wRaTNoiVkk/YQ== dependencies: - babel-runtime "^6.11.6" + "@babel/runtime-corejs2" "^7.0.0" classnames "^2.2.5" dom-helpers "^3.2.0" - invariant "^2.2.1" - keycode "^2.1.2" - prop-types "^15.5.6" - react-overlays "^0.6.12" + invariant "^2.2.4" + keycode "^2.2.0" + prop-types "^15.6.1" + prop-types-extra "^1.0.1" + react-overlays "^0.9.0" react-prop-types "^0.4.0" - uncontrollable "^4.0.1" + react-transition-group "^2.0.0" + uncontrollable "^7.0.2" warning "^3.0.0" react-color@^2.3.4: @@ -11727,6 +11794,13 @@ react-color@^2.3.4: reactcss "^1.2.0" tinycolor2 "^1.4.1" +react-datetime@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/react-datetime/-/react-datetime-3.1.1.tgz#adc346efda47653cfff9259c979f03f56106e48c" + integrity sha512-gHCTjAniCcMb6jdXpz+MpVe/uCeaHNDOofg+l41nLlJI3uBLBMV40CQbGB2TCTUpCzGT1mCs4vQzKGMjXO/WWQ== + dependencies: + prop-types "^15.5.7" + react-dnd-html5-backend@^2.1.2: version "2.6.0" resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-2.6.0.tgz#590cd1cca78441bb274edd571fef4c0b16ddcf8e" @@ -11746,17 +11820,12 @@ react-dnd@^2.1.4: lodash "^4.2.0" prop-types "^15.5.10" -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" - integrity sha1-63cFxNs2+1AbOqOP91lhaqD/luA= - react-dom@15.3.1: version "15.3.1" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.3.1.tgz#6d42cd2b64c8c5e0b693f3ffaec301e6e627e24e" integrity sha1-bULNK2TIxeC2k/P/rsMB5uYn4k4= -react-dom@^15.4.1, react-dom@^15.6.2: +react-dom@^15.6.2: version "15.6.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730" integrity sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA= @@ -11766,6 +11835,15 @@ react-dom@^15.4.1, react-dom@^15.6.2: object-assign "^4.1.0" prop-types "^15.5.10" +react-dom@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + react-dropzone@^3.5.3: version "3.13.4" resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-3.13.4.tgz#84da26815c40339691c49b4544c2ef7a16912ccc" @@ -11786,6 +11864,11 @@ react-input-autosize@^2.1.2: dependencies: prop-types "^15.5.8" +react-is@^16.3.2: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4: version "16.11.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" @@ -11804,28 +11887,42 @@ react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-modal@^1.4.0: - version "1.9.7" - resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-1.9.7.tgz#07ef56790b953e3b98ef1e2989e347983c72871d" - integrity sha512-oZNqI0ZnPD7NnfObrCMz2hxHTAw5oEuhZJ+gnyFNIQB2rR8h1YbLQTfhms1mtSJigb0J23OOWElHjXYYaKO+wg== +react-modal@^3.1.7: + version "3.14.4" + resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.14.4.tgz#2ca7e8e9a180955e5c9508c228b73167c1e6f6a3" + integrity sha512-8surmulejafYCH9wfUmFyj4UfbSJwjcgbS9gf3oOItu4Hwd6ivJyVBETI0yHRhpJKCLZMUtnhzk76wXTsNL6Qg== 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" + exenv "^1.2.0" + prop-types "^15.7.2" + react-lifecycles-compat "^3.0.0" + warning "^4.0.3" -react-overlays@^0.6.12: - version "0.6.12" - resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.6.12.tgz#a079c750cc429d7db4c7474a95b4b54033e255c3" - integrity sha1-oHnHUMxCnX20x0dKlbS1QDPiVcM= +react-overlays@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.9.3.tgz#5bac8c1e9e7e057a125181dee2d784864dd62902" + integrity sha512-u2T7nOLnK+Hrntho4p0Nxh+BsJl0bl4Xuwj/Y0a56xywLMetgAfyjnDVrudLXsNcKGaspoC+t3C1V80W9QQTdQ== dependencies: classnames "^2.2.5" - dom-helpers "^3.2.0" - react-prop-types "^0.4.0" + dom-helpers "^3.2.1" + prop-types "^15.5.10" + prop-types-extra "^1.0.1" + react-transition-group "^2.2.1" warning "^3.0.0" +react-overlays@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-5.1.1.tgz#2e7cf49744b56537c7828ccb94cfc63dd778ae4f" + integrity sha512-eCN2s2/+GVZzpnId4XVWtvDPYYBD2EtOGP74hE+8yDskPzFy9+pV1H3ZZihxuRdEbQzzacySaaDkR7xE0ydl4Q== + dependencies: + "@babel/runtime" "^7.13.8" + "@popperjs/core" "^2.8.6" + "@restart/hooks" "^0.3.26" + "@types/warning" "^3.0.0" + dom-helpers "^5.2.0" + prop-types "^15.7.2" + uncontrollable "^7.2.1" + warning "^4.0.3" + react-prop-types@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/react-prop-types/-/react-prop-types-0.4.0.tgz#f99b0bfb4006929c9af2051e7c1414a5c75b93d0" @@ -11851,16 +11948,33 @@ react-redux@^5.0.3, react-redux@^5.0.7: react-is "^16.6.0" react-lifecycles-compat "^3.0.0" -react-router-bootstrap@0.23.1: - version "0.23.1" - resolved "https://registry.yarnpkg.com/react-router-bootstrap/-/react-router-bootstrap-0.23.1.tgz#a1e0b82f49d25a6083c72202ad16aaa64bba0e0c" - integrity sha1-oeC4L0nSWmCDxyICrRaqpku6Dgw= +react-router-bootstrap@^0.26.0: + version "0.26.0" + resolved "https://registry.yarnpkg.com/react-router-bootstrap/-/react-router-bootstrap-0.26.0.tgz#822e2659d221e4feed700ad959aee2cc809b338a" + integrity sha512-auVpsCOYgI+3CrmtpVjme8ucz76iiMvJhv2BrnWof2HtimrF9NtAHtFzdZrsku5hwp166EPbz7IuSyHJA8kkdA== + dependencies: + prop-types "^15.7.2" + +react-router-dom@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.1.1.tgz#ed59376ff9115bc49227e87982a32e91e9530ca3" + integrity sha512-O3UH89DI4o+swd2q6lF4dSmpuNCxwkUXcj0zAFcVc1H+YoPE6T7uwoFMX0ws1pUvCY8lYDucFpOqCCdal6VFzg== + dependencies: + history "^5.1.0" + react-router "6.1.1" react-router-redux@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/react-router-redux/-/react-router-redux-4.0.8.tgz#227403596b5151e182377dab835b5d45f0f8054e" integrity sha1-InQDWWtRUeGCN32rg1tdRfD4BU4= +react-router@6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.1.1.tgz#16f41bf54e87d995bcd4d447720a693f77d8fcb9" + integrity sha512-55o96RiDZmC0uD17DPqVmzzfdNd2Dc+EjkYvMAmHl43du/GItaTdFr5WwjTryNWPXZ+OOVQxQhwAX25UwxpHtw== + dependencies: + history "^5.1.0" + react-router@^3.0.0-alpha.1, react-router@^3.0.2: version "3.2.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-3.2.1.tgz#b9a3279962bdfbe684c8bd0482b81ef288f0f244" @@ -11874,6 +11988,13 @@ react-router@^3.0.0-alpha.1, react-router@^3.0.2: prop-types "^15.5.6" warning "^3.0.0" +react-s-alert@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/react-s-alert/-/react-s-alert-1.4.1.tgz#ef3665a9d98c4cf2e448fc2d84e48aeca799bb5a" + integrity sha512-+cSpVPe6YeGklhlo7zbVlB0Z6jdiU9HPmEVzp5nIhNm9lvdL7rVO2Jx09pCwT99GmODyoN0iNhbQku6r7six8A== + dependencies: + babel-runtime "^6.23.0" + react-select@^1.0.0-beta14, react-select@^1.0.0-rc.2: version "1.3.0" resolved "https://registry.yarnpkg.com/react-select/-/react-select-1.3.0.tgz#1828ad5bf7f3e42a835c7e2d8cb13b5c20714876" @@ -11900,7 +12021,7 @@ react-toggle@^3.0.0: dependencies: classnames "^2.2.5" -react-transition-group@^2.2.1, react-transition-group@^2.6.1: +react-transition-group@^2.0.0, react-transition-group@^2.2.1, react-transition-group@^2.6.1: version "2.9.0" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== @@ -11950,7 +12071,7 @@ react@15.3.1: loose-envify "^1.1.0" object-assign "^4.1.0" -react@^15.4.1, react@^15.6.2: +react@^15.6.2: version "15.6.2" resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72" integrity sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI= @@ -11961,6 +12082,14 @@ react@^15.4.1, react@^15.6.2: object-assign "^4.1.0" prop-types "^15.5.10" +react@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + reactcss@^1.2.0: version "1.2.3" resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd" @@ -12312,6 +12441,11 @@ regenerator-runtime@^0.13.2: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + regenerator-runtime@^0.9.5: version "0.9.6" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" @@ -12745,6 +12879,14 @@ sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + semantic-release@^17.2.3: version "17.2.3" resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-17.2.3.tgz#11f10b851d4e75b1015b17515c433049b3df994c" @@ -14369,12 +14511,15 @@ umd@^3.0.0: resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== -uncontrollable@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-4.1.0.tgz#e0358291252e1865222d90939b19f2f49f81c1a9" - integrity sha1-4DWCkSUuGGUiLZCTmxny9J+Bwak= +uncontrollable@^7.0.2, uncontrollable@^7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.2.1.tgz#1fa70ba0c57a14d5f78905d533cf63916dc75738" + integrity sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ== dependencies: - invariant "^2.1.0" + "@babel/runtime" "^7.6.3" + "@types/react" ">=16.9.11" + invariant "^2.2.4" + react-lifecycles-compat "^3.0.4" undeclared-identifiers@^1.1.2: version "1.1.3" @@ -14731,6 +14876,13 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" +warning@^4.0.0, warning@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + watchify-middleware@^1.8.2: version "1.8.2" resolved "https://registry.yarnpkg.com/watchify-middleware/-/watchify-middleware-1.8.2.tgz#be84fd318049cc281f0a1da274410f9ba45a7c1e" From 4c366b430133f6f4a78777267eea6020bc58a5dd Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Fri, 31 Dec 2021 10:39:17 +0100 Subject: [PATCH 005/639] refactor: upgrade bootstrap to react 17 compatible version --- lib/admin/components/AdminPage.js | 8 +- lib/admin/components/OrganizationList.js | 10 +- lib/admin/components/OrganizationSettings.js | 3 +- lib/admin/components/ServerSettings.js | 101 ++- lib/admin/components/UserList.js | 12 +- lib/admin/components/UserSettings.js | 77 +- lib/alerts/components/AffectedServices.js | 10 +- lib/alerts/components/AlertEditor.js | 6 +- lib/alerts/components/AlertPreview.js | 4 +- lib/common/components/EC2InstanceCard.js | 149 ++-- lib/common/components/EditableTextField.js | 5 +- lib/common/components/FeedLabel.js | 2 +- lib/common/components/OptionButton.js | 4 +- lib/common/components/Sidebar.js | 10 +- lib/common/components/SidebarNavItem.js | 8 +- lib/common/containers/App.js | 6 +- .../components/EditorFeedSourcePanel.js | 20 +- lib/editor/components/EditorInput.js | 10 +- lib/editor/components/ExceptionDate.js | 3 +- lib/editor/components/FareRulesForm.js | 65 +- .../components/GtfsPlusVersionSummary.js | 210 ++--- lib/index.css | 5 +- lib/manager/components/CollapsiblePanel.js | 40 +- lib/manager/components/CreateFeedSource.js | 10 +- .../components/ExternalPropertiesTable.js | 45 +- lib/manager/components/FeedSourcePanel.js | 9 +- lib/manager/components/FeedSourceSettings.js | 6 +- lib/manager/components/FeedSourceTable.js | 9 +- lib/manager/components/GeneralSettings.js | 16 +- lib/manager/components/LabelPanel.js | 27 +- lib/manager/components/NoteForm.js | 44 +- lib/manager/components/NotesViewer.js | 19 +- lib/manager/components/ProjectSettingsForm.js | 14 +- lib/manager/components/ProjectViewer.js | 8 +- lib/manager/components/ProjectsList.js | 138 +-- .../components/UserAccountInfoPanel.js | 65 +- lib/manager/components/UserHomePage.js | 8 +- .../deployment/CurrentDeploymentPanel.js | 91 +- .../DeploymentConfigurationsPanel.js | 9 +- .../deployment/DeploymentSettings.js | 150 ++-- .../components/deployment/DeploymentViewer.js | 43 +- .../components/deployment/DeploymentsPanel.js | 143 +-- .../components/deployment/PeliasPanel.js | 11 +- .../reporter/components/DateTimeFilter.js | 3 +- .../transform/FeedTransformationSettings.js | 49 +- .../validation/GtfsValidationViewer.js | 86 +- .../components/version/FeedVersionReport.js | 22 +- .../components/version/FeedVersionViewer.js | 3 +- lib/public/components/UserAccount.js | 24 +- package.json | 36 +- yarn.lock | 838 ++++++++++++------ 51 files changed, 1520 insertions(+), 1174 deletions(-) diff --git a/lib/admin/components/AdminPage.js b/lib/admin/components/AdminPage.js index 2d245b6cc..3994c2b24 100644 --- a/lib/admin/components/AdminPage.js +++ b/lib/admin/components/AdminPage.js @@ -17,16 +17,16 @@ import {LinkContainer} from 'react-router-bootstrap' import * as adminActions from '../actions/admin' import * as organizationActions from '../actions/organizations' -import ApplicationStatus from './ApplicationStatus' import ManagerPage from '../../common/components/ManagerPage' import {getComponentMessages, isModuleEnabled} from '../../common/util/config' import * as projectActions from '../../manager/actions/projects' +import type {Project} from '../../types' +import type {AppState, ManagerUserState, RouterProps} from '../../types/reducers' + import OrganizationList from './OrganizationList' import ServerSettings from './ServerSettings' import UserList from './UserList' - -import type {Project} from '../../types' -import type {AppState, ManagerUserState, RouterProps} from '../../types/reducers' +import ApplicationStatus from './ApplicationStatus' type Props = RouterProps & { activeComponent: string, diff --git a/lib/admin/components/OrganizationList.js b/lib/admin/components/OrganizationList.js index ed52bea65..5072c03fa 100644 --- a/lib/admin/components/OrganizationList.js +++ b/lib/admin/components/OrganizationList.js @@ -9,11 +9,11 @@ import validator from 'validator' import * as organizationActions from '../actions/organizations' import UserPermissions from '../../common/user/UserPermissions' import {getComponentMessages} from '../../common/util/config' -import OrganizationSettings from './OrganizationSettings' - import type {Organization, UserProfile, Project} from '../../types' import type {AppState, OrganizationsState, AdminUsersState} from '../../types/reducers' +import OrganizationSettings from './OrganizationSettings' + type Props = { createOrganization: typeof organizationActions.createOrganization, deleteOrganization: typeof organizationActions.deleteOrganization, @@ -54,8 +54,8 @@ class OrganizationList extends Component { const { organizations, users } = this.props return (
- + {/* TODO: connect this up to filter */} @@ -72,7 +72,7 @@ class OrganizationList extends Component { - }> + {organizations.isFetching ? diff --git a/lib/admin/components/OrganizationSettings.js b/lib/admin/components/OrganizationSettings.js index 8f9a5682e..e25067094 100644 --- a/lib/admin/components/OrganizationSettings.js +++ b/lib/admin/components/OrganizationSettings.js @@ -2,14 +2,13 @@ import React, {Component} from 'react' import { ControlLabel, FormControl, FormGroup, Radio, Row, Col } from 'react-bootstrap' -import DateTimeField from 'react-bootstrap-datetimepicker' +import DateTimeField from 'react-datetime' import Select from 'react-select' import moment from 'moment' import * as organizationActions from '../actions/organizations' import {getComponentMessages} from '../../common/util/config' import toSentenceCase from '../../common/util/to-sentence-case' - import type {Organization, Project} from '../../types' type Props = { diff --git a/lib/admin/components/ServerSettings.js b/lib/admin/components/ServerSettings.js index 523e0e72e..ec090ed1b 100644 --- a/lib/admin/components/ServerSettings.js +++ b/lib/admin/components/ServerSettings.js @@ -29,7 +29,6 @@ import { EC2_INFO_FIELDS, SERVER_FIELDS } from '../../manager/util/deployment' - import type { OtpServer, Project, ReactSelectOption } from '../../types' import type { AppState, AdminServersState } from '../../types/reducers' @@ -197,8 +196,8 @@ class ServerSettings extends Component { return (
{/* OTP server settings */} - + @@ -218,56 +217,60 @@ class ServerSettings extends Component { - }> -
- {otpServers && otpServers.length - ? otpServers.map((server, index) => ( - - {server.name}{' '} - {server.publicUrl} - - : `[${this.messages('deployment.otpServers.serverPlaceholder')}]` - } - > - + +
+ {otpServers && otpServers.length + ? otpServers.map((server, index) => ( + - - )) - :

No servers defined

- } -
+ key={`server-${index}`} + onChange={this._getOnChange} + onEnter={this._onExpandServer} + onRemove={this._onDeleteServer} + onSave={this._onSaveServer} + saveDisabled={!this.state.hasEdits} + showButtonsOnBottom + testId={server.name || + `[${this.messages('deployment.otpServers.serverPlaceholder')}]`} + title={server.name + ? + {server.name}{' '} + {server.publicUrl} + + : `[${this.messages('deployment.otpServers.serverPlaceholder')}]` + } + > + +
+ )) + :

No servers defined

+ } +
+
- +
) diff --git a/lib/admin/components/UserList.js b/lib/admin/components/UserList.js index 61221a57d..fbae74337 100644 --- a/lib/admin/components/UserList.js +++ b/lib/admin/components/UserList.js @@ -19,14 +19,14 @@ import { import * as adminActions from '../actions/admin' import MenuItem from '../../common/components/MenuItem' import {getComponentMessages} from '../../common/util/config' -import CreateUser from './CreateUser' import * as feedActions from '../../manager/actions/feeds' import * as managerUserActions from '../../manager/actions/user' -import UserRow from './UserRow' - import type {Organization, Project, UserProfile} from '../../types' import type {AppState, ManagerUserState} from '../../types/reducers' +import UserRow from './UserRow' +import CreateUser from './CreateUser' + type Props = { createUser: typeof adminActions.createUser, creatingUser: ManagerUserState, @@ -168,8 +168,8 @@ class UserList extends Component {
- + @@ -219,7 +219,7 @@ class UserList extends Component { createUser={createUser.bind(this)} /> - }> + { .filter(p => !p.organizationId || (this.state.organization && this.state.organization.id === p.organizationId)) const currentProject: Project = orgProjects[this.state.currentProjectIndex] const projectPanel = ( - +

Project Settings for{' '} { })}

- } - > - {orgProjects.map((project: Project, i: number) => { - if (i !== this.state.currentProjectIndex) return null - const settings = this.state.projectSettings[project.id] - return - })} +
+ + + {orgProjects.map((project: Project, i: number) => { + if (i !== this.state.currentProjectIndex) return null + const settings = this.state.projectSettings[project.id] + return + })} +
) return ( - Organization settings}> - {creatorIsApplicationAdmin && + +

Organization settings

+ + {creatorIsApplicationAdmin && { ref='appAdminCheckbox'> {this.messages('admin.title')} - } - {/* Organizations selector. Only show if there exist organizations already. */} - {!this.state.appAdminChecked && organizations && organizations.length - ?
- + {this.state.organization && {this.messages('org.admin')} - } -
- : null - } + } + + : null + } +
diff --git a/lib/alerts/components/AffectedServices.js b/lib/alerts/components/AffectedServices.js index 51667bf06..3157a85a1 100644 --- a/lib/alerts/components/AffectedServices.js +++ b/lib/alerts/components/AffectedServices.js @@ -12,12 +12,12 @@ import { } from 'react-bootstrap' import * as activeAlertActions from '../actions/activeAlert' -import AffectedEntity from './AffectedEntity' import { isExtensionEnabled } from '../../common/util/config' import GtfsSearch from '../../gtfs/components/gtfs-search' - import type {Alert, AlertEntity, Feed} from '../../types' +import AffectedEntity from './AffectedEntity' + type Props = { activeFeeds: Array, addActiveEntity: typeof activeAlertActions.addActiveEntity, @@ -64,8 +64,10 @@ export default class AffectedServices extends Component { updateActiveEntity } = this.props return ( - }> + + + }> + diff --git a/lib/alerts/components/AlertEditor.js b/lib/alerts/components/AlertEditor.js index 0fe7ffe6a..588d6d911 100644 --- a/lib/alerts/components/AlertEditor.js +++ b/lib/alerts/components/AlertEditor.js @@ -4,11 +4,10 @@ import Icon from '@conveyal/woonerf/components/icon' import moment from 'moment' import React, {Component} from 'react' import {Grid, Row, Col, ButtonToolbar, Button, FormControl, ControlLabel, FormGroup} from 'react-bootstrap' -import DateTimeField from 'react-bootstrap-datetimepicker' +import DateTimeField from 'react-datetime' import {browserHistory} from 'react-router' import Toggle from 'react-toggle' -import AffectedServices from './AffectedServices' import * as alertActions from '../actions/alerts' import * as activeAlertActions from '../actions/activeAlert' import Loading from '../../common/components/Loading' @@ -20,11 +19,12 @@ import toSentenceCase from '../../common/util/to-sentence-case' import GtfsMapSearch from '../../gtfs/components/gtfsmapsearch' import GlobalGtfsFilter from '../../gtfs/containers/GlobalGtfsFilter' import {CAUSES, EFFECTS, isNew} from '../util' - import type {Props as ContainerProps} from '../containers/ActiveAlertEditor' import type {Alert, Feed, GtfsRoute, GtfsStop, Project} from '../../types' import type {ManagerUserState} from '../../types/reducers' +import AffectedServices from './AffectedServices' + type Props = ContainerProps & { activeFeeds: Array, addActiveEntity: typeof activeAlertActions.addActiveEntity, diff --git a/lib/alerts/components/AlertPreview.js b/lib/alerts/components/AlertPreview.js index 3331a42da..d03fafb65 100644 --- a/lib/alerts/components/AlertPreview.js +++ b/lib/alerts/components/AlertPreview.js @@ -7,7 +7,6 @@ import { Panel, Row, Col, ButtonGroup, Button, Label as BsLabel } from 'react-bo import * as alertActions from '../actions/alerts' import { checkEntitiesForFeeds } from '../../common/util/permissions' - import type {Alert, Feed} from '../../types' type Props = { @@ -84,7 +83,8 @@ export default class AlertPreview extends Component { ) return ( - + + {header}

{moment(alert.start).format('MMM Do YYYY, h:mm:ssa')} diff --git a/lib/common/components/EC2InstanceCard.js b/lib/common/components/EC2InstanceCard.js index ef9ec5938..6f69a44f1 100644 --- a/lib/common/components/EC2InstanceCard.js +++ b/lib/common/components/EC2InstanceCard.js @@ -9,7 +9,6 @@ import { Link } from 'react-router' import * as deploymentActions from '../../manager/actions/deployments' import { formatTimestamp } from '../util/date-time' - import type { EC2InstanceSummary, ServerJob } from '../../types' type Props = { @@ -27,7 +26,7 @@ export default class EC2InstanceCard extends Component { if (!instance.launchTime) return 'N/A' // Set end time as termination time or now. const endTimestamp = this._getTerminationTime() - let endTime = endTimestamp ? moment(endTimestamp) : moment() + const endTime = endTimestamp ? moment(endTimestamp) : moment() const launchTime = moment(instance.launchTime) const duration = moment.duration(endTime.diff(launchTime)) const millisecondsRounded = Math.floor(duration.asMilliseconds() / 1000) * 1000 @@ -37,7 +36,7 @@ export default class EC2InstanceCard extends Component { _onClickDownloadUserDataLog = () => { const {instance, onClickDownloadUserData} = this.props - onClickDownloadUserData && onClickDownloadUserData(instance) + return onClickDownloadUserData ? onClickDownloadUserData(instance) : undefined } _getInstanceUrl = () => { @@ -82,82 +81,84 @@ export default class EC2InstanceCard extends Component { const terminationTime = this._getTerminationTime() return ( -

- {this._getStatusIcon(instance)} {instance.instanceId}{' '} - ({instance.state.name}) -
-
- -
- {instance.name} -
- {this.props.showDeploymentLink - ?
- {' '} - - View deployment - + +
+ {this._getStatusIcon(instance)} {instance.instanceId}{' '} + ({instance.state.name}) +
+
+ +
+ {instance.name}
- : null - } -
- {this._getTimeActive()}{' '} -
-
- {formatTimestamp(instance.launchTime)} -
-
- {instance.instanceType} -
-
- {' '} - {job - ? job.status.message - : terminationTime - ? `Terminated ${formatTimestamp(terminationTime)}` - : instance.state.name === 'pending' - ? 'Booting up.' - : instance.state.name === 'terminated' - ? 'Terminated.' - : 'Running as server.' + {this.props.showDeploymentLink + ?
+ {' '} + + View deployment + +
+ : null } -
-
- {instance.publicIpAddress - ? - {instance.publicIpAddress} +
+ {this._getTimeActive()}{' '} +
+
+ {formatTimestamp(instance.launchTime)} +
+
+ {instance.instanceType} +
+
+ {' '} + {job + ? job.status.message + : terminationTime + ? `Terminated ${formatTimestamp(terminationTime)}` + : instance.state.name === 'pending' + ? 'Booting up.' + : instance.state.name === 'terminated' + ? 'Terminated.' + : 'Running as server.' + } +
+
+ {instance.publicIpAddress + ? + {instance.publicIpAddress} + + : 'No public IP' + } + {this.props.onClickDownloadUserData + ? + : null + } + + AWS - : 'No public IP' - } - {this.props.onClickDownloadUserData - ? - : null - } - - AWS - - -
-
-
+
+
+
+ ) } diff --git a/lib/common/components/EditableTextField.js b/lib/common/components/EditableTextField.js index 1dcc2db6b..61cad76a4 100644 --- a/lib/common/components/EditableTextField.js +++ b/lib/common/components/EditableTextField.js @@ -134,16 +134,17 @@ export default class EditableTextField extends Component { isEditing, value } = this.state + const newStyle = {...style} // trim length of display text to fit content const displayValue = typeof maxLength === 'number' && value && value.length > maxLength ? `${value.substr(0, maxLength)}...` : value || '(none)' if (inline) { - style.display = 'inline-block' + newStyle.display = 'inline-block' } return (
+ style={newStyle}> {isEditing ?
diff --git a/lib/common/components/FeedLabel.js b/lib/common/components/FeedLabel.js index 9936513d5..6e269425c 100644 --- a/lib/common/components/FeedLabel.js +++ b/lib/common/components/FeedLabel.js @@ -69,7 +69,7 @@ class FeedLabel extends React.Component { _onClick = () => { const {label, onClick} = this.props - onClick && onClick(label.id) + return onClick ? onClick(label.id) : undefined } _isEditable = () => { diff --git a/lib/common/components/OptionButton.js b/lib/common/components/OptionButton.js index 393c251ff..d93438048 100644 --- a/lib/common/components/OptionButton.js +++ b/lib/common/components/OptionButton.js @@ -16,9 +16,9 @@ export default class OptionButton extends React.Component { _onClick = () => { const {active, onClick, onDeselect, value} = this.props if (!active) { - onClick && onClick(value) + return onClick ? onClick(value) : undefined } else { - onDeselect && onDeselect(value) + return onDeselect ? onDeselect(value) : undefined } } diff --git a/lib/common/components/Sidebar.js b/lib/common/components/Sidebar.js index f69bab8c8..9d598e7a9 100644 --- a/lib/common/components/Sidebar.js +++ b/lib/common/components/Sidebar.js @@ -7,16 +7,16 @@ import {Link} from 'react-router' import * as statusActions from '../../manager/actions/status' import * as userActions from '../../manager/actions/user' -import JobMonitor from './JobMonitor' -import SidebarNavItem from './SidebarNavItem' -import SidebarPopover from './SidebarPopover' -import UserButtons from './UserButtons' import {DEFAULT_LOGO_SMALL} from '../constants' import {getComponentMessages, getConfigProperty} from '../util/config' - import type {Props as ContainerProps} from '../containers/ActiveSidebar' import type {JobStatusState, ManagerUserState, AppInfo} from '../../types/reducers' +import JobMonitor from './JobMonitor' +import SidebarNavItem from './SidebarNavItem' +import SidebarPopover from './SidebarPopover' +import UserButtons from './UserButtons' + // the following three environment variables are generated via mastarm 4.3+ // we can't destructure because that won't work with the envify plugin const buildTimestamp = process.env.BUILD_TIMESTAMP diff --git a/lib/common/components/SidebarNavItem.js b/lib/common/components/SidebarNavItem.js index 741fd729a..2252ec640 100644 --- a/lib/common/components/SidebarNavItem.js +++ b/lib/common/components/SidebarNavItem.js @@ -5,10 +5,10 @@ import React, {Component} from 'react' import {Link} from 'react-router' import {OverlayTrigger, Tooltip} from 'react-bootstrap' -import {POPOVER} from './Sidebar' - import type {Props as ContainerProps} from '../containers/ActiveSidebarNavItem' +import {POPOVER} from './Sidebar' + export type Props = ContainerProps & { disabled?: boolean, expanded: boolean, @@ -27,7 +27,7 @@ export default class SidebarNavItem extends Component { _onClick = () => { const {onClick, keyName} = this.props - onClick && onClick(keyName) + return onClick ? onClick(keyName) : undefined } toggleHover = () => this.setState({ hover: !this.state.hover }) @@ -72,7 +72,7 @@ export default class SidebarNavItem extends Component { style={containerStyle} onMouseEnter={this.toggleHover} onMouseLeave={this.toggleHover} - onClick={!link && this._onClick}> + onClick={!link ? this._onClick : undefined}> { render () { - const {history} = this.props const routes = [ { path: '/settings(/:subpage)(/:projectId)', @@ -214,7 +214,7 @@ export default class App extends React.Component { ] const router = ( {routes.map((r, i) => ())} diff --git a/lib/editor/components/EditorFeedSourcePanel.js b/lib/editor/components/EditorFeedSourcePanel.js index a83f0f7bd..c1264c88d 100644 --- a/lib/editor/components/EditorFeedSourcePanel.js +++ b/lib/editor/components/EditorFeedSourcePanel.js @@ -12,7 +12,6 @@ import {getComponentMessages, getConfigProperty} from '../../common/util/config' import CreateSnapshotModal from '../../editor/components/CreateSnapshotModal' import * as versionActions from '../../manager/actions/versions' import {isEditingDisabled} from '../../manager/util' - import type {Props as ContainerProps} from '../containers/ActiveEditorFeedSourcePanel' import type {Feed, Snapshot} from '../../types' import type {ManagerUserState} from '../../types/reducers' @@ -67,7 +66,10 @@ export default class EditorFeedSourcePanel extends Component { {feedSource.editorSnapshots && feedSource.editorSnapshots.length ?
{/* These are the available snapshots */} - Available snapshots}> + + + Available snapshots + {snapshots.length === 0 ? No other snapshots @@ -106,14 +108,12 @@ export default class EditorFeedSourcePanel extends Component { onClick={this._openModal}> Take snapshot of latest changes - - {this.messages('help.title')} - - }> -

{this.messages('help.body.0')}

-

{this.messages('help.body.1')}

+ + {this.messages('help.title')} + +

{this.messages('help.body.0')}

+

{this.messages('help.body.1')}

+
diff --git a/lib/editor/components/EditorInput.js b/lib/editor/components/EditorInput.js index 5b291fabf..e7ae0aedc 100644 --- a/lib/editor/components/EditorInput.js +++ b/lib/editor/components/EditorInput.js @@ -4,24 +4,24 @@ import React, {Component} from 'react' import {Checkbox, FormControl, FormGroup, ControlLabel, Tooltip, OverlayTrigger} from 'react-bootstrap' import Select from 'react-select' import moment from 'moment' -import DateTimeField from 'react-bootstrap-datetimepicker' +import DateTimeField from 'react-datetime' import Dropzone from 'react-dropzone' import * as activeActions from '../actions/active' import * as editorActions from '../actions/editor' -import ColorField from './ColorField' import {getEntityName, getTableById} from '../util/gtfs' import {FIELD_PROPS} from '../util/types' import {doesNotExist} from '../util/validation' -import VirtualizedEntitySelect from './VirtualizedEntitySelect' import TimezoneSelect from '../../common/components/TimezoneSelect' import LanguageSelect from '../../common/components/LanguageSelect' import toSentenceCase from '../../common/util/to-sentence-case' -import ZoneSelect from './ZoneSelect' - import type {Entity, Feed, GtfsSpecField, GtfsAgency, GtfsStop} from '../../types' import type {EditorTables} from '../../types/reducers' +import ZoneSelect from './ZoneSelect' +import VirtualizedEntitySelect from './VirtualizedEntitySelect' +import ColorField from './ColorField' + type Props = { activeComponent: string, activeEntity?: Entity, diff --git a/lib/editor/components/ExceptionDate.js b/lib/editor/components/ExceptionDate.js index 89791dd0f..d89b07da5 100644 --- a/lib/editor/components/ExceptionDate.js +++ b/lib/editor/components/ExceptionDate.js @@ -3,11 +3,10 @@ import Icon from '@conveyal/woonerf/components/icon' import React, {Component} from 'react' import {Button} from 'react-bootstrap' -import DateTimeField from 'react-bootstrap-datetimepicker' +import DateTimeField from 'react-datetime' import moment from 'moment' import {updateActiveGtfsEntity} from '../actions/active' - import type {ScheduleException} from '../../types' type Props = { diff --git a/lib/editor/components/FareRulesForm.js b/lib/editor/components/FareRulesForm.js index 4a0dcd8ce..72e713a37 100644 --- a/lib/editor/components/FareRulesForm.js +++ b/lib/editor/components/FareRulesForm.js @@ -6,13 +6,13 @@ import { Checkbox, Button, FormGroup, Panel } from 'react-bootstrap' import {updateActiveGtfsEntity} from '../actions/active' import {getFareRuleFieldName} from '../util' -import FareRuleSelections from './FareRuleSelections' import {generateNullProps, getTableById} from '../util/gtfs' - import type {FareRule, GtfsFare, ZoneOption, Zones} from '../../types' import type {EditorTables} from '../../types/reducers' import type {EditorValidationIssue} from '../util/validation' +import FareRuleSelections from './FareRuleSelections' + type Props = { activeComponent: string, activeEntity: GtfsFare, @@ -166,7 +166,9 @@ class FareRuleItem extends Component { return ( + +

{ruleHeader}

- } - key={`rule-${activeEntity.id}-${rule.id}`}> - - {FARE_RULE_TYPES.map((type, i) => { - const uniqueId = `${activeEntity.id}-${rule.id}` - return ( - - ) - })} - - +
+ + + {FARE_RULE_TYPES.map((type, i) => { + const uniqueId = `${activeEntity.id}-${rule.id}` + return ( + + ) + })} + + +
) } diff --git a/lib/gtfsplus/components/GtfsPlusVersionSummary.js b/lib/gtfsplus/components/GtfsPlusVersionSummary.js index 460bfe156..afe3bb194 100644 --- a/lib/gtfsplus/components/GtfsPlusVersionSummary.js +++ b/lib/gtfsplus/components/GtfsPlusVersionSummary.js @@ -15,7 +15,6 @@ import { import {browserHistory, Link} from 'react-router' import * as gtfsPlusActions from '../actions/gtfsplus' - import {getGtfsPlusSpec} from '../../common/util/config' import type {Props as ContainerProps} from '../containers/ActiveGtfsPlusVersionSummary' import type {GtfsPlusValidationIssue} from '../../types' @@ -135,113 +134,118 @@ export default class GtfsPlusVersionSummary extends Component { const derivedVersions = versions.filter(v => v.originNamespace === version.namespace) return ( - - - - - {this.feedStatus()} - {derivedVersions.length > 0 - ?
+ + {header} + + + + + {this.feedStatus()} + {derivedVersions.length > 0 + ?
Versions created from this version of GTFS+: -
    - {derivedVersions.map(v => { - const url = `/feed/${v.feedSource.id}/version/${v.version}` - return ( -
  • - - {v.name} (version {v.version}) - -
  • - ) - })} -
-
- : this._gtfsPlusIsEdited() && gtfsplus.validation && gtfsplus.validation.issues.length === 0 - ?
Note: Edits must be published as a new feed version.
+
    + {derivedVersions.map(v => { + const url = `/feed/${v.feedSource.id}/version/${v.version}` + return ( +
  • + + {v.name} (version {v.version}) + +
  • + ) + })} +
+
+ : this._gtfsPlusIsEdited() && gtfsplus.validation && gtfsplus.validation.issues.length === 0 + ?
Note: Edits must be published as a new feed version.
+ : null + + } +
+ + + + {this._gtfsPlusIsEdited() + ? : null - - } - - - - - {this._gtfsPlusIsEdited() - ? - : null - } - - {this._gtfsPlusIsEdited() - ? - : null - } - - -
- - - - - - - - - - - - - - {getGtfsPlusSpec().map((table, index) => { - const issueCount = this.validationIssueCount(table.id) - const tableLevelIssues = this._getTableLevelIssues(table.id) - return ( - 0 && 'warning' - } - style={{ color: this.isTableIncluded(table.id) === 'Yes' ? 'black' : 'lightGray' }}> - - - - - + + +
TableIncluded?RecordsValidation Issues -
- {table.name} - {tableLevelIssues - ? -
- {tableLevelIssues.length} critical table issue(s): -
    - {tableLevelIssues.map((issue, i) => -
  • {issue.fieldName}: {issue.description}
  • )} -
-
- : null - } -
{this.isTableIncluded(table.id)}{this.tableRecordCount(table.id)}{issueCount} + {this._gtfsPlusIsEdited() + ? + : null + } + + + + +
+ + + + + + + - ) - })} - -
TableIncluded?RecordsValidation Issues
-
- -
+ + + {getGtfsPlusSpec().map((table, index) => { + const issueCount = this.validationIssueCount(table.id) + const tableLevelIssues = this._getTableLevelIssues(table.id) + return ( + 0 && 'warning' + } + style={{ color: this.isTableIncluded(table.id) === 'Yes' ? 'black' : 'lightGray' }}> + + {table.name} + {tableLevelIssues + ? +
+ {tableLevelIssues.length} critical table issue(s): +
    + {tableLevelIssues.map((issue, i) => +
  • {issue.fieldName}: {issue.description}
  • )} +
+
+ : null + } + + {this.isTableIncluded(table.id)} + {this.tableRecordCount(table.id)} + {issueCount} + + + ) + })} + + + +
+ + +
) } diff --git a/lib/index.css b/lib/index.css index f7ae2991e..5039a9d52 100644 --- a/lib/index.css +++ b/lib/index.css @@ -1,14 +1,13 @@ - @import url(node_modules/font-awesome/css/font-awesome.css); /** * Note: this css file must be imported so that marker icons URLs will work * properly with react-leaflet. See https://github.com/PaulLeCam/react-leaflet/issues/453 */ -@import url(https://unpkg.com/leaflet@1.3.4/dist/leaflet.css); +@import url(https://unpkg.com/leaflet@1.7.1/dist/leaflet.css); @import url(node_modules/bootstrap/dist/css/bootstrap.min.css); @import url(node_modules/react-bootstrap-table/dist/react-bootstrap-table.min.css); -@import url(node_modules/react-bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css); +@import url(node_modules/react-datetime/css/react-datetime.css); @import url(node_modules/react-select/dist/react-select.css); diff --git a/lib/manager/components/CollapsiblePanel.js b/lib/manager/components/CollapsiblePanel.js index 0d33f15ec..565cb1bcf 100644 --- a/lib/manager/components/CollapsiblePanel.js +++ b/lib/manager/components/CollapsiblePanel.js @@ -10,7 +10,6 @@ import { } from 'react-bootstrap' import FormInput from '../../common/components/FormInput' - import type {FormProps} from '../../types' type Props = { @@ -79,29 +78,32 @@ export default class CollapsiblePanel extends Component { } = this.props return ( {title}} onEnter={this._onEnter} > - - {this.renderButtonToolbar()} - {fields.map((f, i) => - - )} - {/* Additional (usually more complex) fields can go here. */} - {this.props.children} - {showButtonsOnBottom && ( -
+
{title}
+ + + {this.renderButtonToolbar()} -
- )} - + {fields.map((f, i) => + + )} + {/* Additional (usually more complex) fields can go here. */} + {this.props.children} + {showButtonsOnBottom && ( +
+ {this.renderButtonToolbar()} +
+ )} + + +
) } diff --git a/lib/manager/components/CreateFeedSource.js b/lib/manager/components/CreateFeedSource.js index 6022e6957..854f35d3c 100644 --- a/lib/manager/components/CreateFeedSource.js +++ b/lib/manager/components/CreateFeedSource.js @@ -21,11 +21,11 @@ import validator from 'validator' import {createFeedSource} from '../actions/feeds' import Loading from '../../common/components/Loading' import {FREQUENCY_INTERVALS} from '../../common/constants' -import FeedFetchFrequency from './FeedFetchFrequency' import {validationState} from '../util' - import type {FetchFrequency, NewFeed} from '../../types' +import FeedFetchFrequency from './FeedFetchFrequency' + type Props = { createFeedSource: typeof createFeedSource, onCancel: () => void, @@ -159,7 +159,8 @@ export default class CreateFeedSource extends Component {

Create New Feed

- Settings}> + + Settings { - Automatic fetch}> + + Automatic Fetch diff --git a/lib/manager/components/ExternalPropertiesTable.js b/lib/manager/components/ExternalPropertiesTable.js index efe174a36..8702b6d77 100644 --- a/lib/manager/components/ExternalPropertiesTable.js +++ b/lib/manager/components/ExternalPropertiesTable.js @@ -5,7 +5,6 @@ import { Panel, Table } from 'react-bootstrap' import * as feedsActions from '../actions/feeds' import EditableTextField from '../../common/components/EditableTextField' - import type {Feed} from '../../types' type Props = { @@ -25,27 +24,29 @@ export default class ExternalPropertiesTable extends Component { resourceType } = this.props return ( - {resourceType} properties}> - - - - - - - - - {Object.keys(resourceProps).sort().map((propName, index) => ( - - ))} - -
PropertyValue
+ + {resourceType} properties + + + + + + + + + + {Object.keys(resourceProps).sort().map((propName, index) => ( + + ))} + +
PropertyValue
+
) } diff --git a/lib/manager/components/FeedSourcePanel.js b/lib/manager/components/FeedSourcePanel.js index b5667b7a1..f0ec8e3c4 100644 --- a/lib/manager/components/FeedSourcePanel.js +++ b/lib/manager/components/FeedSourcePanel.js @@ -10,7 +10,6 @@ import OptionButton from '../../common/components/OptionButton' import {getComponentMessages} from '../../common/util/config' import toSentenceCase from '../../common/util/to-sentence-case' import {getAbbreviatedProjectName} from '../../common/util/util' - import type {Feed, Project} from '../../types' import type {ManagerUserState} from '../../types/reducers' @@ -76,17 +75,15 @@ export default class FeedSourcePanel extends Component { activeProject.organizationId ) return ( - Feeds for{' '} + + Feeds for{' '} {activeProject ? getAbbreviatedProjectName(activeProject) : '[choose project]' }{' '} {activeProject && activeProject.feedSources && {activeProject.feedSources.length} - } - - }> + } { } = this.props return ( - + - } - > + {isFetching ? diff --git a/lib/manager/components/GeneralSettings.js b/lib/manager/components/GeneralSettings.js index ce3e17a07..45a056071 100644 --- a/lib/manager/components/GeneralSettings.js +++ b/lib/manager/components/GeneralSettings.js @@ -120,7 +120,8 @@ export default class GeneralSettings extends Component { return ( {/* Settings */} - Settings}> + + Settings @@ -155,7 +156,8 @@ export default class GeneralSettings extends Component { - Automatic fetch}> + + Automatic Fetch @@ -201,10 +203,14 @@ export default class GeneralSettings extends Component { - Labels}> - + + Labels + + + - Danger zone}> + + Danger Zone - )} - {labelBody} -
+ + )} + {labelBody} +
+ ) } diff --git a/lib/manager/components/NoteForm.js b/lib/manager/components/NoteForm.js index e2451066f..ae36dd784 100644 --- a/lib/manager/components/NoteForm.js +++ b/lib/manager/components/NoteForm.js @@ -76,29 +76,30 @@ export default class NoteForm extends Component { + {profile.email} - } - > - - - {isProjectAdmin && + + + + + {isProjectAdmin && { > {this.messages('adminOnly')} - } + } + diff --git a/lib/manager/components/NotesViewer.js b/lib/manager/components/NotesViewer.js index 0578af75a..a07ac1701 100644 --- a/lib/manager/components/NotesViewer.js +++ b/lib/manager/components/NotesViewer.js @@ -75,15 +75,14 @@ export default class NotesViewer extends Component { alt={note.userEmail} /> - + {note.adminOnly && - + } {note.userEmail} @@ -93,8 +92,10 @@ export default class NotesViewer extends Component { commented {noteDate.fromNow()} - }> -

{note.body || '(no content)'}

+
+ +

{note.body || '(no content)'}

+
diff --git a/lib/manager/components/ProjectSettingsForm.js b/lib/manager/components/ProjectSettingsForm.js index 16775a4b9..640689b47 100644 --- a/lib/manager/components/ProjectSettingsForm.js +++ b/lib/manager/components/ProjectSettingsForm.js @@ -19,7 +19,7 @@ import { Panel, Row } from 'react-bootstrap' -import DateTimeField from 'react-bootstrap-datetimepicker' +import DateTimeField from 'react-datetime' import ReactDOM from 'react-dom' import { shallowEqual } from 'react-pure-render' import { browserHistory } from 'react-router' @@ -268,7 +268,8 @@ export default class ProjectSettingsForm extends Component { return (
- {this.messages('title')}}> + + {this.messages('title')} { - {this.messages('fields.updates.title')}}> + + { this.messages('fields.updates.title') } @@ -317,7 +319,8 @@ export default class ProjectSettingsForm extends Component { - {this.messages('fields.location.title')}}> + + {this.messages('fields.location.title')} @@ -361,7 +364,8 @@ export default class ProjectSettingsForm extends Component { {showDangerZone && - Danger zone}> + + Danger Zone - - {this.messages('help.content')} - - }> + + Projects + + + + + + - - - - - - - - - - - - - {visibleProjects.length > 0 - ? visibleProjects.map((project) => ( - - )) - : - + + {this.messages('help.content')} + + }> + + + + + + +
- {this.messages('table.name')} - -
- {this.messages('noProjects')} - {' '} - -
+ + + + - } - -
+ {this.messages('table.name')} +
- -
+ + + {visibleProjects.length > 0 + ? visibleProjects.map((project) => ( + + )) + : + + {this.messages('noProjects')} + {' '} + + + + } + + + + +
diff --git a/lib/manager/components/UserAccountInfoPanel.js b/lib/manager/components/UserAccountInfoPanel.js index 2ccd1bc04..93f5839f6 100644 --- a/lib/manager/components/UserAccountInfoPanel.js +++ b/lib/manager/components/UserAccountInfoPanel.js @@ -5,7 +5,6 @@ import { Panel, Badge, Row, Col } from 'react-bootstrap' import * as userActions from '../actions/user' import UserButtons from '../../common/components/UserButtons' - import type {ManagerUserState} from '../../types/reducers' type Props = { @@ -26,42 +25,44 @@ export default class UserAccountInfoPanel extends Component { } return ( - - - Profile - - -

+ + + + Profile + + +

Hello, {profile.nickname}. -

-
{profile.email}
-
- - {permissions.isApplicationAdmin() - ? 'Application admin' - : permissions.canAdministerAnOrganization() - ? 'Organization admin' - : 'Standard user' - } - - {/* TODO: fetch organization for user and show badge here */} - {' '} - {/* userOrganization && +

+
{profile.email}
+
+ + {permissions.isApplicationAdmin() + ? 'Application admin' + : permissions.canAdministerAnOrganization() + ? 'Organization admin' + : 'Standard user' + } + + {/* TODO: fetch organization for user and show badge here */} + {' '} + {/* userOrganization && user.permissions.getOrganizationId() */} -
- -
- - - - - +
+ + + + + + + + ) } diff --git a/lib/manager/components/UserHomePage.js b/lib/manager/components/UserHomePage.js index 2086c9083..a1bb440e8 100644 --- a/lib/manager/components/UserHomePage.js +++ b/lib/manager/components/UserHomePage.js @@ -12,15 +12,15 @@ import ManagerPage from '../../common/components/ManagerPage' import { DEFAULT_DESCRIPTION, DEFAULT_TITLE } from '../../common/constants' import {getConfigProperty} from '../../common/util/config' import {defaultSorter} from '../../common/util/util' +import type {Props as ContainerProps} from '../containers/ActiveUserHomePage' +import type {Project} from '../../types' +import type {ManagerUserState, ProjectFilter} from '../../types/reducers' + import RecentActivityBlock from './RecentActivityBlock' import UserAccountInfoPanel from './UserAccountInfoPanel' import FeedSourcePanel from './FeedSourcePanel' import HomeProjectDropdown from './HomeProjectDropdown' -import type {Props as ContainerProps} from '../containers/ActiveUserHomePage' -import type {Project} from '../../types' -import type {ManagerUserState, ProjectFilter} from '../../types/reducers' - type Props = ContainerProps & { fetchProjectFeeds: typeof feedsActions.fetchProjectFeeds, logout: typeof userActions.logout, diff --git a/lib/manager/components/deployment/CurrentDeploymentPanel.js b/lib/manager/components/deployment/CurrentDeploymentPanel.js index 3f4f9bd47..575994a91 100644 --- a/lib/manager/components/deployment/CurrentDeploymentPanel.js +++ b/lib/manager/components/deployment/CurrentDeploymentPanel.js @@ -12,9 +12,7 @@ import { import * as deploymentActions from '../../actions/deployments' import { formatTimestamp } from '../../../common/util/date-time' import { getActiveInstanceCount, getServerForId } from '../../util/deployment' -import DeploymentPreviewButton from './DeploymentPreviewButton' import EC2InstanceCard from '../../../common/components/EC2InstanceCard' - import type { Deployment, DeploySummary, @@ -24,6 +22,8 @@ import type { ServerJob } from '../../../types' +import DeploymentPreviewButton from './DeploymentPreviewButton' + type Props = { deployJobs: Array, deployment: Deployment, @@ -110,8 +110,10 @@ export default class CurrentDeploymentPanel extends Component { const ec2Info = server && server.ec2Info const hasPreviouslyDeployed = deployment.deployJobSummaries.length > 0 return ( - Deployment Summary}> - {deployJob && + + Deployment Summary + + {deployJob &&
Deployment in progress...
@@ -119,8 +121,8 @@ export default class CurrentDeploymentPanel extends Component { {deployJob.status.message}
- } - {hasPreviouslyDeployed && + } + {hasPreviouslyDeployed && - } - {hasPreviouslyDeployed - ? - : 'No current deployment found' - } - {ec2Info // If has EC2 info, show EC2 instances box. - ?
-

+ } + {hasPreviouslyDeployed + ? + : 'No current deployment found' + } + {ec2Info // If has EC2 info, show EC2 instances box. + ?
+

EC2 instances ({getActiveInstanceCount(deployment.ec2Instances)} active) - -

- {deployment.ec2Instances - ?
- {deployment.ec2Instances.map(instance => { - return ( - job.instanceId === instance.instanceId)} - instance={instance} - terminateEC2InstanceForDeployment={this.props.terminateEC2InstanceForDeployment} /> - ) - })} -
- : null - } -
- : null - } + +

+ {deployment.ec2Instances + ?
+ {deployment.ec2Instances.map(instance => { + return ( + job.instanceId === instance.instanceId)} + instance={instance} + terminateEC2InstanceForDeployment={this.props.terminateEC2InstanceForDeployment} /> + ) + })} +
+ : null + } +
+ : null + } +
) } diff --git a/lib/manager/components/deployment/DeploymentConfigurationsPanel.js b/lib/manager/components/deployment/DeploymentConfigurationsPanel.js index daf9b3c52..5e61fbd96 100644 --- a/lib/manager/components/deployment/DeploymentConfigurationsPanel.js +++ b/lib/manager/components/deployment/DeploymentConfigurationsPanel.js @@ -17,15 +17,15 @@ import validator from 'validator' import * as deploymentActions from '../../actions/deployments' import {getConfigProperty} from '../../../common/util/config' -import CustomConfig from './CustomConfig' -import CustomFileEditor from './CustomFileEditor' - import type { CustomFile, Deployment, ReactSelectOption } from '../../../types' +import CustomConfig from './CustomConfig' +import CustomFileEditor from './CustomFileEditor' + const TRIP_PLANNER_VERSIONS = [ { label: 'OTP 1.X', value: 'OTP_1' }, { label: 'OTP 2.X', value: 'OTP_2' } @@ -164,7 +164,8 @@ export default class DeploymentConfigurationsPanel extends Component<{ const { deployment, updateDeployment } = this.props const { customFileEditIdx, otp: options } = this.state return ( - OTP Configuration}> + + OTP Configuration { return (
{/* Build config settings */} - + + - {' '} - {this.messages('buildConfig.title')} - - }> - {this._getFields(FIELDS, this.state, 'buildConfig')} + {this.messages('buildConfig.title')} + + + {this._getFields(FIELDS, this.state, 'buildConfig')} + {/* Router config settings */} - + + {' '} {this.messages('routerConfig.title')} - - }> - {this._getFields(FIELDS, this.state, 'routerConfig')} + + + {this._getFields(FIELDS, this.state, 'routerConfig')} + {/* Real-time Updaters (technically still a part of router config) */} - + + {' '} {this.messages('routerConfig.updaters.title')} - - }> - {updaters.map((u, i) => ( - - {u.type}{' '} - {u.url} - - : `[${this.messages('routerConfig.updaters.placeholder')}]` - } - /> - ))} + + + {updaters.map((u, i) => ( + + {u.type}{' '} + {u.url} + + : `[${this.messages('routerConfig.updaters.placeholder')}]` + } + /> + ))} + {/* OSM extract settings */} - {this.messages('osm.title')}}> - - - {this.messages('osm.gtfs')} - - - {this.messages('osm.custom')} - - - {project.useCustomOsmBounds || this.state.useCustomOsmBounds - ? - - - {this.messages('osm.bounds')} - - - + + {this.messages('osm.title')} + + + + {this.messages('osm.gtfs')} + + + {this.messages('osm.custom')} + - : null - } + {project.useCustomOsmBounds || this.state.useCustomOsmBounds + ? + + + {this.messages('osm.bounds')} + + + + + : null + } + diff --git a/lib/manager/components/deployment/DeploymentViewer.js b/lib/manager/components/deployment/DeploymentViewer.js index 0d95dc9c7..925f6ba6b 100644 --- a/lib/manager/components/deployment/DeploymentViewer.js +++ b/lib/manager/components/deployment/DeploymentViewer.js @@ -376,27 +376,30 @@ export default class DeploymentViewer extends Component { } - - - - {this.renderMap()} - - - {this.renderDeployentVersionsTableHeader(versions)} - - {versions.length === 0 - ?

+ + {this.renderHeader()} + + + + {this.renderMap()} + + + {this.renderDeployentVersionsTableHeader(versions)} + + {versions.length === 0 + ?

No feed sources found. -

- : ( - - ) - } -
+

+ : ( + + ) + } + +
diff --git a/lib/manager/components/deployment/DeploymentsPanel.js b/lib/manager/components/deployment/DeploymentsPanel.js index 7aa86855e..a64dcf25b 100644 --- a/lib/manager/components/deployment/DeploymentsPanel.js +++ b/lib/manager/components/deployment/DeploymentsPanel.js @@ -29,7 +29,6 @@ import {AUTO_DEPLOY_TYPES} from '../../../common/constants' import {getComponentMessages} from '../../../common/util/config' import {formatTimestamp, fromNow} from '../../../common/util/date-time' import {deploymentsComparator, getServerDeployedTo} from '../../util/deployment' - import type {Props as ContainerProps} from '../../containers/DeploymentsPanel' import type {Deployment, Project, ReactSelectOption} from '../../../types' @@ -107,75 +106,77 @@ export default class DeploymentsPanel extends Component { updateDeployment={updateDeployment} /> - {this.messages('autoDeploy.title')} - }> - - - {' '} - {this.messages('pinnedDeployment.label')} - - ({ + + {this.messages('autoDeploy.title')} + + + + {' '} + {this.messages('pinnedDeployment.label')} + + ({ // Satisfy flow with typeof check. Ugh. - label: typeof t === 'string' - ? this.messages(`autoDeploy.types.${t}`) - : t, - value: t - }))} - placeholder={this.messages('autoDeploy.placeholder')} - value={project.autoDeployTypes} - /> - {this.messages('autoDeploy.help')} - - - - {' '} - {this.messages('autoDeploy.deployWithErrors.title')} - - - {this.messages('autoDeploy.deployWithErrors.checklabel')} - - - {this.messages('autoDeploy.deployWithErrors.help')} - - + label: typeof t === 'string' + ? this.messages(`autoDeploy.types.${t}`) + : t, + value: t + }))} + placeholder={this.messages('autoDeploy.placeholder')} + value={project.autoDeployTypes} + /> + {this.messages('autoDeploy.help')} + + + + {' '} + {this.messages('autoDeploy.deployWithErrors.title')} + + + {this.messages('autoDeploy.deployWithErrors.checklabel')} + + + {this.messages('autoDeploy.deployWithErrors.help')} + + + - {this.messages('config.title')} - }> -

{this.messages('config.body')}

- - - - - - + + {this.messages('config.title')} + +

{this.messages('config.body')}

+ + + + + + +
@@ -218,8 +219,8 @@ class DeploymentsList extends Component { name.toLowerCase().indexOf((searchText || '').toLowerCase()) !== -1 ) return ( - + { - }> + diff --git a/lib/manager/components/deployment/PeliasPanel.js b/lib/manager/components/deployment/PeliasPanel.js index 130d60df9..c32ca7956 100644 --- a/lib/manager/components/deployment/PeliasPanel.js +++ b/lib/manager/components/deployment/PeliasPanel.js @@ -187,13 +187,10 @@ class PeliasPanel extends Component { const optionsEnabled = peliasWebhookUrl !== '' return ( - - Local Places Index Settings - - } - > + + + Local Places Index Settings +
Local Places Index Webhook URL
diff --git a/lib/manager/components/reporter/components/DateTimeFilter.js b/lib/manager/components/reporter/components/DateTimeFilter.js index 8e62445fa..14709ee3c 100644 --- a/lib/manager/components/reporter/components/DateTimeFilter.js +++ b/lib/manager/components/reporter/components/DateTimeFilter.js @@ -4,10 +4,9 @@ import Icon from '@conveyal/woonerf/components/icon' import React, { Component } from 'react' import { Alert, Col, ControlLabel, FormControl, Row } from 'react-bootstrap' import moment from 'moment' -import DateTimeField from 'react-bootstrap-datetimepicker' +import DateTimeField from 'react-datetime' import * as filterActions from '../../../../gtfs/actions/filter' - import type {Props as ContainerProps} from '../containers/ActiveDateTimeFilter' import type {DateTimeFilter as DateTimeFilterState} from '../../../../types/reducers' diff --git a/lib/manager/components/transform/FeedTransformationSettings.js b/lib/manager/components/transform/FeedTransformationSettings.js index 05ac8be16..3f1646911 100644 --- a/lib/manager/components/transform/FeedTransformationSettings.js +++ b/lib/manager/components/transform/FeedTransformationSettings.js @@ -10,8 +10,6 @@ import { } from 'react-bootstrap' import * as feedsActions from '../../actions/feeds' -import FeedTransformRules from './FeedTransformRules' - import type { Feed, FeedTransformRules as FeedTransformRulesType, @@ -19,6 +17,8 @@ import type { } from '../../../types' import type {ManagerUserState} from '../../../types/reducers' +import FeedTransformRules from './FeedTransformRules' + function newRuleSet ( retrievalMethods = ['FETCHED_AUTOMATICALLY', 'MANUALLY_UPLOADED'], transformations = [] @@ -89,32 +89,35 @@ export default class FeedTransformationSettings extends Component { return (
{/* Settings */} - Transformation Settings}> - - -

+ + Transformation Settings + + + +

Feed transformations provide a way to automatically transform GTFS data that is loaded into Data Tools. Add a transformation, describe when it should be applied (e.g., only to feeds uploaded manually), and then define a series of steps to modify the data. -

- -
- {feedSource.transformRules.map((ruleSet, i) => { - return ( - - ) - })} -
+ + + {feedSource.transformRules.map((ruleSet, i) => { + return ( + + ) + })} + +
) diff --git a/lib/manager/components/validation/GtfsValidationViewer.js b/lib/manager/components/validation/GtfsValidationViewer.js index cf71cf689..5295272d2 100644 --- a/lib/manager/components/validation/GtfsValidationViewer.js +++ b/lib/manager/components/validation/GtfsValidationViewer.js @@ -26,12 +26,11 @@ import { isErrorCountFetched, validationErrorIconLookup } from '../../util/version' - -import ValidationErrorItem from './ValidationErrorItem' - import type {Props as FeedVersionViewerProps} from '../version/FeedVersionViewer' import type {ValidationResult} from '../../../types' +import ValidationErrorItem from './ValidationErrorItem' + const DEFAULT_LIMIT = 10 export type Props = FeedVersionViewerProps & { @@ -175,46 +174,48 @@ export default class GtfsValidationViewer extends Component { {/* Render list of errors */} - - -
    -
  • - {category.message} -
  • -
  • - { // This conditional is a bit of a hack to determine if + + + +
      +
    • + {category.message} +
    • +
    • + { // This conditional is a bit of a hack to determine if // there is actually a value defined for the hint. If not, // do not show the hint. - !tip.startsWith('{') && - - Tip:{' '} - {tip} - - } -
    • -
    -
    -
- - - {includeEntityType && } - - - - - {category.errors - ? category.errors.map((error, index) => ( - - )) - : - } -
Line #Entity type{firstError && !includeEntityType ? firstError.entity_type : 'Entity'} IDBad valueAction
+ !tip.startsWith('{') && + + Tip:{' '} + {tip} + + } + + + + + + + {includeEntityType && } + + + + + {category.errors + ? category.errors.map((error, index) => ( + + )) + : + } +
Line #Entity type{firstError && !includeEntityType ? firstError.entity_type : 'Entity'} IDBad valueAction
+
{errorTypeIsActive && category.errors && @@ -263,7 +264,8 @@ export default class GtfsValidationViewer extends Component { } } - {this.messages('title')}}> + + {this.messages('title')} {validationContent}
diff --git a/lib/manager/components/version/FeedVersionReport.js b/lib/manager/components/version/FeedVersionReport.js index 1422cc915..c95c2c7c0 100644 --- a/lib/manager/components/version/FeedVersionReport.js +++ b/lib/manager/components/version/FeedVersionReport.js @@ -8,13 +8,13 @@ import numeral from 'numeral' import EditableTextField from '../../../common/components/EditableTextField' import {getProfileLink} from '../../../common/util/util' +import TransformationsIndicatorBadge from '../transform/TransformationsIndicatorBadge' + import FeedVersionDetails from './FeedVersionDetails' import FeedVersionMap from './FeedVersionMap' import FeedVersionTabs from './FeedVersionTabs' -import TransformationsIndicatorBadge from '../transform/TransformationsIndicatorBadge' import VersionButtonToolbar from './VersionButtonToolbar' import VersionRetrievalBadge from './VersionRetrievalBadge' - import type {Props as FeedVersionViewerProps} from './FeedVersionViewer' const dateFormat = 'MMM. DD, YYYY' @@ -73,7 +73,8 @@ export default class FeedVersionReport extends Component { return ( +

{/* Name Display / Editor */} @@ -125,13 +126,7 @@ export default class FeedVersionReport extends Component { by {userLink}

- } - footer={ - - - {' '} - {numeral(fileSize || 0).format('0 b')} zip file last modified at {versionLastModified} - }> +
{ isochroneBand={this.state.isochroneBand} tab={this.state.tab} /> + + + + {' '} + {numeral(fileSize || 0).format('0 b')} zip file last modified at {versionLastModified} + } +
) } diff --git a/lib/manager/components/version/FeedVersionViewer.js b/lib/manager/components/version/FeedVersionViewer.js index 7a8075f9b..f2714cf05 100644 --- a/lib/manager/components/version/FeedVersionViewer.js +++ b/lib/manager/components/version/FeedVersionViewer.js @@ -264,7 +264,8 @@ export type ListProps = Props class VersionList extends Component { render () { - return List of feed versions}> + return + List of Feed Versions {this.props.versions ? this.props.versions.map(v => { diff --git a/lib/public/components/UserAccount.js b/lib/public/components/UserAccount.js index c784b6c7c..9c204d3d9 100644 --- a/lib/public/components/UserAccount.js +++ b/lib/public/components/UserAccount.js @@ -14,7 +14,6 @@ import * as feedsActions from '../../manager/actions/feeds' import * as projectsActions from '../../manager/actions/projects' import * as userActions from '../../manager/actions/user' import * as visibilityFilterActions from '../../manager/actions/visibilityFilter' - import type {Subscription} from '../../common/user/UserSubscriptions' import type {Props as ContainerProps} from '../containers/ActiveUserAccount' import type {Project} from '../../types' @@ -81,7 +80,8 @@ export default class UserAccount extends Component { id: 'profile', component: (
- Profile information}> + + Profile Information Email address @@ -152,12 +152,14 @@ export default class UserAccount extends Component { {this.messages('notifications.subscriptions')} }> - {subscriptions && subscriptions.length - ? - :
  • No subscriptions.
  • - } + + {subscriptions && subscriptions.length + ? + :
  • No subscriptions.
  • + } +
    ) @@ -185,7 +187,8 @@ export default class UserAccount extends Component { - {this.messages('personalSettings')}}> + + {this.messages('personalSettings')} {ACCOUNT_SECTIONS.map(section => { if (section.hidden) return null @@ -199,7 +202,8 @@ export default class UserAccount extends Component { })} - {this.messages('organizationSettings')}}> + + {this.messages('organizationSettings')} {projects && projects.map(project => { return ( diff --git a/package.json b/package.json index 5254e90cb..08211bc76 100644 --- a/package.json +++ b/package.json @@ -40,8 +40,8 @@ "@turf/distance": "^5.1.5", "@turf/line-slice-along": "^4.6.0", "@turf/nearest-point-on-line": "^5.1.5", - "auth0-js": "^9.3.2", - "auth0-lock": "^11.27.1", + "auth0-js": "^9.18.0", + "auth0-lock": "^11.31.1", "bootstrap": "^3.4.1", "bugsnag-js": "^4.7.2", "bugsnag-react": "^1.1.1", @@ -57,8 +57,8 @@ "jju": "https://github.com/evansiroky/jju.git", "jszip": "^3.0.0", "jwt-decode": "^2.1.0", - "leaflet": "^1.3.4", - "leaflet-textpath": "^1.2.0", + "leaflet": "^1.7.1", + "leaflet-textpath": "^1.2.3", "lodash": "^4.17.10", "moment": "^2.11.2", "numeral": "2.0.4", @@ -67,11 +67,11 @@ "qs": "^6.2.1", "randomcolor": "^0.5.3", "rbush": "^2.0.1", - "rc-slider": "6.1.2", + "rc-slider": "9.7.5", "react": "^17.0.2", "react-addons-shallow-compare": "^15.4.1", "react-addons-update": "^15.6.3", - "react-bootstrap": "^0.33.1", + "react-bootstrap": "0.32.3", "react-bootstrap-table": "^4.3.1", "react-color": "^2.3.4", "react-datetime": "^3.1.1", @@ -80,19 +80,19 @@ "react-dom": "^17.0.2", "react-dropzone": "^3.5.3", "react-ga": "^2.3.5", - "react-leaflet": "1.1.0", - "react-overlays": "^5.1.1", + "react-leaflet": "2.8.0", "react-pure-render": "^1.0.2", "react-redux": "^5.0.3", - "react-router": "^3.0.0-alpha.1", - "react-router-bootstrap": "^0.26.0", + "react-router": "^3.2.6", + "react-router-bootstrap": "^0.23.3", "react-router-dom": "^6.1.1", "react-router-redux": "^4.0.8", - "react-select": "^1.0.0-beta14", + "react-select": "1.x", "react-toastify": "^5.1.0", - "react-toggle": "^3.0.0", + "react-toggle": "^4.1.2", + "react-transition-group": "^4.4.2", "react-virtualized": "^9.2.2", - "react-virtualized-select": "^2.1.0", + "react-virtualized-select": "^3.1.3", "reduce-reducers": "^0.1.2", "redux": "^3.3.1", "redux-actions": "^2.2.1", @@ -147,6 +147,9 @@ "simple-node-logger": "^0.93.37", "slack": "^11.0.1" }, + "resolutions": { + "react-overlays": "0.9.3" + }, "lint-staged": { "*.{js,jsx}": [ "eslint --config node_modules/mastarm/lib/eslintrc.json --fix" @@ -192,5 +195,10 @@ "@semantic-release/release-notes-generator", "@semantic-release/github" ] - } + }, + "browserslist": [ + ">0.2%", + "not dead", + "not op_mini all" + ] } diff --git a/yarn.lock b/yarn.lock index 7a00c4175..fe37fe53f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -721,14 +721,6 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" -"@babel/runtime-corejs2@^7.0.0": - version "7.16.5" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.16.5.tgz#1bd3870328b89e41ba7dabd005ccd9eae4f12dfa" - integrity sha512-GHejyoK+JQqna9rUTkybaGahZOOM+EDcUsbWaLye1g4ZOQMotrMiY8VTBbX1gycZTMNG/YiWTo4WTABvyPUgOg== - dependencies: - core-js "^2.6.5" - regenerator-runtime "^0.13.4" - "@babel/runtime-corejs2@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.5.5.tgz#c3214c08ef20341af4187f1c9fbdc357fbec96b2" @@ -737,6 +729,14 @@ core-js "^2.6.5" regenerator-runtime "^0.13.2" +"@babel/runtime@7.0.0-beta.42": + version "7.0.0-beta.42" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-beta.42.tgz#352e40c92e0460d3e82f49bd7e79f6cda76f919f" + integrity sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ== + dependencies: + core-js "^2.5.3" + regenerator-runtime "^0.11.1" + "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" @@ -744,7 +744,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.13.8", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.7": +"@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.7": version "7.16.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.5.tgz#7f3e34bf8bdbbadf03fbb7b1ea0d929569c9487a" integrity sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA== @@ -1103,18 +1103,6 @@ dependencies: "@types/node" ">= 8" -"@popperjs/core@^2.8.6": - version "2.11.0" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.0.tgz#6734f8ebc106a0860dff7f92bf90df193f0935d7" - integrity sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ== - -"@restart/hooks@^0.3.26": - version "0.3.27" - resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.3.27.tgz#91f356d66d4699a8cd8b3d008402708b6a9dc505" - integrity sha512-s984xV/EapUIfkjlf8wz9weP2O9TNKR96C68FfMEy2bE69+H4cNv3RD4Mf97lW7Htt7PjZrYTjSC8f3SB9VCXw== - dependencies: - dequal "^2.0.2" - "@semantic-release/commit-analyzer@^8.0.0": version "8.0.1" resolved "https://registry.yarnpkg.com/@semantic-release/commit-analyzer/-/commit-analyzer-8.0.1.tgz#5d2a37cd5a3312da0e3ac05b1ca348bf60b90bca" @@ -1427,45 +1415,21 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/prop-types@*": - version "15.7.4" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" - integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== - "@types/q@^1.5.1": version "1.5.2" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== -"@types/react@>=16.9.11": - version "17.0.37" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.37.tgz#6884d0aa402605935c397ae689deed115caad959" - integrity sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - "@types/retry@^0.12.0": version "0.12.0" resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== -"@types/scheduler@*": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== - "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== -"@types/warning@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/warning/-/warning-3.0.0.tgz#0d2501268ad8f9962b740d387c4654f5f8e23e52" - integrity sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI= - "@types/yargs@^12.0.2", "@types/yargs@^12.0.9": version "12.0.12" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" @@ -1584,13 +1548,6 @@ acorn@^6.0.1, acorn@^6.0.7, acorn@^6.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51" integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== -add-dom-event-listener@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" - integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== - dependencies: - object-assign "4.x" - agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" @@ -1648,6 +1605,21 @@ airbnb-js-shims@^2.1.1: string.prototype.padstart "^3.0.0" symbol.prototype.description "^1.0.0" +airbnb-prop-types@^2.16.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz#b96274cefa1abb14f623f804173ee97c13971dc2" + integrity sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg== + dependencies: + array.prototype.find "^2.1.1" + function.prototype.name "^1.1.2" + is-regex "^1.1.0" + object-is "^1.1.2" + object.assign "^4.1.0" + object.entries "^1.1.2" + prop-types "^15.7.2" + prop-types-exact "^1.2.0" + react-is "^16.13.1" + ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1: version "6.10.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" @@ -1951,6 +1923,15 @@ array.prototype.find@2.0.0: define-properties "^1.1.2" es-abstract "^1.5.0" +array.prototype.find@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.2.tgz#6abbd0c2573925d8094f7d23112306af8c16d534" + integrity sha512-00S1O4ewO95OmmJW7EesWfQlrCrLEL8kZ40w3+GkLX2yTt0m2ggcePPa2uHPJ9KUmJvwRq+lCV9bD8Yim23x/Q== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + array.prototype.flat@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4" @@ -2087,37 +2068,39 @@ attr-accept@^1.0.3: dependencies: core-js "^2.5.0" -auth0-js@^9.16.2, auth0-js@^9.3.2: - version "9.16.2" - resolved "https://registry.yarnpkg.com/auth0-js/-/auth0-js-9.16.2.tgz#7c4ca32add3d8f7419ce33deb8f4839179606779" - integrity sha512-cF1nRjmMDezmhJ+ZwwYp23F0gPqU0zNmF/VvTpcwvCrEMl9lAvkCd4iburN1I7G8SYaaIYEfcGedCphpDZw6OQ== +auth0-js@^9.16.4, auth0-js@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/auth0-js/-/auth0-js-9.18.0.tgz#4d69b93401ce39583d21e3aeae04c323a9f518e7" + integrity sha512-pTQyRLjWAXl7nUHfyFRWhDHMRtQpRJYKU5m3MdPNwem8iQR7KI4c3eHmVV90hpW6gM9jdjNjSmEPyHTxeaqxBA== dependencies: - base64-js "^1.3.0" - idtoken-verifier "^2.1.2" + base64-js "^1.5.1" + idtoken-verifier "^2.2.2" js-cookie "^2.2.0" - qs "^6.7.0" + qs "^6.10.1" superagent "^5.3.1" url-join "^4.0.1" winchan "^0.2.2" -auth0-lock@^11.27.1: - version "11.30.1" - resolved "https://registry.yarnpkg.com/auth0-lock/-/auth0-lock-11.30.1.tgz#919eba463576ae8ff3e6b2b7a188dce4f52a529b" - integrity sha512-ytnCDPChVc5DnJLsTqeq5I99lPn1QeMAdjqDMteXpKIm+LvQ8vp/mRmnvm1hOJ0ev0fKLd2w9QRGOvh0M85TUg== +auth0-lock@^11.31.1: + version "11.31.1" + resolved "https://registry.yarnpkg.com/auth0-lock/-/auth0-lock-11.31.1.tgz#19753e2bef1807bfda9e1cff94cdb6b81df55b84" + integrity sha512-ozCLOZiucVA+ffAYh4++GKo3RHrgCoMlSAlM7WkFdrLCM942tl+sEbeoTchZULT0TuP4AuYm1jAJAAqPp8vwxA== dependencies: - auth0-js "^9.16.2" + auth0-js "^9.16.4" auth0-password-policies "^1.0.2" - blueimp-md5 "2.3.1" + blueimp-md5 "^2.19.0" + classnames "^2.3.1" dompurify "^2.2.8" immutable "^3.7.3" jsonp "^0.2.1" - password-sheriff "^1.1.0" + node-fetch "^2.6.1" + password-sheriff "^1.1.1" prop-types "^15.6.0" qs "^6.7.0" react "^15.6.2" react-dom "^15.6.2" react-transition-group "^2.2.1" - trim "1.0.0" + trim "^1.0.1" url-join "^1.1.0" validator "^13.6.0" @@ -2280,7 +2263,7 @@ babel-runtime@6.11.6: core-js "^2.4.0" regenerator-runtime "^0.9.5" -babel-runtime@6.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: +babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= @@ -2298,16 +2281,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base64-js@^1.0.2: +base64-js@^1.0.2, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base64-js@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" @@ -2369,10 +2347,10 @@ bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -blueimp-md5@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.3.1.tgz#992a6737733b9da1edd641550dc3acab2e9cfc5a" - integrity sha1-mSpnN3M7naHt1kFVDcOsqy6c/Fo= +blueimp-md5@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0" + integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== blueimp-md5@^2.3.0: version "2.10.0" @@ -2838,7 +2816,7 @@ cachedir@2.1.0: resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.1.0.tgz#b448c32b44cd9c0cd6ce4c419fa5b3c112c02191" integrity sha512-xGBpPqoBvn3unBW7oxgb8aJn42K0m9m1/wyjmazah10Fq7bROGG3kRAE6OIyr3U3PIJUqGuebhCEdMk9OKJG0A== -call-bind@^1.0.0: +call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== @@ -3093,6 +3071,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +classnames@2.x, classnames@^2.2.1, classnames@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + classnames@^2.1.2, classnames@^2.2.3, classnames@^2.2.4, classnames@^2.2.5, classnames@^2.2.6: version "2.2.6" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" @@ -3213,6 +3196,11 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= +clsx@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== + cmd-shim@^3.0.0, cmd-shim@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-3.0.3.tgz#2c35238d3df37d98ecdd7d5f6b8dc6b21cadc7cb" @@ -3377,23 +3365,11 @@ compare-func@^1.3.1: array-ify "^1.0.0" dot-prop "^3.0.0" -component-classes@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" - integrity sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE= - dependencies: - component-indexof "0.0.3" - component-emitter@^1.2.1, component-emitter@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -component-indexof@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" - integrity sha1-EdCRMSI5648yyPJa6csAL/6NPCQ= - compress-commons@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-2.1.1.tgz#9410d9a534cf8435e3fbbb7c6ce48de2dc2f0610" @@ -3614,6 +3590,11 @@ core-js@^1.0.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= +core-js@^2.5.3: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + core-js@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz#3a2837fc48e582e1ae25907afcd6cf03b0cc7a07" @@ -3790,10 +3771,10 @@ crypto-browserify@^3.0.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-js@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" - integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== +crypto-js@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" + integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== crypto-random-string@^1.0.0: version "1.0.0" @@ -3805,14 +3786,6 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-animation@^1.3.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/css-animation/-/css-animation-1.5.0.tgz#c96b9097a5ef74a7be8480b45cc44e4ec6ca2bf5" - integrity sha512-hWYoWiOZ7Vr20etzLh3kpWgtC454tW5vn4I6rLANDgpzNSkO7UfOqyCEeaoBSG9CYWQpRkFWTWbWW8o3uZrNLw== - dependencies: - babel-runtime "6.x" - component-classes "^1.2.5" - css-blank-pseudo@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" @@ -4267,11 +4240,6 @@ deps-sort@^2.0.0: subarg "^1.0.0" through2 "^2.0.0" -dequal@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d" - integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug== - des.js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" @@ -4407,7 +4375,7 @@ dom-helpers@3.2.1: dependencies: "@babel/runtime" "^7.1.2" -dom-helpers@^5.2.0: +dom-helpers@^5.0.1, dom-helpers@^5.1.3: version "5.2.1" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== @@ -4641,6 +4609,21 @@ enzyme-adapter-react-15.4@^1.3.1: prop-types "^15.7.2" react-is "^16.8.4" +enzyme-adapter-react-16@^1.2.0: + version "1.15.6" + resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz#fd677a658d62661ac5afd7f7f541f141f8085901" + integrity sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g== + dependencies: + enzyme-adapter-utils "^1.14.0" + enzyme-shallow-equal "^1.0.4" + has "^1.0.3" + object.assign "^4.1.2" + object.values "^1.1.2" + prop-types "^15.7.2" + react-is "^16.13.1" + react-test-renderer "^16.0.0-0" + semver "^5.7.0" + enzyme-adapter-react-helper@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/enzyme-adapter-react-helper/-/enzyme-adapter-react-helper-1.3.3.tgz#355e46fa43bc2b27aa88ee314dd979add2c353e2" @@ -4665,6 +4648,27 @@ enzyme-adapter-utils@^1.10.1: prop-types "^15.7.2" semver "^5.6.0" +enzyme-adapter-utils@^1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz#afbb0485e8033aa50c744efb5f5711e64fbf1ad0" + integrity sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg== + dependencies: + airbnb-prop-types "^2.16.0" + function.prototype.name "^1.1.3" + has "^1.0.3" + object.assign "^4.1.2" + object.fromentries "^2.0.3" + prop-types "^15.7.2" + semver "^5.7.1" + +enzyme-shallow-equal@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz#b9256cb25a5f430f9bfe073a84808c1d74fced2e" + integrity sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q== + dependencies: + has "^1.0.3" + object-is "^1.1.2" + enzyme-to-json@^3.3.5: version "3.3.5" resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.3.5.tgz#f8eb82bd3d5941c9d8bc6fd9140030777d17d0af" @@ -4742,6 +4746,32 @@ es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.4. is-regex "^1.0.4" object-keys "^1.0.12" +es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + es-to-primitive@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" @@ -4751,6 +4781,15 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: version "0.10.49" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.49.tgz#059a239de862c94494fec28f8150c977028c6c5e" @@ -5404,6 +5443,11 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + fast-glob@^3.1.1: version "3.2.4" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" @@ -5832,11 +5876,26 @@ function.prototype.name@^1.1.0: function-bind "^1.1.1" is-callable "^1.1.3" +function.prototype.name@^1.1.2, function.prototype.name@^1.1.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +functions-have-names@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.2.tgz#98d93991c39da9361f8e50b337c4f6e41f120e21" + integrity sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA== + garnish@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/garnish/-/garnish-5.2.0.tgz#bed43659382e4b198e33c793897be7c701e65577" @@ -5925,7 +5984,7 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= -get-intrinsic@^1.0.2: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -5975,6 +6034,14 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -6224,6 +6291,11 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -6244,11 +6316,18 @@ has-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= -has-symbols@^1.0.1: +has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-unicode@^2.0.0, has-unicode@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -6361,6 +6440,13 @@ hoist-non-react-statics@^3.3.0: dependencies: react-is "^16.7.0" +hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -6558,16 +6644,16 @@ iconv-lite@0.4.8: resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.8.tgz#c6019a7595f2cefca702eab694a010bcd9298d20" integrity sha1-xgGadZXyzvynAuq2lKAQvNkpjSA= -idtoken-verifier@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/idtoken-verifier/-/idtoken-verifier-2.1.2.tgz#185ec29b70400b47a1d48b068e7b95d1bbf7dcef" - integrity sha512-YMHiP9zAMjB+pWreV4EHnIj3XCQ168+InWirVRFeRtlsMQIK61S+LLnyLGI8EL0wtlk/v7ya69Gjfio3P9/7Gw== +idtoken-verifier@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/idtoken-verifier/-/idtoken-verifier-2.2.2.tgz#0d91a2f92231ebd763e5098d2ac44f038eb1068b" + integrity sha512-PFNivtWIUKFt0B53FOACLAM2PaejEwB/wh6fPqlWoLGMWP05JKGJyKyMv/uS9kduevEfRhHaSVdoLYUnQ0YmsA== dependencies: - base64-js "^1.3.0" - crypto-js "3.3.0" + base64-js "^1.5.1" + crypto-js "^4.1.1" es6-promise "^4.2.8" jsbn "^1.1.0" - unfetch "^4.1.0" + unfetch "^4.2.0" url-join "^4.0.1" ieee754@1.1.13: @@ -6823,6 +6909,15 @@ internal-ip@^3.0.1: default-gateway "^2.6.0" ipaddr.js "^1.5.2" +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + interpret@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" @@ -6902,6 +6997,13 @@ is-arrayish@^0.3.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -6914,6 +7016,14 @@ is-boolean-object@^1.0.0: resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93" integrity sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M= +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-buffer@^1.1.0, is-buffer@^1.1.5, is-buffer@~1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -6929,6 +7039,11 @@ is-callable@^1.1.3, is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + is-ci@^1.0.10: version "1.2.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" @@ -7079,6 +7194,11 @@ is-installed-globally@^0.1.0: global-dirs "^0.1.0" is-path-inside "^1.0.0" +is-negative-zero@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -7089,6 +7209,13 @@ is-number-object@^1.0.3: resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" integrity sha1-8mWrian0RQNO9q/xWo8AsA9VF5k= +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -7157,6 +7284,14 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" +is-regex@^1.1.0, is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -7172,6 +7307,11 @@ is-retry-allowed@^1.0.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0, is-stream@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -7187,6 +7327,13 @@ is-string@^1.0.4: resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64" integrity sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ= +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + is-subset@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" @@ -7206,6 +7353,13 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.0" +is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + is-text-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" @@ -7228,6 +7382,13 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-weakref@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + is-windows@^1.0.0, is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -8074,15 +8235,15 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" -leaflet-textpath@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/leaflet-textpath/-/leaflet-textpath-1.2.0.tgz#03950b49ad51f8b2b1ecf3d40ea720d6ad291ccb" - integrity sha512-anLGWptWb916MhEXi4WewYe08YKCawRvEXsMGj9fuYnUGd+irV3VG4UXcdW1l+Oa/TZoCTLQsg3LNwvFcroVog== +leaflet-textpath@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/leaflet-textpath/-/leaflet-textpath-1.2.3.tgz#0adef3a2d438c1c781f4e1154b8fa2f963cfd8a7" + integrity sha512-mPb5m2MlihNkLlo762j8S8FJCUyLvDU2fJTjjmDWKfqqyUQkV3ca3IzrxwsfzYz2DXrV2ytCVHb5+DjQymF+8w== -leaflet@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.3.4.tgz#7f006ea5832603b53d7269ef5c595fd773060a40" - integrity sha512-FYL1LGFdj6v+2Ifpw+AcFIuIOqjNggfoLUwuwQv6+3sS21Za7Wvapq+LhbSE4NDXrEj6eYnW3y7LsaBICpyXtw== +leaflet@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.7.1.tgz#10d684916edfe1bf41d688a3b97127c0322a2a19" + integrity sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw== left-pad@^1.3.0: version "1.3.0" @@ -8377,11 +8538,6 @@ lodash._createset@~4.0.0: resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= - lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -8437,16 +8593,6 @@ lodash.flattendeep@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= - lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -8462,15 +8608,6 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= -lodash.keys@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - lodash.map@^4.5.1: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" @@ -8551,7 +8688,7 @@ lodash@4.17.14: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== -lodash@^4.0.0, lodash@^4.0.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1: +lodash@^4.0.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -9871,7 +10008,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -9885,6 +10022,11 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-inspect@^1.11.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + object-inspect@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" @@ -9900,7 +10042,15 @@ object-is@^1.0.1: resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= -object-keys@^1.0.11, object-keys@^1.0.12: +object-is@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -9927,6 +10077,16 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + object.entries@^1.0.4, object.entries@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" @@ -9937,6 +10097,15 @@ object.entries@^1.0.4, object.entries@^1.1.0: function-bind "^1.1.1" has "^1.0.3" +object.entries@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + object.fromentries@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-1.0.0.tgz#e90ec27445ec6e37f48be9af9077d9aa8bef0d40" @@ -9957,6 +10126,15 @@ object.fromentries@^2.0.0: function-bind "^1.1.1" has "^1.0.1" +object.fromentries@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" @@ -9982,6 +10160,15 @@ object.values@^1.0.4, object.values@^1.1.0: function-bind "^1.1.1" has "^1.0.3" +object.values@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + on-finished@^2.3.0, on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -10404,6 +10591,11 @@ password-sheriff@^1.1.0: resolved "https://registry.yarnpkg.com/password-sheriff/-/password-sheriff-1.1.0.tgz#fdb3c3d845a0a3c92de422b2ad9346ce08a71413" integrity sha1-/bPD2EWgo8kt5CKyrZNGzginFBM= +password-sheriff@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/password-sheriff/-/password-sheriff-1.1.1.tgz#39efe081be197d4d46fb3b0763288daedef40400" + integrity sha512-bt0ptyUs97Fb2ZXUcdQP0RYrBFjzO6KhGTjq4RkmR388c6wcT3khG0U7Bvvqwq3DyShEZ9IACed9JMVyAxdaCA== + path-browserify@~0.0.0: version "0.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" @@ -11384,6 +11576,15 @@ promzard@^0.3.0: dependencies: read "1" +prop-types-exact@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/prop-types-exact/-/prop-types-exact-1.2.0.tgz#825d6be46094663848237e3925a98c6e944e9869" + integrity sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA== + dependencies: + has "^1.0.3" + object.assign "^4.1.0" + reflect.ownkeys "^0.2.0" + prop-types-extra@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz#58c3b74cbfbb95d304625975aa2f0848329a010b" @@ -11392,7 +11593,7 @@ prop-types-extra@^1.0.1: react-is "^16.3.2" warning "^4.0.0" -prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -11537,6 +11738,13 @@ qs@6.5.2, qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +qs@^6.10.1: + version "6.10.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.2.tgz#c1431bea37fc5b24c5bdbafa20f16bdf2a4b9ffe" + integrity sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw== + dependencies: + side-channel "^1.0.4" + qs@^6.2.1, qs@^6.5.1, qs@^6.7.0, qs@^6.9.4: version "6.10.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" @@ -11661,69 +11869,65 @@ rbush@*, rbush@^2.0.1: dependencies: quickselect "^1.0.1" -rc-align@^2.4.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-2.4.3.tgz#b9b3c2a6d68adae71a8e1d041cd5e3b2a655f99a" - integrity sha512-h5KgyB5IXYR7iKpYFcMr54cuQ2eozPCZ11kbXPG5+6CWvmyJ+c0R/yjndVndiNk2G3MKcTMbJNdDv5DIckLAxQ== +rc-align@^4.0.0: + version "4.0.11" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.11.tgz#8198c62db266bc1b8ef05e56c13275bf72628a5e" + integrity sha512-n9mQfIYQbbNTbefyQnRHZPWuTEwG1rY4a9yKlIWHSTbgwI+XUMGRYd0uJ5pE2UbrNX0WvnMBA1zJ3Lrecpra/A== dependencies: - babel-runtime "^6.26.0" + "@babel/runtime" "^7.10.1" + classnames "2.x" dom-align "^1.7.0" - prop-types "^15.5.8" - rc-util "^4.0.4" + lodash "^4.17.21" + rc-util "^5.3.0" + resize-observer-polyfill "^1.5.1" -rc-animate@2.x: - version "2.6.0" - resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.6.0.tgz#ca8440d042781af7a1329d84f97ea94794c5ec15" - integrity sha512-JXDycchgbOI+7T/VKmFWnAIn042LLScK1fNkmNunb0jz5q5aPGCAybx2bTo7X5t31Jkj9OsxKNb/vZPDPWufCg== +rc-motion@^2.0.0: + version "2.4.4" + resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0" + integrity sha512-ms7n1+/TZQBS0Ydd2Q5P4+wJTSOrhIrwNxLXCZpR7Fa3/oac7Yi803HDALc2hLAKaCTQtw9LmQeB58zcwOsqlQ== dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - css-animation "^1.3.2" - prop-types "15.x" - raf "^3.4.0" - react-lifecycles-compat "^3.0.4" + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.2.1" -rc-slider@6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-6.1.2.tgz#4509e813075f478dd64f03762634723e0970976b" - integrity sha1-RQnoEwdfR43WTwN2JjRyPglwl2s= +rc-slider@9.7.5: + version "9.7.5" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.7.5.tgz#193141c68e99b1dc3b746daeb6bf852946f5b7f4" + integrity sha512-LV/MWcXFjco1epPbdw1JlLXlTgmWpB9/Y/P2yinf8Pg3wElHxA9uajN21lJiWtZjf5SCUekfSP6QMJfDo4t1hg== dependencies: - babel-runtime "6.x" + "@babel/runtime" "^7.10.1" classnames "^2.2.5" - rc-tooltip "^3.4.2" - rc-util "^4.0.0" - warning "^3.0.0" + rc-tooltip "^5.0.1" + rc-util "^5.16.1" + shallowequal "^1.1.0" -rc-tooltip@^3.4.2: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-3.7.3.tgz#280aec6afcaa44e8dff0480fbaff9e87fc00aecc" - integrity sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww== +rc-tooltip@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.1.1.tgz#94178ed162d0252bc4993b725f5dc2ac0fccf154" + integrity sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA== dependencies: - babel-runtime "6.x" - prop-types "^15.5.8" - rc-trigger "^2.2.2" + "@babel/runtime" "^7.11.2" + rc-trigger "^5.0.0" -rc-trigger@^2.2.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.2.tgz#a9c09ba5fad63af3b2ec46349c7db6cb46657001" - integrity sha512-op4xCu95/gdHVaysyxxiYxbY+Z+UcIBSUY9nQfLqm1FlitdtnAN+owD5iMPfnnsRXntgcQ5+RdYKNUFQT5DjzA== +rc-trigger@^5.0.0: + version "5.2.10" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.10.tgz#8a0057a940b1b9027eaa33beec8a6ecd85cce2b1" + integrity sha512-FkUf4H9BOFDaIwu42fvRycXMAvkttph9AlbCZXssZDVzz2L+QZ0ERvfB/4nX3ZFPh1Zd+uVGr1DEDeXxq4J1TA== dependencies: - babel-runtime "6.x" + "@babel/runtime" "^7.11.2" classnames "^2.2.6" - prop-types "15.x" - rc-align "^2.4.0" - rc-animate "2.x" - rc-util "^4.4.0" + rc-align "^4.0.0" + rc-motion "^2.0.0" + rc-util "^5.5.0" -rc-util@^4.0.0, rc-util@^4.0.4, rc-util@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.6.0.tgz#ba33721783192ec4f3afb259e182b04e55deb7f6" - integrity sha512-rbgrzm1/i8mgfwOI4t1CwWK7wGe+OwX+dNa7PVMgxZYPBADGh86eD4OcJO1UKGeajIMDUUKMluaZxvgraQIOmw== +rc-util@^5.16.1, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.5.0: + version "5.16.1" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.16.1.tgz#374db7cb735512f05165ddc3d6b2c61c21b8b4e3" + integrity sha512-kSCyytvdb3aRxQacS/71ta6c+kBWvM1v8/2h9d/HaNWauc3qB8pLnF20PJ8NajkNN8gb+rR1l0eWO+D4Pz+LLQ== dependencies: - add-dom-event-listener "^1.1.0" - babel-runtime "6.x" - prop-types "^15.5.10" - shallowequal "^0.2.2" + "@babel/runtime" "^7.12.5" + react-is "^16.12.0" + shallowequal "^1.1.0" rc@^1.0.1, rc@^1.1.6, rc@^1.2.7, rc@^1.2.8: version "1.2.8" @@ -11765,22 +11969,23 @@ react-bootstrap-table@^4.3.1: react-modal "^3.1.7" react-s-alert "^1.3.2" -react-bootstrap@^0.33.1: - version "0.33.1" - resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.33.1.tgz#e072592aa143b9792526281272eca754bc9a4940" - integrity sha512-qWTRravSds87P8WC82tETy2yIso8qDqlIm0czsrduCaYAFtHuyLu0XDbUlfLXeRzqgwm5sRk2wRaTNoiVkk/YQ== +react-bootstrap@0.32.3: + version "0.32.3" + resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.32.3.tgz#7ac6f3a8ca099b22d2a8ebb091ab2ed7d39050cf" + integrity sha512-vik1usdUd13M2MgB3edC0ZA0KiWi9JL0mWDElSp7HhvFIuQFbIhEhd4kaZqmGupYY0k4brl4LyyxKHp4t1idgw== dependencies: - "@babel/runtime-corejs2" "^7.0.0" + "@babel/runtime" "7.0.0-beta.42" classnames "^2.2.5" dom-helpers "^3.2.0" + enzyme-adapter-react-16 "^1.2.0" invariant "^2.2.4" keycode "^2.2.0" prop-types "^15.6.1" prop-types-extra "^1.0.1" - react-overlays "^0.9.0" + react-overlays "^0.8.0" react-prop-types "^0.4.0" react-transition-group "^2.0.0" - uncontrollable "^7.0.2" + uncontrollable "^5.0.0" warning "^3.0.0" react-color@^2.3.4: @@ -11864,7 +12069,7 @@ react-input-autosize@^2.1.2: dependencies: prop-types "^15.5.8" -react-is@^16.3.2: +react-is@^16.12.0, react-is@^16.13.0, react-is@^16.13.1, react-is@^16.3.2, react-is@^16.8.6: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -11874,13 +12079,15 @@ react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" integrity sha512-gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw== -react-leaflet@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/react-leaflet/-/react-leaflet-1.1.0.tgz#0ec55ff030fae8c90e6e00a48163dcbccbadb4d8" - integrity sha1-DsVf8DD66MkObgCkgWPcvMuttNg= +react-leaflet@2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/react-leaflet/-/react-leaflet-2.8.0.tgz#14bfc77b6ae8263d3a62e0ba7a39539c05973c6f" + integrity sha512-Y7oHtNrrlRH8muDttXf+jZ2Ga/X7jneSGi1GN8uEdeCfLProTqgG2Zoa5TfloS3ZnY20v7w+DIenMG59beFsQw== dependencies: - lodash "^4.0.0" - warning "^3.0.0" + "@babel/runtime" "^7.12.1" + fast-deep-equal "^3.1.3" + hoist-non-react-statics "^3.3.2" + warning "^4.0.3" react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: version "3.0.4" @@ -11897,7 +12104,7 @@ react-modal@^3.1.7: react-lifecycles-compat "^3.0.0" warning "^4.0.3" -react-overlays@^0.9.0: +react-overlays@0.9.3, react-overlays@^0.8.0: version "0.9.3" resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.9.3.tgz#5bac8c1e9e7e057a125181dee2d784864dd62902" integrity sha512-u2T7nOLnK+Hrntho4p0Nxh+BsJl0bl4Xuwj/Y0a56xywLMetgAfyjnDVrudLXsNcKGaspoC+t3C1V80W9QQTdQ== @@ -11909,20 +12116,6 @@ react-overlays@^0.9.0: react-transition-group "^2.2.1" warning "^3.0.0" -react-overlays@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-5.1.1.tgz#2e7cf49744b56537c7828ccb94cfc63dd778ae4f" - integrity sha512-eCN2s2/+GVZzpnId4XVWtvDPYYBD2EtOGP74hE+8yDskPzFy9+pV1H3ZZihxuRdEbQzzacySaaDkR7xE0ydl4Q== - dependencies: - "@babel/runtime" "^7.13.8" - "@popperjs/core" "^2.8.6" - "@restart/hooks" "^0.3.26" - "@types/warning" "^3.0.0" - dom-helpers "^5.2.0" - prop-types "^15.7.2" - uncontrollable "^7.2.1" - warning "^4.0.3" - react-prop-types@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/react-prop-types/-/react-prop-types-0.4.0.tgz#f99b0bfb4006929c9af2051e7c1414a5c75b93d0" @@ -11948,12 +12141,12 @@ react-redux@^5.0.3, react-redux@^5.0.7: react-is "^16.6.0" react-lifecycles-compat "^3.0.0" -react-router-bootstrap@^0.26.0: - version "0.26.0" - resolved "https://registry.yarnpkg.com/react-router-bootstrap/-/react-router-bootstrap-0.26.0.tgz#822e2659d221e4feed700ad959aee2cc809b338a" - integrity sha512-auVpsCOYgI+3CrmtpVjme8ucz76iiMvJhv2BrnWof2HtimrF9NtAHtFzdZrsku5hwp166EPbz7IuSyHJA8kkdA== +react-router-bootstrap@^0.23.3: + version "0.23.3" + resolved "https://registry.yarnpkg.com/react-router-bootstrap/-/react-router-bootstrap-0.23.3.tgz#970c35c53c04c61fb6b110d4ff651a7e8a73b2ba" + integrity sha1-lww1xTwExh+2sRDU/2Uafopzsro= dependencies: - prop-types "^15.7.2" + prop-types "^15.5.8" react-router-dom@^6.1.1: version "6.1.1" @@ -11975,7 +12168,7 @@ react-router@6.1.1: dependencies: history "^5.1.0" -react-router@^3.0.0-alpha.1, react-router@^3.0.2: +react-router@^3.0.2: version "3.2.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-3.2.1.tgz#b9a3279962bdfbe684c8bd0482b81ef288f0f244" integrity sha512-SXkhC0nr3G0ltzVU07IN8jYl0bB6FsrDIqlLC9dK3SITXqyTJyM7yhXlUqs89w3Nqi5OkXsfRUeHX+P874HQrg== @@ -11988,6 +12181,20 @@ react-router@^3.0.0-alpha.1, react-router@^3.0.2: prop-types "^15.5.6" warning "^3.0.0" +react-router@^3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-3.2.6.tgz#cad202796a7bba3efc2100da453b3379c9d4aeb4" + integrity sha512-nlxtQE8B22hb/JxdaslI1tfZacxFU8x8BJryXOnR2RxB4vc01zuHYAHAIgmBkdk1kzXaA25hZxK6KAH/+CXArw== + dependencies: + create-react-class "^15.5.1" + history "^3.0.0" + hoist-non-react-statics "^3.3.2" + invariant "^2.2.1" + loose-envify "^1.2.0" + prop-types "^15.7.2" + react-is "^16.13.0" + warning "^3.0.0" + react-s-alert@^1.3.2: version "1.4.1" resolved "https://registry.yarnpkg.com/react-s-alert/-/react-s-alert-1.4.1.tgz#ef3665a9d98c4cf2e448fc2d84e48aeca799bb5a" @@ -11995,7 +12202,7 @@ react-s-alert@^1.3.2: dependencies: babel-runtime "^6.23.0" -react-select@^1.0.0-beta14, react-select@^1.0.0-rc.2: +react-select@1.x, react-select@^1.0.0-rc.2: version "1.3.0" resolved "https://registry.yarnpkg.com/react-select/-/react-select-1.3.0.tgz#1828ad5bf7f3e42a835c7e2d8cb13b5c20714876" integrity sha512-g/QAU1HZrzSfxkwMAo/wzi6/ezdWye302RGZevsATec07hI/iSxcpB1hejFIp7V63DJ8mwuign6KmB3VjdlinQ== @@ -12004,6 +12211,16 @@ react-select@^1.0.0-beta14, react-select@^1.0.0-rc.2: prop-types "^15.5.8" react-input-autosize "^2.1.2" +react-test-renderer@^16.0.0-0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.14.0.tgz#e98360087348e260c56d4fe2315e970480c228ae" + integrity sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg== + dependencies: + object-assign "^4.1.1" + prop-types "^15.6.2" + react-is "^16.8.6" + scheduler "^0.19.1" + react-toastify@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-5.1.0.tgz#aefe1f084bf4733f083423f013d24242cb63c482" @@ -12014,10 +12231,10 @@ react-toastify@^5.1.0: prop-types "^15.7.2" react-transition-group "^2.6.1" -react-toggle@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/react-toggle/-/react-toggle-3.0.1.tgz#60d462007ea52ad13442eee4fef262fa53c5ec6f" - integrity sha1-YNRiAH6lKtE0Qu7k/vJi+lPF7G8= +react-toggle@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/react-toggle/-/react-toggle-4.1.2.tgz#b00500832f925ad524356d909821821ae39f6c52" + integrity sha512-4Ohw31TuYQdhWfA6qlKafeXx3IOH7t4ZHhmRdwsm1fQREwOBGxJT+I22sgHqR/w8JRdk+AeMCJXPImEFSrNXow== dependencies: classnames "^2.2.5" @@ -12031,24 +12248,37 @@ react-transition-group@^2.0.0, react-transition-group@^2.2.1, react-transition-g prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react-virtualized-select@^2.1.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/react-virtualized-select/-/react-virtualized-select-2.4.2.tgz#ac58bf363c5dca40282ce12c793d6044d2cb8dfe" - integrity sha1-rFi/NjxdykAoLOEseT1gRNLLjf4= +react-transition-group@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" + integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react-virtualized-select@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/react-virtualized-select/-/react-virtualized-select-3.1.3.tgz#e5c1fed5e493e3e5a628e53100e83d27cfd8c0ac" + integrity sha512-u6j/EfynCB9s4Lz5GGZhNUCZHvFQdtLZws7W/Tcd/v03l19OjpQs3eYjK82iYS0FgD2+lDIBpqS8LpD/hjqDRQ== dependencies: babel-runtime "^6.11.6" + prop-types "^15.5.8" react-select "^1.0.0-rc.2" - react-virtualized "^8.0.5" + react-virtualized "^9.0.0" -react-virtualized@^8.0.5: - version "8.11.4" - resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-8.11.4.tgz#0bb94f1ecbd286d07145ce63983d0a11724522c0" - integrity sha1-C7lPHsvShtBxRc5jmD0KEXJFIsA= +react-virtualized@^9.0.0: + version "9.22.3" + resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.22.3.tgz#f430f16beb0a42db420dbd4d340403c0de334421" + integrity sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw== dependencies: - babel-runtime "^6.11.6" - classnames "^2.2.3" - dom-helpers "^2.4.0 || ^3.0.0" - loose-envify "^1.3.0" + "@babel/runtime" "^7.7.2" + clsx "^1.0.4" + dom-helpers "^5.1.3" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-lifecycles-compat "^3.0.4" react-virtualized@^9.2.2: version "9.21.0" @@ -12414,6 +12644,11 @@ redux@^4.0.0: loose-envify "^1.4.0" symbol-observable "^1.2.0" +reflect.ownkeys@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460" + integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA= + regenerate-unicode-properties@^8.0.2: version "8.1.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" @@ -12431,7 +12666,7 @@ regenerator-runtime@^0.10.5: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg= -regenerator-runtime@^0.11.0: +regenerator-runtime@^0.11.0, regenerator-runtime@^0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== @@ -12640,6 +12875,11 @@ reselect@^3.0.0: resolved "https://registry.yarnpkg.com/reselect/-/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147" integrity sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc= +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -12879,6 +13119,14 @@ sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" @@ -12945,7 +13193,7 @@ semver-regex@^2.0.0: resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -13075,12 +13323,10 @@ sha@^3.0.0: dependencies: graceful-fs "^4.1.2" -shallowequal@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e" - integrity sha1-HjL9W8q2rWiKSBLLDMBO/HXHAU4= - dependencies: - lodash.keys "^3.1.2" +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== shasum@^1.0.0: version "1.0.2" @@ -13682,6 +13928,22 @@ string.prototype.trim@^1.1.2: es-abstract "^1.5.0" function-bind "^1.0.2" +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + string_decoder@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" @@ -14280,10 +14542,10 @@ trim-right@^1.0.1: resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= -trim@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim/-/trim-1.0.0.tgz#fd1f30b878bdd2d8435fa0f2cc9cbb55f518be7d" - integrity sha512-UgtES1lYpE+f4WiGY5lyJlHchuGhTa/xMPH96g/B7gc+pEQPiL41s6ECm7Ky3hkhARG/u1SHGFcleJodAvQOKQ== +trim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim/-/trim-1.0.1.tgz#68e78f6178ccab9687a610752f4f5e5a7022ee8c" + integrity sha512-3JVP2YVqITUisXblCDq/Bi4P9457G/sdEamInkyvCsjbTcXLXIiG7XCb4kGMFWh6JGXesS3TKxOPtrncN/xe8w== truncate@^2.0.0: version "2.0.1" @@ -14511,15 +14773,22 @@ umd@^3.0.0: resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== -uncontrollable@^7.0.2, uncontrollable@^7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.2.1.tgz#1fa70ba0c57a14d5f78905d533cf63916dc75738" - integrity sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ== +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +uncontrollable@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-5.1.0.tgz#7e9a1c50ea24e3c78b625e52d21ff3f758c7bd59" + integrity sha512-5FXYaFANKaafg4IVZXUNtGyzsnYEvqlr9wQ3WpZxFpEUxl29A3H6Q4G1Dnnorvq9TGOGATBApWR4YpLAh+F5hw== dependencies: - "@babel/runtime" "^7.6.3" - "@types/react" ">=16.9.11" invariant "^2.2.4" - react-lifecycles-compat "^3.0.4" undeclared-identifiers@^1.1.2: version "1.1.3" @@ -14542,10 +14811,10 @@ underscore@~1.7.0: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" integrity sha1-a7rwh3UA02vjTsqlhODbn+8DUgk= -unfetch@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db" - integrity sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg== +unfetch@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" + integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" @@ -14965,6 +15234,17 @@ when@^3.7.7: resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" integrity sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I= +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" From 005d8919fcf86b5ac755fdac7bc9e52888e2be81 Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Fri, 31 Dec 2021 12:06:54 +0100 Subject: [PATCH 006/639] refactor: upgrade react-leaflet --- lib/editor/components/map/TextPath.js | 9 ++++-- lib/scenario-editor/components/StopLayer.js | 15 ++++++--- package.json | 7 ++--- yarn.lock | 35 ++++++++++----------- 4 files changed, 34 insertions(+), 32 deletions(-) diff --git a/lib/editor/components/map/TextPath.js b/lib/editor/components/map/TextPath.js index c7064e267..9531dfa5c 100644 --- a/lib/editor/components/map/TextPath.js +++ b/lib/editor/components/map/TextPath.js @@ -1,6 +1,7 @@ // @flow -import { Path } from 'react-leaflet' +import { Path, withLeaflet } from 'react-leaflet' +import type { PathProps } from 'react-leaflet' import L from 'leaflet' import 'leaflet-textpath' @@ -20,7 +21,7 @@ type Props = { positions: Array<[number, number]>, repeat: boolean, text: string -} +} & PathProps // props.leaflet is not used but destructured out so it's not passed to L.Polyline function getOptions ({ @@ -56,7 +57,7 @@ function getOptions ({ * with react-leaflet. I believe it might have been designed for react-leaflet v2, * but we're currently using v1. */ -export default class TextPath extends Path { +class TextPath extends Path { createLeafletElement (props: Props) { const { positions, text, ...pathOptions } = getOptions(props) const line = new L.Polyline(positions, OPTIONS) @@ -72,3 +73,5 @@ export default class TextPath extends Path { this.leafletElement.setText(text, pathOptions) } } + +export default withLeaflet(TextPath) diff --git a/lib/scenario-editor/components/StopLayer.js b/lib/scenario-editor/components/StopLayer.js index 8d966deeb..f492573f8 100644 --- a/lib/scenario-editor/components/StopLayer.js +++ b/lib/scenario-editor/components/StopLayer.js @@ -6,7 +6,8 @@ adapted from https://github.com/conveyal/leaflet-transit-editor/blob/master/lib/ and subsequently https://github.com/conveyal/scenario-editor/blob/master/lib/map/transit-editor/stop-layer.js */ -import { GridLayer } from 'react-leaflet' +import { GridLayer, withLeaflet } from 'react-leaflet' +import type {MapComponentProps, GridLayerProps} from 'react-leaflet' import { point } from 'leaflet' import type {GtfsStop} from '../../types' @@ -14,10 +15,11 @@ import type {GtfsStop} from '../../types' const MIN_ZOOM = 1 // don't draw stops below this zoom const TILE_LENGTH = 256 -type Props = { +type ExtraProps = { + attribution: String, minZoom: number, stops: Array -} +} & GridLayerProps type Coords = { x: number, @@ -25,13 +27,14 @@ type Coords = { z: number } -export default class StopLayer extends GridLayer { +class StopLayer extends GridLayer { static defaultProps = { minZoom: MIN_ZOOM } - createLeafletElement (props: Props) { + createLeafletElement (props: ExtraProps) { const gl = super.createLeafletElement(props) + // $FlowFixMe: not sure what is happening here gl.createTile = this.createTile return gl } @@ -86,3 +89,5 @@ export default class StopLayer extends GridLayer { }) } } + +export default withLeaflet(StopLayer) diff --git a/package.json b/package.json index 08211bc76..9e7d236f9 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "react-dom": "^17.0.2", "react-dropzone": "^3.5.3", "react-ga": "^2.3.5", - "react-leaflet": "2.8.0", + "react-leaflet": "^2.8.0", "react-pure-render": "^1.0.2", "react-redux": "^5.0.3", "react-router": "^3.2.6", @@ -90,7 +90,7 @@ "react-select": "1.x", "react-toastify": "^5.1.0", "react-toggle": "^4.1.2", - "react-transition-group": "^4.4.2", + "react-transition-group": "^2.9.0", "react-virtualized": "^9.2.2", "react-virtualized-select": "^3.1.3", "reduce-reducers": "^0.1.2", @@ -147,9 +147,6 @@ "simple-node-logger": "^0.93.37", "slack": "^11.0.1" }, - "resolutions": { - "react-overlays": "0.9.3" - }, "lint-staged": { "*.{js,jsx}": [ "eslint --config node_modules/mastarm/lib/eslintrc.json --fix" diff --git a/yarn.lock b/yarn.lock index fe37fe53f..2ee96d38b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -744,13 +744,20 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.7": +"@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.7": version "7.16.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.5.tgz#7f3e34bf8bdbbadf03fbb7b1ea0d929569c9487a" integrity sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.12.1": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" + integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" @@ -4375,7 +4382,7 @@ dom-helpers@3.2.1: dependencies: "@babel/runtime" "^7.1.2" -dom-helpers@^5.0.1, dom-helpers@^5.1.3: +dom-helpers@^5.1.3: version "5.2.1" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== @@ -12079,7 +12086,7 @@ react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" integrity sha512-gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw== -react-leaflet@2.8.0: +react-leaflet@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/react-leaflet/-/react-leaflet-2.8.0.tgz#14bfc77b6ae8263d3a62e0ba7a39539c05973c6f" integrity sha512-Y7oHtNrrlRH8muDttXf+jZ2Ga/X7jneSGi1GN8uEdeCfLProTqgG2Zoa5TfloS3ZnY20v7w+DIenMG59beFsQw== @@ -12104,16 +12111,16 @@ react-modal@^3.1.7: react-lifecycles-compat "^3.0.0" warning "^4.0.3" -react-overlays@0.9.3, react-overlays@^0.8.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.9.3.tgz#5bac8c1e9e7e057a125181dee2d784864dd62902" - integrity sha512-u2T7nOLnK+Hrntho4p0Nxh+BsJl0bl4Xuwj/Y0a56xywLMetgAfyjnDVrudLXsNcKGaspoC+t3C1V80W9QQTdQ== +react-overlays@^0.8.0: + version "0.8.3" + resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.8.3.tgz#fad65eea5b24301cca192a169f5dddb0b20d3ac5" + integrity sha512-h6GT3jgy90PgctleP39Yu3eK1v9vaJAW73GOA/UbN9dJ7aAN4BTZD6793eI1D5U+ukMk17qiqN/wl3diK1Z5LA== dependencies: classnames "^2.2.5" dom-helpers "^3.2.1" prop-types "^15.5.10" prop-types-extra "^1.0.1" - react-transition-group "^2.2.1" + react-transition-group "^2.2.0" warning "^3.0.0" react-prop-types@^0.4.0: @@ -12238,7 +12245,7 @@ react-toggle@^4.1.2: dependencies: classnames "^2.2.5" -react-transition-group@^2.0.0, react-transition-group@^2.2.1, react-transition-group@^2.6.1: +react-transition-group@^2.0.0, react-transition-group@^2.2.0, react-transition-group@^2.2.1, react-transition-group@^2.6.1, react-transition-group@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== @@ -12248,16 +12255,6 @@ react-transition-group@^2.0.0, react-transition-group@^2.2.1, react-transition-g prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react-transition-group@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" - integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - react-virtualized-select@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/react-virtualized-select/-/react-virtualized-select-3.1.3.tgz#e5c1fed5e493e3e5a628e53100e83d27cfd8c0ac" From 3a36bf303b63c021d099e6871b760a8b28e8ed62 Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Fri, 31 Dec 2021 12:38:15 +0100 Subject: [PATCH 007/639] test: account for dependency upgrade --- lib/editor/components/map/TextPath.js | 4 + .../__snapshots__/ActiveProjectViewer.js.snap | 3848 +++++---- .../__snapshots__/DeploymentsPanel.js.snap | 2927 ++++--- .../__snapshots__/FeedSourceTable.js.snap | 7502 ++++++++--------- package.json | 4 +- yarn.lock | 691 +- 6 files changed, 7267 insertions(+), 7709 deletions(-) diff --git a/lib/editor/components/map/TextPath.js b/lib/editor/components/map/TextPath.js index 9531dfa5c..f8c9e70a8 100644 --- a/lib/editor/components/map/TextPath.js +++ b/lib/editor/components/map/TextPath.js @@ -67,9 +67,13 @@ class TextPath extends Path { updateLeafletElement (fromProps: Props, toProps: Props) { const { positions, text, ...pathOptions } = getOptions(toProps) + // $FlowFixMe The new version of React-Leaflet brings strange types with it... this.leafletElement.setText(null) + // $FlowFixMe The new version of React-Leaflet brings strange types with it... this.leafletElement.setLatLngs(positions) + // $FlowFixMe The new version of React-Leaflet brings strange types with it... this.leafletElement.setStyle(OPTIONS) + // $FlowFixMe The new version of React-Leaflet brings strange types with it... this.leafletElement.setText(text, pathOptions) } } diff --git a/lib/manager/containers/__tests__/__snapshots__/ActiveProjectViewer.js.snap b/lib/manager/containers/__tests__/__snapshots__/ActiveProjectViewer.js.snap index 60069eff1..92001aac9 100644 --- a/lib/manager/containers/__tests__/__snapshots__/ActiveProjectViewer.js.snap +++ b/lib/manager/containers/__tests__/__snapshots__/ActiveProjectViewer.js.snap @@ -200,11 +200,14 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onHide={[Function]} @@ -216,18 +219,20 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr autoFocus={true} backdrop={true} backdropClassName="modal-backdrop" - backdropTransitionTimeout={150} + backdropTransition={[Function]} containerClassName="modal-open" - dialogTransitionTimeout={300} enforceFocus={true} keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onEntering={[Function]} @@ -251,11 +256,14 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onHide={[Function]} @@ -267,18 +275,20 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr autoFocus={true} backdrop={true} backdropClassName="modal-backdrop" - backdropTransitionTimeout={150} + backdropTransition={[Function]} containerClassName="modal-open" - dialogTransitionTimeout={300} enforceFocus={true} keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onEntering={[Function]} @@ -302,11 +312,14 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onHide={[Function]} @@ -318,18 +331,20 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr autoFocus={true} backdrop={true} backdropClassName="modal-backdrop" - backdropTransitionTimeout={150} + backdropTransition={[Function]} containerClassName="modal-open" - dialogTransitionTimeout={300} enforceFocus={true} keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onEntering={[Function]} @@ -357,11 +372,14 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onHide={[Function]} @@ -373,18 +391,20 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr autoFocus={true} backdrop={true} backdropClassName="modal-backdrop" - backdropTransitionTimeout={150} + backdropTransition={[Function]} containerClassName="modal-open" - dialogTransitionTimeout={300} enforceFocus={true} keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onEntering={[Function]} @@ -607,7 +627,6 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr } > - - - - -
    - - - - - - - -
    - + + Most-Least + + + + + + + + +
    + + + + + + +
    - - - - -
    + Filter feed sources on + + Latest + + version + + + - - - - - + + - - Active - - - - 0 - - - - - - - - + + - - Expiring - - - - 0 - - - - - - - - - - - + + - - Future - - - - 0 - - - - - - -
    -
    - - - - - 0 - - - } - > - - - -
    + + 0 + + + + + + + - - - - - + + + + + +
    +
    + + + + - + + } + > + + + +
    - - - -
    -
    -
    -
    -
    + + + + + +
      + +
    • +
      + Show feeds with + + of the labels: +
      +
      +
    • +
      +
    +
    +
    +
    + + + + + + - - - - -
    - + - - - -
    - - - - - - - - - -
    -
    -
    -
    -
    + + + + + + Download Summary as CSV + + + + + + + +
    + + + + + + - - -
    - - - - -
      + + + + + - -
    • - - -
    • -
      -
    -
    - -
    + + + + + Create first feed source! + + + + + + + + + @@ -4156,80 +4142,78 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr } } > - - mock-project - summary - - } - > -
    +
    -

    - mock-project - summary -

    -
    - -
      + mock-project + summary +
    + + - -
  • - Number of feeds: - 0 -
  • -
    - -
  • + Number of feeds: + 0 +
  • +
    + - Total errors: - 0 - - - -
  • + Total errors: + 0 +
  • +
    + - Total service: - - 0 - - hours per weekday - - - -
    - -
    +
  • + Total service: + + 0 + + hours per weekday +
  • + + + + + + manager > ActiveProjectViewer should render with newly created pr } } > - - What is a feed source? - - } - > -
    +
    -

    - What is a feed source? -

    -
    -
    - A feed source defines the location or upstream source of a GTFS feed. GTFS can be populated via automatic fetch, directly editing or uploading a zip file. +
    + What is a feed source? +
    + + +
    + A feed source defines the location or upstream source of a GTFS feed. GTFS can be populated via automatic fetch, directly editing or uploading a zip file. +
    +
    -
    -
    + +
    manager > ActiveProjectViewer should render with newly created pr } } > - - - - Labels - - } - > -
    +
    -

    - - - - - Labels -

    -
    -
    -
    - - - - - - + + + Labels +
    + +
    - There are no labels in this project. +
    + + + + + + +
    + There are no labels in this project. +
    +
    -
    +
    - -
    + +
    @@ -4557,18 +4545,18 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr eventKey="deployments" > manager > ActiveProjectViewer should render with newly created pr onExited={[Function]} onExiting={[Function]} timeout={300} - transitionAppear={false} unmountOnExit={false} /> @@ -4607,18 +4594,18 @@ exports[`lib > manager > ActiveProjectViewer should render with newly created pr eventKey="settings" > manager > ActiveProjectViewer should render with newly created pr onExited={[Function]} onExiting={[Function]} timeout={300} - transitionAppear={false} unmountOnExit={false} /> diff --git a/lib/manager/containers/__tests__/__snapshots__/DeploymentsPanel.js.snap b/lib/manager/containers/__tests__/__snapshots__/DeploymentsPanel.js.snap index dc3e76131..ed9767bb7 100644 --- a/lib/manager/containers/__tests__/__snapshots__/DeploymentsPanel.js.snap +++ b/lib/manager/containers/__tests__/__snapshots__/DeploymentsPanel.js.snap @@ -506,11 +506,14 @@ exports[`lib > manager > DeploymentsPanel should render with the list of deploym keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onHide={[Function]} @@ -522,18 +525,20 @@ exports[`lib > manager > DeploymentsPanel should render with the list of deploym autoFocus={true} backdrop={true} backdropClassName="modal-backdrop" - backdropTransitionTimeout={150} + backdropTransition={[Function]} containerClassName="modal-open" - dialogTransitionTimeout={300} enforceFocus={true} keyboard={true} manager={ ModalManager { + "add": [Function], "containers": Array [], "data": Array [], "handleContainerOverflow": true, "hideSiblingNodes": true, + "isTopModal": [Function], "modals": Array [], + "remove": [Function], } } onEntering={[Function]} @@ -942,190 +947,194 @@ exports[`lib > manager > DeploymentsPanel should render with the list of deploym saveDeployment={[Function]} updateDeployment={[Function]} > - - - - - - - - - } - > -
    +
    -
    - -
    - - - -
    - -
    - - + +
    + + +
    + + +
    +
    - +
    - -
    - -
    +
    - - - - - - - - - - - - + + + + + + + + + + + + manager > DeploymentsPanel should render with the list of deploym "stopTimesCount": 11170, "tripCount": 415, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, - }, - "id": "mock-feed-version-id", - "nextVersionId": null, - "previousVersionId": null, - "updated": 1543389038810, - "validationResult": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, - }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, + "version": 1, }, - "version": 1, + ], + "id": "mock-deployment-id-0", + "invalidFeedSources": Array [], + "lastDeployed": null, + "lastUpdated": 1553292345726, + "latest": null, + "name": "mock-deployment", + "organizationId": null, + "osmExtractUrl": null, + "otpCommit": null, + "otpVersion": null, + "peliasCsvFiles": Array [], + "peliasResetDb": null, + "peliasUpdate": null, + "peliasWebhookUrl": null, + "pinnedfeedVersionIds": Array [], + "projectBounds": Object { + "east": 0, + "north": 0, + "south": 0, + "west": 0, }, - ], - "id": "mock-deployment-id-0", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", - "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, - }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", - "user": null, + "projectId": "mock-project-with-deployments-id", + "routerId": null, + "skipOsmExtract": false, + "tripPlannerVersion": "OTP_1", + "user": null, + } } - } - key="mock-deployment-id-0" - project={ - Object { - "autoDeploy": false, - "autoDeployTypes": Array [], - "autoDeployWithCriticalErrors": false, - "autoFetchFeeds": true, - "autoFetchHour": 0, - "autoFetchMinute": 0, - "bounds": null, - "buildConfig": Object { - "fares": null, - "fetchElevationUS": null, - "stationTransfers": null, - "subwayAccessTime": null, - }, - "dateCreated": 1526305321824, - "defaultTimeZone": null, - "deployments": Array [ - Object { - "customBuildConfig": null, - "customRouterConfig": null, - "dateCreated": 1553292345720, - "deployJobSummaries": Array [], - "deployedTo": null, - "ec2Instances": Array [], - "feedSourceId": null, - "feedVersions": Array [ - Object { - "feedSource": Object { - "dateCreated": 1536195264564, - "deployable": false, - "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", - "externalProperties": Object {}, - "id": "mock-feed-with-version-id", - "isPublic": false, - "labelIds": Array [], - "lastFetched": 1543389038810, - "lastUpdated": 1543389038810, - "latestValidation": Object { + key="mock-deployment-id-0" + project={ + Object { + "autoDeploy": false, + "autoDeployTypes": Array [], + "autoDeployWithCriticalErrors": false, + "autoFetchFeeds": true, + "autoFetchHour": 0, + "autoFetchMinute": 0, + "bounds": null, + "buildConfig": Object { + "fares": null, + "fetchElevationUS": null, + "stationTransfers": null, + "subwayAccessTime": null, + }, + "dateCreated": 1526305321824, + "defaultTimeZone": null, + "deployments": Array [ + Object { + "customBuildConfig": null, + "customRouterConfig": null, + "dateCreated": 1553292345720, + "deployJobSummaries": Array [], + "deployedTo": null, + "ec2Instances": Array [], + "feedSourceId": null, + "feedVersions": Array [ + Object { + "feedSource": Object { + "dateCreated": 1536195264564, + "deployable": false, + "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", + "externalProperties": Object {}, + "id": "mock-feed-with-version-id", + "isPublic": false, + "labelIds": Array [], + "lastFetched": 1543389038810, + "lastUpdated": 1543389038810, + "latestValidation": Object { + "agencies": null, + "agencyCount": 1, + "avgDailyRevenueTime": 0, + "bounds": Object { + "east": -76.481211, + "north": 39.0486949672717, + "south": 38.92884, + "west": -76.5673055566884, + }, + "endDate": "20190801", + "errorCount": 78, + "feedVersionId": "mock-feed-version-id", + "loadFailureReason": null, + "loadStatus": "SUCCESS", + "routeCount": 10, + "startDate": "20180801", + "stopCount": 237, + "stopTimesCount": 11170, + "tripCount": 415, + }, + "latestVersionId": "mock-feed-version-id", + "name": "test feed with a version", + "noteCount": 0, + "organizationId": null, + "projectId": "mock-project-id", + "publishedVersionId": null, + "retrievalMethod": "MANUALLY_UPLOADED", + "s3Url": null, + "snapshotVersion": null, + "transformRules": Array [], + "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", + "user": null, + "versionCount": 1, + }, + "id": "mock-feed-version-id", + "nextVersionId": null, + "previousVersionId": null, + "updated": 1543389038810, + "validationResult": Object { "agencies": null, "agencyCount": 1, "avgDailyRevenueTime": 0, @@ -1276,400 +1285,396 @@ exports[`lib > manager > DeploymentsPanel should render with the list of deploym "stopTimesCount": 11170, "tripCount": 415, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, + "version": 1, }, - "id": "mock-feed-version-id", - "nextVersionId": null, - "previousVersionId": null, - "updated": 1543389038810, - "validationResult": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, - }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, - }, - "version": 1, + ], + "id": "mock-deployment-id-0", + "invalidFeedSources": Array [], + "lastDeployed": null, + "lastUpdated": 1553292345726, + "latest": null, + "name": "mock-deployment", + "organizationId": null, + "osmExtractUrl": null, + "otpCommit": null, + "otpVersion": null, + "peliasCsvFiles": Array [], + "peliasResetDb": null, + "peliasUpdate": null, + "peliasWebhookUrl": null, + "pinnedfeedVersionIds": Array [], + "projectBounds": Object { + "east": 0, + "north": 0, + "south": 0, + "west": 0, }, - ], - "id": "mock-deployment-id-0", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", - "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, + "projectId": "mock-project-with-deployments-id", + "routerId": null, + "skipOsmExtract": false, + "tripPlannerVersion": "OTP_1", + "user": null, }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", - "user": null, - }, - Object { - "customBuildConfig": null, - "customRouterConfig": null, - "dateCreated": 1553292345720, - "deployJobSummaries": Array [], - "deployedTo": null, - "ec2Instances": Array [], - "feedSourceId": null, - "feedVersions": Array [], - "id": "mock-deployment-id-1", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", - "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, + Object { + "customBuildConfig": null, + "customRouterConfig": null, + "dateCreated": 1553292345720, + "deployJobSummaries": Array [], + "deployedTo": null, + "ec2Instances": Array [], + "feedSourceId": null, + "feedVersions": Array [], + "id": "mock-deployment-id-1", + "invalidFeedSources": Array [], + "lastDeployed": null, + "lastUpdated": 1553292345726, + "latest": null, + "name": "mock-deployment", + "organizationId": null, + "osmExtractUrl": null, + "otpCommit": null, + "otpVersion": null, + "peliasCsvFiles": Array [], + "peliasResetDb": null, + "peliasUpdate": null, + "peliasWebhookUrl": null, + "pinnedfeedVersionIds": Array [], + "projectBounds": Object { + "east": 0, + "north": 0, + "south": 0, + "west": 0, + }, + "projectId": "mock-project-with-deployments-id", + "routerId": null, + "skipOsmExtract": false, + "tripPlannerVersion": "OTP_1", + "user": null, }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", - "user": null, - }, - ], - "feedSources": Array [ - Object { - "dateCreated": 1536195264564, - "deployable": false, - "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", - "externalProperties": Object {}, - "id": "mock-feed-with-version-id", - "isPublic": false, - "labelIds": Array [], - "lastFetched": 1543389038810, - "lastUpdated": 1543389038810, - "latestValidation": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, + ], + "feedSources": Array [ + Object { + "dateCreated": 1536195264564, + "deployable": false, + "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", + "externalProperties": Object {}, + "id": "mock-feed-with-version-id", + "isPublic": false, + "labelIds": Array [], + "lastFetched": 1543389038810, + "lastUpdated": 1543389038810, + "latestValidation": Object { + "agencies": null, + "agencyCount": 1, + "avgDailyRevenueTime": 0, + "bounds": Object { + "east": -76.481211, + "north": 39.0486949672717, + "south": 38.92884, + "west": -76.5673055566884, + }, + "endDate": "20190801", + "errorCount": 78, + "feedVersionId": "mock-feed-version-id", + "loadFailureReason": null, + "loadStatus": "SUCCESS", + "routeCount": 10, + "startDate": "20180801", + "stopCount": 237, + "stopTimesCount": 11170, + "tripCount": 415, }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, + "latestVersionId": "mock-feed-version-id", + "name": "test feed with a version", + "noteCount": 0, + "organizationId": null, + "projectId": "mock-project-id", + "publishedVersionId": null, + "retrievalMethod": "MANUALLY_UPLOADED", + "s3Url": null, + "snapshotVersion": null, + "transformRules": Array [], + "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", + "user": null, + "versionCount": 1, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, + ], + "id": "mock-project-with-deployments-id", + "labels": Array [], + "lastUpdated": 1553236399556, + "name": "mock-project-with-deployments", + "organizationId": null, + "otpServers": Array [], + "pinnedDeploymentId": "mock-deployment-id-0", + "routerConfig": Object { + "carDropoffTime": null, + "numItineraries": null, + "requestLogFile": null, + "stairsReluctance": null, + "updaters": null, + "walkSpeed": null, }, - ], - "id": "mock-project-with-deployments-id", - "labels": Array [], - "lastUpdated": 1553236399556, - "name": "mock-project-with-deployments", - "organizationId": null, - "otpServers": Array [], - "pinnedDeploymentId": "mock-deployment-id-0", - "routerConfig": Object { - "carDropoffTime": null, - "numItineraries": null, - "requestLogFile": null, - "stairsReluctance": null, - "updaters": null, - "walkSpeed": null, - }, - "useCustomOsmBounds": false, - "user": null, + "useCustomOsmBounds": false, + "user": null, + } } - } - saveDeployment={[Function]} - updateDeployment={[Function]} - > - - - - - - - - + + + + + + - - - + + + + + + + + manager > DeploymentsPanel should render with the list of deploym "stopTimesCount": 11170, "tripCount": 415, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, + "version": 1, }, - "id": "mock-feed-version-id", - "nextVersionId": null, - "previousVersionId": null, - "updated": 1543389038810, - "validationResult": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, - }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, - }, - "version": 1, + ], + "id": "mock-deployment-id-0", + "invalidFeedSources": Array [], + "lastDeployed": null, + "lastUpdated": 1553292345726, + "latest": null, + "name": "mock-deployment", + "organizationId": null, + "osmExtractUrl": null, + "otpCommit": null, + "otpVersion": null, + "peliasCsvFiles": Array [], + "peliasResetDb": null, + "peliasUpdate": null, + "peliasWebhookUrl": null, + "pinnedfeedVersionIds": Array [], + "projectBounds": Object { + "east": 0, + "north": 0, + "south": 0, + "west": 0, }, - ], - "id": "mock-deployment-id-0", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", - "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, + "projectId": "mock-project-with-deployments-id", + "routerId": null, + "skipOsmExtract": false, + "tripPlannerVersion": "OTP_1", + "user": null, }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", - "user": null, - }, - Object { - "customBuildConfig": null, - "customRouterConfig": null, - "dateCreated": 1553292345720, - "deployJobSummaries": Array [], - "deployedTo": null, - "ec2Instances": Array [], - "feedSourceId": null, - "feedVersions": Array [], - "id": "mock-deployment-id-1", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", - "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, + Object { + "customBuildConfig": null, + "customRouterConfig": null, + "dateCreated": 1553292345720, + "deployJobSummaries": Array [], + "deployedTo": null, + "ec2Instances": Array [], + "feedSourceId": null, + "feedVersions": Array [], + "id": "mock-deployment-id-1", + "invalidFeedSources": Array [], + "lastDeployed": null, + "lastUpdated": 1553292345726, + "latest": null, + "name": "mock-deployment", + "organizationId": null, + "osmExtractUrl": null, + "otpCommit": null, + "otpVersion": null, + "peliasCsvFiles": Array [], + "peliasResetDb": null, + "peliasUpdate": null, + "peliasWebhookUrl": null, + "pinnedfeedVersionIds": Array [], + "projectBounds": Object { + "east": 0, + "north": 0, + "south": 0, + "west": 0, + }, + "projectId": "mock-project-with-deployments-id", + "routerId": null, + "skipOsmExtract": false, + "tripPlannerVersion": "OTP_1", + "user": null, }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", - "user": null, - }, - ], - "feedSources": Array [ - Object { - "dateCreated": 1536195264564, - "deployable": false, - "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", - "externalProperties": Object {}, - "id": "mock-feed-with-version-id", - "isPublic": false, - "labelIds": Array [], - "lastFetched": 1543389038810, - "lastUpdated": 1543389038810, - "latestValidation": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, + ], + "feedSources": Array [ + Object { + "dateCreated": 1536195264564, + "deployable": false, + "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", + "externalProperties": Object {}, + "id": "mock-feed-with-version-id", + "isPublic": false, + "labelIds": Array [], + "lastFetched": 1543389038810, + "lastUpdated": 1543389038810, + "latestValidation": Object { + "agencies": null, + "agencyCount": 1, + "avgDailyRevenueTime": 0, + "bounds": Object { + "east": -76.481211, + "north": 39.0486949672717, + "south": 38.92884, + "west": -76.5673055566884, + }, + "endDate": "20190801", + "errorCount": 78, + "feedVersionId": "mock-feed-version-id", + "loadFailureReason": null, + "loadStatus": "SUCCESS", + "routeCount": 10, + "startDate": "20180801", + "stopCount": 237, + "stopTimesCount": 11170, + "tripCount": 415, }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, + "latestVersionId": "mock-feed-version-id", + "name": "test feed with a version", + "noteCount": 0, + "organizationId": null, + "projectId": "mock-project-id", + "publishedVersionId": null, + "retrievalMethod": "MANUALLY_UPLOADED", + "s3Url": null, + "snapshotVersion": null, + "transformRules": Array [], + "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", + "user": null, + "versionCount": 1, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, + ], + "id": "mock-project-with-deployments-id", + "labels": Array [], + "lastUpdated": 1553236399556, + "name": "mock-project-with-deployments", + "organizationId": null, + "otpServers": Array [], + "pinnedDeploymentId": "mock-deployment-id-0", + "routerConfig": Object { + "carDropoffTime": null, + "numItineraries": null, + "requestLogFile": null, + "stairsReluctance": null, + "updaters": null, + "walkSpeed": null, }, - ], - "id": "mock-project-with-deployments-id", - "labels": Array [], - "lastUpdated": 1553236399556, - "name": "mock-project-with-deployments", - "organizationId": null, - "otpServers": Array [], - "pinnedDeploymentId": "mock-deployment-id-0", - "routerConfig": Object { - "carDropoffTime": null, - "numItineraries": null, - "requestLogFile": null, - "stairsReluctance": null, - "updaters": null, - "walkSpeed": null, - }, - "useCustomOsmBounds": false, - "user": null, + "useCustomOsmBounds": false, + "user": null, + } } - } - saveDeployment={[Function]} - updateDeployment={[Function]} - > - - - - - - - - + + + + + + - - - -
    - Name - - Created - - Last deployed - - Deployed to - - # of feeds - - Test? - -
    + Name + + Created + + Last deployed + + Deployed to + + # of feeds + + Test? + +
    - - - - -
    +
    + - - - + + +
    + + - - mock-deployment - - - - - - -
    -
    -
    - - 2 months ago - - - - N/A - - - - N/A - - - 1 - - - N/A - - - + + + + + + + 2 months ago + + + + N/A + + + + N/A + + + 1 + + + N/A + + + - -
    - -
    +
    + - - - + + - - mock-deployment - - - - - - - - - - - 2 months ago - - - - N/A - - - - N/A - - - 0 - - - N/A - - - + + + + + + + 2 months ago + + + + N/A + + + + N/A + + + 0 + + + N/A + + + - -
    - - -
    + + + + + + + + + + + + + + @@ -2014,645 +1977,637 @@ exports[`lib > manager > DeploymentsPanel should render with the list of deploym
    - - - - Auto-deployment - - } - > -
    +
    -

    - - - - - Auto-deployment -

    -
    -
    - + + + + Auto-deployment +
    + +
    - - - - + + + +
    + + mock-deployment + +
    + + + + + + +
    + + - - - - + Pin a deployment (and deploy to a server at least once) to enable auto-deployment. -
    + - - - - Pin a deployment (and deploy to a server at least once) to enable auto-deployment. - - - - - -
    - - - -
    - Specify auto-deploy events -
    -
    + + - + A deployment will automatically be kicked off (assuming there are no critical errors) whenever one of the above-defined events occurs. + -
    + - - - - A deployment will automatically be kicked off (assuming there are no critical errors) whenever one of the above-defined events occurs. - - - - -
    - -
    - - - - +
    - -
    -
    - - - If this is unchecked, an auto-deployment will halt if any of the feed versions in the deployment have at least one critical error + + + + +
    + +
    +
    + + + If this is unchecked, an auto-deployment will halt if any of the feed versions in the deployment have at least one critical error - - +
    +
    +
    +
    - + - - - - - - Configuring deployments - - } - > -
    + + +
    -

    - - - - - Configuring deployments -

    -
    -
    -

    - Deployments can use project-level configurations (e.g., for build or router config files) or be configured individually. - -

    - + + + + Configuring deployments +
    + + - - - - - + + + - - - - - Manage deployment servers - - - + + + +
    + - -
    + + diff --git a/lib/manager/containers/__tests__/__snapshots__/FeedSourceTable.js.snap b/lib/manager/containers/__tests__/__snapshots__/FeedSourceTable.js.snap index 1ffc48316..137a3d852 100644 --- a/lib/manager/containers/__tests__/__snapshots__/FeedSourceTable.js.snap +++ b/lib/manager/containers/__tests__/__snapshots__/FeedSourceTable.js.snap @@ -583,42 +583,155 @@ exports[`lib > manager > FeedSourceTable should render with a project with feeds } } > - + +
    + +
    + manager > FeedSourceTable should render with a project with feeds "user": null, "versionCount": 1, }, - "id": "mock-feed-version-id", - "nextVersionId": null, - "previousVersionId": null, - "updated": 1543389038810, - "validationResult": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, - }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, - }, - "version": 1, - }, - ], - "id": "mock-deployment-id-0", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", - "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, - }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", - "user": null, - }, - ], - "feedSources": Array [ - Object { - "dateCreated": 1536195264564, - "deployable": false, - "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", - "externalProperties": Object {}, - "id": "mock-feed-with-version-id", - "isPublic": false, - "labelIds": Array [], - "lastFetched": 1543389038810, - "lastUpdated": 1543389038810, - "latestValidation": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, - }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, - }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, - }, - ], - "id": "mock-project-with-deployments-id", - "labels": Array [], - "lastUpdated": 1553236399556, - "name": "mock-project-with-deployments", - "organizationId": null, - "otpServers": Array [], - "pinnedDeploymentId": null, - "routerConfig": Object { - "carDropoffTime": null, - "numItineraries": null, - "requestLogFile": null, - "stairsReluctance": null, - "updaters": null, - "walkSpeed": null, - }, - "useCustomOsmBounds": false, - "user": null, - } - } - /> - } - > -
    -
    - - + manager > FeedSourceTable should render with a project with feeds "stopTimesCount": 11170, "tripCount": 415, }, - "version": 1, + "latestVersionId": "mock-feed-version-id", + "name": "test feed with a version", + "noteCount": 0, + "organizationId": null, + "projectId": "mock-project-id", + "publishedVersionId": null, + "retrievalMethod": "MANUALLY_UPLOADED", + "s3Url": null, + "snapshotVersion": null, + "transformRules": Array [], + "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", + "user": null, + "versionCount": 1, }, ], - "id": "mock-deployment-id-0", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", + "id": "mock-project-with-deployments-id", + "labels": Array [], + "lastUpdated": 1553236399556, + "name": "mock-project-with-deployments", "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, + "otpServers": Array [], + "pinnedDeploymentId": null, + "routerConfig": Object { + "carDropoffTime": null, + "numItineraries": null, + "requestLogFile": null, + "stairsReluctance": null, + "updaters": null, + "walkSpeed": null, }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", + "useCustomOsmBounds": false, "user": null, - }, - ], - "feedSources": Array [ + } + } + projectEditDisabled={false} + setFeedSort={[Function]} + setFeedSourceTableFilterCountStrategy={[Function]} + setVisibilityFilter={[Function]} + setVisibilityLabel={[Function]} + setVisibilityLabelMode={[Function]} + setVisibilitySearchText={[Function]} + sort="alphabetically-asc" + thirdPartySync={[Function]} + user={ Object { - "dateCreated": 1536195264564, - "deployable": false, - "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", - "externalProperties": Object {}, - "id": "mock-feed-with-version-id", - "isPublic": false, - "labelIds": Array [], - "lastFetched": 1543389038810, - "lastUpdated": 1543389038810, - "latestValidation": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, + "isCheckingLogin": false, + "permissions": UserPermissions { + "appPermissionLookup": Object { + "administer-application": Object { + "type": "administer-application", + }, }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, - }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, - }, - ], - "id": "mock-project-with-deployments-id", - "labels": Array [], - "lastUpdated": 1553236399556, - "name": "mock-project-with-deployments", - "organizationId": null, - "otpServers": Array [], - "pinnedDeploymentId": null, - "routerConfig": Object { - "carDropoffTime": null, - "numItineraries": null, - "requestLogFile": null, - "stairsReluctance": null, - "updaters": null, - "walkSpeed": null, - }, - "useCustomOsmBounds": false, - "user": null, - } - } - projectEditDisabled={false} - setFeedSort={[Function]} - setFeedSourceTableFilterCountStrategy={[Function]} - setVisibilityFilter={[Function]} - setVisibilityLabel={[Function]} - setVisibilityLabelMode={[Function]} - setVisibilitySearchText={[Function]} - sort="alphabetically-asc" - thirdPartySync={[Function]} - user={ - Object { - "isCheckingLogin": false, - "permissions": UserPermissions { - "appPermissionLookup": Object { - "administer-application": Object { - "type": "administer-application", + "orgPermissionLookup": Object {}, + "organizationLookup": Object {}, + "projectLookup": Object {}, }, - }, - "orgPermissionLookup": Object {}, - "organizationLookup": Object {}, - "projectLookup": Object {}, - }, - "profile": Object { - "app_metadata": Object { - "datatools": Array [ - Object { - "client_id": "mock-client-id", - "organizations": Array [], - "permissions": Array [ + "profile": Object { + "app_metadata": Object { + "datatools": Array [ Object { - "type": "administer-application", + "client_id": "mock-client-id", + "organizations": Array [], + "permissions": Array [ + Object { + "type": "administer-application", + }, + ], + "projects": Array [], + "subscriptions": Array [], }, ], - "projects": Array [], - "subscriptions": Array [], }, - ], - }, - "clientID": "mock-client-id", - "created_at": "2016-03-04T18:59:22.569Z", - "email": "mock-user@conveyal.com", - "email_verified": true, - "identities": Array [ - Object { - "connection": "Username-Password-Authentication", - "isSocial": false, - "provider": "auth0", - "user_id": "12345", - }, - ], - "jti": "gibberish", - "last_password_reset": "2017-07-13T13:58:01.021Z", - "name": "mock-user@conveyal.com", - "nickname": "mock-user", - "persistent": Object {}, - "picture": "https://s.gravatar.com/avatar/f8660ca52d1229e3d55e88f2db4affda?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fmu.png", - "sub": "auth0|12345", - "updated_at": "2019-03-21T19:05:30.180Z", - "user_id": "auth0|12345", - "user_metadata": Object { - "datatools": Array [ - Object { - "client_id": "mock-client-id", - "editor": Object { - "map_id": "mapbox.streets", + "clientID": "mock-client-id", + "created_at": "2016-03-04T18:59:22.569Z", + "email": "mock-user@conveyal.com", + "email_verified": true, + "identities": Array [ + Object { + "connection": "Username-Password-Authentication", + "isSocial": false, + "provider": "auth0", + "user_id": "12345", }, - "hideTutorial": true, - "sidebarExpanded": false, + ], + "jti": "gibberish", + "last_password_reset": "2017-07-13T13:58:01.021Z", + "name": "mock-user@conveyal.com", + "nickname": "mock-user", + "persistent": Object {}, + "picture": "https://s.gravatar.com/avatar/f8660ca52d1229e3d55e88f2db4affda?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fmu.png", + "sub": "auth0|12345", + "updated_at": "2019-03-21T19:05:30.180Z", + "user_id": "auth0|12345", + "user_metadata": Object { + "datatools": Array [ + Object { + "client_id": "mock-client-id", + "editor": Object { + "map_id": "mapbox.streets", + }, + "hideTutorial": true, + "sidebarExpanded": false, + }, + ], + "lang": "en", }, - ], - "lang": "en", - }, - }, - "recentActivity": null, - "redirectOnSuccess": null, - "subscriptions": UserSubscriptions { - "subscriptionLookup": Object {}, - }, - "token": "mock-token", - } - } - > - -
    -
    -
    - - -
    - - - -
    -
    -
    - - - - + + + +
    + + + + - -
    - - - - - - -
    -
    - - -
    -
    - - -
    - + + Least-Most + + + + + + + +
  • + + + Most-Least + + +
  • +
    +
    + + + +
    + + + + +
    + +
    - - - - -
    + + + + version + + + - - - - - + + - - Active - - - - 1 - - - - - - - - + + - - Expiring - - - - 0 - - - - - - - - + + - - Expired - - - - 0 - - - - - - - - + + - - Future - - - - 0 - - - - - - -
    -
    - - - - - 0 - - - } - > - + + 0 + + + + + + +
    + + + + + + 0 + + + } + > + + + +
    + + + + + + +
      + +
    • +
      + Show feeds with + + of the labels: +
      +
      +
    • +
      +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + +
    + +
    -
    -
    -
    -
    -
    - -
    - - -
    - - - - -
    - - - - - - - - - -
    -
    -
    -
    -
    -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - + + + + + + Merge all + + + + + +
  • + + + + + + + Download Summary as CSV + + +
  • +
    + + + + + + + + + + + + + + + + + +
    +
    - -

    - Deployed Version -

    -
    -

    - Latest Version -

    -
    -
    -

    - - - - Feed Info -

    -
    -

    - - - - Status -

    -
    -

    - - - - Status -

    -
    -

    - - - - Dates Valid -

    -
    -

    - - - - Issues -

    -
    -
    + + + + + + + + + + + + + + + manager > FeedSourceTable should render with a project with feeds "versionCount": 1, } } + key="mock-feed-with-version-id" project={ Object { "autoDeploy": false, @@ -3609,91 +3148,212 @@ exports[`lib > manager > FeedSourceTable should render with a project with feeds "user": null, } } - runFetchFeed={[Function]} - updateFeedSource={[Function]} - uploadFeed={[Function]} - user={ - Object { - "isCheckingLogin": false, - "permissions": UserPermissions { - "appPermissionLookup": Object { - "administer-application": Object { - "type": "administer-application", + > + - - + - - - -
    + http://mdtrip.org/googletransit/Ann... + + + + +
    + +
    - - - - Private - - - -
    + + + Private +
    + +
    - + manager > FeedSourceTable should render with a project with feeds "stopTimesCount": 11170, "tripCount": 415, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, - }, - "id": "mock-feed-version-id", - "nextVersionId": null, - "previousVersionId": null, - "updated": 1543389038810, - "validationResult": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, - }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, + "version": 1, }, - "version": 1, + ], + "id": "mock-deployment-id-0", + "invalidFeedSources": Array [], + "lastDeployed": null, + "lastUpdated": 1553292345726, + "latest": null, + "name": "mock-deployment", + "organizationId": null, + "osmExtractUrl": null, + "otpCommit": null, + "otpVersion": null, + "peliasCsvFiles": Array [], + "peliasResetDb": null, + "peliasUpdate": null, + "peliasWebhookUrl": null, + "pinnedfeedVersionIds": Array [], + "projectBounds": Object { + "east": 0, + "north": 0, + "south": 0, + "west": 0, }, - ], - "id": "mock-deployment-id-0", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", - "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, + "projectId": "mock-project-with-deployments-id", + "routerId": null, + "skipOsmExtract": false, + "tripPlannerVersion": "OTP_1", + "user": null, }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", - "user": null, - }, - ], - "feedSources": Array [ - Object { - "dateCreated": 1536195264564, - "deployable": false, - "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", - "externalProperties": Object {}, - "id": "mock-feed-with-version-id", - "isPublic": false, - "labelIds": Array [], - "lastFetched": 1543389038810, - "lastUpdated": 1543389038810, - "latestValidation": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, + ], + "feedSources": Array [ + Object { + "dateCreated": 1536195264564, + "deployable": false, + "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", + "externalProperties": Object {}, + "id": "mock-feed-with-version-id", + "isPublic": false, + "labelIds": Array [], + "lastFetched": 1543389038810, + "lastUpdated": 1543389038810, + "latestValidation": Object { + "agencies": null, + "agencyCount": 1, + "avgDailyRevenueTime": 0, + "bounds": Object { + "east": -76.481211, + "north": 39.0486949672717, + "south": 38.92884, + "west": -76.5673055566884, + }, + "endDate": "20190801", + "errorCount": 78, + "feedVersionId": "mock-feed-version-id", + "loadFailureReason": null, + "loadStatus": "SUCCESS", + "routeCount": 10, + "startDate": "20180801", + "stopCount": 237, + "stopTimesCount": 11170, + "tripCount": 415, }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, + "latestVersionId": "mock-feed-version-id", + "name": "test feed with a version", + "noteCount": 0, + "organizationId": null, + "projectId": "mock-project-id", + "publishedVersionId": null, + "retrievalMethod": "MANUALLY_UPLOADED", + "s3Url": null, + "snapshotVersion": null, + "transformRules": Array [], + "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", + "user": null, + "versionCount": 1, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, + ], + "id": "mock-project-with-deployments-id", + "labels": Array [], + "lastUpdated": 1553236399556, + "name": "mock-project-with-deployments", + "organizationId": null, + "otpServers": Array [], + "pinnedDeploymentId": null, + "routerConfig": Object { + "carDropoffTime": null, + "numItineraries": null, + "requestLogFile": null, + "stairsReluctance": null, + "updaters": null, + "walkSpeed": null, }, - ], - "id": "mock-project-with-deployments-id", - "labels": Array [], - "lastUpdated": 1553236399556, - "name": "mock-project-with-deployments", - "organizationId": null, - "otpServers": Array [], - "pinnedDeploymentId": null, - "routerConfig": Object { - "carDropoffTime": null, - "numItineraries": null, - "requestLogFile": null, - "stairsReluctance": null, - "updaters": null, - "walkSpeed": null, - }, - "useCustomOsmBounds": false, - "user": null, - } - } - > - - - -
    + > + + + +
    +
    -
    - - - - - - - + - + - - - + + + - - - - -
    + +

    + Deployed Version +

    +
    +

    + Latest Version +

    +
    +
    +

    + + + + Feed Info +

    +
    +

    + + + + Status +

    +
    +

    + + + + Status +

    +
    +

    + + + + Dates Valid +

    +
    +

    + + + + Issues +

    +
    +
    - manager > FeedSourceTable should render with a project with feeds "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", "user": null, "versionCount": 1, + }, + ], + "id": "mock-project-with-deployments-id", + "labels": Array [], + "lastUpdated": 1553236399556, + "name": "mock-project-with-deployments", + "organizationId": null, + "otpServers": Array [], + "pinnedDeploymentId": null, + "routerConfig": Object { + "carDropoffTime": null, + "numItineraries": null, + "requestLogFile": null, + "stairsReluctance": null, + "updaters": null, + "walkSpeed": null, + }, + "useCustomOsmBounds": false, + "user": null, + } + } + runFetchFeed={[Function]} + updateFeedSource={[Function]} + uploadFeed={[Function]} + user={ + Object { + "isCheckingLogin": false, + "permissions": UserPermissions { + "appPermissionLookup": Object { + "administer-application": Object { + "type": "administer-application", + }, + }, + "orgPermissionLookup": Object {}, + "organizationLookup": Object {}, + "projectLookup": Object {}, + }, + "profile": Object { + "app_metadata": Object { + "datatools": Array [ + Object { + "client_id": "mock-client-id", + "organizations": Array [], + "permissions": Array [ + Object { + "type": "administer-application", + }, + ], + "projects": Array [], + "subscriptions": Array [], + }, + ], + }, + "clientID": "mock-client-id", + "created_at": "2016-03-04T18:59:22.569Z", + "email": "mock-user@conveyal.com", + "email_verified": true, + "identities": Array [ + Object { + "connection": "Username-Password-Authentication", + "isSocial": false, + "provider": "auth0", + "user_id": "12345", + }, + ], + "jti": "gibberish", + "last_password_reset": "2017-07-13T13:58:01.021Z", + "name": "mock-user@conveyal.com", + "nickname": "mock-user", + "persistent": Object {}, + "picture": "https://s.gravatar.com/avatar/f8660ca52d1229e3d55e88f2db4affda?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fmu.png", + "sub": "auth0|12345", + "updated_at": "2019-03-21T19:05:30.180Z", + "user_id": "auth0|12345", + "user_metadata": Object { + "datatools": Array [ + Object { + "client_id": "mock-client-id", + "editor": Object { + "map_id": "mapbox.streets", + }, + "hideTutorial": true, + "sidebarExpanded": false, + }, + ], + "lang": "en", + }, + }, + "recentActivity": null, + "redirectOnSuccess": null, + "subscriptions": UserSubscriptions { + "subscriptionLookup": Object {}, + }, + "token": "mock-token", + } + } + > +
    + manager > FeedSourceTable should render with a project with feeds "stopTimesCount": 11170, "tripCount": 415, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, + "version": 1, }, - "id": "mock-feed-version-id", - "nextVersionId": null, - "previousVersionId": null, - "updated": 1543389038810, - "validationResult": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, - }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, - }, - "version": 1, + ], + "id": "mock-deployment-id-0", + "invalidFeedSources": Array [], + "lastDeployed": null, + "lastUpdated": 1553292345726, + "latest": null, + "name": "mock-deployment", + "organizationId": null, + "osmExtractUrl": null, + "otpCommit": null, + "otpVersion": null, + "peliasCsvFiles": Array [], + "peliasResetDb": null, + "peliasUpdate": null, + "peliasWebhookUrl": null, + "pinnedfeedVersionIds": Array [], + "projectBounds": Object { + "east": 0, + "north": 0, + "south": 0, + "west": 0, }, - ], - "id": "mock-deployment-id-0", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", - "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, + "projectId": "mock-project-with-deployments-id", + "routerId": null, + "skipOsmExtract": false, + "tripPlannerVersion": "OTP_1", + "user": null, }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", - "user": null, - }, - ], - "feedSources": Array [ - Object { - "dateCreated": 1536195264564, - "deployable": false, - "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", - "externalProperties": Object {}, - "id": "mock-feed-with-version-id", - "isPublic": false, - "labelIds": Array [], - "lastFetched": 1543389038810, - "lastUpdated": 1543389038810, - "latestValidation": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, + ], + "feedSources": Array [ + Object { + "dateCreated": 1536195264564, + "deployable": false, + "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", + "externalProperties": Object {}, + "id": "mock-feed-with-version-id", + "isPublic": false, + "labelIds": Array [], + "lastFetched": 1543389038810, + "lastUpdated": 1543389038810, + "latestValidation": Object { + "agencies": null, + "agencyCount": 1, + "avgDailyRevenueTime": 0, + "bounds": Object { + "east": -76.481211, + "north": 39.0486949672717, + "south": 38.92884, + "west": -76.5673055566884, + }, + "endDate": "20190801", + "errorCount": 78, + "feedVersionId": "mock-feed-version-id", + "loadFailureReason": null, + "loadStatus": "SUCCESS", + "routeCount": 10, + "startDate": "20180801", + "stopCount": 237, + "stopTimesCount": 11170, + "tripCount": 415, }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, + "latestVersionId": "mock-feed-version-id", + "name": "test feed with a version", + "noteCount": 0, + "organizationId": null, + "projectId": "mock-project-id", + "publishedVersionId": null, + "retrievalMethod": "MANUALLY_UPLOADED", + "s3Url": null, + "snapshotVersion": null, + "transformRules": Array [], + "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", + "user": null, + "versionCount": 1, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, + ], + "id": "mock-project-with-deployments-id", + "labels": Array [], + "lastUpdated": 1553236399556, + "name": "mock-project-with-deployments", + "organizationId": null, + "otpServers": Array [], + "pinnedDeploymentId": null, + "routerConfig": Object { + "carDropoffTime": null, + "numItineraries": null, + "requestLogFile": null, + "stairsReluctance": null, + "updaters": null, + "walkSpeed": null, }, - ], - "id": "mock-project-with-deployments-id", - "labels": Array [], - "lastUpdated": 1553236399556, - "name": "mock-project-with-deployments", - "organizationId": null, - "otpServers": Array [], - "pinnedDeploymentId": null, - "routerConfig": Object { - "carDropoffTime": null, - "numItineraries": null, - "requestLogFile": null, - "stairsReluctance": null, - "updaters": null, - "walkSpeed": null, - }, - "useCustomOsmBounds": false, - "user": null, + "useCustomOsmBounds": false, + "user": null, + } } - } - user={ - Object { - "isCheckingLogin": false, - "permissions": UserPermissions { - "appPermissionLookup": Object { - "administer-application": Object { - "type": "administer-application", - }, - }, - "orgPermissionLookup": Object {}, - "organizationLookup": Object {}, - "projectLookup": Object {}, - }, - "profile": Object { - "app_metadata": Object { - "datatools": Array [ - Object { - "client_id": "mock-client-id", - "organizations": Array [], - "permissions": Array [ - Object { - "type": "administer-application", - }, - ], - "projects": Array [], - "subscriptions": Array [], + user={ + Object { + "isCheckingLogin": false, + "permissions": UserPermissions { + "appPermissionLookup": Object { + "administer-application": Object { + "type": "administer-application", }, - ], + }, + "orgPermissionLookup": Object {}, + "organizationLookup": Object {}, + "projectLookup": Object {}, }, - "clientID": "mock-client-id", - "created_at": "2016-03-04T18:59:22.569Z", - "email": "mock-user@conveyal.com", - "email_verified": true, - "identities": Array [ - Object { - "connection": "Username-Password-Authentication", - "isSocial": false, - "provider": "auth0", - "user_id": "12345", + "profile": Object { + "app_metadata": Object { + "datatools": Array [ + Object { + "client_id": "mock-client-id", + "organizations": Array [], + "permissions": Array [ + Object { + "type": "administer-application", + }, + ], + "projects": Array [], + "subscriptions": Array [], + }, + ], }, - ], - "jti": "gibberish", - "last_password_reset": "2017-07-13T13:58:01.021Z", - "name": "mock-user@conveyal.com", - "nickname": "mock-user", - "persistent": Object {}, - "picture": "https://s.gravatar.com/avatar/f8660ca52d1229e3d55e88f2db4affda?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fmu.png", - "sub": "auth0|12345", - "updated_at": "2019-03-21T19:05:30.180Z", - "user_id": "auth0|12345", - "user_metadata": Object { - "datatools": Array [ + "clientID": "mock-client-id", + "created_at": "2016-03-04T18:59:22.569Z", + "email": "mock-user@conveyal.com", + "email_verified": true, + "identities": Array [ Object { - "client_id": "mock-client-id", - "editor": Object { - "map_id": "mapbox.streets", - }, - "hideTutorial": true, - "sidebarExpanded": false, + "connection": "Username-Password-Authentication", + "isSocial": false, + "provider": "auth0", + "user_id": "12345", }, ], - "lang": "en", + "jti": "gibberish", + "last_password_reset": "2017-07-13T13:58:01.021Z", + "name": "mock-user@conveyal.com", + "nickname": "mock-user", + "persistent": Object {}, + "picture": "https://s.gravatar.com/avatar/f8660ca52d1229e3d55e88f2db4affda?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fmu.png", + "sub": "auth0|12345", + "updated_at": "2019-03-21T19:05:30.180Z", + "user_id": "auth0|12345", + "user_metadata": Object { + "datatools": Array [ + Object { + "client_id": "mock-client-id", + "editor": Object { + "map_id": "mapbox.streets", + }, + "hideTutorial": true, + "sidebarExpanded": false, + }, + ], + "lang": "en", + }, }, - }, - "recentActivity": null, - "redirectOnSuccess": null, - "subscriptions": UserSubscriptions { - "subscriptionLookup": Object {}, - }, - "token": "mock-token", + "recentActivity": null, + "redirectOnSuccess": null, + "subscriptions": UserSubscriptions { + "subscriptionLookup": Object {}, + }, + "token": "mock-token", + } } - } - > -
    -

    - - +
    +

    + - test feed with a version - - -

    -
    - Last updated Nov 27, 2018 -
    - -
    + test feed with a version + + +

    +
    + Last updated Nov 27, 2018 +
    + -
    - + + + + + -
    - - +
    + - - - Active - -
    - Valid for another 2 months -
    - (Aug 1, 2019) + + + + Active + +
    + Valid for another 2 months +
    + (Aug 1, 2019) +
    -
    - -
    - + -
    - - +
    + - - - Same as Deployed - -
    - Last updated 5 months ago -
    -
    - -
    - Aug 1, 2018 - - -
    - Aug 1, 2019 -
    - 78 - - + + + Same as Deployed + +
    + Last updated 5 months ago +
    + + +
    + Aug 1, 2018 + - +
    + Aug 1, 2019 +
    + 78 + + manager > FeedSourceTable should render with a project with feeds "stopCount": 237, "stopTimesCount": 11170, "tripCount": 415, - }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, + } } - } - project={ - Object { - "autoDeploy": false, - "autoDeployTypes": Array [], - "autoDeployWithCriticalErrors": false, - "autoFetchFeeds": true, - "autoFetchHour": 0, - "autoFetchMinute": 0, - "bounds": null, - "buildConfig": Object { - "fares": null, - "fetchElevationUS": null, - "stationTransfers": null, - "subwayAccessTime": null, - }, - "dateCreated": 1526305321824, - "defaultTimeZone": null, - "deployments": Array [ - Object { - "customBuildConfig": null, - "customRouterConfig": null, - "dateCreated": 1553292345720, - "deployJobSummaries": Array [], - "deployedTo": null, - "ec2Instances": Array [], - "feedSourceId": null, - "feedVersions": Array [ - Object { - "feedSource": Object { - "dateCreated": 1536195264564, - "deployable": false, - "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", - "externalProperties": Object {}, - "id": "mock-feed-with-version-id", - "isPublic": false, - "labelIds": Array [], - "lastFetched": 1543389038810, - "lastUpdated": 1543389038810, - "latestValidation": Object { + createDeploymentFromFeedSource={[Function]} + createFeedSource={[Function]} + deleteFeedSource={[Function]} + feedSource={ + Object { + "dateCreated": 1536195264564, + "deployable": false, + "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", + "externalProperties": Object {}, + "id": "mock-feed-with-version-id", + "isPublic": false, + "labelIds": Array [], + "lastFetched": 1543389038810, + "lastUpdated": 1543389038810, + "latestValidation": Object { + "agencies": null, + "agencyCount": 1, + "avgDailyRevenueTime": 0, + "bounds": Object { + "east": -76.481211, + "north": 39.0486949672717, + "south": 38.92884, + "west": -76.5673055566884, + }, + "endDate": "20190801", + "errorCount": 78, + "feedVersionId": "mock-feed-version-id", + "loadFailureReason": null, + "loadStatus": "SUCCESS", + "routeCount": 10, + "startDate": "20180801", + "stopCount": 237, + "stopTimesCount": 11170, + "tripCount": 415, + }, + "latestVersionId": "mock-feed-version-id", + "name": "test feed with a version", + "noteCount": 0, + "organizationId": null, + "projectId": "mock-project-id", + "publishedVersionId": null, + "retrievalMethod": "MANUALLY_UPLOADED", + "s3Url": null, + "snapshotVersion": null, + "transformRules": Array [], + "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", + "user": null, + "versionCount": 1, + } + } + project={ + Object { + "autoDeploy": false, + "autoDeployTypes": Array [], + "autoDeployWithCriticalErrors": false, + "autoFetchFeeds": true, + "autoFetchHour": 0, + "autoFetchMinute": 0, + "bounds": null, + "buildConfig": Object { + "fares": null, + "fetchElevationUS": null, + "stationTransfers": null, + "subwayAccessTime": null, + }, + "dateCreated": 1526305321824, + "defaultTimeZone": null, + "deployments": Array [ + Object { + "customBuildConfig": null, + "customRouterConfig": null, + "dateCreated": 1553292345720, + "deployJobSummaries": Array [], + "deployedTo": null, + "ec2Instances": Array [], + "feedSourceId": null, + "feedVersions": Array [ + Object { + "feedSource": Object { + "dateCreated": 1536195264564, + "deployable": false, + "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", + "externalProperties": Object {}, + "id": "mock-feed-with-version-id", + "isPublic": false, + "labelIds": Array [], + "lastFetched": 1543389038810, + "lastUpdated": 1543389038810, + "latestValidation": Object { + "agencies": null, + "agencyCount": 1, + "avgDailyRevenueTime": 0, + "bounds": Object { + "east": -76.481211, + "north": 39.0486949672717, + "south": 38.92884, + "west": -76.5673055566884, + }, + "endDate": "20190801", + "errorCount": 78, + "feedVersionId": "mock-feed-version-id", + "loadFailureReason": null, + "loadStatus": "SUCCESS", + "routeCount": 10, + "startDate": "20180801", + "stopCount": 237, + "stopTimesCount": 11170, + "tripCount": 415, + }, + "latestVersionId": "mock-feed-version-id", + "name": "test feed with a version", + "noteCount": 0, + "organizationId": null, + "projectId": "mock-project-id", + "publishedVersionId": null, + "retrievalMethod": "MANUALLY_UPLOADED", + "s3Url": null, + "snapshotVersion": null, + "transformRules": Array [], + "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", + "user": null, + "versionCount": 1, + }, + "id": "mock-feed-version-id", + "nextVersionId": null, + "previousVersionId": null, + "updated": 1543389038810, + "validationResult": Object { "agencies": null, "agencyCount": 1, "avgDailyRevenueTime": 0, @@ -4608,720 +4462,692 @@ exports[`lib > manager > FeedSourceTable should render with a project with feeds "stopTimesCount": 11170, "tripCount": 415, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, - }, - "id": "mock-feed-version-id", - "nextVersionId": null, - "previousVersionId": null, - "updated": 1543389038810, - "validationResult": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, - }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, + "version": 1, }, - "version": 1, + ], + "id": "mock-deployment-id-0", + "invalidFeedSources": Array [], + "lastDeployed": null, + "lastUpdated": 1553292345726, + "latest": null, + "name": "mock-deployment", + "organizationId": null, + "osmExtractUrl": null, + "otpCommit": null, + "otpVersion": null, + "peliasCsvFiles": Array [], + "peliasResetDb": null, + "peliasUpdate": null, + "peliasWebhookUrl": null, + "pinnedfeedVersionIds": Array [], + "projectBounds": Object { + "east": 0, + "north": 0, + "south": 0, + "west": 0, }, - ], - "id": "mock-deployment-id-0", - "invalidFeedSources": Array [], - "lastDeployed": null, - "lastUpdated": 1553292345726, - "latest": null, - "name": "mock-deployment", - "organizationId": null, - "osmExtractUrl": null, - "otpCommit": null, - "otpVersion": null, - "peliasCsvFiles": Array [], - "peliasResetDb": null, - "peliasUpdate": null, - "peliasWebhookUrl": null, - "pinnedfeedVersionIds": Array [], - "projectBounds": Object { - "east": 0, - "north": 0, - "south": 0, - "west": 0, + "projectId": "mock-project-with-deployments-id", + "routerId": null, + "skipOsmExtract": false, + "tripPlannerVersion": "OTP_1", + "user": null, }, - "projectId": "mock-project-with-deployments-id", - "routerId": null, - "skipOsmExtract": false, - "tripPlannerVersion": "OTP_1", - "user": null, - }, - ], - "feedSources": Array [ - Object { - "dateCreated": 1536195264564, - "deployable": false, - "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", - "externalProperties": Object {}, - "id": "mock-feed-with-version-id", - "isPublic": false, - "labelIds": Array [], - "lastFetched": 1543389038810, - "lastUpdated": 1543389038810, - "latestValidation": Object { - "agencies": null, - "agencyCount": 1, - "avgDailyRevenueTime": 0, - "bounds": Object { - "east": -76.481211, - "north": 39.0486949672717, - "south": 38.92884, - "west": -76.5673055566884, + ], + "feedSources": Array [ + Object { + "dateCreated": 1536195264564, + "deployable": false, + "editorNamespace": "gzek_ztquwiwjmselpeswgbsrre", + "externalProperties": Object {}, + "id": "mock-feed-with-version-id", + "isPublic": false, + "labelIds": Array [], + "lastFetched": 1543389038810, + "lastUpdated": 1543389038810, + "latestValidation": Object { + "agencies": null, + "agencyCount": 1, + "avgDailyRevenueTime": 0, + "bounds": Object { + "east": -76.481211, + "north": 39.0486949672717, + "south": 38.92884, + "west": -76.5673055566884, + }, + "endDate": "20190801", + "errorCount": 78, + "feedVersionId": "mock-feed-version-id", + "loadFailureReason": null, + "loadStatus": "SUCCESS", + "routeCount": 10, + "startDate": "20180801", + "stopCount": 237, + "stopTimesCount": 11170, + "tripCount": 415, }, - "endDate": "20190801", - "errorCount": 78, - "feedVersionId": "mock-feed-version-id", - "loadFailureReason": null, - "loadStatus": "SUCCESS", - "routeCount": 10, - "startDate": "20180801", - "stopCount": 237, - "stopTimesCount": 11170, - "tripCount": 415, + "latestVersionId": "mock-feed-version-id", + "name": "test feed with a version", + "noteCount": 0, + "organizationId": null, + "projectId": "mock-project-id", + "publishedVersionId": null, + "retrievalMethod": "MANUALLY_UPLOADED", + "s3Url": null, + "snapshotVersion": null, + "transformRules": Array [], + "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", + "user": null, + "versionCount": 1, }, - "latestVersionId": "mock-feed-version-id", - "name": "test feed with a version", - "noteCount": 0, - "organizationId": null, - "projectId": "mock-project-id", - "publishedVersionId": null, - "retrievalMethod": "MANUALLY_UPLOADED", - "s3Url": null, - "snapshotVersion": null, - "transformRules": Array [], - "url": "http://mdtrip.org/googletransit/AnnapolisTransit/google_transit.zip", - "user": null, - "versionCount": 1, + ], + "id": "mock-project-with-deployments-id", + "labels": Array [], + "lastUpdated": 1553236399556, + "name": "mock-project-with-deployments", + "organizationId": null, + "otpServers": Array [], + "pinnedDeploymentId": null, + "routerConfig": Object { + "carDropoffTime": null, + "numItineraries": null, + "requestLogFile": null, + "stairsReluctance": null, + "updaters": null, + "walkSpeed": null, }, - ], - "id": "mock-project-with-deployments-id", - "labels": Array [], - "lastUpdated": 1553236399556, - "name": "mock-project-with-deployments", - "organizationId": null, - "otpServers": Array [], - "pinnedDeploymentId": null, - "routerConfig": Object { - "carDropoffTime": null, - "numItineraries": null, - "requestLogFile": null, - "stairsReluctance": null, - "updaters": null, - "walkSpeed": null, - }, - "useCustomOsmBounds": false, - "user": null, + "useCustomOsmBounds": false, + "user": null, + } } - } - runFetchFeed={[Function]} - updateFeedSource={[Function]} - uploadFeed={[Function]} - user={ - Object { - "isCheckingLogin": false, - "permissions": UserPermissions { - "appPermissionLookup": Object { - "administer-application": Object { - "type": "administer-application", - }, - }, - "orgPermissionLookup": Object {}, - "organizationLookup": Object {}, - "projectLookup": Object {}, - }, - "profile": Object { - "app_metadata": Object { - "datatools": Array [ - Object { - "client_id": "mock-client-id", - "organizations": Array [], - "permissions": Array [ - Object { - "type": "administer-application", - }, - ], - "projects": Array [], - "subscriptions": Array [], + runFetchFeed={[Function]} + updateFeedSource={[Function]} + uploadFeed={[Function]} + user={ + Object { + "isCheckingLogin": false, + "permissions": UserPermissions { + "appPermissionLookup": Object { + "administer-application": Object { + "type": "administer-application", }, - ], + }, + "orgPermissionLookup": Object {}, + "organizationLookup": Object {}, + "projectLookup": Object {}, }, - "clientID": "mock-client-id", - "created_at": "2016-03-04T18:59:22.569Z", - "email": "mock-user@conveyal.com", - "email_verified": true, - "identities": Array [ - Object { - "connection": "Username-Password-Authentication", - "isSocial": false, - "provider": "auth0", - "user_id": "12345", + "profile": Object { + "app_metadata": Object { + "datatools": Array [ + Object { + "client_id": "mock-client-id", + "organizations": Array [], + "permissions": Array [ + Object { + "type": "administer-application", + }, + ], + "projects": Array [], + "subscriptions": Array [], + }, + ], }, - ], - "jti": "gibberish", - "last_password_reset": "2017-07-13T13:58:01.021Z", - "name": "mock-user@conveyal.com", - "nickname": "mock-user", - "persistent": Object {}, - "picture": "https://s.gravatar.com/avatar/f8660ca52d1229e3d55e88f2db4affda?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fmu.png", - "sub": "auth0|12345", - "updated_at": "2019-03-21T19:05:30.180Z", - "user_id": "auth0|12345", - "user_metadata": Object { - "datatools": Array [ + "clientID": "mock-client-id", + "created_at": "2016-03-04T18:59:22.569Z", + "email": "mock-user@conveyal.com", + "email_verified": true, + "identities": Array [ Object { - "client_id": "mock-client-id", - "editor": Object { - "map_id": "mapbox.streets", - }, - "hideTutorial": true, - "sidebarExpanded": false, + "connection": "Username-Password-Authentication", + "isSocial": false, + "provider": "auth0", + "user_id": "12345", }, ], - "lang": "en", + "jti": "gibberish", + "last_password_reset": "2017-07-13T13:58:01.021Z", + "name": "mock-user@conveyal.com", + "nickname": "mock-user", + "persistent": Object {}, + "picture": "https://s.gravatar.com/avatar/f8660ca52d1229e3d55e88f2db4affda?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fmu.png", + "sub": "auth0|12345", + "updated_at": "2019-03-21T19:05:30.180Z", + "user_id": "auth0|12345", + "user_metadata": Object { + "datatools": Array [ + Object { + "client_id": "mock-client-id", + "editor": Object { + "map_id": "mapbox.streets", + }, + "hideTutorial": true, + "sidebarExpanded": false, + }, + ], + "lang": "en", + }, }, - }, - "recentActivity": null, - "redirectOnSuccess": null, - "subscriptions": UserSubscriptions { - "subscriptionLookup": Object {}, - }, - "token": "mock-token", + "recentActivity": null, + "redirectOnSuccess": null, + "subscriptions": UserSubscriptions { + "subscriptionLookup": Object {}, + }, + "token": "mock-token", + } } - } - > - - - - -
    - - - - - - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    + + + + Delete + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/package.json b/package.json index 9e7d236f9..b87faf278 100644 --- a/package.json +++ b/package.json @@ -117,12 +117,12 @@ "validator": "13.7.0" }, "devDependencies": { + "@wojtekmaj/enzyme-adapter-react-17": "^0.6.6", "aggregate-error": "^3.0.0", "archiver": "^3.1.1", "auto-promised": "^0.0.3", "cross-env": "^5.2.0", - "enzyme": "^3.9.0", - "enzyme-adapter-react-15.4": "^1.3.1", + "enzyme": "^3.11.0", "enzyme-to-json": "^3.3.5", "execa": "^2.0.4", "express": "^4.16.4", diff --git a/yarn.lock b/yarn.lock index 2ee96d38b..1a44cd2c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1407,7 +1407,7 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== -"@types/node@*", "@types/node@>= 8": +"@types/node@>= 8": version "14.14.8" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.8.tgz#2127bd81949a95c8b7d3240f3254352d72563aec" integrity sha512-z/5Yd59dCKI5kbxauAJgw6dLPzW+TNOItNE00PkpzNwUIEwdj/Lsqwq94H5DdYBX7C13aRA0CY32BK76+neEUA== @@ -1469,6 +1469,28 @@ lodash.unescape "4.0.1" semver "5.5.0" +"@wojtekmaj/enzyme-adapter-react-17@^0.6.6": + version "0.6.6" + resolved "https://registry.yarnpkg.com/@wojtekmaj/enzyme-adapter-react-17/-/enzyme-adapter-react-17-0.6.6.tgz#2ee3d4956caea4de05e372e5d9f39b31becffe6a" + integrity sha512-gSfhg8CiL0Vwc2UgUblGVZIy7M0KyXaZsd8+QwzV8TSVRLkGyzdLtYEcs9wRWyQTsdmOd+oRGqbVgUX7AVJxug== + dependencies: + "@wojtekmaj/enzyme-adapter-utils" "^0.1.2" + enzyme-shallow-equal "^1.0.0" + has "^1.0.0" + prop-types "^15.7.0" + react-is "^17.0.0" + react-test-renderer "^17.0.0" + +"@wojtekmaj/enzyme-adapter-utils@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@wojtekmaj/enzyme-adapter-utils/-/enzyme-adapter-utils-0.1.2.tgz#82b81801e234b8f1febde91b243aaa8c5ba4aaa9" + integrity sha512-MM/DqDqvxNVlWLqSVQiUbRN9MuDLJfefmPbJ8ZKdmdf5ID8G+i42XhFpoQh5bAZUCdwzRae3+WSZl2lXcFOrhw== + dependencies: + function.prototype.name "^1.1.0" + has "^1.0.0" + object.fromentries "^2.0.0" + prop-types "^15.7.0" + JSONStream@^1.0.3, JSONStream@^1.0.4, JSONStream@^1.3.4, JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -1591,27 +1613,6 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^3.2.0" -airbnb-js-shims@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-2.1.1.tgz#a509611480db7e6d9db62fe2acfaeb473b6842ac" - integrity sha512-h8UtyB/TCdOwWoEPQJGHgsWwSnTqPrRZbhyZYjAwY9/AbjdjfkKy9L/T3fIFS6MKX8YrpWFRm6xqFSgU+2DRGw== - dependencies: - array-includes "^3.0.3" - array.prototype.flat "^1.2.1" - array.prototype.flatmap "^1.2.1" - es5-shim "^4.5.10" - es6-shim "^0.35.3" - function.prototype.name "^1.1.0" - object.entries "^1.0.4" - object.fromentries "^1.0.0" - object.getownpropertydescriptors "^2.0.3" - object.values "^1.0.4" - promise.prototype.finally "^3.1.0" - string.prototype.matchall "^3.0.0" - string.prototype.padend "^3.0.0" - string.prototype.padstart "^3.0.0" - symbol.prototype.description "^1.0.0" - airbnb-prop-types@^2.16.0: version "2.16.0" resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz#b96274cefa1abb14f623f804173ee97c13971dc2" @@ -1683,7 +1684,7 @@ ansi-regex@^0.2.0, ansi-regex@^0.2.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" integrity sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk= -ansi-regex@^2.0.0, ansi-regex@^2.1.1: +ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= @@ -1864,11 +1865,6 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= -array-filter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" - integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= - array-filter@~0.0.0: version "0.0.1" resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" @@ -1922,6 +1918,17 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.filter@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.1.tgz#20688792acdb97a09488eaaee9eebbf3966aae21" + integrity sha512-Dk3Ty7N42Odk7PjU/Ci3zT4pLj20YvuVnneG/58ICM6bt4Ij5kZaJTVQ9TSaWaIECX2sFyz4KItkVZqHNnciqw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + array.prototype.find@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.0.tgz#56a9ab1edde2a7701ed6d9166acec338919d8430" @@ -1939,23 +1946,14 @@ array.prototype.find@^2.1.1: define-properties "^1.1.3" es-abstract "^1.19.0" -array.prototype.flat@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4" - integrity sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw== - dependencies: - define-properties "^1.1.2" - es-abstract "^1.10.0" - function-bind "^1.1.1" - -array.prototype.flatmap@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.1.tgz#3103cd4826ef90019c9b0a4839b2535fa6faf4e9" - integrity sha512-i18e2APdsiezkcqDyZor78Pbfjfds3S94dG6dgIV2ZASJaUf1N0dz2tGdrmwrmlZuNUgxH+wz6Z0zYVH2c5xzQ== +array.prototype.flat@^1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== dependencies: - define-properties "^1.1.2" - es-abstract "^1.10.0" - function-bind "^1.1.1" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" arrify@^1.0.1: version "1.0.1" @@ -2245,7 +2243,7 @@ babel-plugin-react-require@^3.1.1: resolved "https://registry.yarnpkg.com/babel-plugin-react-require/-/babel-plugin-react-require-3.1.1.tgz#5c3d2564fa16b1e45212ed52519db147b1596106" integrity sha512-XFz+B0dWx41fnGnugzCWn5rOgrDHb150N5gFhUfO3BgYDCT25o4sofRtd9uUfqUHoRu+t4/r5Cr2RMPIKuCt2g== -babel-polyfill@^6.16.0, babel-polyfill@^6.26.0: +babel-polyfill@^6.16.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM= @@ -3007,17 +3005,29 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= -cheerio@^1.0.0-rc.2: - version "1.0.0-rc.2" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db" - integrity sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs= - dependencies: - css-select "~1.2.0" - dom-serializer "~0.1.0" - entities "~1.1.1" - htmlparser2 "^3.9.1" - lodash "^4.15.0" - parse5 "^3.0.1" +cheerio-select@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.5.0.tgz#faf3daeb31b17c5e1a9dabcee288aaf8aafa5823" + integrity sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg== + dependencies: + css-select "^4.1.3" + css-what "^5.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + domutils "^2.7.0" + +cheerio@^1.0.0-rc.3: + version "1.0.0-rc.10" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.10.tgz#2ba3dcdfcc26e7956fc1f440e61d51c643379f3e" + integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw== + dependencies: + cheerio-select "^1.5.0" + dom-serializer "^1.3.2" + domhandler "^4.2.0" + htmlparser2 "^6.1.0" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + tslib "^2.2.0" chokidar@^2.0.4, chokidar@^2.1.1, chokidar@^2.1.2: version "2.1.6" @@ -3098,18 +3108,6 @@ cli-boxes@^1.0.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= -cli-color@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f" - integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w== - dependencies: - ansi-regex "^2.1.1" - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - memoizee "^0.4.14" - timers-ext "^0.1.5" - cli-columns@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-3.1.2.tgz#6732d972979efc2ae444a1f08e08fa139c96a18e" @@ -3328,11 +3326,6 @@ commander@^2.11.0, commander@^2.19.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== -commander@^2.9.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" @@ -3843,15 +3836,16 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" -css-select@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= +css-select@^4.1.3: + version "4.2.1" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" + integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" + boolbase "^1.0.0" + css-what "^5.1.0" + domhandler "^4.3.0" + domutils "^2.8.0" + nth-check "^2.0.1" css-tree@1.0.0-alpha.29: version "1.0.0-alpha.29" @@ -3874,11 +3868,16 @@ css-unit-converter@^1.1.1: resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= -css-what@2.1, css-what@^2.1.2: +css-what@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== +css-what@^5.0.1, css-what@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== + cssdb@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" @@ -4004,13 +4003,6 @@ cz-conventional-changelog@2.1.0, cz-conventional-changelog@^2.1.0: right-pad "^1.0.1" word-wrap "^1.0.3" -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= - dependencies: - es5-ext "^0.10.9" - damerau-levenshtein@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" @@ -4390,7 +4382,7 @@ dom-helpers@^5.1.3: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -dom-serializer@0, dom-serializer@~0.1.0: +dom-serializer@0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== @@ -4398,16 +4390,30 @@ dom-serializer@0, dom-serializer@~0.1.0: domelementtype "^1.3.0" entities "^1.1.1" +dom-serializer@^1.0.1, dom-serializer@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + domain-browser@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: +domelementtype@1, domelementtype@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" @@ -4415,27 +4421,19 @@ domexception@^1.0.1: dependencies: webidl-conversions "^4.0.2" -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" + integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== dependencies: - domelementtype "1" + domelementtype "^2.2.0" dompurify@^2.2.8: version "2.2.9" resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.9.tgz#4b42e244238032d9286a0d2c87b51313581d9624" integrity sha512-+9MqacuigMIZ+1+EwoEltogyWGFTJZWU3258Rupxs+2CGs4H914G9er6pZbsme/bvb5L67o2rade9n21e4RW/w== -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: +domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== @@ -4443,6 +4441,15 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" +domutils@^2.5.2, domutils@^2.7.0, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + dot-prop@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" @@ -4578,11 +4585,16 @@ enquirer@^2.3.6: dependencies: ansi-colors "^4.1.1" -entities@^1.1.1, entities@~1.1.1: +entities@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + env-ci@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/env-ci/-/env-ci-5.0.2.tgz#48b6687f8af8cdf5e31b8fcf2987553d085249d9" @@ -4604,18 +4616,6 @@ envify@^4.1.0: esprima "^4.0.0" through "~2.3.4" -enzyme-adapter-react-15.4@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/enzyme-adapter-react-15.4/-/enzyme-adapter-react-15.4-1.3.1.tgz#20f0783c0313252b708a97804a58841c68382757" - integrity sha512-LeKPUv0Yf0Qel7C4CkvGwCke7QV2nYdoUF3xKSeA8YRYoZp7Rr8mDlVTmmviAI4gRyMpRfpKoUR9JjT1hu7QLA== - dependencies: - enzyme-adapter-react-helper "^1.3.2" - enzyme-adapter-utils "^1.10.1" - object.assign "^4.1.0" - object.values "^1.1.0" - prop-types "^15.7.2" - react-is "^16.8.4" - enzyme-adapter-react-16@^1.2.0: version "1.15.6" resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz#fd677a658d62661ac5afd7f7f541f141f8085901" @@ -4631,30 +4631,6 @@ enzyme-adapter-react-16@^1.2.0: react-test-renderer "^16.0.0-0" semver "^5.7.0" -enzyme-adapter-react-helper@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/enzyme-adapter-react-helper/-/enzyme-adapter-react-helper-1.3.3.tgz#355e46fa43bc2b27aa88ee314dd979add2c353e2" - integrity sha512-fc9oeQtns3LjYXWKLDPtyvlkt7nkuCwEfO4iCTvfreRQi8v0BLh7/h0zYDcz+7ghquuga0g2BQd8TeWwb7hwKQ== - dependencies: - airbnb-js-shims "^2.1.1" - install-peerdeps "^1.10.2" - npm-run "^5.0.1" - object.assign "^4.1.0" - object.getownpropertydescriptors "^2.0.3" - rimraf "^2.6.3" - semver "^5.6.0" - -enzyme-adapter-utils@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.10.1.tgz#58264efa19a7befdbf964fb7981a108a5452ac96" - integrity sha512-oasinhhLoBuZsIkTe8mx0HiudtfErUtG0Ooe1FOplu/t4c9rOmyG5gtrBASK6u4whHIRWvv0cbZMElzNTR21SA== - dependencies: - function.prototype.name "^1.1.0" - object.assign "^4.1.0" - object.fromentries "^2.0.0" - prop-types "^15.7.2" - semver "^5.6.0" - enzyme-adapter-utils@^1.14.0: version "1.14.0" resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz#afbb0485e8033aa50c744efb5f5711e64fbf1ad0" @@ -4668,7 +4644,7 @@ enzyme-adapter-utils@^1.14.0: prop-types "^15.7.2" semver "^5.7.1" -enzyme-shallow-equal@^1.0.4: +enzyme-shallow-equal@^1.0.0, enzyme-shallow-equal@^1.0.1, enzyme-shallow-equal@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz#b9256cb25a5f430f9bfe073a84808c1d74fced2e" integrity sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q== @@ -4683,32 +4659,33 @@ enzyme-to-json@^3.3.5: dependencies: lodash "^4.17.4" -enzyme@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.9.0.tgz#2b491f06ca966eb56b6510068c7894a7e0be3909" - integrity sha512-JqxI2BRFHbmiP7/UFqvsjxTirWoM1HfeaJrmVSZ9a1EADKkZgdPcAuISPMpoUiHlac9J4dYt81MC5BBIrbJGMg== +enzyme@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.11.0.tgz#71d680c580fe9349f6f5ac6c775bc3e6b7a79c28" + integrity sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw== dependencies: - array.prototype.flat "^1.2.1" - cheerio "^1.0.0-rc.2" - function.prototype.name "^1.1.0" + array.prototype.flat "^1.2.3" + cheerio "^1.0.0-rc.3" + enzyme-shallow-equal "^1.0.1" + function.prototype.name "^1.1.2" has "^1.0.3" - html-element-map "^1.0.0" - is-boolean-object "^1.0.0" - is-callable "^1.1.4" - is-number-object "^1.0.3" - is-regex "^1.0.4" - is-string "^1.0.4" + html-element-map "^1.2.0" + is-boolean-object "^1.0.1" + is-callable "^1.1.5" + is-number-object "^1.0.4" + is-regex "^1.0.5" + is-string "^1.0.5" is-subset "^0.1.1" lodash.escape "^4.0.1" lodash.isequal "^4.5.0" - object-inspect "^1.6.0" - object-is "^1.0.1" + object-inspect "^1.7.0" + object-is "^1.0.2" object.assign "^4.1.0" - object.entries "^1.0.4" - object.values "^1.0.4" - raf "^3.4.0" + object.entries "^1.1.1" + object.values "^1.1.1" + raf "^3.4.1" rst-selector-parser "^2.2.3" - string.prototype.trim "^1.1.2" + string.prototype.trim "^1.2.1" err-code@^1.0.0: version "1.1.2" @@ -4741,7 +4718,7 @@ errorify@^0.3.1: resolved "https://registry.yarnpkg.com/errorify/-/errorify-0.3.1.tgz#53e0aaeeb18adc3e55f9f1eb4e2d95929f41b79b" integrity sha1-U+Cq7rGK3D5V+fHrTi2Vkp9Bt5s= -es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.4.3, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0, es-abstract@^1.9.0: +es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== @@ -4779,6 +4756,11 @@ es-abstract@^1.19.0, es-abstract@^1.19.1: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + es-to-primitive@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" @@ -4797,29 +4779,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.49" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.49.tgz#059a239de862c94494fec28f8150c977028c6c5e" - integrity sha512-3NMEhi57E31qdzmYp2jwRArIUsj1HI/RxbQ4bgnSB+AIKIxsAmTiK83bYMifIcpWvEc3P1X30DhUKOqEtF/kvg== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "^1.0.0" - -es5-shim@^4.5.10: - version "4.5.12" - resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.12.tgz#508c13dda1c87dd3df1b50e69e7b96b82149b649" - integrity sha512-MjoCAHE6P2Dirme70Cxd9i2Ng8rhXiaVSsxDWdSwimfLERJL/ypR2ed2rTYkeeYrMk8gq281dzKLiGcdrmc8qg== - -es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - es6-promise@^4.0.3, es6-promise@^4.1.1, es6-promise@^4.2.8: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" @@ -4842,29 +4801,6 @@ es6-promisify@^6.0.0: resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.0.1.tgz#6edaa45f3bd570ffe08febce66f7116be4b1cdb6" integrity sha512-J3ZkwbEnnO+fGAKrjVpeUAnZshAdfZvbhQpqfIH9kSAspReRC4nJnu8ewm55b4y9ElyeuhCTzJD0XiH8Tsbhlw== -es6-shim@^0.35.3: - version "0.35.5" - resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.5.tgz#46f59dc0a84a1c5029e8ff1166ca0a902077a9ab" - integrity sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg== - -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" - integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - integrity sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8= - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5165,14 +5101,6 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= - dependencies: - d "1" - es5-ext "~0.10.14" - events@1.1.1, events@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" @@ -5869,21 +5797,12 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -function-bind@^1.0.2, function-bind@^1.1.1: +function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -function.prototype.name@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" - integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - is-callable "^1.1.3" - -function.prototype.name@^1.1.2, function.prototype.name@^1.1.3: +function.prototype.name@^1.1.0, function.prototype.name@^1.1.2, function.prototype.name@^1.1.3: version "1.1.5" resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== @@ -6493,12 +6412,13 @@ html-comment-regex@^1.1.0: resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== -html-element-map@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.0.1.tgz#3c4fcb4874ebddfe4283b51c8994e7713782b592" - integrity sha512-BZSfdEm6n706/lBfXKWa4frZRZcT5k1cOusw95ijZsHlI+GdgY0v95h6IzO3iIDf2ROwq570YTwqNPqHcNMozw== +html-element-map@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.3.1.tgz#44b2cbcfa7be7aa4ff59779e47e51012e1c73c08" + integrity sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg== dependencies: - array-filter "^1.0.0" + array.prototype.filter "^1.0.0" + call-bind "^1.0.2" html-encoding-sniffer@^1.0.2: version "1.0.2" @@ -6512,17 +6432,15 @@ htmlescape@^1.1.0: resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" integrity sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E= -htmlparser2@^3.9.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" http-cache-semantics@^3.8.1: version "3.8.1" @@ -6581,7 +6499,7 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -https-proxy-agent@^2.2.1, https-proxy-agent@^2.2.3: +https-proxy-agent@^2.2.3: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== @@ -6894,20 +6812,6 @@ insert-module-globals@^7.0.0: undeclared-identifiers "^1.1.2" xtend "^4.0.0" -install-peerdeps@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/install-peerdeps/-/install-peerdeps-1.10.2.tgz#b244563d1ead9229d9520729dbb015122e0382c5" - integrity sha512-cnEy9kfGB8SlxyQFGa7+uKk+PvrD/NTKjn5Emg/+kKBIF7AXxFgTWOHwUhQNbZnauuPuVCtZnap6d3ADYis8FA== - dependencies: - babel-polyfill "^6.26.0" - cli-color "^1.2.0" - commander "^2.11.0" - https-proxy-agent "^2.2.1" - promptly "^2.1.0" - request "^2.83.0" - request-promise-native "^1.0.5" - semver "^5.5.0" - internal-ip@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27" @@ -7018,12 +6922,7 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-boolean-object@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93" - integrity sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M= - -is-boolean-object@^1.1.0: +is-boolean-object@^1.0.1, is-boolean-object@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== @@ -7041,12 +6940,12 @@ is-buffer@~2.0.3: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== -is-callable@^1.1.3, is-callable@^1.1.4: +is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== -is-callable@^1.2.4: +is-callable@^1.1.5, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== @@ -7211,11 +7110,6 @@ is-npm@^1.0.0: resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= -is-number-object@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" - integrity sha1-8mWrian0RQNO9q/xWo8AsA9VF5k= - is-number-object@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" @@ -7274,7 +7168,7 @@ is-plain-object@^5.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-promise@^2.1, is-promise@^2.1.0: +is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= @@ -7291,7 +7185,7 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" -is-regex@^1.1.0, is-regex@^1.1.4: +is-regex@^1.0.5, is-regex@^1.1.0, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -7329,11 +7223,6 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-string@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64" - integrity sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ= - is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -8800,13 +8689,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-queue@0.1: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= - dependencies: - es5-ext "~0.10.2" - make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -9053,20 +8935,6 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" -memoizee@^0.4.14: - version "0.4.14" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57" - integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg== - dependencies: - d "1" - es5-ext "^0.10.45" - es6-weak-map "^2.0.2" - event-emitter "^0.3.5" - is-promise "^2.1" - lru-queue "0.1" - next-tick "1" - timers-ext "^0.1.5" - meow@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" @@ -9521,11 +9389,6 @@ nerf-dart@^1.0.0: resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a" integrity sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo= -next-tick@1, next-tick@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -9769,13 +9632,6 @@ npm-packlist@^1.1.12, npm-packlist@^1.1.6, npm-packlist@^1.4.8: npm-bundled "^1.0.1" npm-normalize-package-bin "^1.0.1" -npm-path@^2.0.2, npm-path@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" - integrity sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw== - dependencies: - which "^1.2.10" - npm-pick-manifest@^3.0.0, npm-pick-manifest@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7" @@ -9828,30 +9684,11 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npm-run@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/npm-run/-/npm-run-5.0.1.tgz#1baea93389b50ae25a32382c8ca322398e50cd16" - integrity sha512-s7FyRpHUgaJfzkRgOnevX8rAWWsv1dofY1XS7hliWCF6LSQh+HtDfBvpigPS1krLvXw+Fi17CYMY8mUtblnyWw== - dependencies: - minimist "^1.2.0" - npm-path "^2.0.4" - npm-which "^3.0.1" - serializerr "^1.0.3" - npm-user-validate@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.0.tgz#8ceca0f5cea04d4e93519ef72d0557a75122e951" integrity sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE= -npm-which@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" - integrity sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo= - dependencies: - commander "^2.9.0" - npm-path "^2.0.2" - which "^1.2.10" - npm@^6.14.8: version "6.14.8" resolved "https://registry.yarnpkg.com/npm/-/npm-6.14.8.tgz#64ef754345639bc035982ec3f609353c8539033c" @@ -9983,13 +9820,20 @@ npmlog@^4.0.2, npmlog@^4.1.2, npmlog@~4.1.2: gauge "~2.7.3" set-blocking "~2.0.0" -nth-check@^1.0.2, nth-check@~1.0.1: +nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" +nth-check@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + dependencies: + boolbase "^1.0.0" + num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -10029,27 +9873,17 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.11.0: +object-inspect@^1.11.0, object-inspect@^1.7.0: version "1.12.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== -object-inspect@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== - object-inspect@^1.9.0: version "1.10.3" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== -object-is@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" - integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= - -object-is@^1.1.2: +object-is@^1.0.2, object-is@^1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== @@ -10094,7 +9928,7 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.0.4, object.entries@^1.1.0: +object.entries@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== @@ -10104,7 +9938,7 @@ object.entries@^1.0.4, object.entries@^1.1.0: function-bind "^1.1.1" has "^1.0.3" -object.entries@^1.1.2: +object.entries@^1.1.1, object.entries@^1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== @@ -10113,16 +9947,6 @@ object.entries@^1.1.2: define-properties "^1.1.3" es-abstract "^1.19.1" -object.fromentries@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-1.0.0.tgz#e90ec27445ec6e37f48be9af9077d9aa8bef0d40" - integrity sha512-F7XUm84lg0uNXNzrRAC5q8KJe0yYaxgLU9hTSqWYM6Rfnh0YjP24EG3xq7ncj2Wu1AdfueNHKCOlamIonG4UHQ== - dependencies: - define-properties "^1.1.2" - es-abstract "^1.11.0" - function-bind "^1.1.1" - has "^1.0.1" - object.fromentries@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" @@ -10157,7 +9981,7 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.0.4, object.values@^1.1.0: +object.values@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== @@ -10167,7 +9991,7 @@ object.values@^1.0.4, object.values@^1.1.0: function-bind "^1.1.1" has "^1.0.3" -object.values@^1.1.2: +object.values@^1.1.1, object.values@^1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== @@ -10563,17 +10387,22 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= +parse5-htmlparser2-tree-adapter@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== -parse5@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" - integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA== - dependencies: - "@types/node" "*" +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parsedbf@^1.0.0: version "1.0.0" @@ -11545,15 +11374,6 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" -promise.prototype.finally@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz#66f161b1643636e50e7cf201dc1b84a857f3864e" - integrity sha512-7p/K2f6dI+dM8yjRQEGrTQs5hTQixUAdOGpMEA3+pVxpX5oHKRSKAXyLw9Q9HUWDTdwtoo39dSHGQtN90HcEwQ== - dependencies: - define-properties "^1.1.2" - es-abstract "^1.9.0" - function-bind "^1.1.1" - promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" @@ -11561,13 +11381,6 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -promptly@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/promptly/-/promptly-2.2.0.tgz#2a13fa063688a2a5983b161fff0108a07d26fc74" - integrity sha1-KhP6BjaIoqWYOxYf/wEIoH0m/HQ= - dependencies: - read "^1.0.4" - prompts@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" @@ -11609,6 +11422,15 @@ prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, object-assign "^4.1.1" react-is "^16.8.1" +prop-types@^15.7.0: + version "15.8.0" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.0.tgz#d237e624c45a9846e469f5f31117f970017ff588" + integrity sha512-fDGekdaHh65eI3lMi5OnErU6a8Ighg2KjcjQxO7m8VHyWjcPyj5kiOgV1LQDOOOgVy3+5FgjXvdSSX7B8/5/4g== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + propagate@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/propagate/-/propagate-1.0.0.tgz#00c2daeedda20e87e3782b344adba1cddd6ad709" @@ -11619,11 +11441,6 @@ proto-list@~1.2.1: resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= -protochain@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/protochain/-/protochain-1.0.5.tgz#991c407e99de264aadf8f81504b5e7faf7bfa260" - integrity sha1-mRxAfpneJkqt+PgVBLXn+ve/omA= - protoduck@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" @@ -11806,7 +11623,7 @@ qw@~1.0.1: resolved "https://registry.yarnpkg.com/qw/-/qw-1.0.1.tgz#efbfdc740f9ad054304426acb183412cc8b996d4" integrity sha1-77/cdA+a0FQwRCassYNBLMi5ltQ= -raf@^3.4.0: +raf@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== @@ -12081,6 +11898,11 @@ react-is@^16.12.0, react-is@^16.13.0, react-is@^16.13.1, react-is@^16.3.2, react resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +"react-is@^16.12.0 || ^17.0.0", react-is@^17.0.0, react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4: version "16.11.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" @@ -12218,6 +12040,14 @@ react-select@1.x, react-select@^1.0.0-rc.2: prop-types "^15.5.8" react-input-autosize "^2.1.2" +react-shallow-renderer@^16.13.1: + version "16.14.1" + resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.14.1.tgz#bf0d02df8a519a558fd9b8215442efa5c840e124" + integrity sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg== + dependencies: + object-assign "^4.1.1" + react-is "^16.12.0 || ^17.0.0" + react-test-renderer@^16.0.0-0: version "16.14.0" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.14.0.tgz#e98360087348e260c56d4fe2315e970480c228ae" @@ -12228,6 +12058,16 @@ react-test-renderer@^16.0.0-0: react-is "^16.8.6" scheduler "^0.19.1" +react-test-renderer@^17.0.0: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-17.0.2.tgz#4cd4ae5ef1ad5670fc0ef776e8cc7e1231d9866c" + integrity sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ== + dependencies: + object-assign "^4.1.1" + react-is "^17.0.2" + react-shallow-renderer "^16.13.1" + scheduler "^0.20.2" + react-toastify@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-5.1.0.tgz#aefe1f084bf4733f083423f013d24242cb63c482" @@ -12456,7 +12296,7 @@ read-pkg@^5.0.0, read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -read@1, read@^1.0.4, read@~1.0.1, read@~1.0.7: +read@1, read@~1.0.1, read@~1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= @@ -12703,13 +12543,6 @@ regexp-tree@^0.1.6: resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg== -regexp.prototype.flags@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" - integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA== - dependencies: - define-properties "^1.1.2" - regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -12806,7 +12639,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.72.0, request@^2.74.0, request@^2.83.0, request@^2.87.0, request@^2.88.0: +request@^2.72.0, request@^2.74.0, request@^2.87.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== @@ -13248,13 +13081,6 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" -serializerr@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/serializerr/-/serializerr-1.0.3.tgz#12d4c5aa1c3ffb8f6d1dc5f395aa9455569c3f91" - integrity sha1-EtTFqhw/+49tHcXzlaqUVVacP5E= - dependencies: - protochain "^1.0.5" - serve-static@1.13.2: version "1.13.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" @@ -13887,43 +13713,14 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-3.0.1.tgz#5a9e0b64bcbeb336aa4814820237c2006985646d" - integrity sha512-NSiU0ILQr9PQ1SZmM1X327U5LsM+KfDTassJfqN1al1+0iNpKzmQ4BfXOJwRnTEqv8nKJ67mFpqRoPaGWwvy5A== +string.prototype.trim@^1.2.1: + version "1.2.5" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz#a587bcc8bfad8cb9829a577f5de30dd170c1682c" + integrity sha512-Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has-symbols "^1.0.0" - regexp.prototype.flags "^1.2.0" - -string.prototype.padend@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" - integrity sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.4.3" - function-bind "^1.0.2" - -string.prototype.padstart@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz#5bcfad39f4649bb2d031292e19bcf0b510d4b242" - integrity sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.4.3" - function-bind "^1.0.2" - -string.prototype.trim@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" - integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.0" - function-bind "^1.0.2" + es-abstract "^1.19.1" string.prototype.trimend@^1.0.4: version "1.0.4" @@ -14161,13 +13958,6 @@ symbol-tree@^3.2.2: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -symbol.prototype.description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/symbol.prototype.description/-/symbol.prototype.description-1.0.0.tgz#6e355660eb1e44ca8ad53a68fdb72ef131ca4b12" - integrity sha512-I9mrbZ5M96s7QeJDv95toF1svkUjeBybe8ydhY7foPaBmr0SPJMFupArmMkDrOKTTj0sJVr+nvQNxWLziQ7nDQ== - dependencies: - has-symbols "^1.0.0" - syntax-error@^1.1.1: version "1.4.0" resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.4.0.tgz#2d9d4ff5c064acb711594a3e3b95054ad51d907c" @@ -14378,14 +14168,6 @@ timers-browserify@^1.0.1: dependencies: process "~0.11.0" -timers-ext@^0.1.5: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - timsort@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" @@ -14554,6 +14336,11 @@ tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tslib@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + tty-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" @@ -15252,7 +15039,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.1.1, which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@^1.1.1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== From b345c0b957079b0a198d667e990212219654b92d Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Fri, 31 Dec 2021 12:44:03 +0100 Subject: [PATCH 008/639] test: update flowconfig for react-leaflet upgrade --- .flowconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/.flowconfig b/.flowconfig index af233d406..71a459f73 100644 --- a/.flowconfig +++ b/.flowconfig @@ -7,6 +7,7 @@ .*/node_modules/nock/node_modules/changelog/examples/.* .*/node_modules/npmconf/.* .*/node_modules/react-leaflet/src/.* +.*/node_modules/react-leaflet/lib/*.*\.js\.flow .*/node_modules/reqwest/.* .*/node_modules/module-deps/test/invalid_pkg/package.json .*/node_modules/immutable/dist/immutable.js.flow From eddda6cd71666bb6cac5b07c45a3b823174689bc Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Fri, 31 Dec 2021 12:44:22 +0100 Subject: [PATCH 009/639] test: use updated enzyme adapter --- __tests__/test-utils/mock-data/store.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/__tests__/test-utils/mock-data/store.js b/__tests__/test-utils/mock-data/store.js index a99f04611..e59464c12 100644 --- a/__tests__/test-utils/mock-data/store.js +++ b/__tests__/test-utils/mock-data/store.js @@ -4,7 +4,7 @@ import multi from '@conveyal/woonerf/store/multi' import promise from '@conveyal/woonerf/store/promise' import {middleware as fetchMiddleware} from '@conveyal/woonerf/fetch' import Enzyme, {mount} from 'enzyme' -import EnzymeReactAdapter from 'enzyme-adapter-react-15.4' +import EnzymeReactAdapter from '@wojtekmaj/enzyme-adapter-react-17' import {mountToJson} from 'enzyme-to-json' import clone from 'lodash/cloneDeep' import {get} from 'object-path' @@ -43,10 +43,10 @@ import {defaultState as defaultManagerProjectsState} from '../../../lib/manager/ import {defaultState as defaultManagerStatusState} from '../../../lib/manager/reducers/status' import {defaultState as defaultManagerUiState} from '../../../lib/manager/reducers/ui' import {defaultState as defaultManagerUserState} from '../../../lib/manager/reducers/user' -import * as manager from './manager' - import type {AppState} from '../../../lib/types/reducers' +import * as manager from './manager' + Enzyme.configure({ adapter: new EnzymeReactAdapter() }) const defaultManagerState = { From 7d04f9b6ba54b000141ab9c713d50966415a620f Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Fri, 31 Dec 2021 14:54:44 +0100 Subject: [PATCH 010/639] refactor: revert to react-bootstrap-datetimepicker using custom patch --- lib/admin/components/OrganizationSettings.js | 2 +- lib/alerts/components/AlertEditor.js | 2 +- lib/editor/components/EditorInput.js | 2 +- lib/editor/components/ExceptionDate.js | 2 +- lib/index.css | 2 +- lib/manager/components/ProjectSettingsForm.js | 2 +- .../reporter/components/DateTimeFilter.js | 2 +- package.json | 2 +- yarn.lock | 30 ++++++++++++++----- 9 files changed, 30 insertions(+), 16 deletions(-) diff --git a/lib/admin/components/OrganizationSettings.js b/lib/admin/components/OrganizationSettings.js index e25067094..d9f564593 100644 --- a/lib/admin/components/OrganizationSettings.js +++ b/lib/admin/components/OrganizationSettings.js @@ -2,7 +2,7 @@ import React, {Component} from 'react' import { ControlLabel, FormControl, FormGroup, Radio, Row, Col } from 'react-bootstrap' -import DateTimeField from 'react-datetime' +import DateTimeField from 'react-bootstrap-datetimepicker' import Select from 'react-select' import moment from 'moment' diff --git a/lib/alerts/components/AlertEditor.js b/lib/alerts/components/AlertEditor.js index 588d6d911..833f08298 100644 --- a/lib/alerts/components/AlertEditor.js +++ b/lib/alerts/components/AlertEditor.js @@ -4,7 +4,7 @@ import Icon from '@conveyal/woonerf/components/icon' import moment from 'moment' import React, {Component} from 'react' import {Grid, Row, Col, ButtonToolbar, Button, FormControl, ControlLabel, FormGroup} from 'react-bootstrap' -import DateTimeField from 'react-datetime' +import DateTimeField from 'react-bootstrap-datetimepicker' import {browserHistory} from 'react-router' import Toggle from 'react-toggle' diff --git a/lib/editor/components/EditorInput.js b/lib/editor/components/EditorInput.js index e7ae0aedc..eb787c0c0 100644 --- a/lib/editor/components/EditorInput.js +++ b/lib/editor/components/EditorInput.js @@ -4,7 +4,7 @@ import React, {Component} from 'react' import {Checkbox, FormControl, FormGroup, ControlLabel, Tooltip, OverlayTrigger} from 'react-bootstrap' import Select from 'react-select' import moment from 'moment' -import DateTimeField from 'react-datetime' +import DateTimeField from 'react-bootstrap-datetimepicker' import Dropzone from 'react-dropzone' import * as activeActions from '../actions/active' diff --git a/lib/editor/components/ExceptionDate.js b/lib/editor/components/ExceptionDate.js index d89b07da5..2eb6df0b8 100644 --- a/lib/editor/components/ExceptionDate.js +++ b/lib/editor/components/ExceptionDate.js @@ -3,7 +3,7 @@ import Icon from '@conveyal/woonerf/components/icon' import React, {Component} from 'react' import {Button} from 'react-bootstrap' -import DateTimeField from 'react-datetime' +import DateTimeField from 'react-bootstrap-datetimepicker' import moment from 'moment' import {updateActiveGtfsEntity} from '../actions/active' diff --git a/lib/index.css b/lib/index.css index 5039a9d52..61f70818e 100644 --- a/lib/index.css +++ b/lib/index.css @@ -7,7 +7,7 @@ @import url(node_modules/bootstrap/dist/css/bootstrap.min.css); @import url(node_modules/react-bootstrap-table/dist/react-bootstrap-table.min.css); -@import url(node_modules/react-datetime/css/react-datetime.css); +@import url(node_modules/react-bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css); @import url(node_modules/react-select/dist/react-select.css); diff --git a/lib/manager/components/ProjectSettingsForm.js b/lib/manager/components/ProjectSettingsForm.js index 640689b47..85ec0a8fd 100644 --- a/lib/manager/components/ProjectSettingsForm.js +++ b/lib/manager/components/ProjectSettingsForm.js @@ -19,7 +19,7 @@ import { Panel, Row } from 'react-bootstrap' -import DateTimeField from 'react-datetime' +import DateTimeField from 'react-bootstrap-datetimepicker' import ReactDOM from 'react-dom' import { shallowEqual } from 'react-pure-render' import { browserHistory } from 'react-router' diff --git a/lib/manager/components/reporter/components/DateTimeFilter.js b/lib/manager/components/reporter/components/DateTimeFilter.js index 14709ee3c..b65c52a48 100644 --- a/lib/manager/components/reporter/components/DateTimeFilter.js +++ b/lib/manager/components/reporter/components/DateTimeFilter.js @@ -4,7 +4,7 @@ import Icon from '@conveyal/woonerf/components/icon' import React, { Component } from 'react' import { Alert, Col, ControlLabel, FormControl, Row } from 'react-bootstrap' import moment from 'moment' -import DateTimeField from 'react-datetime' +import DateTimeField from 'react-bootstrap-datetimepicker' import * as filterActions from '../../../../gtfs/actions/filter' import type {Props as ContainerProps} from '../containers/ActiveDateTimeFilter' diff --git a/package.json b/package.json index b87faf278..266d789b0 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "react-bootstrap": "0.32.3", "react-bootstrap-table": "^4.3.1", "react-color": "^2.3.4", - "react-datetime": "^3.1.1", + "react-bootstrap-datetimepicker": "miles-grant-ibigroup/react-bootstrap-datetimepicker#bb3054c6dcccbb6b7009d9cc4a2f3b80d4830c99", "react-dnd": "^2.1.4", "react-dnd-html5-backend": "^2.1.2", "react-dom": "^17.0.2", diff --git a/yarn.lock b/yarn.lock index 1a44cd2c5..c140496ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2268,6 +2268,13 @@ babel-runtime@6.11.6: core-js "^2.4.0" regenerator-runtime "^0.9.5" +babel-runtime@^5.6.18: + version "5.8.38" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-5.8.38.tgz#1c0b02eb63312f5f087ff20450827b425c9d4c19" + integrity sha1-HAsC62MxL18If/IEUIJ7QlydTBk= + dependencies: + core-js "^1.0.0" + babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -9280,6 +9287,11 @@ moment@2.x.x, moment@^2.11.2, moment@^2.20.1: resolved "https://registry.yarnpkg.com/moment/-/moment-2.23.0.tgz#759ea491ac97d54bac5ad776996e2a58cc1bc225" integrity sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA== +moment@^2.8.2: + version "2.29.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + moo@^0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e" @@ -11422,7 +11434,7 @@ prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, object-assign "^4.1.1" react-is "^16.8.1" -prop-types@^15.7.0: +prop-types@^15.7.0, prop-types@^15.8.0: version "15.8.0" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.0.tgz#d237e624c45a9846e469f5f31117f970017ff588" integrity sha512-fDGekdaHh65eI3lMi5OnErU6a8Ighg2KjcjQxO7m8VHyWjcPyj5kiOgV1LQDOOOgVy3+5FgjXvdSSX7B8/5/4g== @@ -11783,6 +11795,15 @@ react-addons-update@^15.6.3: dependencies: object-assign "^4.1.0" +react-bootstrap-datetimepicker@miles-grant-ibigroup/react-bootstrap-datetimepicker#bb3054c6dcccbb6b7009d9cc4a2f3b80d4830c99: + version "0.0.26" + resolved "https://codeload.github.com/miles-grant-ibigroup/react-bootstrap-datetimepicker/tar.gz/bb3054c6dcccbb6b7009d9cc4a2f3b80d4830c99" + dependencies: + babel-runtime "^5.6.18" + classnames "^2.1.2" + moment "^2.8.2" + prop-types "^15.8.0" + react-bootstrap-table@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/react-bootstrap-table/-/react-bootstrap-table-4.3.1.tgz#f704be55b7f6bf0557d2fc5bec6d25fd307d0cde" @@ -11823,13 +11844,6 @@ react-color@^2.3.4: reactcss "^1.2.0" tinycolor2 "^1.4.1" -react-datetime@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/react-datetime/-/react-datetime-3.1.1.tgz#adc346efda47653cfff9259c979f03f56106e48c" - integrity sha512-gHCTjAniCcMb6jdXpz+MpVe/uCeaHNDOofg+l41nLlJI3uBLBMV40CQbGB2TCTUpCzGT1mCs4vQzKGMjXO/WWQ== - dependencies: - prop-types "^15.5.7" - react-dnd-html5-backend@^2.1.2: version "2.6.0" resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-2.6.0.tgz#590cd1cca78441bb274edd571fef4c0b16ddcf8e" From 78e5a90ce2153f542cfc67c55408c7acd32ba937 Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Fri, 31 Dec 2021 14:59:58 +0100 Subject: [PATCH 011/639] refactor: force use of react 17-compatible react-overlays version --- package.json | 3 +++ yarn.lock | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 266d789b0..c809d5bcf 100644 --- a/package.json +++ b/package.json @@ -147,6 +147,9 @@ "simple-node-logger": "^0.93.37", "slack": "^11.0.1" }, + "resolutions": { + "react-overlays": "0.9.3" + }, "lint-staged": { "*.{js,jsx}": [ "eslint --config node_modules/mastarm/lib/eslintrc.json --fix" diff --git a/yarn.lock b/yarn.lock index c140496ab..03b1e4f74 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11947,16 +11947,16 @@ react-modal@^3.1.7: react-lifecycles-compat "^3.0.0" warning "^4.0.3" -react-overlays@^0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.8.3.tgz#fad65eea5b24301cca192a169f5dddb0b20d3ac5" - integrity sha512-h6GT3jgy90PgctleP39Yu3eK1v9vaJAW73GOA/UbN9dJ7aAN4BTZD6793eI1D5U+ukMk17qiqN/wl3diK1Z5LA== +react-overlays@0.9.3, react-overlays@^0.8.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.9.3.tgz#5bac8c1e9e7e057a125181dee2d784864dd62902" + integrity sha512-u2T7nOLnK+Hrntho4p0Nxh+BsJl0bl4Xuwj/Y0a56xywLMetgAfyjnDVrudLXsNcKGaspoC+t3C1V80W9QQTdQ== dependencies: classnames "^2.2.5" dom-helpers "^3.2.1" prop-types "^15.5.10" prop-types-extra "^1.0.1" - react-transition-group "^2.2.0" + react-transition-group "^2.2.1" warning "^3.0.0" react-prop-types@^0.4.0: @@ -12099,7 +12099,7 @@ react-toggle@^4.1.2: dependencies: classnames "^2.2.5" -react-transition-group@^2.0.0, react-transition-group@^2.2.0, react-transition-group@^2.2.1, react-transition-group@^2.6.1, react-transition-group@^2.9.0: +react-transition-group@^2.0.0, react-transition-group@^2.2.1, react-transition-group@^2.6.1, react-transition-group@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== From 908279ce14950084e29421be56e624a24978378b Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Thu, 6 Jan 2022 10:52:31 +0100 Subject: [PATCH 012/639] chore(deps): transfer react-bootstrap-datetimepicker fork ownership --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index c809d5bcf..3735f6e00 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "react-bootstrap": "0.32.3", "react-bootstrap-table": "^4.3.1", "react-color": "^2.3.4", - "react-bootstrap-datetimepicker": "miles-grant-ibigroup/react-bootstrap-datetimepicker#bb3054c6dcccbb6b7009d9cc4a2f3b80d4830c99", + "react-bootstrap-datetimepicker": "ibi-group/react-bootstrap-datetimepicker#bb3054c6dcccbb6b7009d9cc4a2f3b80d4830c99", "react-dnd": "^2.1.4", "react-dnd-html5-backend": "^2.1.2", "react-dom": "^17.0.2", diff --git a/yarn.lock b/yarn.lock index 03b1e4f74..3443bcbe0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11795,9 +11795,9 @@ react-addons-update@^15.6.3: dependencies: object-assign "^4.1.0" -react-bootstrap-datetimepicker@miles-grant-ibigroup/react-bootstrap-datetimepicker#bb3054c6dcccbb6b7009d9cc4a2f3b80d4830c99: +react-bootstrap-datetimepicker@ibi-group/react-bootstrap-datetimepicker#bb3054c6dcccbb6b7009d9cc4a2f3b80d4830c99: version "0.0.26" - resolved "https://codeload.github.com/miles-grant-ibigroup/react-bootstrap-datetimepicker/tar.gz/bb3054c6dcccbb6b7009d9cc4a2f3b80d4830c99" + resolved "https://codeload.github.com/ibi-group/react-bootstrap-datetimepicker/tar.gz/bb3054c6dcccbb6b7009d9cc4a2f3b80d4830c99" dependencies: babel-runtime "^5.6.18" classnames "^2.1.2" From b9672557464a83e9a3fdb1c06fb10196d4ebf2ce Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Thu, 24 Mar 2022 12:21:47 -0700 Subject: [PATCH 013/639] refactor(Auth0Manager): fix post-login redirect --- lib/common/user/Auth0Manager.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/common/user/Auth0Manager.js b/lib/common/user/Auth0Manager.js index 4b81e3163..3f937dec2 100644 --- a/lib/common/user/Auth0Manager.js +++ b/lib/common/user/Auth0Manager.js @@ -209,7 +209,8 @@ class Auth0Manager { }) ] if (push && redirectOnSuccess) { - actions.push(push(redirectOnSuccess)) + // TODO: react router upgrade broke the react router push here, this is a hack + window.location.replace(redirectOnSuccess) } return actions }) From c59597d5b97da30005adf6a254d7c5ac01048fdd Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Thu, 24 Mar 2022 12:29:23 -0700 Subject: [PATCH 014/639] ci: fix mkdocs --- .github/workflows/node-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node-ci.yml b/.github/workflows/node-ci.yml index 258b9e2f4..8961b2c45 100644 --- a/.github/workflows/node-ci.yml +++ b/.github/workflows/node-ci.yml @@ -31,7 +31,7 @@ jobs: python-version: '3.x' - name: Install mkdocs run: | - pip install mkdocs + pip install Jinja2==3.0.3 mkdocs mkdocs --version - name: Use Node.js 12.x uses: actions/setup-node@v1 From 567b66d75ba0d4794c7320c151987893b352c09c Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Wed, 13 Apr 2022 11:39:28 -0400 Subject: [PATCH 015/639] fix: stops layer --- lib/scenario-editor/components/StopLayer.js | 33 ++++++++++----------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/lib/scenario-editor/components/StopLayer.js b/lib/scenario-editor/components/StopLayer.js index f492573f8..f44f53ae6 100644 --- a/lib/scenario-editor/components/StopLayer.js +++ b/lib/scenario-editor/components/StopLayer.js @@ -6,42 +6,35 @@ adapted from https://github.com/conveyal/leaflet-transit-editor/blob/master/lib/ and subsequently https://github.com/conveyal/scenario-editor/blob/master/lib/map/transit-editor/stop-layer.js */ -import { GridLayer, withLeaflet } from 'react-leaflet' -import type {MapComponentProps, GridLayerProps} from 'react-leaflet' -import { point } from 'leaflet' +import { GridLayer as LeafletGridLayer, point } from 'leaflet' +import { MapLayer, withLeaflet } from 'react-leaflet' -import type {GtfsStop} from '../../types' +import type { GtfsStop } from '../../types' const MIN_ZOOM = 1 // don't draw stops below this zoom const TILE_LENGTH = 256 -type ExtraProps = { - attribution: String, - minZoom: number, - stops: Array -} & GridLayerProps - type Coords = { x: number, y: number, z: number } -class StopLayer extends GridLayer { +class StopLayer extends MapLayer { static defaultProps = { minZoom: MIN_ZOOM } - createLeafletElement (props: ExtraProps) { - const gl = super.createLeafletElement(props) - // $FlowFixMe: not sure what is happening here - gl.createTile = this.createTile - return gl + createLeafletElement (props) { + const options = this.getOptions(props) + const el = new LeafletGridLayer(options) + el.createTile = (coords: Coords) => this.createTile(coords) + return el } createTile = (coords: Coords) => { - const {map} = this.context - const {minZoom, stops} = this.props + const { leaflet, minZoom, stops } = this.props + const { map } = leaflet if (coords.z < minZoom) return // don't draw every transit stop in a country // create a element for drawing @@ -88,6 +81,10 @@ class StopLayer extends GridLayer { ctx.stroke() }) } + + componentDidMount () { + super.componentDidMount() + } } export default withLeaflet(StopLayer) From 3b8be8a4740ea9cde14980ff3fbd1fbac8072bea Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Wed, 13 Apr 2022 11:46:58 -0400 Subject: [PATCH 016/639] refactor: add note about weird code --- lib/scenario-editor/components/StopLayer.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/scenario-editor/components/StopLayer.js b/lib/scenario-editor/components/StopLayer.js index f44f53ae6..d092da6b8 100644 --- a/lib/scenario-editor/components/StopLayer.js +++ b/lib/scenario-editor/components/StopLayer.js @@ -25,6 +25,8 @@ class StopLayer extends MapLayer { minZoom: MIN_ZOOM } + // This bit is a little funky because we're adapting our 6 year old Leaflet layer + // to the latest version of leaflet createLeafletElement (props) { const options = this.getOptions(props) const el = new LeafletGridLayer(options) From 5353f432defd32577a1378e0857c2946989d4bcd Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Wed, 4 May 2022 07:39:49 -0700 Subject: [PATCH 017/639] refactor: address pr feedback --- lib/admin/components/UserSettings.js | 36 +++++++++---------- lib/editor/components/map/TextPath.js | 2 +- lib/manager/components/AutoPublishSettings.js | 3 +- lib/manager/components/FeedSourceTable.js | 2 +- lib/manager/components/NoteForm.js | 4 +-- lib/manager/components/ProjectSettingsForm.js | 4 +-- lib/manager/components/ProjectViewer.js | 2 +- lib/manager/components/ProjectsList.js | 2 +- .../transform/FeedTransformationSettings.js | 10 +++--- .../validation/GtfsValidationViewer.js | 2 +- .../components/version/FeedVersionReport.js | 2 +- lib/public/components/UserAccount.js | 6 ++-- 12 files changed, 36 insertions(+), 39 deletions(-) diff --git a/lib/admin/components/UserSettings.js b/lib/admin/components/UserSettings.js index 11c292cb9..2953db358 100644 --- a/lib/admin/components/UserSettings.js +++ b/lib/admin/components/UserSettings.js @@ -257,25 +257,23 @@ export default class UserSettings extends Component { const projectPanel = ( -

    Project Settings for{' '} - - {orgProjects.map((project, i) => { - const settings = this.state.projectSettings[project.id] - if (settings) { - return - {project.name} {this.getProjectLabel(settings.access)} - - } - })} - -

    + + {orgProjects.map((project, i) => { + const settings = this.state.projectSettings[project.id] + if (settings) { + return + {project.name} {this.getProjectLabel(settings.access)} + + } + })} +
    @@ -299,7 +297,7 @@ export default class UserSettings extends Component { -

    Organization settings

    + Organization settings {creatorIsApplicationAdmin && { +class TextPath extends Path { createLeafletElement (props: Props) { const { positions, text, ...pathOptions } = getOptions(props) const line = new L.Polyline(positions, OPTIONS) diff --git a/lib/manager/components/AutoPublishSettings.js b/lib/manager/components/AutoPublishSettings.js index d130935ca..90a76b1f6 100644 --- a/lib/manager/components/AutoPublishSettings.js +++ b/lib/manager/components/AutoPublishSettings.js @@ -45,7 +45,8 @@ export default class AutoPublishSettings extends Component { return ( {/* Settings */} - Auto-publish Settings}> + + Auto-publish Settings diff --git a/lib/manager/components/FeedSourceTable.js b/lib/manager/components/FeedSourceTable.js index b61fceb54..161c93232 100644 --- a/lib/manager/components/FeedSourceTable.js +++ b/lib/manager/components/FeedSourceTable.js @@ -105,7 +105,7 @@ export default class FeedSourceTable extends PureComponent { } = this.props return ( - + { src={profile.picture} /> - + {profile.email} diff --git a/lib/manager/components/ProjectSettingsForm.js b/lib/manager/components/ProjectSettingsForm.js index 3ab967a30..023af4bf7 100644 --- a/lib/manager/components/ProjectSettingsForm.js +++ b/lib/manager/components/ProjectSettingsForm.js @@ -294,7 +294,7 @@ export default class ProjectSettingsForm extends Component { - { this.messages('fields.updates.title') } + {this.messages('fields.updates.title')} @@ -382,7 +382,7 @@ export default class ProjectSettingsForm extends Component { {showDangerZone && - + Danger Zone diff --git a/lib/manager/components/ProjectViewer.js b/lib/manager/components/ProjectViewer.js index a9faa284c..570fd432e 100644 --- a/lib/manager/components/ProjectViewer.js +++ b/lib/manager/components/ProjectViewer.js @@ -308,7 +308,7 @@ const ExplanatoryPanel = ({ project }) => { // If user has more than 3 labels, hide the feed source instruction if (project.labels.length <= 3) { return ( - + What is a feed source? A feed source defines the location or upstream source of a GTFS feed. diff --git a/lib/manager/components/ProjectsList.js b/lib/manager/components/ProjectsList.js index c5d43ac7c..379ca572d 100644 --- a/lib/manager/components/ProjectsList.js +++ b/lib/manager/components/ProjectsList.js @@ -81,7 +81,7 @@ export default class ProjectsList extends Component { ref='page' title={this.messages('title')}> - + Projects diff --git a/lib/manager/components/transform/FeedTransformationSettings.js b/lib/manager/components/transform/FeedTransformationSettings.js index 3f1646911..1eed50362 100644 --- a/lib/manager/components/transform/FeedTransformationSettings.js +++ b/lib/manager/components/transform/FeedTransformationSettings.js @@ -95,13 +95,13 @@ export default class FeedTransformationSettings extends Component {

    - Feed transformations provide a way to automatically transform - GTFS data that is loaded into Data Tools. Add a transformation, - describe when it should be applied (e.g., only to feeds uploaded - manually), and then define a series of steps to modify the data. + Feed transformations provide a way to automatically transform + GTFS data that is loaded into Data Tools. Add a transformation, + describe when it should be applied (e.g., only to feeds uploaded + manually), and then define a series of steps to modify the data.

    {feedSource.transformRules.map((ruleSet, i) => { diff --git a/lib/manager/components/validation/GtfsValidationViewer.js b/lib/manager/components/validation/GtfsValidationViewer.js index 5295272d2..a6d53d25f 100644 --- a/lib/manager/components/validation/GtfsValidationViewer.js +++ b/lib/manager/components/validation/GtfsValidationViewer.js @@ -174,7 +174,7 @@ export default class GtfsValidationViewer extends Component {
    {/* Render list of errors */} - +
      diff --git a/lib/manager/components/version/FeedVersionReport.js b/lib/manager/components/version/FeedVersionReport.js index c95c2c7c0..f3310aa28 100644 --- a/lib/manager/components/version/FeedVersionReport.js +++ b/lib/manager/components/version/FeedVersionReport.js @@ -147,7 +147,7 @@ export default class FeedVersionReport extends Component { {' '} {numeral(fileSize || 0).format('0 b')} zip file last modified at {versionLastModified} - } + ) diff --git a/lib/public/components/UserAccount.js b/lib/public/components/UserAccount.js index 9c204d3d9..2e5870d09 100644 --- a/lib/public/components/UserAccount.js +++ b/lib/public/components/UserAccount.js @@ -80,7 +80,7 @@ export default class UserAccount extends Component { id: 'profile', component: (
      - + Profile Information @@ -187,7 +187,7 @@ export default class UserAccount extends Component { - + {this.messages('personalSettings')} {ACCOUNT_SECTIONS.map(section => { @@ -202,7 +202,7 @@ export default class UserAccount extends Component { })} - + {this.messages('organizationSettings')} {projects && projects.map(project => { From c6fa3ae9865adc154e81f0a074c70038dbd879a3 Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Wed, 4 May 2022 07:55:06 -0700 Subject: [PATCH 018/639] refactor(collapsible-panel): update to restore functionality with new bootstrap version --- lib/manager/components/CollapsiblePanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/manager/components/CollapsiblePanel.js b/lib/manager/components/CollapsiblePanel.js index 565cb1bcf..cec26ba28 100644 --- a/lib/manager/components/CollapsiblePanel.js +++ b/lib/manager/components/CollapsiblePanel.js @@ -82,7 +82,7 @@ export default class CollapsiblePanel extends Component { defaultExpanded={defaultExpanded} onEnter={this._onEnter} > -
      {title}
      + {title}
      From 701b726670a09450bb4b5f81ef6d95bfedafc884 Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Thu, 5 May 2022 09:43:52 -0700 Subject: [PATCH 019/639] refactor: address pr feedback --- lib/common/components/EC2InstanceCard.js | 4 ++- lib/common/components/FeedLabel.js | 12 ++++--- lib/common/components/OptionButton.js | 14 +++++--- lib/common/components/SidebarNavItem.js | 22 +++++++------ lib/manager/components/CollapsiblePanel.js | 33 +++++++++++-------- lib/manager/components/CreateFeedSource.js | 3 +- lib/manager/components/ProjectSettingsForm.js | 3 +- .../components/TransformationsViewer.js | 3 +- .../validation/GtfsValidationViewer.js | 5 +-- 9 files changed, 60 insertions(+), 39 deletions(-) diff --git a/lib/common/components/EC2InstanceCard.js b/lib/common/components/EC2InstanceCard.js index 6f69a44f1..b5456fe47 100644 --- a/lib/common/components/EC2InstanceCard.js +++ b/lib/common/components/EC2InstanceCard.js @@ -36,7 +36,9 @@ export default class EC2InstanceCard extends Component { _onClickDownloadUserDataLog = () => { const {instance, onClickDownloadUserData} = this.props - return onClickDownloadUserData ? onClickDownloadUserData(instance) : undefined + if (onClickDownloadUserData) { + onClickDownloadUserData(instance) + } } _getInstanceUrl = () => { diff --git a/lib/common/components/FeedLabel.js b/lib/common/components/FeedLabel.js index 6e269425c..e47ef67c5 100644 --- a/lib/common/components/FeedLabel.js +++ b/lib/common/components/FeedLabel.js @@ -6,7 +6,7 @@ import { connect } from 'react-redux' import { deleteLabel } from '../../manager/actions/labels' import type { Label } from '../../types' -import type {ManagerUserState} from '../../types/reducers' +import type { ManagerUserState } from '../../types/reducers' import ConfirmModal from '../../common/components/ConfirmModal' import LabelEditorModal from '../../manager/components/LabelEditorModal' @@ -68,12 +68,14 @@ class FeedLabel extends React.Component { } _onClick = () => { - const {label, onClick} = this.props - return onClick ? onClick(label.id) : undefined + const { label, onClick } = this.props + if (onClick) { + onClick(label.id) + } } _isEditable = () => { - const {editable, label, user} = this.props + const { editable, label, user } = this.props if (!editable) return false const projectAdmin = user && @@ -83,7 +85,7 @@ class FeedLabel extends React.Component { } render () { - const {label, checked = false} = this.props + const { label, checked = false } = this.props // Used to avoid collision when label is rendered multiple times const uniqueId = `${label.id}-${Date.now().toString(36)}` diff --git a/lib/common/components/OptionButton.js b/lib/common/components/OptionButton.js index d93438048..01716210a 100644 --- a/lib/common/components/OptionButton.js +++ b/lib/common/components/OptionButton.js @@ -1,7 +1,7 @@ // @flow import * as React from 'react' -import {Button, OverlayTrigger} from 'react-bootstrap' +import { Button, OverlayTrigger } from 'react-bootstrap' type Props = { active?: boolean, @@ -14,16 +14,20 @@ type Props = { export default class OptionButton extends React.Component { _onClick = () => { - const {active, onClick, onDeselect, value} = this.props + const { active, onClick, onDeselect, value } = this.props if (!active) { - return onClick ? onClick(value) : undefined + if (onClick) { + onClick(value) + } } else { - return onDeselect ? onDeselect(value) : undefined + if (onDeselect) { + onDeselect(value) + } } } render () { - const {children, tooltip, onDeselect, ...other} = this.props + const { children, tooltip, onDeselect, ...other } = this.props const button = ( {!isExtensionEnabled('mtc') && @@ -86,12 +86,12 @@ export default class AffectedServices extends Component { + onChange={this._onSelectEntity} + placeholder='Add stop/route' /> diff --git a/lib/alerts/components/AlertPreview.js b/lib/alerts/components/AlertPreview.js index d03fafb65..162e70230 100644 --- a/lib/alerts/components/AlertPreview.js +++ b/lib/alerts/components/AlertPreview.js @@ -30,8 +30,8 @@ export default class AlertPreview extends Component { render () { const { alert, - publishableFeeds, - editableFeeds + editableFeeds, + publishableFeeds } = this.props const canPublish = checkEntitiesForFeeds(alert.affectedEntities, publishableFeeds) const canEdit = checkEntitiesForFeeds(alert.affectedEntities, editableFeeds) @@ -48,8 +48,8 @@ export default class AlertPreview extends Component { const editButtonMessage = alert.published && deleteIsDisabled ? 'Cannot edit because alert is published' : !canEdit ? 'Cannot alter alerts for other agencies' : 'Edit alert' const publishedLabel = alert.published - ? - : + ? + : const entitiesLabel = alert.affectedEntities.length ? { @@ -84,7 +84,7 @@ export default class AlertPreview extends Component { ) return ( - {header} + {header}

      {moment(alert.start).format('MMM Do YYYY, h:mm:ssa')} diff --git a/lib/editor/components/EditorFeedSourcePanel.js b/lib/editor/components/EditorFeedSourcePanel.js index 9badbe6d2..2658c4c97 100644 --- a/lib/editor/components/EditorFeedSourcePanel.js +++ b/lib/editor/components/EditorFeedSourcePanel.js @@ -68,18 +68,18 @@ export default class EditorFeedSourcePanel extends Component { ?

      {/* These are the available snapshots */} - + Available snapshots - + {snapshots.length === 0 ? No other snapshots : snapshots.map(s => { return ( ) @@ -96,8 +96,8 @@ export default class EditorFeedSourcePanel extends Component { @@ -105,12 +105,12 @@ export default class EditorFeedSourcePanel extends Component { block bsStyle='primary' disabled={editDisabled} - style={{marginBottom: '20px'}} - onClick={this._openModal}> + onClick={this._openModal} + style={{marginBottom: '20px'}}> Take snapshot of latest changes - {this.messages('help.title')} + {this.messages('help.title')}

      {this.messages('help.body.0')}

      {this.messages('help.body.1')}

      @@ -156,7 +156,7 @@ class SnapshotItem extends Component { } _onRestoreSnapshot = () => { - const {restoreSnapshot, feedSource, snapshot} = this.props + const {feedSource, restoreSnapshot, snapshot} = this.props this.props.modal.open({ title: `${this.messages('restore')}`, body: this.messages('confirmLoad'), @@ -173,14 +173,14 @@ class SnapshotItem extends Component { return (

      + title={snapshot.name}> {snapshot.name}

      diff --git a/lib/editor/components/FareRulesForm.js b/lib/editor/components/FareRulesForm.js index 72e713a37..c72ae789f 100644 --- a/lib/editor/components/FareRulesForm.js +++ b/lib/editor/components/FareRulesForm.js @@ -71,9 +71,9 @@ export default class FareRulesForm extends Component { {rules.map((rule, index) => ( ))}
      @@ -168,46 +168,46 @@ class FareRuleItem extends Component { bsStyle={hasError ? 'danger' : undefined} key={`rule-${activeEntity.id}-${rule.id}`}> - +

      {ruleHeader}

      -
      +
      {FARE_RULE_TYPES.map((type, i) => { const uniqueId = `${activeEntity.id}-${rule.id}` return ( + type={type} /> ) })} + zoneOptions={zoneOptions} + zones={zones} />
      ) @@ -229,9 +229,9 @@ class FareRuleTypeCheckbox extends Component { const {checked, index, type} = this.props return ( {type.label} diff --git a/lib/gtfsplus/components/GtfsPlusVersionSummary.js b/lib/gtfsplus/components/GtfsPlusVersionSummary.js index 9636dee2a..6468ca5aa 100644 --- a/lib/gtfsplus/components/GtfsPlusVersionSummary.js +++ b/lib/gtfsplus/components/GtfsPlusVersionSummary.js @@ -135,7 +135,7 @@ export default class GtfsPlusVersionSummary extends Component { const derivedVersions = versionSummaries.filter(v => v.originNamespace === version.namespace) return ( - {header} + {header} @@ -143,7 +143,7 @@ export default class GtfsPlusVersionSummary extends Component { {this.feedStatus()} {derivedVersions.length > 0 ?
      - Versions created from this version of GTFS+: + Versions created from this version of GTFS+:
        {derivedVersions.map(v => { const url = `/feed/${feedSource.id}/version/${v.version}` @@ -163,7 +163,7 @@ export default class GtfsPlusVersionSummary extends Component { } - + {this._gtfsPlusIsEdited() ? @@ -194,7 +194,7 @@ export default class GtfsPlusVersionSummary extends Component { - +
        @@ -210,12 +210,12 @@ export default class GtfsPlusVersionSummary extends Component { const tableLevelIssues = this._getTableLevelIssues(table.id) return ( 0 && 'warning' } + key={index} + rowSpan={tableLevelIssues ? 2 : 1} style={{ color: this.isTableIncluded(table.id) === 'Yes' ? 'black' : 'lightGray' }}> {/* Settings */} - Auto-publish Settings + Auto-publish Settings diff --git a/lib/manager/components/CollapsiblePanel.js b/lib/manager/components/CollapsiblePanel.js index 755312161..901912a7b 100644 --- a/lib/manager/components/CollapsiblePanel.js +++ b/lib/manager/components/CollapsiblePanel.js @@ -82,24 +82,24 @@ export default class CollapsiblePanel extends Component { defaultExpanded={defaultExpanded} onEnter={this._onEnter} > - + {title} - + {this.renderButtonToolbar()} {fields.map((f, i) => + key={i} + onChange={this._onChange} + value={data[f.name.split('.').slice(-1)[0]]} /> )} {/* Additional (usually more complex) fields can go here. */} {this.props.children} diff --git a/lib/manager/components/CreateFeedSource.js b/lib/manager/components/CreateFeedSource.js index 3e11f33b1..99eb3c543 100644 --- a/lib/manager/components/CreateFeedSource.js +++ b/lib/manager/components/CreateFeedSource.js @@ -160,9 +160,9 @@ export default class CreateFeedSource extends Component {

        Create New Feed

        - + - Settings + Settings { > Feed source name {!validation.name && Required} @@ -198,15 +198,15 @@ export default class CreateFeedSource extends Component { - Automatic Fetch + Automatic Fetch Feed source fetch URL {!validation.url && Please enter a valid url} @@ -215,9 +215,9 @@ export default class CreateFeedSource extends Component { Auto fetch feed source @@ -241,7 +241,7 @@ export default class CreateFeedSource extends Component { {isExtensionEnabled('mtc') && ( - Automatic publishing + Automatic publishing diff --git a/lib/manager/components/ExternalPropertiesTable.js b/lib/manager/components/ExternalPropertiesTable.js index 8702b6d77..13f0caee1 100644 --- a/lib/manager/components/ExternalPropertiesTable.js +++ b/lib/manager/components/ExternalPropertiesTable.js @@ -25,9 +25,9 @@ export default class ExternalPropertiesTable extends Component { } = this.props return ( - {resourceType} properties + {resourceType} properties -
        Table
        {table.name} diff --git a/lib/manager/components/AutoPublishSettings.js b/lib/manager/components/AutoPublishSettings.js index 90a76b1f6..f60bdd068 100644 --- a/lib/manager/components/AutoPublishSettings.js +++ b/lib/manager/components/AutoPublishSettings.js @@ -46,7 +46,7 @@ export default class AutoPublishSettings extends Component {
        +
        @@ -38,11 +38,11 @@ export default class ExternalPropertiesTable extends Component { {Object.keys(resourceProps).sort().map((propName, index) => ( + value={resourceProps[propName]} /> ))}
        Property
        @@ -79,8 +79,8 @@ class ExternalProperty extends Component { + onChange={this._onChange} + value={value} /> ) diff --git a/lib/manager/components/FeedSourcePanel.js b/lib/manager/components/FeedSourcePanel.js index f0ec8e3c4..af558487c 100644 --- a/lib/manager/components/FeedSourcePanel.js +++ b/lib/manager/components/FeedSourcePanel.js @@ -47,7 +47,7 @@ export default class FeedSourcePanel extends Component { renderFeedItems = (p: Project, fs: Feed) => { const feedName = `${getAbbreviatedProjectName(p)} / ${fs.name}` return ( - + @@ -64,9 +64,9 @@ export default class FeedSourcePanel extends Component { render () { const { activeProject, - visibilityFilter, + setVisibilityFilter, user, - setVisibilityFilter + visibilityFilter } = this.props const BUTTON_FILTERS = ['ALL', 'STARRED', 'PUBLIC', 'PRIVATE'] const isProjectAdmin = user.permissions && activeProject && @@ -76,30 +76,30 @@ export default class FeedSourcePanel extends Component { ) return ( - Feeds for{' '} + Feeds for{' '} {activeProject ? getAbbreviatedProjectName(activeProject) : '[choose project]' }{' '} {activeProject && activeProject.feedSources && {activeProject.feedSources.length} - } + } - + onChange={this._onChangeSearch} + placeholder={this.messages('search')} /> + {BUTTON_FILTERS.map(b => ( {toSentenceCase(b)} + value={b}>{toSentenceCase(b)} ))} diff --git a/lib/manager/components/FeedSourceTable.js b/lib/manager/components/FeedSourceTable.js index 161c93232..931dd8302 100644 --- a/lib/manager/components/FeedSourceTable.js +++ b/lib/manager/components/FeedSourceTable.js @@ -40,7 +40,7 @@ export default class FeedSourceTable extends PureComponent {

        {this.messages(`comparisonColumn.${comparisonColumn}`)}

        } - +

        Latest Version

        @@ -84,8 +84,8 @@ export default class FeedSourceTable extends PureComponent { {filteredFeedSources.map((feedSource: Feed) => )} @@ -106,12 +106,12 @@ export default class FeedSourceTable extends PureComponent { return ( - + - + {isFetching ? diff --git a/lib/manager/components/GeneralSettings.js b/lib/manager/components/GeneralSettings.js index fa3a11537..0cea5b256 100644 --- a/lib/manager/components/GeneralSettings.js +++ b/lib/manager/components/GeneralSettings.js @@ -121,17 +121,17 @@ export default class GeneralSettings extends Component { {/* Settings */} - Settings + Settings Feed source name + name={'name'} + onChange={this._onChange} + value={this._getFormValue('name')} />

        Make this feed source {feedSource.isPublic ? 'private' : 'public'}.

        @@ -224,10 +224,10 @@ export default class GeneralSettings extends Component {

        Delete this feed source.

        diff --git a/lib/manager/components/LabelPanel.js b/lib/manager/components/LabelPanel.js index 6fb944b8d..ac9c84a0a 100644 --- a/lib/manager/components/LabelPanel.js +++ b/lib/manager/components/LabelPanel.js @@ -26,7 +26,7 @@ export default class LabelPanel extends Component { return null } - const { labels, id: projectId } = project + const { id: projectId, labels } = project const projectAdmin = user && user.permissions && user.permissions.isProjectAdmin(projectId) @@ -43,16 +43,16 @@ export default class LabelPanel extends Component { return ( - {' '}Labels + {' '}Labels
        - + {projectAdmin && ( )} {labelBody} diff --git a/lib/manager/components/NoteForm.js b/lib/manager/components/NoteForm.js index b8a7a4074..90313ebe8 100644 --- a/lib/manager/components/NoteForm.js +++ b/lib/manager/components/NoteForm.js @@ -63,29 +63,29 @@ export default class NoteForm extends Component { ) return ( - +

        {this.messages('postComment')}

        {profile.email} + src={profile.picture} + width={64} /> - + {profile.email} - + {s3Bucket &&

        Note: Public feeds page can be viewed{' '} - here. + here.

        }
        @@ -186,9 +186,9 @@ export default class ProjectViewer extends Component { {getConfigProperty('application.notifications_enabled') ? : null} @@ -210,8 +210,8 @@ export default class ProjectViewer extends Component { @@ -227,7 +227,7 @@ export default class ProjectViewer extends Component { } > - + {this.state.createMode ? ( { /> )} - + {this._renderPublicFeeds()} @@ -251,8 +251,8 @@ export default class ProjectViewer extends Component { {this._renderDeploymentsTab()} @@ -279,7 +279,7 @@ export default class ProjectViewer extends Component { class ProjectSummaryPanel extends Component<{feedSources: Array, project: Project}> { render () { - const { project, feedSources } = this.props + const { feedSources, project } = this.props const errorCount = feedSources .map(fs => fs.latestValidation ? fs.latestValidation.errorCount : 0) .reduce((a, b) => a + b, 0) @@ -289,7 +289,7 @@ class ProjectSummaryPanel extends Component<{feedSources: Array, project: .reduce((a, b) => a + b, 0) return ( - {project.name} summary + {project.name} summary Number of feeds: {feedSources.length} Total errors: {errorCount} @@ -309,11 +309,11 @@ const ExplanatoryPanel = ({ project }) => { if (project.labels.length <= 3) { return ( - What is a feed source? + What is a feed source? - A feed source defines the location or upstream source of a GTFS feed. - GTFS can be populated via automatic fetch, directly editing or uploading - a zip file. + A feed source defines the location or upstream source of a GTFS feed. + GTFS can be populated via automatic fetch, directly editing or uploading + a zip file. ) diff --git a/lib/manager/components/ProjectsList.js b/lib/manager/components/ProjectsList.js index 379ca572d..efa83d003 100644 --- a/lib/manager/components/ProjectsList.js +++ b/lib/manager/components/ProjectsList.js @@ -82,33 +82,33 @@ export default class ProjectsList extends Component { title={this.messages('title')}> - Projects + Projects + onChange={this._onChangeSearch} + placeholder={this.messages('search')} /> {this.messages('help.content')} - }> + } + placement='left' + trigger='click'>