diff --git a/data/place.json b/data/place.json
index d190bbc9..72425464 100644
--- a/data/place.json
+++ b/data/place.json
@@ -1 +1,197 @@
-[{"createdAt":1593110876410,"updatedAt":1593110876410,"id":2,"placeName":"Gus's Fried Chicken","city":"Memphis","state":"TN","address":"310 S Front Street","phone":"(901) 527-4877","placeImage":"","fd":"gus-fried-chicken","placeImageAlt":"","placeURL":"http://gusfriedchicken.com","placeWebsiteDisplay":"www.gusfriedchicken.com"},{"createdAt":1593110876442,"updatedAt":1593110876442,"id":12,"placeName":"Canal Street Arcade and Deli","city":"Dayton","state":"OH","address":"308 E 1st Street","phone":"(937) 220-9333","placeImage":"2","fd":"canal-street-arcade-and-deli","placeImageAlt":"Canal Street Deli","placeURL":"https://www.facebook.com/Canal-Street-Arcade-and-Deli-1752274581651410/","placeWebsiteDisplay":"www.facebook.com/Canal-Street-Arcade-and-Deli-1752274581651410"},{"createdAt":1593110876411,"updatedAt":1593110876411,"id":22,"placeName":"Jimmy Johns","city":"Dayton","state":"OH","address":"1157 Brown Street","phone":"(937) 226-2600","placeImage":"","fd":"jimmy-johns","placeImageAlt":"","placeURL":"https://www.jimmyjohns.com","placeWebsiteDisplay":"www.jimmyjohns.com"},{"createdAt":1593110876449,"updatedAt":1593110876449,"id":32,"placeName":"Basil's on Market","city":"Dayton","state":"OH","address":"312 N Patterson Blvd","phone":"(937) 818-4390","placeImage":"32","fd":"basils-on-market","placeImageAlt":"Basil's Cocktail","placeURL":"http://www.basilsonmarket.com","placeWebsiteDisplay":"www.basilsonmarket.com"},{"createdAt":1593110876452,"updatedAt":1593110876452,"id":42,"placeName":"2nd Street Market","city":"Dayton","state":"OH","address":"600 E. Second Street","phone":"(937) 228-2088","placeImage":"12","fd":"2nd-street-market","placeImageAlt":"2nd Street Market","placeURL":"https://www.metroparks.org/places-to-go/2nd-street-market/","placeWebsiteDisplay":"www.metroparks.org"},{"createdAt":1593110876464,"updatedAt":1593110876464,"id":52,"placeName":"Bareburger","city":"Columbus","state":"OH","address":"463 N. High St.","phone":"","placeImage":"42","fd":"bareburger","placeImageAlt":"Bareburger","placeURL":"https://bareburger.com/","placeWebsiteDisplay":"www.bareburger.com"},{"createdAt":1593110876467,"updatedAt":1593110876467,"id":62,"placeName":"Bagger Dave's Burger Tavern","city":"Dayton","state":"OH","address":"5299 Cornerstone North Blvd","phone":"(937) 310-1247","placeImage":"22","fd":"bagger-daves","placeImageAlt":"Bagger Dave's Burger Tavern","placeURL":"https://www.baggerdaves.com/","placeWebsiteDisplay":"www.baggerdaves.com"},{"createdAt":1593110876397,"updatedAt":1593110876397,"id":72,"placeName":"Bourbon Street Grill","city":"Dayton","state":"OH","address":"1043 Brown Street","phone":"(937) 610-0083","placeImage":"","fd":"bourbon-street-grill","placeImageAlt":"","placeURL":"https://www.facebook.com/BourbonSyreetGrillandCafe1043/","placeWebsiteDisplay":"www.facebook.com/BourbonSyreetGrillandCafe1043"},{"createdAt":1593110876471,"updatedAt":1593110876471,"id":82,"placeName":"Coco's Bistro","city":"Dayton","state":"OH","address":"250 Warren St","phone":"(937) 228-2626","placeImage":"52","fd":"cocos-bistro","placeImageAlt":"Coco's Bistro","placeURL":"http://www.228coco.com/","placeWebsiteDisplay":"www.228coco.com"},{"createdAt":1593110876474,"updatedAt":1593110876474,"id":92,"placeName":"Ginger & Spice","city":"Dayton","state":"OH","address":"1105 Brown Street","phone":"(937) 716-1298","placeImage":"62","fd":"ginger-and-spice","placeImageAlt":"Ginger & Spice Chicken","placeURL":"http://mygingerandspice.com","placeWebsiteDisplay":"www.gingerandspice.com"},{"createdAt":1593110876510,"updatedAt":1593110876510,"id":102,"placeName":"Jeet India","city":"Dayton","state":"OH","address":"2750 North Fairfield Road","phone":"(937) 431-8881","placeImage":"72","fd":"jeet-india","placeImageAlt":"Jeet India","placeURL":"http://www.jeetindiadayton.com","placeWebsiteDisplay":"www.jeetindiadayton.com"},{"createdAt":1593110876528,"updatedAt":1593110876528,"id":112,"placeName":"Gaucho","city":"Pittsburgh","state":"PA","address":"1601 Penn Ave","phone":"(412) 709-6622","placeImage":"82","fd":"gaucho","placeImageAlt":"Gaucho Parrilla Argentina","placeURL":"http://www.eatgaucho.com/","placeWebsiteDisplay":"www.eatgaucho.com"},{"createdAt":1593110876860,"updatedAt":1593110876860,"id":122,"placeName":"a new place","city":"a new city","state":"SD","address":"7140 Manchester St.","phone":"(555) 555-5555","placeImage":"","fd":"","placeImageAlt":"","placeURL":"","placeWebsiteDisplay":""}]
\ No newline at end of file
+[
+ {
+ "createdAt": 1593110876410,
+ "updatedAt": 1593110876410,
+ "id": 2,
+ "placeName": "Gus's Fried Chicken",
+ "city": "Memphis",
+ "state": "TN",
+ "address": "310 S Front Street",
+ "phone": "(901) 527-4877",
+ "placeImage": "",
+ "fd": "gus-fried-chicken",
+ "placeImageAlt": "",
+ "placeURL": "http://gusfriedchicken.com",
+ "placeWebsiteDisplay": "www.gusfriedchicken.com"
+ },
+ {
+ "createdAt": 1593110876442,
+ "updatedAt": 1593110876442,
+ "id": 12,
+ "placeName": "Canal Street Arcade and Deli",
+ "city": "Dayton",
+ "state": "OH",
+ "address": "308 E 1st Street",
+ "phone": "(937) 220-9333",
+ "placeImage": "2",
+ "fd": "canal-street-arcade-and-deli",
+ "placeImageAlt": "Canal Street Deli",
+ "placeURL": "https://www.facebook.com/Canal-Street-Arcade-and-Deli-1752274581651410/",
+ "placeWebsiteDisplay": "www.facebook.com/Canal-Street-Arcade-and-Deli-1752274581651410"
+ },
+ {
+ "createdAt": 1593110876411,
+ "updatedAt": 1593110876411,
+ "id": 22,
+ "placeName": "Jimmy Johns",
+ "city": "Dayton",
+ "state": "OH",
+ "address": "1157 Brown Street",
+ "phone": "(937) 226-2600",
+ "placeImage": "",
+ "fd": "jimmy-johns",
+ "placeImageAlt": "",
+ "placeURL": "https://www.jimmyjohns.com",
+ "placeWebsiteDisplay": "www.jimmyjohns.com"
+ },
+ {
+ "createdAt": 1593110876449,
+ "updatedAt": 1593110876449,
+ "id": 32,
+ "placeName": "Basil's on Market",
+ "city": "Dayton",
+ "state": "OH",
+ "address": "312 N Patterson Blvd",
+ "phone": "(937) 818-4390",
+ "placeImage": "32",
+ "fd": "basils-on-market",
+ "placeImageAlt": "Basil's Cocktail",
+ "placeURL": "http://www.basilsonmarket.com",
+ "placeWebsiteDisplay": "www.basilsonmarket.com"
+ },
+ {
+ "createdAt": 1593110876452,
+ "updatedAt": 1593110876452,
+ "id": 42,
+ "placeName": "2nd Street Market",
+ "city": "Dayton",
+ "state": "OH",
+ "address": "600 E. Second Street",
+ "phone": "(937) 228-2088",
+ "placeImage": "12",
+ "fd": "2nd-street-market",
+ "placeImageAlt": "2nd Street Market",
+ "placeURL": "https://www.metroparks.org/places-to-go/2nd-street-market/",
+ "placeWebsiteDisplay": "www.metroparks.org"
+ },
+ {
+ "createdAt": 1593110876464,
+ "updatedAt": 1593110876464,
+ "id": 52,
+ "placeName": "Bareburger",
+ "city": "Columbus",
+ "state": "OH",
+ "address": "463 N. High St.",
+ "phone": "",
+ "placeImage": "42",
+ "fd": "bareburger",
+ "placeImageAlt": "Bareburger",
+ "placeURL": "https://bareburger.com/",
+ "placeWebsiteDisplay": "www.bareburger.com"
+ },
+ {
+ "createdAt": 1593110876467,
+ "updatedAt": 1593110876467,
+ "id": 62,
+ "placeName": "Bagger Dave's Burger Tavern",
+ "city": "Dayton",
+ "state": "OH",
+ "address": "5299 Cornerstone North Blvd",
+ "phone": "(937) 310-1247",
+ "placeImage": "22",
+ "fd": "bagger-daves",
+ "placeImageAlt": "Bagger Dave's Burger Tavern",
+ "placeURL": "https://www.baggerdaves.com/",
+ "placeWebsiteDisplay": "www.baggerdaves.com"
+ },
+ {
+ "createdAt": 1593110876397,
+ "updatedAt": 1593110876397,
+ "id": 72,
+ "placeName": "Bourbon Street Grill",
+ "city": "Dayton",
+ "state": "OH",
+ "address": "1043 Brown Street",
+ "phone": "(937) 610-0083",
+ "placeImage": "",
+ "fd": "bourbon-street-grill",
+ "placeImageAlt": "",
+ "placeURL": "https://www.facebook.com/BourbonSyreetGrillandCafe1043/",
+ "placeWebsiteDisplay": "www.facebook.com/BourbonSyreetGrillandCafe1043"
+ },
+ {
+ "createdAt": 1593110876471,
+ "updatedAt": 1593110876471,
+ "id": 82,
+ "placeName": "Coco's Bistro",
+ "city": "Dayton",
+ "state": "OH",
+ "address": "250 Warren St",
+ "phone": "(937) 228-2626",
+ "placeImage": "52",
+ "fd": "cocos-bistro",
+ "placeImageAlt": "Coco's Bistro",
+ "placeURL": "http://www.228coco.com/",
+ "placeWebsiteDisplay": "www.228coco.com"
+ },
+ {
+ "createdAt": 1593110876474,
+ "updatedAt": 1593110876474,
+ "id": 92,
+ "placeName": "Ginger & Spice",
+ "city": "Dayton",
+ "state": "OH",
+ "address": "1105 Brown Street",
+ "phone": "(937) 716-1298",
+ "placeImage": "62",
+ "fd": "ginger-and-spice",
+ "placeImageAlt": "Ginger & Spice Chicken",
+ "placeURL": "http://mygingerandspice.com",
+ "placeWebsiteDisplay": "www.gingerandspice.com"
+ },
+ {
+ "createdAt": 1593110876510,
+ "updatedAt": 1593110876510,
+ "id": 102,
+ "placeName": "Jeet India",
+ "city": "Dayton",
+ "state": "OH",
+ "address": "2750 North Fairfield Road",
+ "phone": "(937) 431-8881",
+ "placeImage": "72",
+ "fd": "jeet-india",
+ "placeImageAlt": "Jeet India",
+ "placeURL": "http://www.jeetindiadayton.com",
+ "placeWebsiteDisplay": "www.jeetindiadayton.com"
+ },
+ {
+ "createdAt": 1593110876528,
+ "updatedAt": 1593110876528,
+ "id": 112,
+ "placeName": "Gaucho",
+ "city": "Pittsburgh",
+ "state": "PA",
+ "address": "1601 Penn Ave",
+ "phone": "(412) 709-6622",
+ "placeImage": "82",
+ "fd": "gaucho",
+ "placeImageAlt": "Gaucho Parrilla Argentina",
+ "placeURL": "http://www.eatgaucho.com/",
+ "placeWebsiteDisplay": "www.eatgaucho.com"
+ },
+ {
+ "createdAt": 1593110876860,
+ "updatedAt": 1593110876860,
+ "id": 122,
+ "placeName": "a new place",
+ "city": "a new city",
+ "state": "SD",
+ "address": "7140 Manchester St.",
+ "phone": "(555) 555-5555",
+ "placeImage": "",
+ "fd": "",
+ "placeImageAlt": "",
+ "placeURL": "",
+ "placeWebsiteDisplay": ""
+ }
+]
diff --git a/data/review.json b/data/review.json
index 79e6ccce..96e395e1 100644
--- a/data/review.json
+++ b/data/review.json
@@ -1 +1,211 @@
-[{"createdAt":1593110876558,"updatedAt":1593110876558,"id":2,"reviewText":"Crepe Boheme at the 2nd Street Public Market has become my go-to for lunch on Thursdays. I've never had a crepe there that I didn't love! The teriyaki chicken at Isaan Baan Thai Noi is my second favorite choice for lunch. For a delicious treat, I highly recommend Sweet P's Handcrafted Ice Pops or the Extreme Toffee coffee from Caffeine Carl's.","reviewerName":"Heather Taylor","numberOfStars":5,"reviewImage":"","reviewImageAlt":"","placeId":42},{"createdAt":1593110876560,"updatedAt":1593110876560,"id":12,"reviewText":"Right by our Dayton office and lots of variety. Only open Thursday - Saturday.","reviewerName":"Emily Gray","numberOfStars":4,"reviewImage":"","reviewImageAlt":"","placeId":42},{"createdAt":1593110876562,"updatedAt":1593110876562,"id":22,"reviewText":"Bareburger is basically a burger, fries, and shakes kind of place, although they do offer salads and other sandwiches. They have a list of specialty burgers to choose from or you can build your own. You can get burgers made from beef, bison, black beans, duck, elk, quinoa, grilled lemon chicken, sesame ginger beef, sweet potato and wild rice, turkey, or wild boar. All except the black bean and quinoa are gluten free. For your bun, to keep it gluten free you can choose to have your burger on a tapioca bun, with no bun, served on a lettuce bed, or wrapped with a collard. Their french fries and sweet potato fries are fried separately and kept gluten free. Other gluten free items are listed clearly on the menu. Beyond their burgers and fries, I also highly recommend trying their milkshakes. My personal favorite is the Mexican Chocolate, made with chocolate ice cream, cayenne, cinnamon, and a “torched marshmallow.” Just thinking about it makes me want one.","reviewerName":"Katy Bowman","numberOfStars":5,"reviewImage":"","reviewImageAlt":"","placeId":52},{"createdAt":1593110876561,"updatedAt":1593110876561,"id":32,"reviewText":"I found out about Bagger Dave's through the Gluten Free Ohio blog (glutenfreeohio.com). It has since become a favorite. I love that I can just get a burger without a bun and that the french fries and sweet potato chips are fried in separate friers and kept gluten free. My favorites are the Bacon BBQ Burger and the Saucy Sicilian Pizza Burger.","reviewerName":"Katy Bowman","numberOfStars":4,"reviewImage":"","reviewImageAlt":"","placeId":62},{"createdAt":1593110876565,"updatedAt":1593110876565,"id":42,"reviewText":"The chicken and potatoes are sweet and spicy deliciousness! I could seriously eat here a couple times a week. The Bourbon Street Grill is a simple, down-to-earth cafe. Nothing fancy, but oh so good.","reviewerName":"Heather Taylor","numberOfStars":5,"reviewImage":"","reviewImageAlt":"","placeId":72},{"createdAt":1593110876567,"updatedAt":1593110876567,"id":52,"reviewText":"This place is a no-frills kind of takeout. Rice, potatoes, and sweet bourbon chicken. The bags leak pretty hard, but the food is sooooo good.","reviewerName":"Catherine Meade","numberOfStars":4,"reviewImage":"","reviewImageAlt":"","placeId":72},{"createdAt":1593110876568,"updatedAt":1593110876568,"id":62,"reviewText":"The sandwiches are as good as the owner is grumpy. It's a nice walk down 1st street from the Dayton Sparkbox office. I suggest the South Paw or a Breakfast sandwich, which is served all day.","reviewerName":"Drew Clemens","numberOfStars":5,"reviewImage":"","reviewImageAlt":"","placeId":12},{"createdAt":1593110876570,"updatedAt":1593110876570,"id":72,"reviewText":"Affectionately known as 'the meat hut' in the Sparkbox offices, I knew that my first visit to Pittsburgh would require a visit to Gaucho. Friends from Pittsburgh recommended sharing the Parrillada Mixta featuring over a pound of New York strip steak, grilled chicken breast and sweet -or- spicy chorizo paired with a side of Papas al Horno (oven roasted red potatoes with whole garlic cloves and fresh rosemary). It was fantastic! A word of warning when visiting Gaucho, be prepared to wait. Don't worry, it's worth it!","reviewerName":"Heather Taylor","numberOfStars":5,"reviewImage":"","reviewImageAlt":"","placeId":112},{"createdAt":1593110876571,"updatedAt":1593110876571,"id":82,"reviewText":"Gaucho is an Argentinian restaurant in the Strip District that has the best tasting meats and chimichurri sauce. When you order at Guacho, you'll probably end up sharing your plate. They also have these little meat pockets called empanadas. My top picks would be the steak burger or any of the steak plates (sirloin, flank, ribeye). I love meat!","reviewerName":"Anastasia Lanz","numberOfStars":5,"reviewImage":"","reviewImageAlt":"","placeId":112},{"createdAt":1593110876572,"updatedAt":1593110876572,"id":92,"reviewText":"This place gets a 3 for customer experience. The menu is written on a board on a wall (NOT ergonomic to read) and the text uses frequent, unexplained abbreviations. You generally have to wait in line, and then you have to eat quick and get out of there because lingering over a meal is frowned upon. It's also noisy and has bad lighting. I still haven't found the thing worth going back for, other than the carrots with goat cheese. Get those! You can't go wrong with ordering a steak. Some of the sandwiches are messy and overwhelming. The burger is probably your best bet if you go that direction. A lot of hype!","reviewerName":"Julie Young","numberOfStars":3,"reviewImage":"","reviewImageAlt":"","placeId":112},{"createdAt":1593110876575,"updatedAt":1593110876575,"id":102,"reviewText":"I'd highly recommend Jeet for it's weekday lunch buffet.","reviewerName":"Leah Kelley","numberOfStars":5,"reviewImage":"","reviewImageAlt":"","placeId":102},{"createdAt":1593110876573,"updatedAt":1593110876573,"id":112,"reviewText":"One of my favs is Gus' World Famous Fried Chicken. The originals are in the Memphis Area but it looks like there are some franchises sprinkled around the country. My favorite location in Memphis is a converted old southern house. Great chicken, very good sides and an extremely local atmosphere.","reviewerName":"Masten Worley","numberOfStars":4,"reviewImage":"","reviewImageAlt":"","placeId":2},{"createdAt":1593110876640,"updatedAt":1593110876640,"id":122,"reviewText":"I prefer the lunch menu versus the dinner menu at Basil's. There are more gluten free options available during lunch. The open faced caprese (minus the bread) and the market toss salad are my favorites! The truffle fries are also pretty aweseme! Basil's has two locations, one in Dayton and the original in Troy. I have always found the service and the food better at the Troy location. The Dayton location has a great view of the river and a fantastic outdoor patio.","reviewerName":"Heather Taylor","numberOfStars":4,"reviewImage":"22","reviewImageAlt":"Basil's Market Toss Salad","placeId":32},{"createdAt":1593110876648,"updatedAt":1593110876648,"id":132,"reviewText":"I LOVE Ginger and Spice. They have awesome brown sugar bubble tea, dumplings, and robust seafood options. Their lo mein is more like spaghetti, fyi. Get the Ginger & Spice chicken! Online ordering works well, too.","reviewerName":"Catherine Meade","numberOfStars":5,"reviewImage":"32","reviewImageAlt":"Bubble Tea!","placeId":92},{"createdAt":1593110876575,"updatedAt":1593110876575,"id":142,"reviewText":"Too much mayonnaise.","reviewerName":"Catherine Meade","numberOfStars":1,"reviewImage":"","reviewImageAlt":"","placeId":22},{"createdAt":1593110876607,"updatedAt":1593110876607,"id":152,"reviewText":"Cocos is the defacto place for the Sparkbox Holiday Party. It's a bit pricey, but the food is always good. I enjoy the romantic atmosphere, and you do get a large portion.","reviewerName":"Catherine Meade","numberOfStars":5,"reviewImage":"2","reviewImageAlt":"A big steak at Cocos","placeId":82},{"createdAt":1593110876651,"updatedAt":1593110876651,"id":162,"reviewText":"I have been to Basil's ... 5 or so times now, and I've never been wholly impressed. Their space is beautiful, I love the Peach Mojito and their fries. I had a fantastic salmon salad. Everything else? Kinda meh. A little to pricey for the quality. Also, they always give me Diet Coke when I ask for regular.","reviewerName":"Catherine Meade","numberOfStars":3,"reviewImage":"12","reviewImageAlt":"Happy Hour apps at Basils","placeId":32},{"createdAt":1593110876678,"updatedAt":1593110876678,"id":172,"reviewText":"Finally, good Indian food in the Dayton area! The wait staff are extremely polite, and they'll bring you more rice for free (even just to take home).","reviewerName":"Catherine Meade","numberOfStars":4,"reviewImage":"42","reviewImageAlt":"Jeet India","placeId":102},{"createdAt":1593110876907,"updatedAt":1593110876907,"id":182,"reviewText":"a new review","reviewerName":"John Doe","numberOfStars":5,"reviewImage":"","reviewImageAlt":"","placeId":1}]
\ No newline at end of file
+[
+ {
+ "createdAt": 1593110876558,
+ "updatedAt": 1593110876558,
+ "id": 2,
+ "reviewText": "Crepe Boheme at the 2nd Street Public Market has become my go-to for lunch on Thursdays. I've never had a crepe there that I didn't love! The teriyaki chicken at Isaan Baan Thai Noi is my second favorite choice for lunch. For a delicious treat, I highly recommend Sweet P's Handcrafted Ice Pops or the Extreme Toffee coffee from Caffeine Carl's.",
+ "reviewerName": "Heather Taylor",
+ "numberOfStars": 5,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 42
+ },
+ {
+ "createdAt": 1593110876560,
+ "updatedAt": 1593110876560,
+ "id": 12,
+ "reviewText": "Right by our Dayton office and lots of variety. Only open Thursday - Saturday.",
+ "reviewerName": "Emily Gray",
+ "numberOfStars": 4,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 42
+ },
+ {
+ "createdAt": 1593110876562,
+ "updatedAt": 1593110876562,
+ "id": 22,
+ "reviewText": "Bareburger is basically a burger, fries, and shakes kind of place, although they do offer salads and other sandwiches. They have a list of specialty burgers to choose from or you can build your own. You can get burgers made from beef, bison, black beans, duck, elk, quinoa, grilled lemon chicken, sesame ginger beef, sweet potato and wild rice, turkey, or wild boar. All except the black bean and quinoa are gluten free. For your bun, to keep it gluten free you can choose to have your burger on a tapioca bun, with no bun, served on a lettuce bed, or wrapped with a collard. Their french fries and sweet potato fries are fried separately and kept gluten free. Other gluten free items are listed clearly on the menu. Beyond their burgers and fries, I also highly recommend trying their milkshakes. My personal favorite is the Mexican Chocolate, made with chocolate ice cream, cayenne, cinnamon, and a “torched marshmallow.” Just thinking about it makes me want one.",
+ "reviewerName": "Katy Bowman",
+ "numberOfStars": 5,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 52
+ },
+ {
+ "createdAt": 1593110876561,
+ "updatedAt": 1593110876561,
+ "id": 32,
+ "reviewText": "I found out about Bagger Dave's through the Gluten Free Ohio blog (glutenfreeohio.com). It has since become a favorite. I love that I can just get a burger without a bun and that the french fries and sweet potato chips are fried in separate friers and kept gluten free. My favorites are the Bacon BBQ Burger and the Saucy Sicilian Pizza Burger.",
+ "reviewerName": "Katy Bowman",
+ "numberOfStars": 4,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 62
+ },
+ {
+ "createdAt": 1593110876565,
+ "updatedAt": 1593110876565,
+ "id": 42,
+ "reviewText": "The chicken and potatoes are sweet and spicy deliciousness! I could seriously eat here a couple times a week. The Bourbon Street Grill is a simple, down-to-earth cafe. Nothing fancy, but oh so good.",
+ "reviewerName": "Heather Taylor",
+ "numberOfStars": 5,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 72
+ },
+ {
+ "createdAt": 1593110876567,
+ "updatedAt": 1593110876567,
+ "id": 52,
+ "reviewText": "This place is a no-frills kind of takeout. Rice, potatoes, and sweet bourbon chicken. The bags leak pretty hard, but the food is sooooo good.",
+ "reviewerName": "Catherine Meade",
+ "numberOfStars": 4,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 72
+ },
+ {
+ "createdAt": 1593110876568,
+ "updatedAt": 1593110876568,
+ "id": 62,
+ "reviewText": "The sandwiches are as good as the owner is grumpy. It's a nice walk down 1st street from the Dayton Sparkbox office. I suggest the South Paw or a Breakfast sandwich, which is served all day.",
+ "reviewerName": "Drew Clemens",
+ "numberOfStars": 5,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 12
+ },
+ {
+ "createdAt": 1593110876570,
+ "updatedAt": 1593110876570,
+ "id": 72,
+ "reviewText": "Affectionately known as 'the meat hut' in the Sparkbox offices, I knew that my first visit to Pittsburgh would require a visit to Gaucho. Friends from Pittsburgh recommended sharing the Parrillada Mixta featuring over a pound of New York strip steak, grilled chicken breast and sweet -or- spicy chorizo paired with a side of Papas al Horno (oven roasted red potatoes with whole garlic cloves and fresh rosemary). It was fantastic! A word of warning when visiting Gaucho, be prepared to wait. Don't worry, it's worth it!",
+ "reviewerName": "Heather Taylor",
+ "numberOfStars": 5,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 112
+ },
+ {
+ "createdAt": 1593110876571,
+ "updatedAt": 1593110876571,
+ "id": 82,
+ "reviewText": "Gaucho is an Argentinian restaurant in the Strip District that has the best tasting meats and chimichurri sauce. When you order at Guacho, you'll probably end up sharing your plate. They also have these little meat pockets called empanadas. My top picks would be the steak burger or any of the steak plates (sirloin, flank, ribeye). I love meat!",
+ "reviewerName": "Anastasia Lanz",
+ "numberOfStars": 5,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 112
+ },
+ {
+ "createdAt": 1593110876572,
+ "updatedAt": 1593110876572,
+ "id": 92,
+ "reviewText": "This place gets a 3 for customer experience. The menu is written on a board on a wall (NOT ergonomic to read) and the text uses frequent, unexplained abbreviations. You generally have to wait in line, and then you have to eat quick and get out of there because lingering over a meal is frowned upon. It's also noisy and has bad lighting. I still haven't found the thing worth going back for, other than the carrots with goat cheese. Get those! You can't go wrong with ordering a steak. Some of the sandwiches are messy and overwhelming. The burger is probably your best bet if you go that direction. A lot of hype!",
+ "reviewerName": "Julie Young",
+ "numberOfStars": 3,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 112
+ },
+ {
+ "createdAt": 1593110876575,
+ "updatedAt": 1593110876575,
+ "id": 102,
+ "reviewText": "I'd highly recommend Jeet for it's weekday lunch buffet.",
+ "reviewerName": "Leah Kelley",
+ "numberOfStars": 5,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 102
+ },
+ {
+ "createdAt": 1593110876573,
+ "updatedAt": 1593110876573,
+ "id": 112,
+ "reviewText": "One of my favs is Gus' World Famous Fried Chicken. The originals are in the Memphis Area but it looks like there are some franchises sprinkled around the country. My favorite location in Memphis is a converted old southern house. Great chicken, very good sides and an extremely local atmosphere.",
+ "reviewerName": "Masten Worley",
+ "numberOfStars": 4,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 2
+ },
+ {
+ "createdAt": 1593110876640,
+ "updatedAt": 1593110876640,
+ "id": 122,
+ "reviewText": "I prefer the lunch menu versus the dinner menu at Basil's. There are more gluten free options available during lunch. The open faced caprese (minus the bread) and the market toss salad are my favorites! The truffle fries are also pretty aweseme! Basil's has two locations, one in Dayton and the original in Troy. I have always found the service and the food better at the Troy location. The Dayton location has a great view of the river and a fantastic outdoor patio.",
+ "reviewerName": "Heather Taylor",
+ "numberOfStars": 4,
+ "reviewImage": "22",
+ "reviewImageAlt": "Basil's Market Toss Salad",
+ "placeId": 32
+ },
+ {
+ "createdAt": 1593110876648,
+ "updatedAt": 1593110876648,
+ "id": 132,
+ "reviewText": "I LOVE Ginger and Spice. They have awesome brown sugar bubble tea, dumplings, and robust seafood options. Their lo mein is more like spaghetti, fyi. Get the Ginger & Spice chicken! Online ordering works well, too.",
+ "reviewerName": "Catherine Meade",
+ "numberOfStars": 5,
+ "reviewImage": "32",
+ "reviewImageAlt": "Bubble Tea!",
+ "placeId": 92
+ },
+ {
+ "createdAt": 1593110876575,
+ "updatedAt": 1593110876575,
+ "id": 142,
+ "reviewText": "Too much mayonnaise.",
+ "reviewerName": "Catherine Meade",
+ "numberOfStars": 1,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 22
+ },
+ {
+ "createdAt": 1593110876607,
+ "updatedAt": 1593110876607,
+ "id": 152,
+ "reviewText": "Cocos is the defacto place for the Sparkbox Holiday Party. It's a bit pricey, but the food is always good. I enjoy the romantic atmosphere, and you do get a large portion.",
+ "reviewerName": "Catherine Meade",
+ "numberOfStars": 5,
+ "reviewImage": "2",
+ "reviewImageAlt": "A big steak at Cocos",
+ "placeId": 82
+ },
+ {
+ "createdAt": 1593110876651,
+ "updatedAt": 1593110876651,
+ "id": 162,
+ "reviewText": "I have been to Basil's ... 5 or so times now, and I've never been wholly impressed. Their space is beautiful, I love the Peach Mojito and their fries. I had a fantastic salmon salad. Everything else? Kinda meh. A little to pricey for the quality. Also, they always give me Diet Coke when I ask for regular.",
+ "reviewerName": "Catherine Meade",
+ "numberOfStars": 3,
+ "reviewImage": "12",
+ "reviewImageAlt": "Happy Hour apps at Basils",
+ "placeId": 32
+ },
+ {
+ "createdAt": 1593110876678,
+ "updatedAt": 1593110876678,
+ "id": 172,
+ "reviewText": "Finally, good Indian food in the Dayton area! The wait staff are extremely polite, and they'll bring you more rice for free (even just to take home).",
+ "reviewerName": "Catherine Meade",
+ "numberOfStars": 4,
+ "reviewImage": "42",
+ "reviewImageAlt": "Jeet India",
+ "placeId": 102
+ },
+ {
+ "createdAt": 1593110876907,
+ "updatedAt": 1593110876907,
+ "id": 182,
+ "reviewText": "a new review",
+ "reviewerName": "John Doe",
+ "numberOfStars": 5,
+ "reviewImage": "",
+ "reviewImageAlt": "",
+ "placeId": 1
+ }
+]
diff --git a/package.json b/package.json
index d30a8530..b78aee46 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
"@commitlint/config-conventional": "^17.1.0",
"@types/react": "^18.0.17",
"@types/react-dom": "^18.0.6",
+ "@types/react-router-dom": "^5.3.3",
"@vitejs/plugin-react": "^2.1.0",
"husky": "^8.0.1",
"mysql2": "^2.3.3",
diff --git a/src/App.tsx b/src/App.tsx
index 556f42bd..17742b74 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -3,7 +3,7 @@ import './App.scss'
function App() {
return (
-
+
diff --git a/src/components/HomePage.tsx b/src/components/HomePage.tsx
new file mode 100644
index 00000000..02fd79e7
--- /dev/null
+++ b/src/components/HomePage.tsx
@@ -0,0 +1,10 @@
+function HomePage({ locations }: { locations: Locations }) {
+ return (
+
+ );
+}
+
+export default HomePage;
diff --git a/src/locations.ts b/src/locations.ts
new file mode 100644
index 00000000..8b7c7d47
--- /dev/null
+++ b/src/locations.ts
@@ -0,0 +1,74 @@
+import legacyPlaces from '../data/place.json';
+import legacyReviews from '../data/review.json';
+import legacyPlaceImages from '../data/placeImage.json';
+import legacyReviewImages from '../data/reviewImage.json';
+
+function transformReview({
+ id,
+ reviewerName,
+ reviewText: text,
+ numberOfStars: starRating,
+ reviewImage: imageID,
+ reviewImageAlt,
+ placeId: placeID
+}: LegacyReview): Review {
+ return {
+ id,
+ reviewerName,
+ text,
+ imageURL: getReviewImageURL(imageID),
+ imageDescription: reviewImageAlt,
+ starRating,
+ placeID,
+ };
+}
+
+function getReviews(placeID: number) {
+ return legacyReviews
+ .filter((legacyReview) => legacyReview.placeId === placeID)
+ .map(transformReview);
+}
+
+function getLocationImageURL(imageID: string) {
+ return legacyPlaceImages
+ .find((legacyPlaceImage: {}) => legacyPlaceImage.id.toString() === imageID)?.fd ?? ''
+}
+
+function transformLocations(legacyPlaces: LegacyPlace[]): Locations {
+ return legacyPlaces.map(({
+ id,
+ placeName: name,
+ city,
+ state: region,
+ address,
+ phone,
+ placeURL: url,
+ placeImage: imageID,
+ placeImageAlt: imageDescription
+ }) => {
+ return {
+ id,
+ name,
+ city,
+ region,
+ country: '', // TODO
+ address,
+ phone,
+ url,
+ imageURL: getLocationImageURL(imageID),
+ imageDescription,
+ reviews: getReviews(id)
+ };
+ });
+}
+
+function getReviewImageURL(imageID: string) {
+ return legacyReviewImages
+ .find((legacyReviewImage: {}) => legacyReviewImage.id.toString() === imageID) ?.fd ?? '';
+}
+
+const locations = transformLocations(legacyPlaces);
+
+export {
+ locations,
+};
\ No newline at end of file
diff --git a/src/main.tsx b/src/main.tsx
index 82af430c..1d9cbf71 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,17 +1,19 @@
import React from 'react'
-import ReactDOM from 'react-dom/client'
+import ReactDOM from 'react-dom/client';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
-import App from './App'
+import App from './App';
+import HomePage from './components/HomePage';
+import { locations } from './locations';
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
}>
- Locations } />
- Location} />
- Add Location} />
- Add Review} />
+ } />
+ Location Page} />
+ New Location Page} />
+ New Review Page} />
diff --git a/src/types/global.d.ts b/src/types/global.d.ts
new file mode 100644
index 00000000..32704053
--- /dev/null
+++ b/src/types/global.d.ts
@@ -0,0 +1,59 @@
+export {};
+
+declare global {
+ type Location = {
+ id: number;
+ name: string;
+ city: string;
+ region: string;
+ country: string;
+ address: string;
+ phone: string;
+ url: string;
+ imageURL: string;
+ imageDescription: string;
+ reviews: Review[];
+ };
+
+ type Locations = Location[];
+
+ interface Review {
+ id: number;
+ reviewerName: string;
+ text: string;
+ imageURL: string;
+ imageDescription: string;
+ starRating: number;
+ placeID: number;
+ };
+
+ type Reviews = Review[];
+
+ type LegacyPlace = {
+ createdAt: number,
+ updatedAt: number,
+ id: number;
+ placeName: string;
+ city: string;
+ state: string;
+ address: string;
+ phone: string;
+ placeImage: string;
+ fd: string;
+ placeImageAlt: string;
+ placeURL: string;
+ placeWebsiteDisplay: string;
+ };
+
+ type LegacyReview = {
+ createdAt: number;
+ updatedAt: number;
+ id: number;
+ reviewText: string;
+ reviewerName: string;
+ numberOfStars: number;
+ reviewImage: string;
+ reviewImageAlt: string;
+ placeId: number
+ };
+}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 7f855cc8..fea9d45b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -402,6 +402,11 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
+"@csstools/selector-specificity@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36"
+ integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==
+
"@esbuild/android-arm@0.15.9":
version "0.15.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.9.tgz#7e1221604ab88ed5021ead74fa8cca4405e1e431"
@@ -460,6 +465,27 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
"@remix-run/router@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.0.2.tgz#1c17eadb2fa77f80a796ad5ea9bf108e6993ef06"
@@ -485,6 +511,11 @@
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e"
integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==
+"@types/history@^4.7.11":
+ version "4.7.11"
+ resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64"
+ integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==
+
"@types/minimist@^1.2.0":
version "1.2.2"
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
@@ -517,6 +548,23 @@
dependencies:
"@types/react" "*"
+"@types/react-router-dom@^5.3.3":
+ version "5.3.3"
+ resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83"
+ integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==
+ dependencies:
+ "@types/history" "^4.7.11"
+ "@types/react" "*"
+ "@types/react-router" "*"
+
+"@types/react-router@*":
+ version "5.1.19"
+ resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.19.tgz#9b404246fba7f91474d7008a3d48c17b6e075ad6"
+ integrity sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA==
+ dependencies:
+ "@types/history" "^4.7.11"
+ "@types/react" "*"
+
"@types/react@*", "@types/react@^18.0.17":
version "18.0.21"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.21.tgz#b8209e9626bb00a34c76f55482697edd2b43cc67"
@@ -562,7 +610,7 @@ acorn@^8.4.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
-ajv@^8.11.0:
+ajv@^8.0.1, ajv@^8.11.0:
version "8.11.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f"
integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==
@@ -609,17 +657,45 @@ array-ify@^1.0.0:
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
+astral-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+ integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+balanced-match@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9"
+ integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==
+
binary-extensions@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-braces@~3.0.2:
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^3.0.2, braces@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
@@ -725,6 +801,11 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+colord@^2.9.3:
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
+ integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
+
compare-func@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3"
@@ -733,6 +814,11 @@ compare-func@^2.0.0:
array-ify "^1.0.0"
dot-prop "^5.1.0"
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
conventional-changelog-angular@^5.0.11:
version "5.0.13"
resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
@@ -774,7 +860,7 @@ cosmiconfig-typescript-loader@^4.0.0:
resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.1.1.tgz#38dd3578344038dae40fdf09792bc2e9df529f78"
integrity sha512-9DHpa379Gp0o0Zefii35fcmuuin6q92FnLDffzdZ0l9tVd3nEobG3O+MZ06+kuBvFTSVScvNb/oHA13Nd4iipg==
-cosmiconfig@^7.0.0:
+cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"
integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
@@ -799,6 +885,16 @@ cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
+css-functions-list@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.1.0.tgz#cf5b09f835ad91a00e5959bcfc627cd498e1321b"
+ integrity sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==
+
+cssesc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+ integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
csstype@^3.0.2:
version "3.1.1"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9"
@@ -809,7 +905,7 @@ dargs@^7.0.0:
resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc"
integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==
-debug@^4.1.0:
+debug@^4.1.0, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -824,7 +920,7 @@ decamelize-keys@^1.1.0:
decamelize "^1.1.0"
map-obj "^1.0.0"
-decamelize@^1.1.0:
+decamelize@^1.1.0, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
@@ -839,6 +935,13 @@ diff@^4.0.1:
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
dot-prop@^5.1.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@@ -1021,6 +1124,36 @@ fast-deep-equal@^3.1.1:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+fast-glob@^3.2.12, fast-glob@^3.2.9:
+ version "3.2.12"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
+ integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
+
+fastest-levenshtein@^1.0.16:
+ version "1.0.16"
+ resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5"
+ integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==
+
+fastq@^1.6.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
+ integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+ dependencies:
+ reusify "^1.0.4"
+
+file-entry-cache@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+ integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+ dependencies:
+ flat-cache "^3.0.4"
+
fill-range@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
@@ -1044,6 +1177,19 @@ find-up@^5.0.0:
locate-path "^6.0.0"
path-exists "^4.0.0"
+flat-cache@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
+ integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+ dependencies:
+ flatted "^3.1.0"
+ rimraf "^3.0.2"
+
+flatted@^3.1.0:
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
+ integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
+
fs-extra@^10.0.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
@@ -1053,6 +1199,11 @@ fs-extra@^10.0.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
@@ -1096,13 +1247,25 @@ git-raw-commits@^2.0.0:
split2 "^3.0.0"
through2 "^4.0.0"
-glob-parent@~5.1.2:
+glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
+glob@^7.1.3:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.1.1"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
global-dirs@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445"
@@ -1110,11 +1273,44 @@ global-dirs@^0.1.1:
dependencies:
ini "^1.3.4"
+global-modules@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
+ integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
+ dependencies:
+ global-prefix "^3.0.0"
+
+global-prefix@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
+ integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
+ dependencies:
+ ini "^1.3.5"
+ kind-of "^6.0.2"
+ which "^1.3.1"
+
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+globby@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+ integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.9"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^3.0.0"
+
+globjoin@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43"
+ integrity sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==
+
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
@@ -1154,6 +1350,11 @@ hosted-git-info@^4.0.1:
dependencies:
lru-cache "^6.0.0"
+html-tags@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.2.0.tgz#dbb3518d20b726524e4dd43de397eb0a95726961"
+ integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==
+
human-signals@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
@@ -1171,6 +1372,11 @@ iconv-lite@^0.6.3:
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
+ignore@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
+ integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
+
immutable@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef"
@@ -1184,22 +1390,40 @@ import-fresh@^3.0.0, import-fresh@^3.2.1:
parent-module "^1.0.0"
resolve-from "^4.0.0"
+import-lazy@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153"
+ integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==
+
import-meta-resolve@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-2.1.0.tgz#c8952d331ed6e9bb6ad524a7549deb3d34af41ce"
integrity sha512-yG9pxkWJVTy4cmRsNWE3ztFdtFuYIV8G4N+cbCkO8b+qngkLyIUhxQFuZ0qJm67+0nUOxjMPT7nfksPKza1v2g==
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
indent-string@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
-inherits@^2.0.3:
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@^2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-ini@^1.3.4:
+ini@^1.3.4, ini@^1.3.5:
version "1.3.8"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
@@ -1255,6 +1479,11 @@ is-plain-obj@^1.1.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
+is-plain-object@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
+ integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
+
is-property@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
@@ -1316,11 +1545,16 @@ jsonparse@^1.2.0:
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
-kind-of@^6.0.3:
+kind-of@^6.0.2, kind-of@^6.0.3:
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+known-css-properties@^0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.25.0.tgz#6ebc4d4b412f602e5cfbeb4086bd544e34c0a776"
+ integrity sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==
+
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
@@ -1340,7 +1574,12 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
-lodash@^4.17.15, lodash@^4.17.19:
+lodash.truncate@^4.4.2:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
+ integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
+
+lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -1394,6 +1633,11 @@ map-obj@^4.0.0:
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
+mathml-tag-names@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
+ integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==
+
meow@^8.0.0:
version "8.1.2"
resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897"
@@ -1411,11 +1655,42 @@ meow@^8.0.0:
type-fest "^0.18.0"
yargs-parser "^20.2.3"
+meow@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364"
+ integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==
+ dependencies:
+ "@types/minimist" "^1.2.0"
+ camelcase-keys "^6.2.2"
+ decamelize "^1.2.0"
+ decamelize-keys "^1.1.0"
+ hard-rejection "^2.1.0"
+ minimist-options "4.1.0"
+ normalize-package-data "^3.0.0"
+ read-pkg-up "^7.0.1"
+ redent "^3.0.0"
+ trim-newlines "^3.0.0"
+ type-fest "^0.18.0"
+ yargs-parser "^20.2.3"
+
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+merge2@^1.3.0, merge2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+micromatch@^4.0.4, micromatch@^4.0.5:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+ integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+ dependencies:
+ braces "^3.0.2"
+ picomatch "^2.3.1"
+
mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
@@ -1426,6 +1701,13 @@ min-indent@^1.0.0:
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
+minimatch@^3.1.1:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
minimist-options@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
@@ -1515,6 +1797,13 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
@@ -1577,6 +1866,11 @@ path-exists@^4.0.0:
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
path-key@^3.0.0, path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
@@ -1597,11 +1891,44 @@ picocolors@^1.0.0:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-picomatch@^2.0.4, picomatch@^2.2.1:
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+postcss-media-query-parser@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
+ integrity sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==
+
+postcss-resolve-nested-selector@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e"
+ integrity sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==
+
+postcss-safe-parser@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1"
+ integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==
+
+postcss-scss@^4.0.2:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.5.tgz#8ee33c1dda8d9d4753b565ec79014803dc6edabf"
+ integrity sha512-F7xpB6TrXyqUh3GKdyB4Gkp3QL3DDW1+uI+gxx/oJnUt/qXI4trj5OGlp9rOKdoABGULuqtqeG+3HEVQk4DjmA==
+
+postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6:
+ version "6.0.10"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
+ integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
postcss@^8.4.16:
version "8.4.16"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c"
@@ -1626,6 +1953,11 @@ q@^1.5.1:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
quick-lru@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
@@ -1745,6 +2077,18 @@ resolve@^1.10.0, resolve@^1.22.1:
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
rollup@~2.78.0:
version "2.78.1"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.1.tgz#52fe3934d9c83cb4f7c4cb5fb75d88591be8648f"
@@ -1752,6 +2096,13 @@ rollup@~2.78.0:
optionalDependencies:
fsevents "~2.3.2"
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -1824,11 +2175,25 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-signal-exit@^3.0.3:
+signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+slice-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+ integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
@@ -1912,6 +2277,107 @@ strip-indent@^3.0.0:
dependencies:
min-indent "^1.0.0"
+style-search@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
+ integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==
+
+stylelint-config-prettier-scss@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/stylelint-config-prettier-scss/-/stylelint-config-prettier-scss-0.0.1.tgz#22feaa28c6ca07e74be34c8506219fa4e2c34886"
+ integrity sha512-lBAYG9xYOh2LeWEPC/64xeUxwOTnQ8nDyBijQoWoJb10/bMGrUwnokpt8jegGck2Vbtxh6XGwH63z5qBcVHreQ==
+ dependencies:
+ stylelint-config-prettier ">=9.0.3"
+
+stylelint-config-prettier@>=9.0.3:
+ version "9.0.3"
+ resolved "https://registry.yarnpkg.com/stylelint-config-prettier/-/stylelint-config-prettier-9.0.3.tgz#0dccebeff359dcc393c9229184408b08964d561c"
+ integrity sha512-5n9gUDp/n5tTMCq1GLqSpA30w2sqWITSSEiAWQlpxkKGAUbjcemQ0nbkRvRUa0B1LgD3+hCvdL7B1eTxy1QHJg==
+
+stylelint-config-recommended-scss@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-7.0.0.tgz#db16b6ae6055e72e3398916c0f13d6eb685902a2"
+ integrity sha512-rGz1J4rMAyJkvoJW4hZasuQBB7y9KIrShb20l9DVEKKZSEi1HAy0vuNlR8HyCKy/jveb/BdaQFcoiYnmx4HoiA==
+ dependencies:
+ postcss-scss "^4.0.2"
+ stylelint-config-recommended "^8.0.0"
+ stylelint-scss "^4.0.0"
+
+stylelint-config-recommended@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-8.0.0.tgz#7736be9984246177f017c39ec7b1cd0f19ae9117"
+ integrity sha512-IK6dWvE000+xBv9jbnHOnBq01gt6HGVB2ZTsot+QsMpe82doDQ9hvplxfv4YnpEuUwVGGd9y6nbaAnhrjcxhZQ==
+
+stylelint-config-standard-scss@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-5.0.0.tgz#afc5e43c73e7a15875b8f30f54204b01a2634743"
+ integrity sha512-zoXLibojHZYPFjtkc4STZtAJ2yGTq3Bb4MYO0oiyO6f/vNxDKRcSDZYoqN260Gv2eD5niQIr1/kr5SXlFj9kcQ==
+ dependencies:
+ stylelint-config-recommended-scss "^7.0.0"
+ stylelint-config-standard "^26.0.0"
+
+stylelint-config-standard@^26.0.0:
+ version "26.0.0"
+ resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-26.0.0.tgz#4701b8d582d34120eec7d260ba779e4c2d953635"
+ integrity sha512-hUuB7LaaqM8abvkOO84wh5oYSkpXgTzHu2Zza6e7mY+aOmpNTjoFBRxSLlzY0uAOMWEFx0OMKzr+reG1BUtcqQ==
+ dependencies:
+ stylelint-config-recommended "^8.0.0"
+
+stylelint-scss@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.3.0.tgz#638800faf823db11fff60d537c81051fe74c90fa"
+ integrity sha512-GvSaKCA3tipzZHoz+nNO7S02ZqOsdBzMiCx9poSmLlb3tdJlGddEX/8QzCOD8O7GQan9bjsvLMsO5xiw6IhhIQ==
+ dependencies:
+ lodash "^4.17.21"
+ postcss-media-query-parser "^0.2.3"
+ postcss-resolve-nested-selector "^0.1.1"
+ postcss-selector-parser "^6.0.6"
+ postcss-value-parser "^4.1.0"
+
+stylelint@^14.13.0:
+ version "14.13.0"
+ resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.13.0.tgz#0c0b8ba8c5cf39522a50c9928f5e44897c678538"
+ integrity sha512-NJSAdloiAB/jgVJKxMR90mWlctvmeBFGFVUvyKngi9+j/qPSJ5ZB+u8jOmGbLTnS7OHrII9NFGehPRyar8U5vg==
+ dependencies:
+ "@csstools/selector-specificity" "^2.0.2"
+ balanced-match "^2.0.0"
+ colord "^2.9.3"
+ cosmiconfig "^7.0.1"
+ css-functions-list "^3.1.0"
+ debug "^4.3.4"
+ fast-glob "^3.2.12"
+ fastest-levenshtein "^1.0.16"
+ file-entry-cache "^6.0.1"
+ global-modules "^2.0.0"
+ globby "^11.1.0"
+ globjoin "^0.1.4"
+ html-tags "^3.2.0"
+ ignore "^5.2.0"
+ import-lazy "^4.0.0"
+ imurmurhash "^0.1.4"
+ is-plain-object "^5.0.0"
+ known-css-properties "^0.25.0"
+ mathml-tag-names "^2.1.3"
+ meow "^9.0.0"
+ micromatch "^4.0.5"
+ normalize-path "^3.0.0"
+ picocolors "^1.0.0"
+ postcss "^8.4.16"
+ postcss-media-query-parser "^0.2.3"
+ postcss-resolve-nested-selector "^0.1.1"
+ postcss-safe-parser "^6.0.0"
+ postcss-selector-parser "^6.0.10"
+ postcss-value-parser "^4.2.0"
+ resolve-from "^5.0.0"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+ style-search "^0.1.0"
+ supports-hyperlinks "^2.3.0"
+ svg-tags "^1.0.0"
+ table "^6.8.0"
+ v8-compile-cache "^2.3.0"
+ write-file-atomic "^4.0.2"
+
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -1919,18 +2385,42 @@ supports-color@^5.3.0:
dependencies:
has-flag "^3.0.0"
-supports-color@^7.1.0:
+supports-color@^7.0.0, supports-color@^7.1.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
dependencies:
has-flag "^4.0.0"
+supports-hyperlinks@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624"
+ integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==
+ dependencies:
+ has-flag "^4.0.0"
+ supports-color "^7.0.0"
+
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+svg-tags@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
+ integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==
+
+table@^6.8.0:
+ version "6.8.0"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca"
+ integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==
+ dependencies:
+ ajv "^8.0.1"
+ lodash.truncate "^4.4.2"
+ slice-ansi "^4.0.0"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+
text-extensions@^1.0.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
@@ -2024,7 +2514,7 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
-util-deprecate@^1.0.1:
+util-deprecate@^1.0.1, util-deprecate@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
@@ -2034,6 +2524,11 @@ v8-compile-cache-lib@^3.0.1:
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
+v8-compile-cache@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
+ integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
+
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -2054,6 +2549,13 @@ vite@^3.1.0:
optionalDependencies:
fsevents "~2.3.2"
+which@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ dependencies:
+ isexe "^2.0.0"
+
which@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
@@ -2070,6 +2572,19 @@ wrap-ansi@^7.0.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+write-file-atomic@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd"
+ integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
+ dependencies:
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.7"
+
y18n@^5.0.5:
version "5.0.8"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"