{/* TODO: Do mobile view. */} {SubNav && } diff --git a/lib/components/app/app-menu.js b/lib/components/app/app-menu.js index 9bb26b1fe..ccbf42fa1 100644 --- a/lib/components/app/app-menu.js +++ b/lib/components/app/app-menu.js @@ -53,7 +53,7 @@ class AppMenu extends Component { } = this.props return ( -
+
Date: Thu, 5 Aug 2021 16:30:44 -0400 Subject: [PATCH 06/13] refactor: add fixme notice for language set, ensure tests finish on ci --- __tests__/a11y.js | 1 + index.html | 1 + 2 files changed, 2 insertions(+) diff --git a/__tests__/a11y.js b/__tests__/a11y.js index 0f97191fd..b231d5681 100644 --- a/__tests__/a11y.js +++ b/__tests__/a11y.js @@ -16,4 +16,5 @@ test('checks the test page with Axe', async () => { 'page-has-heading-one' // Heading is provided by logo ] }) + await browser.close() }) diff --git a/index.html b/index.html index fe0777e39..01e70caee 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,5 @@ + From 8b1295db013253f7445c2ab44d4738a5094f04bd Mon Sep 17 00:00:00 2001 From: miles-grant-ibi Date: Fri, 6 Aug 2021 07:15:37 -0400 Subject: [PATCH 07/13] chore: correct typo --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 01e70caee..8e1b20b30 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,5 @@ - + From f0dbcb122c429d6e4816116ee95bb8da2c6e7e25 Mon Sep 17 00:00:00 2001 From: miles-grant-ibi Date: Mon, 9 Aug 2021 14:44:11 +0200 Subject: [PATCH 08/13] feat: automated a11y tests --- .github/workflows/node-ci.yml | 3 +- .gitignore | 1 + __tests__/a11y.js | 20 --- a11y/a11y.test.js | 67 ++++++++++ a11y/mock-server.js | 18 +++ a11y/mocks/plan.json | 1 + a11y/mocks/pr.json | 1 + a11y/mocks/stops.json | 1 + a11y/test-config.yml | 168 +++++++++++++++++++++++++ package.json | 5 +- yarn.lock | 230 ++++++++++++++++++++++++++++++++-- 11 files changed, 485 insertions(+), 30 deletions(-) delete mode 100644 __tests__/a11y.js create mode 100644 a11y/a11y.test.js create mode 100644 a11y/mock-server.js create mode 100644 a11y/mocks/plan.json create mode 100644 a11y/mocks/pr.json create mode 100644 a11y/mocks/stops.json create mode 100644 a11y/test-config.yml diff --git a/.github/workflows/node-ci.yml b/.github/workflows/node-ci.yml index 1024d9631..635a49f38 100644 --- a/.github/workflows/node-ci.yml +++ b/.github/workflows/node-ci.yml @@ -8,7 +8,6 @@ on: jobs: test-build-release: - runs-on: ubuntu-latest steps: @@ -29,6 +28,8 @@ jobs: run: yarn jest - name: Build example project run: yarn build + - name: Run a11y tests + run: yarn a11y-test # at this point, the build is successful - name: Semantic Release diff --git a/.gitignore b/.gitignore index e22cbe74a..7c2fddd09 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ dist # secrets. Ignore any versions of config.yml, except for example. *config.yml !example-config.yml +!test-config.yml diff --git a/__tests__/a11y.js b/__tests__/a11y.js deleted file mode 100644 index b231d5681..000000000 --- a/__tests__/a11y.js +++ /dev/null @@ -1,20 +0,0 @@ -import path from 'path' - -import puppeteer from 'puppeteer' - -test('checks the test page with Axe', async () => { - jest.setTimeout(600000) - const browser = await puppeteer.launch() - const page = await browser.newPage() - await page.goto(`file://${path.resolve(__dirname, '../index-for-puppeteer.html')}#/?ui_activeSearch=0qoydlnut&ui_activeItinerary=0&fromPlace=1900%20Main%20Street%2C%20Houston%2C%20TX%2C%20USA%3A%3A29.750144%2C-95.370998&toPlace=800%20Congress%2C%20Houston%2C%20TX%2C%20USA%3A%3A29.76263%2C-95.362178&date=2021-08-04&time=08%3A14&arriveBy=false&mode=WALK%2CBUS%2CTRAM&showIntermediateStops=true&maxWalkDistance=1207&optimize=QUICK&walkSpeed=1.34&ignoreRealtimeUpdates=true&numItineraries=3&otherThanPreferredRoutesPenalty=900`) - - // These rules aren't relevant to this project - await expect(page).toPassAxeTests({ - disabledRules: [ - 'region', // Leaflet does not comply - 'meta-viewport', // Leaflet does not comply - 'page-has-heading-one' // Heading is provided by logo - ] - }) - await browser.close() -}) diff --git a/a11y/a11y.test.js b/a11y/a11y.test.js new file mode 100644 index 000000000..510494c43 --- /dev/null +++ b/a11y/a11y.test.js @@ -0,0 +1,67 @@ +import fs from 'fs' +import path from 'path' + +import puppeteer from 'puppeteer' +import execa from 'execa' + +import { mockServer } from './mock-server' + +const OTP_RR_CONFIG_FILE_PATH = './config.yml' +const OTP_RR_CONFIG_BACKUP_PATH = './config.non-test.yml' +const OTP_RR_TEST_CONFIG_PATH = './a11y/test-config.yml' + +beforeEach(() => { + // backup current config file + if (fs.existsSync(OTP_RR_CONFIG_FILE_PATH)) { + fs.renameSync( + OTP_RR_CONFIG_FILE_PATH, + OTP_RR_CONFIG_BACKUP_PATH + ) + console.log('Backed up current OTP-RR config file') + } + // copy over test config file + fs.copyFileSync( + OTP_RR_TEST_CONFIG_PATH, + OTP_RR_CONFIG_FILE_PATH + ) + console.log('Copied a11y test config file') + + // Build OTP-RR main.js using new config file + execa.sync('yarn', ['build']) + console.log('Built OTP-RR') + + // Launch mock OTP server + const MOCK_SERVER_PORT = 9999 + mockServer.listen(MOCK_SERVER_PORT, () => { + console.log(`Mock response server running on http://localhost:${MOCK_SERVER_PORT}`) + }) +}) + +afterEach(() => { + fs.unlinkSync(OTP_RR_CONFIG_FILE_PATH) + if (fs.existsSync(OTP_RR_CONFIG_BACKUP_PATH)) { + fs.renameSync( + path.resolve(OTP_RR_CONFIG_BACKUP_PATH), + path.resolve(OTP_RR_CONFIG_FILE_PATH) + ) + } + console.log('Restored original OTP-RR config file') +}) + +test('checks the test page with Axe', async () => { + jest.setTimeout(600000) + // Web security is disabled to allow requests to the mock OTP server + const browser = await puppeteer.launch({args: ['--disable-web-security']}) + const page = await browser.newPage() + await page.goto(`file://${path.resolve(__dirname, '../index-for-puppeteer.html')}#/?ui_activeSearch=0qoydlnut&ui_activeItinerary=0&fromPlace=1900%20Main%20Street%2C%20Houston%2C%20TX%2C%20USA%3A%3A29.750144%2C-95.370998&toPlace=800%20Congress%2C%20Houston%2C%20TX%2C%20USA%3A%3A29.76263%2C-95.362178&date=2021-08-04&time=08%3A14&arriveBy=false&mode=WALK%2CBUS%2CTRAM&showIntermediateStops=true&maxWalkDistance=1207&optimize=QUICK&walkSpeed=1.34&ignoreRealtimeUpdates=true&numItineraries=3&otherThanPreferredRoutesPenalty=900`) + + // These rules aren't relevant to this project + await expect(page).toPassAxeTests({ + disabledRules: [ + 'region', // Leaflet does not comply + 'meta-viewport', // Leaflet does not comply + 'page-has-heading-one' // Heading is provided by logo + ] + }) + await browser.close() +}) diff --git a/a11y/mock-server.js b/a11y/mock-server.js new file mode 100644 index 000000000..8c4863aad --- /dev/null +++ b/a11y/mock-server.js @@ -0,0 +1,18 @@ +const express = require('express') + +const PLAN_REALTIME = require('./mocks/plan.json') +const STOPS_FIRST = require('./mocks/stops.json') +const PARK_AND_RIDE = require('./mocks/pr.json') + +const app = express() +// Mock exactly the requests the test link will create requests to +app.get('/otp/routers/default/plan', (req, res) => { + res.send(PLAN_REALTIME) +}) +app.get('/otp/routers/default/index/stops', (req, res) => { + res.send(STOPS_FIRST) +}) +app.get('/otp/routers/default/park_and_ride', (req, res) => { + res.send(PARK_AND_RIDE) +}) +module.exports.mockServer = app diff --git a/a11y/mocks/plan.json b/a11y/mocks/plan.json new file mode 100644 index 000000000..946b9518f --- /dev/null +++ b/a11y/mocks/plan.json @@ -0,0 +1 @@ +{"requestParameters":{"date":"2021-08-04","walkSpeed":"1.34","fromPlace":"1900 Main Street, Houston, TX, USA::29.750144,-95.370998","maxWalkDistance":"1207","otherThanPreferredRoutesPenalty":"900","numItineraries":"3","mode":"WALK,BUS,TRAM","arriveBy":"false","ignoreRealtimeUpdates":"false","showIntermediateStops":"true","optimize":"QUICK","toPlace":"800 Congress, Houston, TX, USA::29.76263,-95.362178","time":"08:14"},"plan":{"date":1628082840000,"from":{"name":"1900 Main Street, Houston, TX, USA","lon":-95.370998,"lat":29.750144,"orig":"1900 Main Street, Houston, TX, USA","vertexType":"NORMAL"},"to":{"name":"800 Congress, Houston, TX, USA","lon":-95.362178,"lat":29.76263,"orig":"800 Congress, Houston, TX, USA","vertexType":"NORMAL"},"itineraries":[{"duration":392,"startTime":1628083300000,"endTime":1628083692000,"walkTime":210,"transitTime":180,"waitingTime":2,"walkDistance":259.1391641774315,"walkLimitExceeded":false,"elevationLost":0.0,"elevationGained":0.0,"transfers":0,"fare":{"fare":{"regular":{"currency":{"symbol":"$","currency":"USD","defaultFractionDigits":2,"currencyCode":"USD"},"cents":125}},"details":{}},"legs":[{"startTime":1628083300000,"endTime":1628083379000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":88.17900000000003,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"1900 Main Street, Houston, TX, USA","lon":-95.370998,"lat":29.750144,"departure":1628083300000,"orig":"1900 Main Street, Houston, TX, USA","vertexType":"NORMAL"},"to":{"name":"Travis St @ St Joseph Pkwy","stopId":"Houston:624","stopCode":"624","lon":-95.371177,"lat":29.750596,"arrival":1628083379000,"departure":1628083380000,"stopIndex":101,"stopSequence":102,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"kqqtDvcbeQw@m@GLCBADCDABCDCFEHCBCFABHF","length":14},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":79.0,"intermediateStops":[],"steps":[{"distance":81.20200000000003,"relativeDirection":"DEPART","streetName":"sidewalk","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":true,"lon":-95.37099129880164,"lat":29.750140100302744,"elevation":[]},{"distance":6.977,"relativeDirection":"LEFT","streetName":"sidewalk","absoluteDirection":"SOUTHWEST","stayOn":true,"area":false,"bogusName":true,"lon":-95.37113400000001,"lat":29.750646500000002,"elevation":[]}]},{"startTime":1628083380000,"endTime":1628083560000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":1423.885970658207,"pathway":false,"mode":"BUS","route":"082","agencyName":"Metropolitan Transit Authority of Harris County","agencyUrl":"http://www.ridemetro.org","agencyTimeZoneOffset":-18000000,"routeColor":"004080","routeType":3,"routeId":"Houston:41336","routeTextColor":"FFFFFF","interlineWithPreviousLeg":false,"tripShortName":"WHEIMER","tripBlockId":"1062305","headsign":"DOWNTOWN","agencyId":"HOU","tripId":"Houston:9129562","serviceDate":"20210804","from":{"name":"Travis St @ St Joseph Pkwy","stopId":"Houston:624","stopCode":"624","lon":-95.371177,"lat":29.750596,"arrival":1628083379000,"departure":1628083380000,"stopIndex":101,"stopSequence":102,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"Travis St @ Prairie St","stopId":"Houston:667","stopCode":"667","lon":-95.362814,"lat":29.761145,"arrival":1628083560000,"departure":1628083561000,"stopIndex":106,"stopSequence":107,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"mtqtDhebeQWSyCwBsCuBuCwB{BcBYSsCsB_CcBSQwCyB}BaBSQwCsBsCuBaCgBSMsCyB{CwBiCiB","length":20},"interStopGeometry":[{"points":"mtqtDhebeQWSyCwBsCuBuCwB{BcB","length":6},{"points":"egrtDjvaeQYSsCsB_CcB","length":4},{"points":"sprtD~naeQSQwCyB}BaB","length":4},{"points":"}yrtDpgaeQSQwCsBsCuBaCgB","length":5},{"points":"_hstDl|`eQSMsCyB{CwBiCiB","length":5}],"alerts":[{"alertDescriptionText":"","alertUrl":"https://www.ridemetro.org/Pages/Coronavirus.aspx","effectiveStartDate":1625842020000,"alertHeaderText":"Federal law requires anyone on the METRO system to wear a face mask. This includes rail stations, transit centers and bus stops. Exemptions are available for children under the age of two and for those with a disability defined by the ADA."}],"routeShortName":"082","routeLongName":"WESTHEIMER","rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":true,"duration":180.0,"intermediateStops":[{"name":"Travis St @ Bell St","stopId":"Houston:628","stopCode":"628","lon":-95.368804,"lat":29.753604,"arrival":1628083431000,"departure":1628083431000,"stopIndex":102,"stopSequence":103,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Polk St","stopId":"Houston:685","stopCode":"685","lon":-95.367596,"lat":29.755096,"arrival":1628083456000,"departure":1628083456000,"stopIndex":103,"stopSequence":104,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Lamar St","stopId":"Houston:661","stopCode":"661","lon":-95.366423,"lat":29.756601,"arrival":1628083481000,"departure":1628083481000,"stopIndex":104,"stopSequence":105,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Rusk St","stopId":"Houston:664","stopCode":"664","lon":-95.364659,"lat":29.758853,"arrival":1628083519000,"departure":1628083519000,"stopIndex":105,"stopSequence":106,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"}],"steps":[]},{"startTime":1628083561000,"endTime":1628083692000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":170.893,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"Travis St @ Prairie St","stopId":"Houston:667","stopCode":"667","lon":-95.362814,"lat":29.761145,"arrival":1628083560000,"departure":1628083561000,"stopIndex":106,"stopSequence":107,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"800 Congress, Houston, TX, USA","lon":-95.362178,"lat":29.76263,"arrival":1628083692000,"orig":"800 Congress, Houston, TX, USA","vertexType":"NORMAL"},"legGeometry":{"points":"kvstD`q`eQSOgAw@y@m@IGMIKIcAu@","length":8},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":131.0,"intermediateStops":[],"steps":[{"distance":170.893,"relativeDirection":"DEPART","streetName":"Travis Street","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":false,"lon":-95.36288624616279,"lat":29.761188019319103,"elevation":[]}]}],"tooSloped":false},{"duration":515,"startTime":1628083218000,"endTime":1628083733000,"walkTime":156,"transitTime":357,"waitingTime":2,"walkDistance":182.0511194004663,"walkLimitExceeded":false,"elevationLost":0.0,"elevationGained":0.0,"transfers":0,"fare":{"fare":{"regular":{"currency":{"symbol":"$","currency":"USD","defaultFractionDigits":2,"currencyCode":"USD"},"cents":200}},"details":{}},"legs":[{"startTime":1628083218000,"endTime":1628083319000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":111.22700000000003,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"1900 Main Street, Houston, TX, USA","lon":-95.370998,"lat":29.750144,"departure":1628083218000,"orig":"1900 Main Street, Houston, TX, USA","vertexType":"NORMAL"},"to":{"name":"St Joseph Pkwy @ Travis St","stopId":"Houston:310","stopCode":"310","lon":-95.370944,"lat":29.750747,"arrival":1628083319000,"departure":1628083320000,"stopIndex":8,"stopSequence":9,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"kqqtDvcbeQw@m@GLCBADCDABCDCFEHCBCFABOMOMFK","length":16},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":101.0,"intermediateStops":[],"steps":[{"distance":81.20200000000003,"relativeDirection":"DEPART","streetName":"sidewalk","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":true,"lon":-95.37099129880164,"lat":29.750140100302744,"elevation":[]},{"distance":30.025,"relativeDirection":"UTURN_RIGHT","streetName":"sidewalk","absoluteDirection":"SOUTHEAST","stayOn":true,"area":false,"bogusName":true,"lon":-95.37099780000001,"lat":29.750805200000002,"elevation":[]}]},{"startTime":1628083320000,"endTime":1628083677000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":1524.458915954146,"pathway":false,"mode":"BUS","route":"249","agencyName":"Metropolitan Transit Authority of Harris County","agencyUrl":"http://www.ridemetro.org","agencyTimeZoneOffset":-18000000,"routeColor":"004080","routeType":3,"routeId":"Houston:41364","routeTextColor":"FFFFFF","interlineWithPreviousLeg":false,"tripShortName":"BAY AREA","tripBlockId":"1062867","headsign":"DOWNTOWN / VIA EASTWOOD TC","agencyId":"HOU","tripId":"Houston:9135066","serviceDate":"20210804","from":{"name":"St Joseph Pkwy @ Travis St","stopId":"Houston:310","stopCode":"310","lon":-95.370944,"lat":29.750747,"arrival":1628083319000,"departure":1628083320000,"stopIndex":8,"stopSequence":9,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"Travis St @ Preston St","stopId":"Houston:630","stopCode":"630","lon":-95.362244,"lat":29.761898,"arrival":1628083677000,"departure":1628083678000,"stopIndex":15,"stopSequence":16,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"utqtDxcbeQOZyCwBsCuByBaB[UuCwB{BaBWQsCuB}BcBYUqCsBcCcBSOsCuBaCgBSMsCyB_CaB[U_DyB}BeB","length":23},"interStopGeometry":[{"points":"utqtDxcbeQOZyCwBsCuByBaB","length":5},{"points":"mbrtDdzaeQ[UuCwB{BaB","length":4},{"points":"{krtDtraeQWQsCuB}BcB","length":4},{"points":"eurtDhkaeQYUqCsBcCcB","length":4},{"points":"u~rtDzcaeQSOsCuBaCgB","length":4},{"points":"_hstDl|`eQSMsCyB_CaB","length":4},{"points":"gqstDbu`eQ[U_DyB}BeB","length":4}],"alerts":[{"alertDescriptionText":"","alertUrl":"https://www.ridemetro.org/Pages/Coronavirus.aspx","effectiveStartDate":1625842020000,"alertHeaderText":"Federal law requires anyone on the METRO system to wear a face mask. This includes rail stations, transit centers and bus stops. Exemptions are available for children under the age of two and for those with a disability defined by the ADA."}],"routeShortName":"249","routeLongName":"MONROE/FUQUA/EL DORADO/BAY AREA P&R","rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":true,"duration":357.0,"intermediateStops":[{"name":"Travis St @ Leeland St","stopId":"Houston:627","stopCode":"627","lon":-95.369404,"lat":29.752841,"arrival":1628083389000,"departure":1628083389000,"stopIndex":9,"stopSequence":10,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Clay St","stopId":"Houston:629","stopCode":"629","lon":-95.36821,"lat":29.754346,"arrival":1628083435000,"departure":1628083435000,"stopIndex":10,"stopSequence":11,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Dallas St","stopId":"Houston:660","stopCode":"660","lon":-95.367027,"lat":29.755835,"arrival":1628083480000,"departure":1628083480000,"stopIndex":11,"stopSequence":12,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Mc Kinney St","stopId":"Houston:662","stopCode":"662","lon":-95.365814,"lat":29.757345,"arrival":1628083526000,"departure":1628083526000,"stopIndex":12,"stopSequence":13,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Rusk St","stopId":"Houston:664","stopCode":"664","lon":-95.364659,"lat":29.758853,"arrival":1628083572000,"departure":1628083572000,"stopIndex":13,"stopSequence":14,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Texas Ave","stopId":"Houston:666","stopCode":"666","lon":-95.363472,"lat":29.760325,"arrival":1628083620000,"departure":1628083620000,"stopIndex":14,"stopSequence":15,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"}],"steps":[]},{"startTime":1628083678000,"endTime":1628083733000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":70.72300000000001,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"Travis St @ Preston St","stopId":"Houston:630","stopCode":"630","lon":-95.362244,"lat":29.761898,"arrival":1628083677000,"departure":1628083678000,"stopIndex":15,"stopSequence":16,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"800 Congress, Houston, TX, USA","lon":-95.362178,"lat":29.76263,"arrival":1628083733000,"orig":"800 Congress, Houston, TX, USA","vertexType":"NORMAL"},"legGeometry":{"points":"a{stDjm`eQIGMIKIcAu@","length":5},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":55.0,"intermediateStops":[],"steps":[{"distance":70.72300000000001,"relativeDirection":"DEPART","streetName":"Travis Street","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":false,"lon":-95.36229927212824,"lat":29.76193091893979,"elevation":[]}]}],"tooSloped":false},{"duration":392,"startTime":1628083900000,"endTime":1628084292000,"walkTime":210,"transitTime":180,"waitingTime":2,"walkDistance":259.1391641774315,"walkLimitExceeded":false,"elevationLost":0.0,"elevationGained":0.0,"transfers":0,"fare":{"fare":{"regular":{"currency":{"symbol":"$","currency":"USD","defaultFractionDigits":2,"currencyCode":"USD"},"cents":125}},"details":{}},"legs":[{"startTime":1628083900000,"endTime":1628083979000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":88.17900000000003,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"1900 Main Street, Houston, TX, USA","lon":-95.370998,"lat":29.750144,"departure":1628083900000,"orig":"1900 Main Street, Houston, TX, USA","vertexType":"NORMAL"},"to":{"name":"Travis St @ St Joseph Pkwy","stopId":"Houston:624","stopCode":"624","lon":-95.371177,"lat":29.750596,"arrival":1628083979000,"departure":1628083980000,"stopIndex":101,"stopSequence":102,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"kqqtDvcbeQw@m@GLCBADCDABCDCFEHCBCFABHF","length":14},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":79.0,"intermediateStops":[],"steps":[{"distance":81.20200000000003,"relativeDirection":"DEPART","streetName":"sidewalk","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":true,"lon":-95.37099129880164,"lat":29.750140100302744,"elevation":[]},{"distance":6.977,"relativeDirection":"LEFT","streetName":"sidewalk","absoluteDirection":"SOUTHWEST","stayOn":true,"area":false,"bogusName":true,"lon":-95.37113400000001,"lat":29.750646500000002,"elevation":[]}]},{"startTime":1628083980000,"endTime":1628084160000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":1423.885970658207,"pathway":false,"mode":"BUS","route":"082","agencyName":"Metropolitan Transit Authority of Harris County","agencyUrl":"http://www.ridemetro.org","agencyTimeZoneOffset":-18000000,"routeColor":"004080","routeType":3,"routeId":"Houston:41336","routeTextColor":"FFFFFF","interlineWithPreviousLeg":false,"tripShortName":"WHEIMER","tripBlockId":"1062307","headsign":"DOWNTOWN","agencyId":"HOU","tripId":"Houston:9129563","serviceDate":"20210804","from":{"name":"Travis St @ St Joseph Pkwy","stopId":"Houston:624","stopCode":"624","lon":-95.371177,"lat":29.750596,"arrival":1628083979000,"departure":1628083980000,"stopIndex":101,"stopSequence":102,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"Travis St @ Prairie St","stopId":"Houston:667","stopCode":"667","lon":-95.362814,"lat":29.761145,"arrival":1628084160000,"departure":1628084161000,"stopIndex":106,"stopSequence":107,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"mtqtDhebeQWSyCwBsCuBuCwB{BcBYSsCsB_CcBSQwCyB}BaBSQwCsBsCuBaCgBSMsCyB{CwBiCiB","length":20},"interStopGeometry":[{"points":"mtqtDhebeQWSyCwBsCuBuCwB{BcB","length":6},{"points":"egrtDjvaeQYSsCsB_CcB","length":4},{"points":"sprtD~naeQSQwCyB}BaB","length":4},{"points":"}yrtDpgaeQSQwCsBsCuBaCgB","length":5},{"points":"_hstDl|`eQSMsCyB{CwBiCiB","length":5}],"alerts":[{"alertDescriptionText":"","alertUrl":"https://www.ridemetro.org/Pages/Coronavirus.aspx","effectiveStartDate":1625842020000,"alertHeaderText":"Federal law requires anyone on the METRO system to wear a face mask. This includes rail stations, transit centers and bus stops. Exemptions are available for children under the age of two and for those with a disability defined by the ADA."}],"routeShortName":"082","routeLongName":"WESTHEIMER","rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":true,"duration":180.0,"intermediateStops":[{"name":"Travis St @ Bell St","stopId":"Houston:628","stopCode":"628","lon":-95.368804,"lat":29.753604,"arrival":1628084031000,"departure":1628084031000,"stopIndex":102,"stopSequence":103,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Polk St","stopId":"Houston:685","stopCode":"685","lon":-95.367596,"lat":29.755096,"arrival":1628084056000,"departure":1628084056000,"stopIndex":103,"stopSequence":104,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Lamar St","stopId":"Houston:661","stopCode":"661","lon":-95.366423,"lat":29.756601,"arrival":1628084081000,"departure":1628084081000,"stopIndex":104,"stopSequence":105,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Rusk St","stopId":"Houston:664","stopCode":"664","lon":-95.364659,"lat":29.758853,"arrival":1628084119000,"departure":1628084119000,"stopIndex":105,"stopSequence":106,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"}],"steps":[]},{"startTime":1628084161000,"endTime":1628084292000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":170.893,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"Travis St @ Prairie St","stopId":"Houston:667","stopCode":"667","lon":-95.362814,"lat":29.761145,"arrival":1628084160000,"departure":1628084161000,"stopIndex":106,"stopSequence":107,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"800 Congress, Houston, TX, USA","lon":-95.362178,"lat":29.76263,"arrival":1628084292000,"orig":"800 Congress, Houston, TX, USA","vertexType":"NORMAL"},"legGeometry":{"points":"kvstD`q`eQSOgAw@y@m@IGMIKIcAu@","length":8},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":131.0,"intermediateStops":[],"steps":[{"distance":170.893,"relativeDirection":"DEPART","streetName":"Travis Street","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":false,"lon":-95.36288624616279,"lat":29.761188019319103,"elevation":[]}]}],"tooSloped":false}]},"debugOutput":{"precalculationTime":35,"pathCalculationTime":32,"pathTimes":[10,9,13],"renderingTime":0,"totalTime":67,"timedOut":false},"elevationMetadata":{"ellipsoidToGeoidDifference":-26.094908498979883,"geoidElevation":false}} \ No newline at end of file diff --git a/a11y/mocks/pr.json b/a11y/mocks/pr.json new file mode 100644 index 000000000..bfb83c738 --- /dev/null +++ b/a11y/mocks/pr.json @@ -0,0 +1 @@ +[{"name":"P+R Eastwood Park & Ride","x":-95.33571105000001,"y":29.72878155},{"name":"P+R Magnolia Park & Ride","x":-95.30348190000001,"y":29.73431275},{"name":"P+R Eastex Park & Ride","x":-95.29903390000001,"y":29.927564550000003},{"name":"P+R Fifth Ward Park & Ride","x":-95.31554165,"y":29.776087200000003},{"name":"P+R Maxey Road Park & Ride","x":-95.2173539,"y":29.784856000000005},{"name":"P+R Kashmere Park & Ride","x":-95.32818135000001,"y":29.813871050000003},{"name":"P+R Cypress Park & Ride","x":-95.68538430000001,"y":29.964691300000002},{"name":"P+R Kuykendahl Park & Ride","x":-95.4254829,"y":29.973071000000004},{"name":"P+R Fuqua Park & Ride","x":-95.2169867,"y":29.60929745},{"name":"P+R Hilcroft Park and Ride","x":-95.4953988,"y":29.722077400000003},{"name":"P+R Kingsland Park & Ride","x":-95.74403235,"y":29.773826550000003},{"name":"P+R Bay Area Park and Ride","x":-95.1242302,"y":29.553318850000004},{"name":"P+R Spring Park and Ride","x":-95.41705290000002,"y":30.0219978},{"name":"P+R Grand Parkway Park & Ride","x":-95.775868,"y":29.787324400000003},{"name":"P+R Missouri City Park and Ride","x":-95.50684269999999,"y":29.62220885},{"name":"P+R Addicks Park and Ride","x":-95.6378214,"y":29.7871035},{"name":"P+R South Point Park & Ride","x":-95.2090594,"y":29.613153700000005},{"name":"P+R West Loop Park & Ride","x":-95.4590115,"y":29.67969695},{"name":"P+R West Loop Park & Ride","x":-95.4575754,"y":29.678453400000002},{"name":"P+R West Loop Park & RIde","x":-95.45893530000001,"y":29.680618600000003},{"name":"P+R West Loop Park & Ride","x":-95.45812955,"y":29.67963985},{"name":"P+R METRO West Bellfort Park & Ride","x":-95.56057320000001,"y":29.6551495},{"name":"P+R Townsen Park and Ride","x":-95.2639671,"y":30.019417250000004},{"name":"P+R Townsen Park and Ride","x":-95.2640864,"y":30.018127850000003},{"name":"P+R","x":-95.5108057,"y":29.53132745},{"name":"P+R Baytown Park & Ride","x":-94.9865383,"y":29.79922535},{"name":"P+R Northline Transit Center Parking","x":-95.3763821,"y":29.8326085},{"name":"P+R Westwood Park and Ride","x":-95.54868185000001,"y":29.672184450000003},{"name":"P+R Northwest Transit Center Park & Ride","x":-95.4537731,"y":29.78344215},{"name":"P+R","x":-95.4542179,"y":29.7830552},{"name":"P+R Westwood Park and Ride","x":-95.54843235000001,"y":29.672169000000004},{"name":"P+R Monroe Park and Ride","x":-95.25483990000001,"y":29.664887150000002},{"name":"P+R Kingsland Park & Ride","x":-95.7442418,"y":29.77444045},{"name":"P+R Hiram Clarke Park & Ride","x":-95.43183185000001,"y":29.614350900000005},{"name":"P+R Northwest Station Park & Ride","x":-95.59425515000001,"y":29.901728900000002},{"name":"P+R Seton Lake Park & Ride","x":-95.49940015,"y":29.927510500000004},{"name":"P+R West Little York Park & Ride","x":-95.55293265,"y":29.86934865},{"name":"P+R Kingwood Park and Ride","x":-95.1830843,"y":30.054689000000003},{"name":"P+R El Dorado Park & Ride","x":-95.1573459,"y":29.54807475},{"name":"P+R Mission Bend Transit Center","x":-95.6294207,"y":29.710549450000002},{"name":"P+R Gessner Park and Ride","x":-95.53812250000001,"y":29.720586000000004},{"name":"P+R Westchase Park and Ride","x":-95.5627122,"y":29.716845600000003},{"name":"P+R Southeast Park & Ride","x":-95.35762960000001,"y":29.7019081},{"name":"P+R Tidwell Park & Ride","x":-95.33732285,"y":29.852356300000004},{"name":"P+R North Shepherd Park & Ride","x":-95.41379545000001,"y":29.876002500000002},{"name":"P+R North Shepherd Park & Ride","x":-95.41460395000001,"y":29.877670450000004},{"name":"P+R North Shepherd Park & Ride","x":-95.41447335000001,"y":29.87597495},{"name":"P+R Fannin South Park & Ride","x":-95.40149275000002,"y":29.67472505},{"name":"P+R Conroe Park & Ride","x":-95.469595,"y":30.309220600000003}] \ No newline at end of file diff --git a/a11y/mocks/stops.json b/a11y/mocks/stops.json new file mode 100644 index 000000000..3d0c2672a --- /dev/null +++ b/a11y/mocks/stops.json @@ -0,0 +1 @@ +[{"id":"Houston:3388","code":"3388","name":"W Dallas St @ Gulf Freeway","lat":29.757695,"lon":-95.375708},{"id":"Houston:243","code":"243","name":"Fannin St @ Capitol St","lat":29.758925,"lon":-95.362197},{"id":"Houston:242","code":"242","name":"Fannin St @ Texas Ave","lat":29.759604,"lon":-95.361657},{"id":"Houston:9582","code":"9582","name":"Travis St @ Gray St","lat":29.749126,"lon":-95.372341},{"id":"Houston:10553","code":"10553","name":"Pierce St @ Milam St","lat":29.750529,"lon":-95.372791},{"id":"Houston:578","code":"578","name":"Louisiana St @ Mc Kinney St","lat":29.758363,"lon":-95.36753},{"id":"Houston:577","code":"577","name":"Louisiana St @ Lamar St","lat":29.757614,"lon":-95.368125},{"id":"Houston:579","code":"579","name":"Louisiana St @ Walker St","lat":29.759106,"lon":-95.366935},{"id":"Houston:10552","code":"10552","name":"Jefferson St @ Louisiana St","lat":29.752564,"lon":-95.372445},{"id":"Houston:574","code":"574","name":"Louisiana St @ Clay St","lat":29.755375,"lon":-95.369901},{"id":"Houston:221","code":"221","name":"San Jacinto St @ Jefferson St","lat":29.749769,"lon":-95.367967},{"id":"Houston:223","code":"223","name":"San Jacinto St @ Preston St","lat":29.760292,"lon":-95.359631},{"id":"Houston:222","code":"222","name":"San Jacinto St @ Prairie St","lat":29.759571,"lon":-95.360197},{"id":"Houston:224","code":"224","name":"San Jacinto St @ Franklin St","lat":29.761611,"lon":-95.358587},{"id":"Houston:10471","code":"10471","name":"Mc Kinney St @ Smith St","lat":29.759048,"lon":-95.368541},{"id":"Houston:575","code":"575","name":"Louisiana St @ Polk St","lat":29.756112,"lon":-95.369315},{"id":"Houston:576","code":"576","name":"Louisiana St @ Dallas St","lat":29.756869,"lon":-95.368721},{"id":"Houston:11881","code":"11881","name":"Memorial Service Rd @ Houston Ave","lat":29.763576,"lon":-95.371424},{"id":"Houston:571","code":"571","name":"Louisiana St @ Pease St","lat":29.75314,"lon":-95.371673},{"id":"Houston:570","code":"570","name":"Louisiana St @ Jefferson St","lat":29.752378,"lon":-95.372268},{"id":"Houston:572","code":"572","name":"Louisiana St @ Leeland St","lat":29.753866,"lon":-95.371098},{"id":"Houston:238","code":"238","name":"Capitol St @ Bagby St","lat":29.762335,"lon":-95.368907},{"id":"Houston:659","code":"659","name":"Milam St @ Pease St","lat":29.752938,"lon":-95.370778},{"id":"Houston:573","code":"573","name":"Louisiana St @ Bell St","lat":29.754624,"lon":-95.370491},{"id":"Houston:3385","code":"3385","name":"W Dallas St @ Gillette St","lat":29.757606,"lon":-95.383234},{"id":"Houston:658","code":"658","name":"Milam St @ Leeland St","lat":29.753694,"lon":-95.370184},{"id":"Houston:11256","code":"11256","name":"Preston St @ Smith St Mb","lat":29.76401,"lon":-95.365633},{"id":"Houston:656","code":"656","name":"Milam St @ Clay St","lat":29.755197,"lon":-95.368984},{"id":"Houston:218","code":"218","name":"Fannin St @ Leeland St","lat":29.752122,"lon":-95.367582},{"id":"Houston:3387","code":"3387","name":"W Dallas St @ Valentine St","lat":29.75784,"lon":-95.379042},{"id":"Houston:219","code":"219","name":"Fannin St @ Jefferson St","lat":29.750626,"lon":-95.368766},{"id":"Houston:657","code":"657","name":"Milam St @ Bell St","lat":29.754454,"lon":-95.369579},{"id":"Houston:3386","code":"3386","name":"W Dallas St @ Wilson St","lat":29.75775,"lon":-95.381626},{"id":"Houston:216","code":"216","name":"Fannin St @ Prairie St","lat":29.760369,"lon":-95.361053},{"id":"Houston:651","code":"651","name":"Milam St @ Walker St","lat":29.758927,"lon":-95.366031},{"id":"Houston:652","code":"652","name":"Milam St @ Mc Kinney St","lat":29.758145,"lon":-95.366651},{"id":"Houston:217","code":"217","name":"Fannin St @ Bell St","lat":29.752873,"lon":-95.366983},{"id":"Houston:653","code":"653","name":"Milam St @ Lamar St","lat":29.757416,"lon":-95.367225},{"id":"Houston:655","code":"655","name":"Milam St @ Polk St","lat":29.755949,"lon":-95.368385},{"id":"Houston:654","code":"654","name":"Milam St @ Dallas St","lat":29.756665,"lon":-95.367826},{"id":"Houston:10583","code":"10583","name":"Congress St @ Crawford St","lat":29.759016,"lon":-95.355221},{"id":"Houston:650","code":"650","name":"Milam St @ Rusk St","lat":29.759646,"lon":-95.365476},{"id":"Houston:10582","code":"10582","name":"Congress St @ Jackson St","lat":29.758614,"lon":-95.354552},{"id":"Houston:215","code":"215","name":"Fannin St @ Preston St","lat":29.761158,"lon":-95.360427},{"id":"Houston:214","code":"214","name":"Fannin St @ Franklin St","lat":29.762639,"lon":-95.359252},{"id":"Houston:10581","code":"10581","name":"Congress St @ Chenevert St","lat":29.75809,"lon":-95.353669},{"id":"Houston:11249","code":"11249","name":"Memorial Dr @ Sawyer St","lat":29.763547,"lon":-95.379716},{"id":"Houston:569","code":"569","name":"Mc Kinney St @ Austin St","lat":29.754905,"lon":-95.361693},{"id":"Houston:3357","code":"3357","name":"W Dallas St @ Crosby","lat":29.757834,"lon":-95.375667},{"id":"Houston:3358","code":"3358","name":"W Dallas St @ Valentine St","lat":29.757977,"lon":-95.37916},{"id":"Houston:567","code":"567","name":"Mc Kinney St @ San Jacinto St","lat":29.755947,"lon":-95.363401},{"id":"Houston:9556","code":"9556","name":"Gray St @ Smith St","lat":29.750777,"lon":-95.374649},{"id":"Houston:565","code":"565","name":"Mc Kinney St @ Main St","lat":29.756992,"lon":-95.365166},{"id":"Houston:648","code":"648","name":"Milam St @ Texas Ave","lat":29.761215,"lon":-95.364234},{"id":"Houston:342","code":"342","name":"Lamar St @ Main St","lat":29.756171,"lon":-95.365308},{"id":"Houston:3361","code":"3361","name":"W Dallas St @ Taft St","lat":29.757689,"lon":-95.385487},{"id":"Houston:3360","code":"3360","name":"W Dallas St @ Gillette St","lat":29.757755,"lon":-95.382666},{"id":"Houston:9557","code":"9557","name":"Gray St @ Bagby St","lat":29.75183,"lon":-95.376429},{"id":"Houston:3359","code":"3359","name":"W Dallas St @ Wilson St","lat":29.757974,"lon":-95.381129},{"id":"Houston:563","code":"563","name":"Mc Kinney St @ Milam St","lat":29.758044,"lon":-95.366885},{"id":"Houston:649","code":"649","name":"Milam St @ Capitol St","lat":29.760407,"lon":-95.364883},{"id":"Houston:344","code":"344","name":"Lamar St @ Milam St","lat":29.757234,"lon":-95.367081},{"id":"Houston:346","code":"346","name":"Lamar St @ Smith St","lat":29.75829,"lon":-95.368814},{"id":"Houston:646","code":"646","name":"W Dallas St @ Clay St","lat":29.757912,"lon":-95.372581},{"id":"Houston:645","code":"645","name":"Bagby St @ Dallas St","lat":29.758742,"lon":-95.371264},{"id":"Houston:340","code":"340","name":"Lamar St @ San Jacinto St","lat":29.755039,"lon":-95.363449},{"id":"Houston:9974","code":"9974","name":"W Dallas St @ Clay St","lat":29.757733,"lon":-95.372924},{"id":"Houston:9199","code":"9199","name":"Congress St @ San Jacinto St","lat":29.761159,"lon":-95.35881},{"id":"Houston:9197","code":"9197","name":"Congress St @ Austin St","lat":29.760152,"lon":-95.357119},{"id":"Houston:9196","code":"9196","name":"Congress St @ La Branch St","lat":29.759659,"lon":-95.3563},{"id":"Houston:9198","code":"9198","name":"Congress St @ Caroline St","lat":29.760676,"lon":-95.35798},{"id":"Houston:639","code":"639","name":"Bagby St @ Mc Kinney St","lat":29.759922,"lon":-95.3701},{"id":"Houston:12223","code":"12223","name":"Capitol St @ Smith St","lat":29.76126,"lon":-95.366417},{"id":"Houston:637","code":"637","name":"Smith St @ Bell St","lat":29.755383,"lon":-95.371403},{"id":"Houston:9186","code":"9186","name":"Lamar St @ Austin St","lat":29.754108,"lon":-95.361869},{"id":"Houston:638","code":"638","name":"Smith St @ Ruthven St Mb","lat":29.75475,"lon":-95.371886},{"id":"Houston:635","code":"635","name":"Smith St @ Texas Ave","lat":29.76223,"lon":-95.365966},{"id":"Houston:10271","code":"10271","name":"Rusk St @ Bagby St","lat":29.762507,"lon":-95.369555},{"id":"Houston:636","code":"636","name":"Smith St @ Clay St","lat":29.756194,"lon":-95.370752},{"id":"Houston:10273","code":"10273","name":"Memorial Dr @ Houston Ave","lat":29.764097,"lon":-95.37161},{"id":"Houston:630","code":"630","name":"Travis St @ Preston St","lat":29.761898,"lon":-95.362244},{"id":"Houston:631","code":"631","name":"Travis St @ Congress St","lat":29.762625,"lon":-95.361663},{"id":"Houston:634","code":"634","name":"Smith St @ Preston St","lat":29.763728,"lon":-95.364793},{"id":"Houston:632","code":"632","name":"Travis St @ Franklin St","lat":29.763254,"lon":-95.361169},{"id":"Houston:329","code":"329","name":"Jefferson St @ Smith St","lat":29.753104,"lon":-95.373328},{"id":"Houston:628","code":"628","name":"Travis St @ Bell St","lat":29.753604,"lon":-95.368804},{"id":"Houston:629","code":"629","name":"Travis St @ Clay St","lat":29.754346,"lon":-95.36821},{"id":"Houston:624","code":"624","name":"Travis St @ St Joseph Pkwy","lat":29.750596,"lon":-95.371177},{"id":"Houston:321","code":"321","name":"Gray St @ Brazos St","lat":29.751324,"lon":-95.375541},{"id":"Houston:1261","code":"1261","name":"Navigation Blvd @ Canal St","lat":29.758442,"lon":-95.347867},{"id":"Houston:9176","code":"9176","name":"Polk St @ Avenida De Las Americas","lat":29.75068,"lon":-95.359878},{"id":"Houston:626","code":"626","name":"Travis St @ Pease St","lat":29.752117,"lon":-95.369981},{"id":"Houston:627","code":"627","name":"Travis St @ Leeland St","lat":29.752841,"lon":-95.369404},{"id":"Houston:328","code":"328","name":"St Joseph Pkwy @ Louisiana St","lat":29.751746,"lon":-95.372601},{"id":"Houston:621","code":"621","name":"Milam St @ Jefferson St","lat":29.752197,"lon":-95.37137},{"id":"Houston:620","code":"620","name":"Milam St @ Preston St","lat":29.762708,"lon":-95.363059},{"id":"Houston:622","code":"622","name":"Milam St @ St Joseph Pkwy","lat":29.751491,"lon":-95.371924},{"id":"Houston:1262","code":"1262","name":"Franklin St @ Chartres St","lat":29.757816,"lon":-95.351365},{"id":"Houston:623","code":"623","name":"Milam St @ Pierce St","lat":29.750706,"lon":-95.372552},{"id":"Houston:12190","code":"12190","name":"Polk St @ Hamilton St","lat":29.750069,"lon":-95.35913},{"id":"Houston:619","code":"619","name":"Milam St @ Congress St","lat":29.763463,"lon":-95.362454},{"id":"Houston:10596","code":"10596","name":"Hamilton St @ Congress St","lat":29.757809,"lon":-95.352938},{"id":"Houston:616","code":"616","name":"Louisiana St @ Pierce St","lat":29.750813,"lon":-95.373514},{"id":"Houston:617","code":"617","name":"Louisiana St @ St Joseph Pkwy","lat":29.751632,"lon":-95.372833},{"id":"Houston:310","code":"310","name":"St Joseph Pkwy @ Travis St","lat":29.750747,"lon":-95.370944},{"id":"Houston:11012","code":"11012","name":"Gray St @ Helena St","lat":29.752877,"lon":-95.378132},{"id":"Houston:12196","code":"12196","name":"Louisiana St @ Preston St","lat":29.762677,"lon":-95.364114},{"id":"Houston:25030","code":"25030","name":"Preston Stn SB","lat":29.76114,"lon":-95.36166},{"id":"Houston:308","code":"308","name":"St Joseph Pkwy @ Fannin St","lat":29.749697,"lon":-95.369201},{"id":"Houston:309","code":"309","name":"St Joseph Pkwy @ Main St","lat":29.750178,"lon":-95.370002},{"id":"Houston:9799","code":"9799","name":"Runnels St @ S Jensen Dr","lat":29.75964,"lon":-95.346526},{"id":"Houston:300","code":"300","name":"San Jacinto St @ Leeland St","lat":29.751265,"lon":-95.366779},{"id":"Houston:9797","code":"9797","name":"Runnels St @ East Dr","lat":29.760929,"lon":-95.348333},{"id":"Houston:9798","code":"9798","name":"Runnels St @ Chartres St","lat":29.760936,"lon":-95.348847},{"id":"Houston:307","code":"307","name":"St Joseph Pkwy @ San Jacinto St","lat":29.749168,"lon":-95.368335},{"id":"Houston:9796","code":"9796","name":"Runnels St @ S Jensen Dr","lat":29.759708,"lon":-95.346366},{"id":"Houston:25023","code":"25023","name":"Downtown Transit Center Stn NB","lat":29.75059,"lon":-95.36993},{"id":"Houston:25024","code":"25024","name":"Downtown Transit Center Stn SB","lat":29.74988,"lon":-95.37057},{"id":"Houston:1237","code":"1237","name":"Canal St @ Navigation Blvd","lat":29.758208,"lon":-95.347115},{"id":"Houston:1236","code":"1236","name":"Navigation Blvd @ Canal St","lat":29.758256,"lon":-95.347615},{"id":"Houston:25027","code":"25027","name":"Main Street Square Stn NB","lat":29.75739,"lon":-95.36454},{"id":"Houston:25028","code":"25028","name":"Main Street Square Stn SB","lat":29.75586,"lon":-95.36584},{"id":"Houston:25029","code":"25029","name":"Preston Stn NB","lat":29.761851,"lon":-95.361029},{"id":"Houston:11202","code":"11202","name":"Franklin St @ Travis St","lat":29.763591,"lon":-95.361264},{"id":"Houston:10039","code":"10039","name":"San Jacinto St @ Texas Ave","lat":29.758732,"lon":-95.360864},{"id":"Houston:25026","code":"25026","name":"Bell Stn SB","lat":29.752873,"lon":-95.368202},{"id":"Houston:25025","code":"25025","name":"Bell Stn NB","lat":29.75358,"lon":-95.36755},{"id":"Houston:3314","code":"3314","name":"Gray St @ Valentine St","lat":29.753133,"lon":-95.378588},{"id":"Houston:3315","code":"3315","name":"W Gray St @ Matthews St","lat":29.753341,"lon":-95.380305},{"id":"Houston:3313","code":"3313","name":"Webster St @ Baldwin St","lat":29.751631,"lon":-95.378166},{"id":"Houston:3312","code":"3312","name":"Webster St @ Webster St","lat":29.752242,"lon":-95.379155},{"id":"Houston:3311","code":"3311","name":"Webster St @ Matthews St","lat":29.75286,"lon":-95.380191},{"id":"Houston:25055","code":"25055","name":"Convention District Rusk EB","lat":29.75472,"lon":-95.357716},{"id":"Houston:25052","code":"25052","name":"Theatre District Capitol WB","lat":29.760969,"lon":-95.366257},{"id":"Houston:1183","code":"1183","name":"Polk St @ St Emanuel St","lat":29.749011,"lon":-95.357106},{"id":"Houston:25054","code":"25054","name":"Central Station Capitol WB","lat":29.758361,"lon":-95.361946},{"id":"Houston:3318","code":"3318","name":"W Gray St @ Taft St","lat":29.753527,"lon":-95.38555},{"id":"Houston:3317","code":"3317","name":"W Gray St @ Genesee St","lat":29.753319,"lon":-95.383899},{"id":"Houston:25057","code":"25057","name":"Eado / Stadium Stn EB","lat":29.753564,"lon":-95.352014},{"id":"Houston:25056","code":"25056","name":"Convention District Capitol WB","lat":29.754992,"lon":-95.356331},{"id":"Houston:3316","code":"3316","name":"W Gray St @ Bailey St","lat":29.753339,"lon":-95.382079},{"id":"Houston:25058","code":"25058","name":"Eado Stadium Stn WB","lat":29.753586,"lon":-95.351999},{"id":"Houston:25051","code":"25051","name":"Theatre District Rusk EB","lat":29.760751,"lon":-95.367692},{"id":"Houston:25050","code":"25050","name":"Central Stn Main NB","lat":29.758764,"lon":-95.363464},{"id":"Houston:25053","code":"25053","name":"Central Station Rusk EB","lat":29.757684,"lon":-95.362614},{"id":"Houston:10601","code":"10601","name":"St Joseph Pkwy @ Milam St","lat":29.751216,"lon":-95.371741},{"id":"Houston:11031","code":"11031","name":"Downtown Transit Center","lat":29.750211,"lon":-95.371095},{"id":"Houston:25049","code":"25049","name":"Central Stn Main SB","lat":29.758788,"lon":-95.36351},{"id":"Houston:685","code":"685","name":"Travis St @ Polk St","lat":29.755096,"lon":-95.367596},{"id":"Houston:13097","code":"13097","name":"Polk St @ St Emanuel St","lat":29.749017,"lon":-95.357411},{"id":"Houston:682","code":"682","name":"Smith St @ Pierce St","lat":29.751729,"lon":-95.374283},{"id":"Houston:681","code":"681","name":"Smith St @ St Joseph Pkwy","lat":29.752482,"lon":-95.373673},{"id":"Houston:683","code":"683","name":"Bagby St @ Lamar St","lat":29.759167,"lon":-95.370696},{"id":"Houston:279","code":"279","name":"Preston St @ Smith St","lat":29.763563,"lon":-95.364824},{"id":"Houston:277","code":"277","name":"Franklin St @ Fannin St","lat":29.762509,"lon":-95.359494},{"id":"Houston:9209","code":"9209","name":"Franklin St @ San Jacinto St","lat":29.761974,"lon":-95.358588},{"id":"Houston:9215","code":"9215","name":"Franklin St @ Chenevert St","lat":29.758883,"lon":-95.353446},{"id":"Houston:9207","code":"9207","name":"Franklin St @ Milam St","lat":29.764078,"lon":-95.362094},{"id":"Houston:262","code":"262","name":"San Jacinto St @ Rusk St","lat":29.757238,"lon":-95.362045},{"id":"Houston:264","code":"264","name":"San Jacinto St @ Congress St","lat":29.760949,"lon":-95.3591},{"id":"Houston:263","code":"263","name":"San Jacinto St @ Capitol St","lat":29.757976,"lon":-95.361459},{"id":"Houston:9208","code":"9208","name":"Franklin St @ Main St","lat":29.763036,"lon":-95.360357},{"id":"Houston:265","code":"265","name":"San Jacinto St @ Commerce St","lat":29.762511,"lon":-95.357864},{"id":"Houston:679","code":"679","name":"Smith St @ Jefferson St","lat":29.753256,"lon":-95.373066},{"id":"Houston:9212","code":"9212","name":"Franklin St @ La Branch St","lat":29.760436,"lon":-95.356025},{"id":"Houston:9210","code":"9210","name":"Franklin St @ Caroline St","lat":29.76146,"lon":-95.357736},{"id":"Houston:9213","code":"9213","name":"Franklin St @ Crawford St","lat":29.759905,"lon":-95.355137},{"id":"Houston:9211","code":"9211","name":"Franklin St @ Austin St","lat":29.760937,"lon":-95.356856},{"id":"Houston:260","code":"260","name":"San Jacinto St @ Walker St","lat":29.756453,"lon":-95.362642},{"id":"Houston:9216","code":"9216","name":"Franklin St @ Hamilton St","lat":29.758113,"lon":-95.352206},{"id":"Houston:675","code":"675","name":"Smith St @ Dallas St","lat":29.757692,"lon":-95.369545},{"id":"Houston:676","code":"676","name":"Smith St @ Polk St","lat":29.756746,"lon":-95.370313},{"id":"Houston:677","code":"677","name":"Smith St @ Pease St","lat":29.75403,"lon":-95.372472},{"id":"Houston:674","code":"674","name":"Smith St @ Lamar St","lat":29.758446,"lon":-95.368965},{"id":"Houston:10457","code":"10457","name":"St Joseph Pkwy @ Smith St","lat":29.752206,"lon":-95.373362},{"id":"Houston:9202","code":"9202","name":"Congress St @ Travis St","lat":29.762748,"lon":-95.361451},{"id":"Houston:9200","code":"9200","name":"Congress St @ Fannin St","lat":29.761692,"lon":-95.359686},{"id":"Houston:672","code":"672","name":"Smith St @ Walker St","lat":29.759938,"lon":-95.367767},{"id":"Houston:9203","code":"9203","name":"Congress St @ Milam St","lat":29.763263,"lon":-95.362303},{"id":"Houston:9201","code":"9201","name":"Congress St @ Main St","lat":29.762215,"lon":-95.360549},{"id":"Houston:671","code":"671","name":"Smith St @ Rusk St","lat":29.760735,"lon":-95.367157},{"id":"Houston:670","code":"670","name":"Smith St @ Capitol St","lat":29.761422,"lon":-95.366585},{"id":"Houston:9365","code":"9365","name":"Pierce St @ Travis St","lat":29.750043,"lon":-95.371945},{"id":"Houston:259","code":"259","name":"San Jacinto St @ Mc Kinney St","lat":29.755746,"lon":-95.36322},{"id":"Houston:258","code":"258","name":"San Jacinto St @ Lamar St","lat":29.754989,"lon":-95.363818},{"id":"Houston:11410","code":"11410","name":"W Gray St @ Taft St","lat":29.753391,"lon":-95.385235},{"id":"Houston:9366","code":"9366","name":"Pierce St @ Main St","lat":29.749562,"lon":-95.371152},{"id":"Houston:253","code":"253","name":"San Jacinto St @ St Joseph Pkwy","lat":29.749028,"lon":-95.368545},{"id":"Houston:9367","code":"9367","name":"Pierce St @ Fannin St","lat":29.748986,"lon":-95.370189},{"id":"Houston:255","code":"255","name":"San Jacinto St @ Clay St","lat":29.752751,"lon":-95.365598},{"id":"Houston:254","code":"254","name":"San Jacinto St @ Bell St","lat":29.75202,"lon":-95.36618},{"id":"Houston:256","code":"256","name":"San Jacinto St @ Polk St","lat":29.753522,"lon":-95.364984},{"id":"Houston:9364","code":"9364","name":"Pierce St @ Smith St","lat":29.751593,"lon":-95.374504},{"id":"Houston:257","code":"257","name":"San Jacinto St @ Dallas St","lat":29.754258,"lon":-95.364394},{"id":"Houston:9351","code":"9351","name":"Webster St @ Brazos St","lat":29.750641,"lon":-95.376519},{"id":"Houston:353","code":"353","name":"Navigation Blvd @ Jensen Dr","lat":29.759182,"lon":-95.346521},{"id":"Houston:9352","code":"9352","name":"Webster St @ Louisiana St","lat":29.749633,"lon":-95.37484},{"id":"Houston:11574","code":"11574","name":"San Jacinto St @ Baker","lat":29.763895,"lon":-95.357231},{"id":"Houston:250","code":"250","name":"Fannin St @ Clay St","lat":29.753685,"lon":-95.366338},{"id":"Houston:251","code":"251","name":"Fannin St @ Pease St","lat":29.751415,"lon":-95.368142},{"id":"Houston:669","code":"669","name":"Smith St @ Prairie St","lat":29.76296,"lon":-95.365387},{"id":"Houston:11043","code":"11043","name":"Pierce St @ Louisiana St","lat":29.751099,"lon":-95.373625},{"id":"Houston:585","code":"585","name":"Louisiana St @ Congress St","lat":29.763658,"lon":-95.363346},{"id":"Houston:580","code":"580","name":"Louisiana St @ Rusk St","lat":29.759847,"lon":-95.366347},{"id":"Houston:9987","code":"9987","name":"W Dallas St @ Taft St","lat":29.757543,"lon":-95.386036},{"id":"Houston:581","code":"581","name":"Louisiana St @ Capitol St","lat":29.760582,"lon":-95.365768},{"id":"Houston:582","code":"582","name":"Louisiana St @ Texas Ave","lat":29.76138,"lon":-95.365142},{"id":"Houston:583","code":"583","name":"Louisiana St @ Prairie St","lat":29.762139,"lon":-95.364532},{"id":"Houston:663","code":"663","name":"Travis St @ Walker St","lat":29.758082,"lon":-95.365251},{"id":"Houston:665","code":"665","name":"Travis St @ Capitol St","lat":29.759559,"lon":-95.364083},{"id":"Houston:664","code":"664","name":"Travis St @ Rusk St","lat":29.758853,"lon":-95.364659},{"id":"Houston:666","code":"666","name":"Travis St @ Texas Ave","lat":29.760325,"lon":-95.363472},{"id":"Houston:667","code":"667","name":"Travis St @ Prairie St","lat":29.761145,"lon":-95.362814},{"id":"Houston:661","code":"661","name":"Travis St @ Lamar St","lat":29.756601,"lon":-95.366423},{"id":"Houston:660","code":"660","name":"Travis St @ Dallas St","lat":29.755835,"lon":-95.367027},{"id":"Houston:662","code":"662","name":"Travis St @ Mc Kinney St","lat":29.757345,"lon":-95.365814},{"id":"Houston:249","code":"249","name":"Fannin St @ Polk St","lat":29.754347,"lon":-95.365829},{"id":"Houston:244","code":"244","name":"Fannin St @ Rusk St","lat":29.75811,"lon":-95.362833},{"id":"Houston:10510","code":"10510","name":"San Jacinto St @ Pease St","lat":29.750521,"lon":-95.367372},{"id":"Houston:9342","code":"9342","name":"Milam St @ Gray St","lat":29.749953,"lon":-95.373149},{"id":"Houston:245","code":"245","name":"Fannin St @ Walker St","lat":29.757323,"lon":-95.363457},{"id":"Houston:9343","code":"9343","name":"Milam St @ Webster St","lat":29.749175,"lon":-95.373752},{"id":"Houston:247","code":"247","name":"Fannin St @ Lamar St","lat":29.755967,"lon":-95.364518},{"id":"Houston:246","code":"246","name":"Fannin St @ Mc Kinney St","lat":29.756585,"lon":-95.364047},{"id":"Houston:248","code":"248","name":"Fannin St @ Dallas St","lat":29.755103,"lon":-95.365223}] \ No newline at end of file diff --git a/a11y/test-config.yml b/a11y/test-config.yml new file mode 100644 index 000000000..1943f7827 --- /dev/null +++ b/a11y/test-config.yml @@ -0,0 +1,168 @@ +branding: a11y-test +title: a11y test environment +homeTimezone: America/Chicago + +# Default OTP API +api: + host: http://localhost:9999 + # host: http://localhost:8001 # For testing against a local OTP instance + path: /otp/routers/default + +# Enabled multimodal routing types (e.g. interary, profile) +routingTypes: + - key: ITINERARY + text: Exact Time + +# Show/hide elevation profile chart for walk/bike legs +# elevationProfile: true + +# Map config +map: + # Enabled map views + views: + - type: DEFAULT + text: Map View + # Delete/uncomment the following block to disable the stylized map + #- type: STYLIZED + # text: Network View + + # Default map center + initLat: 29.7604 + initLon: -95.3698 + initZoom: 12 + + # Base layers for default map + baseLayers: + - name: Streets + url: //api.mapbox.com/styles/v1/mapbox/outdoors-v11/tiles/{z}/{x}/{y}{retina}?access_token=pk.eyJ1IjoiaWJpLXRyYW5zaXQtZGF0YS10ZWFtIiwiYSI6ImNqeTY3Zms2bzBkbjMzbGs5bWpoemRxY3UifQ.IrkMhr7JMhUNcb2qXuzwig + attribution: "© Mapbox © OpenStreetMap Improve this map" + maxZoom: 20 + hasRetinaSupport: true + retina: "@2x" + + overlays: + - type: bike-rental + name: BCycle Locations + modes: + - BICYCLE_RENT + companies: + - BCYCLE + mapSymbols: + - maxZoom: 12 + minZoom: 0 + type: circle + pixels: 3 + fillColor: "#FF2E28" + dockStrokeColor: "#000000" + - maxZoom: 15 + minZoom: 13 + type: circle + pixels: 5 + fillColor: "#FF2E28" + dockStrokeColor: "#000000" + - maxZoom: 20 + minZoom: 16 + fillColor: "#FF2E28" + dockStrokeColor: "#000000" + type: hubAndFloatingBike + + - type: park-and-ride + name: Park & Ride Locations + maxTransitDistance: 1000 + modes: + - CAR_PARK + + - type: stops + name: Transit Stops + visible: true + +geocoder: + # IBI geocode.earth proxy + baseUrl: https://cglx01n2ua.execute-api.us-east-1.amazonaws.com/prod + # Geocoding search bounds + boundary: + rect: + minLon: -97.4197 + maxLon: -93.2674 + minLat: 28.6093 + maxLat: 30.9685 + # fetch options + options: + headers: + # AWS API Gateway key specific to Houston (IBI AWS account): + # https://console.aws.amazon.com/apigateway/home?region=us-east-1#/api-keys/fchsdgyys9 + x-api-key: lvJXqETokn3T338y1c8U843Fjh1ONdgzK3Ar0pl4 + maxNearbyStops: 6 + type: PELIAS + +# A list of private transportation operators. These are either companies that +# provide rental vehicles or transportation network companies. Companies that +# have multiple modes of transport should have all modes listed as a string with +# commas. For example: BICYCLE_RENT,MICROMOBILITY_RENT. +companies: + - id: BCYCLE + label: BCycle + modes: BICYCLE_RENT + +# Mode selector configuration +modes: + transitModes: + - mode: BUS + label: Bus + - mode: TRAM + label: METRORail + + # access to transit modes. These options are all combined with the above + # transit modes in the request to OTP + accessModes: + - mode: BICYCLE + label: Transit + Personal bike + - mode: BICYCLE_RENT + label: Transit + BCycle + company: BCYCLE + - mode: CAR_PARK + label: Park & Ride + # which exclusive modes to show. This involves using a single mode and no + # transit for the duration of the trip. Further configurations of + # `bicycleModes`, `micromobilityModes` and/or `carModes` are needed as + # desired, but no extra configuration is needed for a WALK exclusive mode. + exclusiveModes: + - WALK + - BICYCLE + + bicycleModes: + - mode: BICYCLE + label: Own Bike + iconWidth: 18 + - mode: BICYCLE_RENT + label: BCycle + iconWidth: 36 + +errorMessages: + - id: 404 + msg: Sorry, we couldn't find any transit or rideshare/carshare options at the time and/or location you chose. Please try again later, or change the settings of your trip. + modes: + - CAR_HAIL + - CAR_RENT + - id: 405 + msg: Sorry, we couldn't find any transit or rideshare/carshare options at the time and/or location you chose. Please try again later, or change the settings of your trip. + modes: + - CAR_HAIL + - CAR_RENT + - id: 480 + msg: No available transit routes or rideshare/carshare service at origin. + +reportIssue: + mailto: webmaster@ridemetro.org + +# NOTE: Houston GA for production is set in the index.html file because it +# a new GA4 site tag that is not supported by react-ga: +# https://github.com/react-ga/react-ga/issues/460 +# analytics: +# google: +# globalSiteTag: UA-XXXXXXX + +dateTime: + timeFormat: h:mm a + dateFormat: MM/DD/YYYY + longDateFormat: MMMM D, YYYY diff --git a/package.json b/package.json index b4ecb93cd..3c4cac3e8 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,10 @@ "description": "A library for writing modern OpenTripPlanner-compatible multimodal journey planning web applications using React and Redux", "main": "build/index.js", "scripts": { + "a11y-test": "mastarm test a11y --force-exit", "build": "mastarm build --env production", "cover": "mastarm test -e test --coverage", - "jest": "yarn build && mastarm test -e test", + "jest": "mastarm test -e test __tests__", "lint": "mastarm lint lib __tests__ --quiet", "lint-docs": "documentation lint lib/**/*.js", "postinstall": "husky install", @@ -117,6 +118,8 @@ "enzyme-adapter-react-16": "^1.4.0", "enzyme-to-json": "^3.4.0", "es6-math": "^1.0.0", + "execa": "^5.1.1", + "express": "^4.17.1", "husky": "^6.0.0", "leaflet": "^1.6.0", "lint-staged": "^11.0.0", diff --git a/yarn.lock b/yarn.lock index db6ec2e3f..9d952e9ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2433,6 +2433,14 @@ abortcontroller-polyfill@^1.5.0: resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.5.0.tgz#2c562f530869abbcf88d949a2b60d1d402e87a7c" integrity sha512-O6Xk757Jb4o0LMzMOMdWvxpHWrQzruYBaUruFaIOfAQRnWFxfdXYobw12jrVHGtoXk6WiiyYzc0QWN9aL62HQA== +accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + accounting@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/accounting/-/accounting-0.4.1.tgz#87dd4103eff7f4460f1e186f5c677ed6cf566883" @@ -2823,6 +2831,11 @@ array-find-index@^1.0.1: resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + array-from@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" @@ -4063,6 +4076,22 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.9: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + body@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" @@ -4492,6 +4521,11 @@ bytes@1: resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g= +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: version "12.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" @@ -5354,6 +5388,18 @@ contains-path@^0.1.0: resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + continuable-cache@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" @@ -5421,6 +5467,16 @@ convert-source-map@~1.1.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" integrity sha1-SCnId+n+SbMWHzvzZziI4gRpmGA= +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -7345,6 +7401,21 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -7406,6 +7477,42 @@ expect@^24.8.0: jest-message-util "^24.8.0" jest-regex-util "^24.3.0" +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + ext@^1.1.2: version "1.4.0" resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" @@ -7641,6 +7748,19 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + find-cache-dir@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" @@ -7848,6 +7968,11 @@ formik@^2.1.5: tiny-warning "^1.0.2" tslib "^1.10.0" +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -8691,6 +8816,17 @@ http-cache-semantics@^3.8.1: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + http-errors@~1.7.2: version "1.7.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" @@ -9100,7 +9236,7 @@ ip@1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@^1.5.2: +ipaddr.js@1.9.1, ipaddr.js@^1.5.2: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== @@ -11347,6 +11483,11 @@ measure-text@^0.0.4: url-loader "~0.5.7" webpack "^2.0.7-beta" +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" @@ -11425,6 +11566,11 @@ meow@^8.0.0: type-fest "^0.18.0" yargs-parser "^20.2.3" +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + merge-source-map@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" @@ -11473,6 +11619,11 @@ messageformat@^2.2.1: messageformat-formatters "^2.0.1" messageformat-parser "^4.1.2" +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + micromatch@^2.1.5: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" @@ -11547,6 +11698,11 @@ mime-db@1.44.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +mime-db@1.49.0: + version "1.49.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" + integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== + mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.27" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" @@ -11554,6 +11710,13 @@ mime-types@^2.1.12, mime-types@~2.1.19: dependencies: mime-db "1.44.0" +mime-types@~2.1.24: + version "2.1.32" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" + integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== + dependencies: + mime-db "1.49.0" + mime@1.3.x: version "1.3.6" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" @@ -11846,6 +12009,11 @@ needle@^2.2.1: iconv-lite "^0.4.4" sax "^1.2.4" +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + neo-async@^2.5.0, neo-async@^2.6.0: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -13003,6 +13171,11 @@ path-root@^0.1.1: dependencies: path-root-regex "^0.1.0" +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + path-to-regexp@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" @@ -14313,6 +14486,14 @@ protoduck@^5.0.1: dependencies: genfun "^5.0.0" +proxy-addr@~2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + proxy-from-env@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" @@ -14413,6 +14594,11 @@ qrcode-terminal@^0.12.0: resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + qs@^6.3.0, qs@^6.4.0, qs@^6.5.1, qs@^6.9.1: version "6.9.4" resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" @@ -14533,6 +14719,16 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + raw-body@~1.1.0: version "1.1.7" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" @@ -15781,16 +15977,16 @@ rxjs@^6.6.7: dependencies: tslib "^1.9.0" +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - safe-json-parse@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" @@ -15976,7 +16172,7 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" -serve-static@^1.10.0: +serve-static@1.14.1, serve-static@^1.10.0: version "1.14.1" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== @@ -17438,6 +17634,14 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + type@^1.0.1: version "1.2.0" resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" @@ -17779,7 +17983,7 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unpipe@~1.0.0: +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= @@ -17940,6 +18144,11 @@ util@~0.10.1: dependencies: inherits "2.0.3" +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + uuid@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" @@ -17982,6 +18191,11 @@ value-or-function@^3.0.0: resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + velocity-animate@^1.4.0: version "1.5.2" resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.2.tgz#5a351d75fca2a92756f5c3867548b873f6c32105" From b9200a6d143e74ae12e63673d6acc8a44ac88b08 Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Wed, 11 Aug 2021 11:18:48 +0200 Subject: [PATCH 09/13] refactor: remove nullified secrets --- a11y/test-config.yml | 52 -------------------------------------------- 1 file changed, 52 deletions(-) diff --git a/a11y/test-config.yml b/a11y/test-config.yml index 1943f7827..ca32472cf 100644 --- a/a11y/test-config.yml +++ b/a11y/test-config.yml @@ -31,15 +31,6 @@ map: initLon: -95.3698 initZoom: 12 - # Base layers for default map - baseLayers: - - name: Streets - url: //api.mapbox.com/styles/v1/mapbox/outdoors-v11/tiles/{z}/{x}/{y}{retina}?access_token=pk.eyJ1IjoiaWJpLXRyYW5zaXQtZGF0YS10ZWFtIiwiYSI6ImNqeTY3Zms2bzBkbjMzbGs5bWpoemRxY3UifQ.IrkMhr7JMhUNcb2qXuzwig - attribution: "© Mapbox © OpenStreetMap Improve this map" - maxZoom: 20 - hasRetinaSupport: true - retina: "@2x" - overlays: - type: bike-rental name: BCycle Locations @@ -76,25 +67,6 @@ map: name: Transit Stops visible: true -geocoder: - # IBI geocode.earth proxy - baseUrl: https://cglx01n2ua.execute-api.us-east-1.amazonaws.com/prod - # Geocoding search bounds - boundary: - rect: - minLon: -97.4197 - maxLon: -93.2674 - minLat: 28.6093 - maxLat: 30.9685 - # fetch options - options: - headers: - # AWS API Gateway key specific to Houston (IBI AWS account): - # https://console.aws.amazon.com/apigateway/home?region=us-east-1#/api-keys/fchsdgyys9 - x-api-key: lvJXqETokn3T338y1c8U843Fjh1ONdgzK3Ar0pl4 - maxNearbyStops: 6 - type: PELIAS - # A list of private transportation operators. These are either companies that # provide rental vehicles or transportation network companies. Companies that # have multiple modes of transport should have all modes listed as a string with @@ -138,30 +110,6 @@ modes: label: BCycle iconWidth: 36 -errorMessages: - - id: 404 - msg: Sorry, we couldn't find any transit or rideshare/carshare options at the time and/or location you chose. Please try again later, or change the settings of your trip. - modes: - - CAR_HAIL - - CAR_RENT - - id: 405 - msg: Sorry, we couldn't find any transit or rideshare/carshare options at the time and/or location you chose. Please try again later, or change the settings of your trip. - modes: - - CAR_HAIL - - CAR_RENT - - id: 480 - msg: No available transit routes or rideshare/carshare service at origin. - -reportIssue: - mailto: webmaster@ridemetro.org - -# NOTE: Houston GA for production is set in the index.html file because it -# a new GA4 site tag that is not supported by react-ga: -# https://github.com/react-ga/react-ga/issues/460 -# analytics: -# google: -# globalSiteTag: UA-XXXXXXX - dateTime: timeFormat: h:mm a dateFormat: MM/DD/YYYY From 6188d3ac981359220491cc83995fe7f351d9efb2 Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Wed, 11 Aug 2021 11:36:36 +0200 Subject: [PATCH 10/13] refactor: address pr comments --- a11y/a11y.test.js | 8 ++++++-- index.html | 1 + lib/components/admin/styled.js | 2 +- lib/components/narrative/narrative.css | 2 +- lib/components/viewers/viewers.css | 2 +- package.json | 2 +- 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/a11y/a11y.test.js b/a11y/a11y.test.js index 510494c43..c6c40a7b3 100644 --- a/a11y/a11y.test.js +++ b/a11y/a11y.test.js @@ -10,6 +10,8 @@ const OTP_RR_CONFIG_FILE_PATH = './config.yml' const OTP_RR_CONFIG_BACKUP_PATH = './config.non-test.yml' const OTP_RR_TEST_CONFIG_PATH = './a11y/test-config.yml' +let server + beforeEach(() => { // backup current config file if (fs.existsSync(OTP_RR_CONFIG_FILE_PATH)) { @@ -32,12 +34,12 @@ beforeEach(() => { // Launch mock OTP server const MOCK_SERVER_PORT = 9999 - mockServer.listen(MOCK_SERVER_PORT, () => { + server = mockServer.listen(MOCK_SERVER_PORT, () => { console.log(`Mock response server running on http://localhost:${MOCK_SERVER_PORT}`) }) }) -afterEach(() => { +afterEach(async () => { fs.unlinkSync(OTP_RR_CONFIG_FILE_PATH) if (fs.existsSync(OTP_RR_CONFIG_BACKUP_PATH)) { fs.renameSync( @@ -46,6 +48,8 @@ afterEach(() => { ) } console.log('Restored original OTP-RR config file') + await server.close() + console.log('Closed mock server') }) test('checks the test page with Axe', async () => { diff --git a/index.html b/index.html index 8e1b20b30..c9013dd56 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,6 @@ + diff --git a/lib/components/admin/styled.js b/lib/components/admin/styled.js index 87e557bea..6c9ecdb5b 100644 --- a/lib/components/admin/styled.js +++ b/lib/components/admin/styled.js @@ -145,7 +145,7 @@ export const Text = styled.span` export const Val = styled.span` :empty:before { - color: #685C5C; /* from "gray" to meet WCAG */ + color: #685C5C; content: 'N/A'; } ` diff --git a/lib/components/narrative/narrative.css b/lib/components/narrative/narrative.css index c6b9f9749..fd0d6534d 100644 --- a/lib/components/narrative/narrative.css +++ b/lib/components/narrative/narrative.css @@ -195,7 +195,7 @@ .otp .tabbed-itineraries .tab-button .details { font-size: 12px; - color: #685c5c; /* from "gray" to meet WCAG */ + color: #685c5c; } .otp .tabbed-itineraries .tab-button:hover .title { diff --git a/lib/components/viewers/viewers.css b/lib/components/viewers/viewers.css index 0eb6fc185..b4097dccd 100644 --- a/lib/components/viewers/viewers.css +++ b/lib/components/viewers/viewers.css @@ -138,7 +138,7 @@ .otp .stop-viewer .trip-table .header { display: table-row; font-size: 11px; - color: #685c5c; /* from "gray" to meet WCAG */ + color: #685c5c; text-align: center; } diff --git a/package.json b/package.json index 3c4cac3e8..867787379 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "build": "mastarm build --env production", "cover": "mastarm test -e test --coverage", "jest": "mastarm test -e test __tests__", - "lint": "mastarm lint lib __tests__ --quiet", + "lint": "mastarm lint lib __tests__ a11y --quiet", "lint-docs": "documentation lint lib/**/*.js", "postinstall": "husky install", "prepublish": "mastarm prepublish --config configurations/prepublish", From 4ed53e6ea17920b83a88cecb83f4fe321ec9e9ad Mon Sep 17 00:00:00 2001 From: Landon Reed Date: Tue, 17 Aug 2021 13:48:05 -0400 Subject: [PATCH 11/13] build(deps): bump @opentripplanner packages to latest --- package.json | 42 +++++------ yarn.lock | 191 ++++++++++++++++++++++++++++++++------------------- 2 files changed, 141 insertions(+), 92 deletions(-) diff --git a/package.json b/package.json index 867787379..87479045c 100644 --- a/package.json +++ b/package.json @@ -33,27 +33,27 @@ "homepage": "https://github.com/opentripplanner/otp-react-redux#readme", "dependencies": { "@auth0/auth0-react": "^1.1.0", - "@opentripplanner/base-map": "^1.1.0", - "@opentripplanner/core-utils": "^3.2.2", - "@opentripplanner/endpoints-overlay": "^1.0.6", - "@opentripplanner/from-to-location-picker": "^1.0.4", - "@opentripplanner/geocoder": "^1.0.2", - "@opentripplanner/humanize-distance": "^0.0.22", - "@opentripplanner/icons": "^1.0.5", - "@opentripplanner/itinerary-body": "^2.0.1", - "@opentripplanner/location-field": "^1.0.6", - "@opentripplanner/location-icon": "^1.0.1", - "@opentripplanner/park-and-ride-overlay": "^1.0.4", - "@opentripplanner/printable-itinerary": "^1.0.4", - "@opentripplanner/route-viewer-overlay": "^1.0.4", - "@opentripplanner/stop-viewer-overlay": "^1.0.4", - "@opentripplanner/stops-overlay": "^3.0.2", - "@opentripplanner/transit-vehicle-overlay": "^2.1.1", - "@opentripplanner/transitive-overlay": "^1.0.7", - "@opentripplanner/trip-details": "^1.1.4", - "@opentripplanner/trip-form": "^1.0.5", - "@opentripplanner/trip-viewer-overlay": "^1.0.4", - "@opentripplanner/vehicle-rental-overlay": "^1.1.2", + "@opentripplanner/base-map": "^1.2.0", + "@opentripplanner/core-utils": "^3.2.3", + "@opentripplanner/endpoints-overlay": "^1.2.0", + "@opentripplanner/from-to-location-picker": "^1.2.1", + "@opentripplanner/geocoder": "^1.1.0", + "@opentripplanner/humanize-distance": "^1.1.0", + "@opentripplanner/icons": "^1.1.0", + "@opentripplanner/itinerary-body": "^2.3.1", + "@opentripplanner/location-field": "^1.3.0", + "@opentripplanner/location-icon": "^1.3.0", + "@opentripplanner/park-and-ride-overlay": "^1.2.0", + "@opentripplanner/printable-itinerary": "^1.2.0", + "@opentripplanner/route-viewer-overlay": "^1.1.0", + "@opentripplanner/stop-viewer-overlay": "^1.1.0", + "@opentripplanner/stops-overlay": "^3.2.0", + "@opentripplanner/transit-vehicle-overlay": "^2.2.0", + "@opentripplanner/transitive-overlay": "^1.1.1", + "@opentripplanner/trip-details": "^1.3.1", + "@opentripplanner/trip-form": "^1.3.1", + "@opentripplanner/trip-viewer-overlay": "^1.1.0", + "@opentripplanner/vehicle-rental-overlay": "^1.2.0", "blob-stream": "^0.1.3", "bootstrap": "^3.3.7", "bowser": "^1.9.3", diff --git a/yarn.lock b/yarn.lock index 9d952e9ba..eebff4ef4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1559,15 +1559,15 @@ dependencies: "@types/node" ">= 8" -"@opentripplanner/base-map@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@opentripplanner/base-map/-/base-map-1.1.0.tgz#7426c1f68db4e11e6e36f27a4ca34a88964e0392" - integrity sha512-tSPSfzv92IaS3LLWUQfsDSSOE6PyCrccMmungfZwbfbeZFgflNTT9Z5WS/Jju6KEbPJKI8NRX6Qi8/DI5ZWXOg== +"@opentripplanner/base-map@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/base-map/-/base-map-1.2.0.tgz#75bfa1477f850fa65ea3cca90ffae1c1af998041" + integrity sha512-xPsK2SDSZFyekG+UMWjsRjBr7WSSUd0C35yflPe7GILjr8OWG14Uf9eCdi8VbONPavGehSNGggYfm3vlV913Vg== dependencies: "@opentripplanner/core-utils" "^3.0.4" prop-types "^15.7.2" -"@opentripplanner/core-utils@^3.0.0", "@opentripplanner/core-utils@^3.0.4", "@opentripplanner/core-utils@^3.1.1", "@opentripplanner/core-utils@^3.2.1", "@opentripplanner/core-utils@^3.2.2": +"@opentripplanner/core-utils@^3.0.0", "@opentripplanner/core-utils@^3.0.4", "@opentripplanner/core-utils@^3.1.1", "@opentripplanner/core-utils@^3.2.1": version "3.2.2" resolved "https://registry.yarnpkg.com/@opentripplanner/core-utils/-/core-utils-3.2.2.tgz#5d39b6a16670e7818cbe1a8784d26a6f9699bb4e" integrity sha512-+mmIWbvAtVEfU5lJnxs+3/qxJqhZqJne1kpeobK3Do1pqMXIHs0MVY1cZjd2/SpjXoQy+BYBZUnJmbjgDOdY/w== @@ -1582,17 +1582,32 @@ prop-types "^15.7.2" qs "^6.9.1" -"@opentripplanner/endpoints-overlay@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@opentripplanner/endpoints-overlay/-/endpoints-overlay-1.0.6.tgz#db636e61a058475fbcafdc6fba9443e20455da2f" - integrity sha512-q3IZQrXz5CVPMpqXSilXG9KXxktM2RkrN9FMnaUPvCGfNo+2wU1HrdA7t6WndsiC2tm2M45+OrpIN47478MDWg== +"@opentripplanner/core-utils@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@opentripplanner/core-utils/-/core-utils-3.2.3.tgz#dd8d9107c268308ea922220e843a491411b48100" + integrity sha512-c18qsVsPSCNjWmDaDCRgyZTuRWW7FfmHxI3EoOoasWCjJWhkuWdypWCzPjqPPTUXdOs835lPlw9BlkPadSIa0A== + dependencies: + "@mapbox/polyline" "^1.1.0" + "@opentripplanner/geocoder" "^1.0.2" + "@turf/along" "^6.0.1" + bowser "^2.7.0" + lodash.isequal "^4.5.0" + moment "^2.24.0" + moment-timezone "^0.5.27" + prop-types "^15.7.2" + qs "^6.9.1" + +"@opentripplanner/endpoints-overlay@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/endpoints-overlay/-/endpoints-overlay-1.2.0.tgz#d8bcf347d82b1566352c4c2bc52f4f389bf72f6b" + integrity sha512-20TwKB8lOtuCXuZ5W9r1ekj36HsM9MTOqRMHiowIAofk1aF9ZzgRN+nbK2npeIr9fVXvLecKGSl4f3EUOPERCw== dependencies: "@opentripplanner/core-utils" "^3.0.4" "@opentripplanner/location-icon" "^1.0.1" prop-types "^15.7.2" styled-icons "^9.1.0" -"@opentripplanner/from-to-location-picker@^1.0.3", "@opentripplanner/from-to-location-picker@^1.0.4": +"@opentripplanner/from-to-location-picker@^1.0.3": version "1.0.4" resolved "https://registry.yarnpkg.com/@opentripplanner/from-to-location-picker/-/from-to-location-picker-1.0.4.tgz#e836bfd29150a14ef599ad958ef991392535bb1a" integrity sha512-vORDBBxQv+Yj/j8w89zn9oEvQR/HK3YPqtprIflkaMjRjLsxYa7fSt2g/7i8LnOEv6Bl+8xzRmvjVzGsGDse/A== @@ -1601,6 +1616,15 @@ "@opentripplanner/location-icon" "^1.0.1" prop-types "^15.7.2" +"@opentripplanner/from-to-location-picker@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@opentripplanner/from-to-location-picker/-/from-to-location-picker-1.2.1.tgz#b9787ae891d35d3ac0604ced89d2bae5f74fa5e8" + integrity sha512-uNNnedAcLNWCAdqZuwls1lLE0zBWkDus0oYXqZ9qEk0ipdB68cK97kULKy4vcts+hvujGfXGpdJKImYIVU5FhQ== + dependencies: + "@opentripplanner/core-utils" "^3.0.4" + "@opentripplanner/location-icon" "^1.0.1" + prop-types "^15.7.2" + "@opentripplanner/geocoder@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@opentripplanner/geocoder/-/geocoder-1.0.2.tgz#50c40b9405f9fd8bbde66458d6b0074510a09b00" @@ -1611,12 +1635,22 @@ isomorphic-mapzen-search "^1.5.1" lodash.memoize "^4.1.2" -"@opentripplanner/humanize-distance@^0.0.22": - version "0.0.22" - resolved "https://registry.yarnpkg.com/@opentripplanner/humanize-distance/-/humanize-distance-0.0.22.tgz#6e2d1b4ae938e45be4eae3ddb41729e55222d741" - integrity sha512-50FREAdjyAbsARPeii1TJHVPNoF0VqPuOZixYs+KYo/e5T9f6x+tX6ypEVIoh+cVxms5cWwM91HVg0XfA5AZ2Q== +"@opentripplanner/geocoder@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/geocoder/-/geocoder-1.1.0.tgz#f3c0cd825e3c12f7661f781e85a58c08f4394755" + integrity sha512-rqMdQVwf/JjxCNMwdYhRslYjou8Y2yREzdwSh14PM88m8FEB0GMdfE+NUtKKzZfVfpbt08LdsUOkN45i+dnBKw== + dependencies: + "@conveyal/geocoder-arcgis-geojson" "^0.0.2" + "@conveyal/lonlat" "^1.4.0" + isomorphic-mapzen-search "^1.5.1" + lodash.memoize "^4.1.2" + +"@opentripplanner/humanize-distance@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/humanize-distance/-/humanize-distance-1.1.0.tgz#aa5ecdd70f33cfbdd214c76da4ba799a8ab473a5" + integrity sha512-U+rANHgl+Fz6srX2lZ6LNLkDKPaUvWb27pZeVs9f8qsA/hLlx8X3FY1T9BrYaXwxgSlwAha+YzcKUC/2SfQjJQ== -"@opentripplanner/icons@^1.0.4", "@opentripplanner/icons@^1.0.5": +"@opentripplanner/icons@^1.0.4": version "1.0.5" resolved "https://registry.yarnpkg.com/@opentripplanner/icons/-/icons-1.0.5.tgz#dfaf8dcfec8a55a59d509ad5705866b57181e8f4" integrity sha512-7389gmDZ2P43eESfYx5gdLdIeMjP3cCcthp4bUhiFjj5QBsQ8J0ZdlJo4eVqWoPSZ0fkPUhAX6zA5gpgttfvwQ== @@ -1624,13 +1658,21 @@ "@opentripplanner/core-utils" "^3.0.4" prop-types "^15.7.2" -"@opentripplanner/itinerary-body@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@opentripplanner/itinerary-body/-/itinerary-body-2.0.1.tgz#45fb0746219275d1bd54647d46a169bbf915bfa6" - integrity sha512-3nTAnfXx/fMGrJ+g4okMKX0zdMsleqQZnRV9te8kxSvUlf4jElC82b8+ie70D8qWqGoUp73aXMbH9ugQfIbAuQ== +"@opentripplanner/icons@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/icons/-/icons-1.1.0.tgz#434c6a6ee2ad300fe54d67b2891450c1f7fe59a4" + integrity sha512-G583Evm46qk38CAgT7AWB+zNg5N9wcsox+W/c4DBSMdE/9ZAu9uFfwyOuMp+WhbNO5Gj5k+13YLp/FN3jgA9pQ== dependencies: "@opentripplanner/core-utils" "^3.0.4" - "@opentripplanner/humanize-distance" "^0.0.22" + prop-types "^15.7.2" + +"@opentripplanner/itinerary-body@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@opentripplanner/itinerary-body/-/itinerary-body-2.3.1.tgz#451a21e25a9478da22c37356d879eeef09fdc699" + integrity sha512-9hRK3dqOm1/6v6jQnEvOzlYCWIZ0OjDhLfufyDi4daYidWUyqumwo8/LIuFXArqmCRfP89bLYoPSsWiRaKAKSQ== + dependencies: + "@opentripplanner/core-utils" "^3.0.4" + "@opentripplanner/humanize-distance" "^1.1.0" "@opentripplanner/icons" "^1.0.4" "@opentripplanner/location-icon" "^1.0.1" currency-formatter "^1.5.5" @@ -1639,14 +1681,14 @@ react-resize-detector "^4.2.1" velocity-react "^1.4.3" -"@opentripplanner/location-field@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@opentripplanner/location-field/-/location-field-1.0.6.tgz#f87db3d47362470ed4479dc6693e609ff09d3a2f" - integrity sha512-21BXmlXkp3A97nbOAolF51ktomhjXMn8eNXAAMQtFSXXD3QgV8cYq5MKSUoxNnhw+5YQ3C8G+/Y1I741mOyRSQ== +"@opentripplanner/location-field@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/location-field/-/location-field-1.3.0.tgz#18c31edfe03d8483e0663cbfa6ced5349b809aa7" + integrity sha512-j9TvSOfB9EAiRHIy6lR43qnPqQQqlnqO1WjibBhThUkgkxL/NOy688hAJuUyna+PXE/m3SJKgNlVdkyDzyJ9HQ== dependencies: "@opentripplanner/core-utils" "^3.0.4" "@opentripplanner/geocoder" "^1.0.2" - "@opentripplanner/humanize-distance" "^0.0.22" + "@opentripplanner/humanize-distance" "^1.1.0" "@opentripplanner/location-icon" "^1.0.1" prop-types "^15.7.2" styled-icons "^9.1.0" @@ -1659,54 +1701,61 @@ dependencies: styled-icons "^9.1.0" -"@opentripplanner/park-and-ride-overlay@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@opentripplanner/park-and-ride-overlay/-/park-and-ride-overlay-1.0.4.tgz#043db576c6188b0250236e444b93a8ab00bb0cf2" - integrity sha512-Bn0qf9tMoBcj/e8QniqcUH7o8eToyDtsS+WLEhM6yp2Nj84XhNIX7ujxsBmlIbMxNNf/qL2a/RE19lkJ+Tk73g== +"@opentripplanner/location-icon@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/location-icon/-/location-icon-1.3.0.tgz#d3e315c906f4e0054322e0e1de102a76d5ead81c" + integrity sha512-R36HaGt7iC9WRbUscJJY2HyerAOT5/Z8ytWT3U/y3grpMkf9rUajA17YX7qsZoL+FBgyBiVRsVqoq7n6TYARJw== + dependencies: + styled-icons "^9.1.0" + +"@opentripplanner/park-and-ride-overlay@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/park-and-ride-overlay/-/park-and-ride-overlay-1.2.0.tgz#deede3104e9e095ae6915c26898f88ab79126595" + integrity sha512-faF7YeTJSnONtWr33wcJR/38iYSuoC5knPnHBH895wT154JTVk5pXKtI0/2HiPg/CCA6lhS6HsGmmOTir4HJpg== dependencies: "@opentripplanner/core-utils" "^3.0.4" "@opentripplanner/from-to-location-picker" "^1.0.3" prop-types "^15.7.2" -"@opentripplanner/printable-itinerary@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@opentripplanner/printable-itinerary/-/printable-itinerary-1.0.4.tgz#30bfd1ee7bbc7890d06604c3413f23012764f8a2" - integrity sha512-8TaVwe/5tKT2ZmnaFDXdBykUApeT9ynF0FMFkMJPnrf8NYCqzBbGrrSEQrRXuUcm9iEubEU87LqmYrIld4r/xQ== +"@opentripplanner/printable-itinerary@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/printable-itinerary/-/printable-itinerary-1.2.0.tgz#cf5c7b9ea35ccc9140ea6e6e7a8cd620c75e2e11" + integrity sha512-lG7f7c3ZB4DlRcnSTt8V1dH1/bjeW28bcmAnutjjxsM4R/8RutmMbMay67IxfapPWq29Y91sSvIbJDLexMyMyA== dependencies: "@opentripplanner/core-utils" "^3.0.4" - "@opentripplanner/humanize-distance" "^0.0.22" + "@opentripplanner/humanize-distance" "^1.1.0" prop-types "^15.7.2" -"@opentripplanner/route-viewer-overlay@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@opentripplanner/route-viewer-overlay/-/route-viewer-overlay-1.0.4.tgz#3013d5d92e33cae36d8ec6352d024c4714edebcf" - integrity sha512-Q9x8FW4B5+0FVclbZEBZJ9eposw66F45rKqhi82Dgul0KJ+6Sf8hgGikzIIpQoyD1MCx+L8b4+ZcgN1OAXK4VQ== +"@opentripplanner/route-viewer-overlay@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/route-viewer-overlay/-/route-viewer-overlay-1.1.0.tgz#5adc6c69e0427b0d75f7a441e853d2ce90386971" + integrity sha512-hslKmfLeL+v0hyWwEl5UJvzackW6I4XNzM38GXBKpO2JtK3p0tT23BQByPRvLJLUoKYocAjZ2S3YDAVVqftuPw== dependencies: "@mapbox/polyline" "^1.1.0" "@opentripplanner/core-utils" "^3.0.4" prop-types "^15.7.2" -"@opentripplanner/stop-viewer-overlay@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@opentripplanner/stop-viewer-overlay/-/stop-viewer-overlay-1.0.4.tgz#31348341325be13f423daca9712cb9a2d520afa2" - integrity sha512-auqgkJN4wRD2TIWHibKMKVeP3uOrIDcjMkY+KSt8xiHLtOvslDgf6aAwfF6VjG50ILLDOeoYbfVCGR0YLVv6fg== +"@opentripplanner/stop-viewer-overlay@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/stop-viewer-overlay/-/stop-viewer-overlay-1.1.0.tgz#0867903cd24c96cc49e4d4537a976c74ded715d0" + integrity sha512-S3YpSQY+0nqC9hoXszGTR5TsJdPWvqbGsxa7zWnwiKBc1ljGtt81JIAKwn71Ikdjtg4FHQ06Xr3XOkNYyaP5+g== dependencies: "@opentripplanner/core-utils" "^3.0.4" prop-types "^15.7.2" -"@opentripplanner/stops-overlay@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@opentripplanner/stops-overlay/-/stops-overlay-3.0.2.tgz#47deff087ea1249e2c4dce0ff8e7896e26cd729c" - integrity sha512-ud+lcPmh5u7HxDKks9+a8ZE/tlMESoTuoBKiXsXUIubMED/Dch4RBVkO2GcAk3wjqRUy0WLPRtLeBMMS/Qupyw== +"@opentripplanner/stops-overlay@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/stops-overlay/-/stops-overlay-3.2.0.tgz#71ff08c404666cb178014fdece03dbc37514dffb" + integrity sha512-hxOgDC4KDSPY2u2tAhGrBrNZTc9rf52I4m4aHT6dZhzFCxP15Fk5BGNlaUZvz8qoIczoo86YFQx5EamsLK+aqA== dependencies: "@opentripplanner/core-utils" "^3.0.4" "@opentripplanner/from-to-location-picker" "^1.0.3" "@opentripplanner/zoom-based-markers" "^1.0.1" -"@opentripplanner/transit-vehicle-overlay@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@opentripplanner/transit-vehicle-overlay/-/transit-vehicle-overlay-2.1.1.tgz#e73b870458a87803ec8004c09e2ea766112a5986" - integrity sha512-EG79B4NUi4odepCc8jnOb/bNjf16OzDGf4zXMGryX//IFxKO4x340Mjjp/sEK7I+fiNCDBZlZp49zQkQyieeoQ== +"@opentripplanner/transit-vehicle-overlay@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/transit-vehicle-overlay/-/transit-vehicle-overlay-2.2.0.tgz#6e9476466d07b8c4d8f35ec818dd32d37db36469" + integrity sha512-V/hct+yqubulWyI/ArZTHarYDh06zPNsHgXEcgrvdhnR9Bds5fGHBhXUDfscOY0DKk51DuKmsP+N6yKDIAePGA== dependencies: "@opentripplanner/core-utils" "^3.2.1" "@opentripplanner/icons" "^1.0.4" @@ -1717,49 +1766,49 @@ styled-icons "^9.1.0" throttle-debounce "^2.1.0" -"@opentripplanner/transitive-overlay@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@opentripplanner/transitive-overlay/-/transitive-overlay-1.0.7.tgz#42706fea6ce3fd3c93b75d272c6da1c00e9044e4" - integrity sha512-2QgvfGgq/8B2EpzFAtaxrmexP/k97WHZwKMVho4ZNPiAYfcaE5kRsa1ifWy5A5hHXb36ixAgzfJYiVLeadWbQQ== +"@opentripplanner/transitive-overlay@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@opentripplanner/transitive-overlay/-/transitive-overlay-1.1.1.tgz#b59ca1491c0247d6a3730fa96a879565c3ab1b89" + integrity sha512-tIJC7SV/bc+yMHGPNEJMbgp1LdHgvX2S9vG8FLUZ88B+xl/8AADERNPdEtPYDZR3Z7USp/wsRfwFo9F1NWJkJQ== dependencies: "@opentripplanner/core-utils" "^3.1.1" lodash.isequal "^4.5.0" transitive-js "^0.13.7" -"@opentripplanner/trip-details@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@opentripplanner/trip-details/-/trip-details-1.1.4.tgz#00f1554e68fd46c45af5609de25ec2a1b13b20eb" - integrity sha512-84bwL6alxf4PGZzKVxRXruMSF92wKHmpI5J6NVNZvcbwi3hCWJgGtPr5y8cuuMPM8JEhSJweRYG89aWMdN4HTA== +"@opentripplanner/trip-details@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@opentripplanner/trip-details/-/trip-details-1.3.1.tgz#d0fc57f8fd13f9600c63452a0232d0f5bcaa1b3e" + integrity sha512-s5WKJgoMY0U3IXySbiCL9lR1dbXx7r91UHvhb9XosXzBfLfm/em+EDcmNsq9YFI8/7PS4jG9r7n9ma8rzd8pVw== dependencies: "@opentripplanner/core-utils" "^3.0.4" - "@opentripplanner/humanize-distance" "^0.0.22" + "@opentripplanner/humanize-distance" "^1.1.0" moment "^2.24.0" prop-types "^15.7.2" styled-icons "^9.1.0" velocity-react "^1.4.3" -"@opentripplanner/trip-form@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@opentripplanner/trip-form/-/trip-form-1.0.5.tgz#93c13c149c575e8c93dba5718c468f1e54741b92" - integrity sha512-AauchqPBnTKyTfs7LiwpPaP2cJ6ndppWPsZz3Wr1BDNUTCy6sKlby9TKahAw1N6MQp4mO5QtAZTNCVDiVN2V/g== +"@opentripplanner/trip-form@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@opentripplanner/trip-form/-/trip-form-1.3.1.tgz#c8e08bb068372eae0b974d31626a1da9f19cf485" + integrity sha512-PG2ZvWBevhOUcvf5jvTIfn8R30EFVGlEMq1b7geDAN1BzGCLDOh10bxFmnzdsXJG7XZ2hkThTvADl3DgPypwrA== dependencies: "@opentripplanner/core-utils" "^3.0.4" "@opentripplanner/icons" "^1.0.4" moment "^2.17.1" -"@opentripplanner/trip-viewer-overlay@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@opentripplanner/trip-viewer-overlay/-/trip-viewer-overlay-1.0.4.tgz#6dce5ce4c7ad3c6a441351ddeca9c055929d31f6" - integrity sha512-Z5/sfSmaQnJOFKFhvxzgZPXGPF1TcYddrw8Bg1rpl8tjqkKVWasloegyoP6KmDH7IBsbMIsyitPfnAKjfIyLiQ== +"@opentripplanner/trip-viewer-overlay@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/trip-viewer-overlay/-/trip-viewer-overlay-1.1.0.tgz#bba9d25229b4e15b4e4ef4e93a735fed36825e54" + integrity sha512-T8CUpQ2//oF234ime97pj9RGIW6wBCGskQdr58Oh6YX6oGA+gFm7RtpySdRToeXUpcnM+1ZZRO5iRCD6+9o8lQ== dependencies: "@mapbox/polyline" "^1.1.0" "@opentripplanner/core-utils" "^3.0.4" prop-types "^15.7.2" -"@opentripplanner/vehicle-rental-overlay@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@opentripplanner/vehicle-rental-overlay/-/vehicle-rental-overlay-1.1.2.tgz#04c670da35205c94786118cd5a8610190c26d71c" - integrity sha512-d36c79zj37Y9M+gDW5fE7RU3nVlGh68mIaKxAU3zlqY/jDsPHMjMltp+KRJwAhFVV19vnfMzriqjU6epRqBhwQ== +"@opentripplanner/vehicle-rental-overlay@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@opentripplanner/vehicle-rental-overlay/-/vehicle-rental-overlay-1.2.0.tgz#6a8003af63491d54ce3884b786e5bedb0582b934" + integrity sha512-4o/VLZMWg4SrSXJToH6f2ZaGPA6jZiwUY57fGZTQH3uZA6dnyVZ2ySRTfmJOR76rDTzZt4dVmLVFD7hOe366Rg== dependencies: "@opentripplanner/core-utils" "^3.0.4" "@opentripplanner/from-to-location-picker" "^1.0.3" From 38a671cbd429068488df621629f35947764f971e Mon Sep 17 00:00:00 2001 From: Evan Siroky Date: Tue, 17 Aug 2021 11:40:25 -0700 Subject: [PATCH 12/13] chore: deduplicate yarn.lock --- yarn.lock | 293 ++++++------------------------------------------------ 1 file changed, 30 insertions(+), 263 deletions(-) diff --git a/yarn.lock b/yarn.lock index eebff4ef4..ca12829c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1064,14 +1064,7 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" - integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.13.10": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.14.8" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.8.tgz#7119a56f421018852694290b9f9148097391b446" integrity sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg== @@ -1567,22 +1560,7 @@ "@opentripplanner/core-utils" "^3.0.4" prop-types "^15.7.2" -"@opentripplanner/core-utils@^3.0.0", "@opentripplanner/core-utils@^3.0.4", "@opentripplanner/core-utils@^3.1.1", "@opentripplanner/core-utils@^3.2.1": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@opentripplanner/core-utils/-/core-utils-3.2.2.tgz#5d39b6a16670e7818cbe1a8784d26a6f9699bb4e" - integrity sha512-+mmIWbvAtVEfU5lJnxs+3/qxJqhZqJne1kpeobK3Do1pqMXIHs0MVY1cZjd2/SpjXoQy+BYBZUnJmbjgDOdY/w== - dependencies: - "@mapbox/polyline" "^1.1.0" - "@opentripplanner/geocoder" "^1.0.2" - "@turf/along" "^6.0.1" - bowser "^2.7.0" - lodash.isequal "^4.5.0" - moment "^2.24.0" - moment-timezone "^0.5.27" - prop-types "^15.7.2" - qs "^6.9.1" - -"@opentripplanner/core-utils@^3.2.3": +"@opentripplanner/core-utils@^3.0.0", "@opentripplanner/core-utils@^3.0.4", "@opentripplanner/core-utils@^3.1.1", "@opentripplanner/core-utils@^3.2.1", "@opentripplanner/core-utils@^3.2.3": version "3.2.3" resolved "https://registry.yarnpkg.com/@opentripplanner/core-utils/-/core-utils-3.2.3.tgz#dd8d9107c268308ea922220e843a491411b48100" integrity sha512-c18qsVsPSCNjWmDaDCRgyZTuRWW7FfmHxI3EoOoasWCjJWhkuWdypWCzPjqPPTUXdOs835lPlw9BlkPadSIa0A== @@ -1607,16 +1585,7 @@ prop-types "^15.7.2" styled-icons "^9.1.0" -"@opentripplanner/from-to-location-picker@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@opentripplanner/from-to-location-picker/-/from-to-location-picker-1.0.4.tgz#e836bfd29150a14ef599ad958ef991392535bb1a" - integrity sha512-vORDBBxQv+Yj/j8w89zn9oEvQR/HK3YPqtprIflkaMjRjLsxYa7fSt2g/7i8LnOEv6Bl+8xzRmvjVzGsGDse/A== - dependencies: - "@opentripplanner/core-utils" "^3.0.4" - "@opentripplanner/location-icon" "^1.0.1" - prop-types "^15.7.2" - -"@opentripplanner/from-to-location-picker@^1.2.1": +"@opentripplanner/from-to-location-picker@^1.0.3", "@opentripplanner/from-to-location-picker@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@opentripplanner/from-to-location-picker/-/from-to-location-picker-1.2.1.tgz#b9787ae891d35d3ac0604ced89d2bae5f74fa5e8" integrity sha512-uNNnedAcLNWCAdqZuwls1lLE0zBWkDus0oYXqZ9qEk0ipdB68cK97kULKy4vcts+hvujGfXGpdJKImYIVU5FhQ== @@ -1625,17 +1594,7 @@ "@opentripplanner/location-icon" "^1.0.1" prop-types "^15.7.2" -"@opentripplanner/geocoder@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@opentripplanner/geocoder/-/geocoder-1.0.2.tgz#50c40b9405f9fd8bbde66458d6b0074510a09b00" - integrity sha512-VuVW7KTmMySfYkf0oMX19z8a4N2jkpbnGKmhJELCu7msff06n0yVeUoEabTpJggXBIA/CW64hKMMsWNi4WUrWQ== - dependencies: - "@conveyal/geocoder-arcgis-geojson" "^0.0.2" - "@conveyal/lonlat" "^1.4.0" - isomorphic-mapzen-search "^1.5.1" - lodash.memoize "^4.1.2" - -"@opentripplanner/geocoder@^1.1.0": +"@opentripplanner/geocoder@^1.0.2", "@opentripplanner/geocoder@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@opentripplanner/geocoder/-/geocoder-1.1.0.tgz#f3c0cd825e3c12f7661f781e85a58c08f4394755" integrity sha512-rqMdQVwf/JjxCNMwdYhRslYjou8Y2yREzdwSh14PM88m8FEB0GMdfE+NUtKKzZfVfpbt08LdsUOkN45i+dnBKw== @@ -1650,15 +1609,7 @@ resolved "https://registry.yarnpkg.com/@opentripplanner/humanize-distance/-/humanize-distance-1.1.0.tgz#aa5ecdd70f33cfbdd214c76da4ba799a8ab473a5" integrity sha512-U+rANHgl+Fz6srX2lZ6LNLkDKPaUvWb27pZeVs9f8qsA/hLlx8X3FY1T9BrYaXwxgSlwAha+YzcKUC/2SfQjJQ== -"@opentripplanner/icons@^1.0.4": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@opentripplanner/icons/-/icons-1.0.5.tgz#dfaf8dcfec8a55a59d509ad5705866b57181e8f4" - integrity sha512-7389gmDZ2P43eESfYx5gdLdIeMjP3cCcthp4bUhiFjj5QBsQ8J0ZdlJo4eVqWoPSZ0fkPUhAX6zA5gpgttfvwQ== - dependencies: - "@opentripplanner/core-utils" "^3.0.4" - prop-types "^15.7.2" - -"@opentripplanner/icons@^1.1.0": +"@opentripplanner/icons@^1.0.4", "@opentripplanner/icons@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@opentripplanner/icons/-/icons-1.1.0.tgz#434c6a6ee2ad300fe54d67b2891450c1f7fe59a4" integrity sha512-G583Evm46qk38CAgT7AWB+zNg5N9wcsox+W/c4DBSMdE/9ZAu9uFfwyOuMp+WhbNO5Gj5k+13YLp/FN3jgA9pQ== @@ -1694,14 +1645,7 @@ styled-icons "^9.1.0" throttle-debounce "^2.1.0" -"@opentripplanner/location-icon@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@opentripplanner/location-icon/-/location-icon-1.0.1.tgz#5a72f697eeebfb21202bfc205ca0da7c32dfe1d0" - integrity sha512-esHrqZBKxJNNPiZyb4XtrWYZhdVrUHcpAr4eCydf8pSDRUX9QVM/YqAPPn2SEwJiH2hi14CYLMMV5SjEHwwJMg== - dependencies: - styled-icons "^9.1.0" - -"@opentripplanner/location-icon@^1.3.0": +"@opentripplanner/location-icon@^1.0.1", "@opentripplanner/location-icon@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@opentripplanner/location-icon/-/location-icon-1.3.0.tgz#d3e315c906f4e0054322e0e1de102a76d5ead81c" integrity sha512-R36HaGt7iC9WRbUscJJY2HyerAOT5/Z8ytWT3U/y3grpMkf9rUajA17YX7qsZoL+FBgyBiVRsVqoq7n6TYARJw== @@ -2160,15 +2104,7 @@ "@turf/helpers" "^6.4.0" "@turf/meta" "^6.4.0" -"@turf/bearing@6.x": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@turf/bearing/-/bearing-6.0.1.tgz#8da5d17092e571f170cde7bfb2e5b0d74923c92d" - integrity sha512-mXY1NozqV9EFfBTbUItujwfqfQF0G/Xe2fzvnZle90ekPEUfhi4Dgf5JswJTd96J9LiT8kcd6Jonp5khnx0wIg== - dependencies: - "@turf/helpers" "6.x" - "@turf/invariant" "6.x" - -"@turf/bearing@^6.4.0": +"@turf/bearing@6.x", "@turf/bearing@^6.4.0": version "6.4.0" resolved "https://registry.yarnpkg.com/@turf/bearing/-/bearing-6.4.0.tgz#9a85567cbdd2cdd17ffe6243342a656af70e74d9" integrity sha512-CmMsT8hSzzhZWe0+49OP48m/EAXryZjNh/7D/0nqMIlayslRZ+bHuV3KcrOCD20xoDFtBuSEdwEd6i4+2Nw3LA== @@ -2176,15 +2112,7 @@ "@turf/helpers" "^6.4.0" "@turf/invariant" "^6.4.0" -"@turf/destination@6.x": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@turf/destination/-/destination-6.0.1.tgz#5275887fa96ec463f44864a2c17f0b712361794a" - integrity sha512-MroK4nRdp7as174miCAugp8Uvorhe6rZ7MJiC9Hb4+hZR7gNFJyVKmkdDDXIoCYs6MJQsx0buI+gsCpKwgww0Q== - dependencies: - "@turf/helpers" "6.x" - "@turf/invariant" "6.x" - -"@turf/destination@^6.4.0": +"@turf/destination@6.x", "@turf/destination@^6.4.0": version "6.4.0" resolved "https://registry.yarnpkg.com/@turf/destination/-/destination-6.4.0.tgz#0325fb9297179dc7938563324f5b7e0bcb9a48ac" integrity sha512-jSZtFhwG2JMUc3MLH5z6IVbvk/MYfsQmqOhjc7Lv6twjdipJ/KzKfLD8FRClaDm/ByCMcO7ZYG3z5AagyQu31g== @@ -2192,15 +2120,7 @@ "@turf/helpers" "^6.4.0" "@turf/invariant" "^6.4.0" -"@turf/distance@6.x": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@turf/distance/-/distance-6.0.1.tgz#0761f28784286e7865a427c4e7e3593569c2dea8" - integrity sha512-q7t7rWIWfkg7MP1Vt4uLjSEhe5rPfCO2JjpKmk7JC+QZKEQkuvHEqy3ejW1iC7Kw5ZcZNR3qdMGGz+6HnVwqvg== - dependencies: - "@turf/helpers" "6.x" - "@turf/invariant" "6.x" - -"@turf/distance@^6.4.0": +"@turf/distance@6.x", "@turf/distance@^6.4.0": version "6.4.0" resolved "https://registry.yarnpkg.com/@turf/distance/-/distance-6.4.0.tgz#c5b40af4851785f6792f651749aedb9d16e1d599" integrity sha512-EyNEfHfFNVwLHsD31hIpaDInoxlwUFZAVryTWxDu6O+XNE+VfVomMUxLYPm3t0tVqVNUGwOhYo5Z4HfTlr6V1g== @@ -2208,24 +2128,12 @@ "@turf/helpers" "^6.4.0" "@turf/invariant" "^6.4.0" -"@turf/helpers@6.x": - version "6.1.4" - resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.1.4.tgz#d6fd7ebe6782dd9c87dca5559bda5c48ae4c3836" - integrity sha512-vJvrdOZy1ngC7r3MDA7zIGSoIgyrkWcGnNIEaqn/APmw+bVLF2gAW7HIsdTxd12s5wQMqEpqIQrmrbRRZ0xC7g== - -"@turf/helpers@^6.4.0": +"@turf/helpers@6.x", "@turf/helpers@^6.4.0": version "6.4.0" resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.4.0.tgz#e263d960ab1caed3bfe86a7f2f4b2096dbbf0635" integrity sha512-7vVpWZwHP0Qn8DDSlM++nhs3/6zfPt+GODjvLVZ+sWIG4S3vOtUUOfO5eIjRzxsUHHqhgiIL0QA17u79uLM+mQ== -"@turf/invariant@6.x": - version "6.1.2" - resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-6.1.2.tgz#6013ed6219f9ac2edada9b31e1dfa5918eb0a2f7" - integrity sha512-WU08Ph8j0J2jVGlQCKChXoCtI50BB3yEH21V++V0T4cR1T27HKCxkehV2sYMwTierfMBgjwSwDIsxnR4/2mWXg== - dependencies: - "@turf/helpers" "6.x" - -"@turf/invariant@^6.4.0": +"@turf/invariant@6.x", "@turf/invariant@^6.4.0": version "6.4.0" resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-6.4.0.tgz#bedef5a55e6dc867eabbc5660f3df754b5709d4b" integrity sha512-ncAiOLkL6Ul6NnyOZSSmEbTwcZZ8PTx7O1IzB89Ed/mAe1g5PvFnyFieWbcnERGmuqH1ftzgtWMFFHFi2PQLsg== @@ -2673,20 +2581,13 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -ansi-escapes@^4.3.0: +ansi-escapes@^4.3.0, ansi-escapes@^4.3.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" -ansi-escapes@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - ansi-html@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -4027,12 +3928,7 @@ base64-js@0.0.8: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" integrity sha1-EQHpVE9KdrG8OybUUsqW16NeeXg= -base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== - -base64-js@^1.1.2, base64-js@^1.3.0, base64-js@^1.3.1: +base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.3.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -4529,15 +4425,7 @@ buffer@4.9.1, buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.0.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" - integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -buffer@^5.2.1, buffer@^5.5.0: +buffer@^5.0.2, buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -4718,12 +4606,7 @@ caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000986.tgz#0439a4052bbd3243fa01c9998601b9226e7ea6b7" integrity sha512-8SKJ12AFwG0ReMjPwRH+keFsX/ucw2bi6LC7upeXBvxjgrMqHaTxgYhkRGm+eOwUWvVcqXDgqM7QNlRJMhvXZg== -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001135: - version "1.0.30001203" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001203.tgz" - integrity sha512-/I9tvnzU/PHMH7wBPrfDMSuecDeUKerjCPX7D0xBbaJZPxoT9m+yYxt0zCTkcijCkjTdim3H56Zm0i5Adxch4w== - -caniuse-lite@^1.0.30001233: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001135, caniuse-lite@^1.0.30001233: version "1.0.30001239" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz#66e8669985bb2cb84ccb10f68c25ce6dd3e4d2b8" integrity sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ== @@ -4809,15 +4692,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4 escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.1.0, chalk@^4.1.1: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== @@ -7012,7 +6887,7 @@ escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -escodegen@^1.11.1: +escodegen@^1.11.1, escodegen@^1.9.1: version "1.14.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== @@ -7024,18 +6899,6 @@ escodegen@^1.11.1: optionalDependencies: source-map "~0.6.1" -escodegen@^1.9.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" - integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - escodegen@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.2.0.tgz#09de7967791cc958b7f89a2ddb6d23451af327e1" @@ -7435,22 +7298,7 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execa@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.0.tgz#3ea50ee863d226bfa323528cce1684e7481dfe46" - integrity sha512-CkdUB7s2y6S+d4y+OM/+ZtQcJCiKUCth4cNImGMqrt2zEVtW2rfHGspQBE1GDo6LjeNIQmTPKXqTCKjqFKyu3A== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -execa@^5.1.1: +execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -8310,14 +8158,7 @@ get-stream@^4.0.0, get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: +get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -8983,16 +8824,11 @@ ieee754@1.1.8: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" integrity sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q= -ieee754@^1.1.13: +ieee754@^1.1.13, ieee754@^1.1.4: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" @@ -9040,15 +8876,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0, import-fresh@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -9129,16 +8957,11 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.2: +ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" - integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== - init-package-json@^1.10.3: version "1.10.3" resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" @@ -9412,14 +9235,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" - integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== - dependencies: - has "^1.0.3" - -is-core-module@^2.2.0: +is-core-module@^2.1.0, is-core-module@^2.2.0: version "2.4.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== @@ -11711,15 +11527,7 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -micromatch@^4.0.4: +micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -11752,14 +11560,7 @@ mime-db@1.49.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" - -mime-types@~2.1.24: +mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.32" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== @@ -11945,14 +11746,7 @@ mold-source-map@~0.4.0: convert-source-map "^1.1.0" through "~2.2.7" -moment-timezone@^0.5.27: - version "0.5.31" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.31.tgz#9c40d8c5026f0c7ab46eda3d63e49c155148de05" - integrity sha512-+GgHNg8xRhMXfEbv81iDtrVeTcWt0kWmTEY1XQK14dICTXnWJnT0dxdlPspwqF3keKMVPXwayEsk1DI0AA/jdA== - dependencies: - moment ">= 2.9.0" - -moment-timezone@^0.5.33: +moment-timezone@^0.5.27, moment-timezone@^0.5.33: version "0.5.33" resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.33.tgz#b252fd6bb57f341c9b59a5ab61a8e51a73bbd22c" integrity sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w== @@ -13306,12 +13100,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== @@ -15852,15 +15641,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -resolve@^1.1.5: +resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -16012,14 +15793,7 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.1.0, rxjs@^6.4.0, rxjs@^6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" - integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== - dependencies: - tslib "^1.9.0" - -rxjs@^6.6.7: +rxjs@^6.1.0, rxjs@^6.4.0, rxjs@^6.5.2, rxjs@^6.6.7: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -18804,18 +18578,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0: +yaml@^1.10.0, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^1.7.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.9.2.tgz#f0cfa865f003ab707663e4f04b3956957ea564ed" - integrity sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg== - dependencies: - "@babel/runtime" "^7.9.2" - yamljs@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/yamljs/-/yamljs-0.3.0.tgz#dc060bf267447b39f7304e9b2bfbe8b5a7ddb03b" From 77b5c3b9cc3c8a52137a933423ac7f788a1eac55 Mon Sep 17 00:00:00 2001 From: Landon Reed Date: Tue, 17 Aug 2021 15:14:49 -0400 Subject: [PATCH 13/13] test: update snaps --- .../viewers/__snapshots__/stop-viewer.js.snap | 100 +++++++----------- yarn.lock | 21 +--- 2 files changed, 43 insertions(+), 78 deletions(-) diff --git a/__tests__/components/viewers/__snapshots__/stop-viewer.js.snap b/__tests__/components/viewers/__snapshots__/stop-viewer.js.snap index 47cd8838d..43bc5f765 100644 --- a/__tests__/components/viewers/__snapshots__/stop-viewer.js.snap +++ b/__tests__/components/viewers/__snapshots__/stop-viewer.js.snap @@ -329,9 +329,7 @@ exports[`components > viewers > stop viewer should render countdown times after className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render countdown times after title="From Location Icon" > viewers > stop viewer should render countdown times after title="From Location Icon" > viewers > stop viewer should render countdown times after title="From Location Icon" > viewers > stop viewer should render countdown times after className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render countdown times after title="To Location Icon" > viewers > stop viewer should render countdown times after title="To Location Icon" > viewers > stop viewer should render countdown times after title="To Location Icon" > viewers > stop viewer should render countdown times for st className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render countdown times for st title="From Location Icon" > viewers > stop viewer should render countdown times for st title="From Location Icon" > viewers > stop viewer should render countdown times for st title="From Location Icon" > viewers > stop viewer should render countdown times for st className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render countdown times for st title="To Location Icon" > viewers > stop viewer should render countdown times for st title="To Location Icon" > viewers > stop viewer should render countdown times for st title="To Location Icon" > viewers > stop viewer should render times after midnight w className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render times after midnight w title="From Location Icon" > viewers > stop viewer should render times after midnight w title="From Location Icon" > viewers > stop viewer should render times after midnight w title="From Location Icon" > viewers > stop viewer should render times after midnight w className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render times after midnight w title="To Location Icon" > viewers > stop viewer should render times after midnight w title="To Location Icon" > viewers > stop viewer should render times after midnight w title="To Location Icon" > viewers > stop viewer should render with OTP transit index className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render with OTP transit index title="From Location Icon" > viewers > stop viewer should render with OTP transit index title="From Location Icon" > viewers > stop viewer should render with OTP transit index title="From Location Icon" > viewers > stop viewer should render with OTP transit index className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render with OTP transit index title="To Location Icon" > viewers > stop viewer should render with OTP transit index title="To Location Icon" > viewers > stop viewer should render with OTP transit index title="To Location Icon" > viewers > stop viewer should render with TriMet transit in className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render with TriMet transit in title="From Location Icon" > viewers > stop viewer should render with TriMet transit in title="From Location Icon" > viewers > stop viewer should render with TriMet transit in title="From Location Icon" > viewers > stop viewer should render with TriMet transit in className="styled__LocationPickerSpan-p56b41-0 bujKZP" > viewers > stop viewer should render with TriMet transit in title="To Location Icon" > viewers > stop viewer should render with TriMet transit in title="To Location Icon" > viewers > stop viewer should render with TriMet transit in title="To Location Icon" >