diff --git a/README.md b/README.md
index 8ef23ff6..ccd2a8e6 100644
--- a/README.md
+++ b/README.md
@@ -76,6 +76,7 @@ If you are using **`pages`** directory then `NextSeo` is **exactly what you need
- [Article](#article-1)
- [Breadcrumb](#breadcrumb)
- [Blog](#blog)
+ - [Campground](#campground)
- [Recipe](#recipe)
- [Sitelinks Search Box](#sitelinks-search-box)
- [Course](#course)
@@ -89,6 +90,7 @@ If you are using **`pages`** directory then `NextSeo` is **exactly what you need
- [Product](#product)
- [Social Profile](#social-profile)
- [News Article](#news-article)
+ - [Park](#park)
- [Video](#video-1)
- [VideoGame](#videogame)
- [Event](#event)
@@ -1088,6 +1090,7 @@ Below you will find a very basic page implementing each of the available JSON-LD
- [Article](#article-1)
- [Breadcrumb](#breadcrumb)
- [Blog](#blog)
+- [Campground](#campground)
- [Recipe](#recipe)
- [Sitelinks Search Box](#sitelinks-search-box)
- [Course](#course)
@@ -1100,6 +1103,7 @@ Below you will find a very basic page implementing each of the available JSON-LD
- [Product](#product)
- [Social Profile](#social-profile)
- [News Article](#news-article)
+- [Park](#park)
Pull request very welcome to add any from the list [found on here](https://developers.google.com/search/docs/data-types/article)
@@ -1241,6 +1245,109 @@ const Page = () => (
export default Page;
```
+### Campground
+
+```jsx
+import { CampgroundJsonLd } from 'next-seo';
+
+const Page = () => (
+ <>
+
Campground JSON-LD
+
+ >
+);
+
+export default Page;
+```
+
+**Required properties**
+
+| Property | Info |
+| ------------------------- | ------------------------------------------------------------------- |
+| `@id` | Globally unique ID of the specific campground in the form of a URL. |
+| `address` | Address of the specific campground location |
+| `address.addressCountry` | The 2-letter ISO 3166-1 alpha-2 country code |
+| `address.addressLocality` | City |
+| `address.addressRegion` | State or province, if applicable. |
+| `address.postalCode` | Postal or zip code. |
+| `address.streetAddress` | Street number, street name, and unit number. |
+| `name` | Campground name. |
+| `description` | Campground description. |
+
+**Supported properties**
+
+| Property | Info |
+| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `geo` | Geographic coordinates of the campground. |
+| `geo.latitude` | The latitude of the campground location |
+| `geo.longitude` | The longitude of the campground location |
+| `images` | An image or images of the campground. Required for valid markup depending on the type |
+| `telephone` | A campground phone number meant to be the primary contact method for customers. |
+| `url` | The fully-qualified URL of the specific campground. |
+| `openingHours` | Opening hour specification of the campground. You can provide this as a single object, or an array of objects with the properties below. |
+| `openingHours.opens` | The opening hour of the place or service on the given day(s) of the week. |
+| `openingHours.closes` | The closing hour of the place or service on the given day(s) of the week. |
+| `openingHours.dayOfWeek` | The day of the week for which these opening hours are valid. Can be a string or array of strings. Refer to [DayOfWeek](https://schema.org/DayOfWeek) |
+| `openingHours.validFrom` | The date when the item becomes valid. |
+| `openingHours.validThrough` | The date after when the item is not valid. |
+| `isAccessibleForFree` | Whether or not the campground is accessible for free. |
+| `petsAllowed` | Whether or not the campgroud allows pets. |
+| `amenityFeature` | An amenity feature (e.g. a characteristic or service) of the campground. |
+| `amenityFeature.name` | The name of the amenity. |
+| `amenityFeature.value` | The value of the amenity. |
+| `priceRange` | The price range of the campground, for example $$$. |
+| `rating` | The average rating of the campground based on multiple ratings or reviews. |
+| `rating.ratingValue` | The rating for the content. |
+| `rating.ratingCount` | The count of total number of ratings. |
+
+**Other**
+| `useAppDir` | This should be set to true if using new app directory. Not required if outside of app directory. |
+
### Recipe
```jsx
@@ -2136,6 +2243,91 @@ const Page = () => (
export default Page;
```
+### Park
+
+```jsx
+import { ParkJsonLd } from 'next-seo';
+
+const Page = () => (
+ <>
+ Park JSON-LD
+
+ >
+);
+
+export default Page;
+```
+
+**Required properties**
+
+| Property | Info |
+| ------------------------- | ------------------------------------------------------------- |
+| `@id` | Globally unique ID of the specific park in the form of a URL. |
+| `address` | Address of the specific park location |
+| `address.addressCountry` | The 2-letter ISO 3166-1 alpha-2 country code |
+| `address.addressLocality` | City |
+| `address.addressRegion` | State or province, if applicable. |
+| `address.postalCode` | Postal or zip code. |
+| `address.streetAddress` | Street number, street name, and unit number. |
+| `name` | Park name. |
+| `description` | Park description. |
+
+**Supported properties**
+
+| Property | Info |
+| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `geo` | Geographic coordinates of the park. |
+| `geo.latitude` | The latitude of the park location |
+| `geo.longitude` | The longitude of the park location |
+| `images` | An image or images of the park. Required for valid markup depending on the type |
+| `telephone` | A business phone number meant to be the primary contact method for customers. |
+| `url` | The fully-qualified URL of the specific park. |
+| `openingHours` | Opening hour specification of the park. You can provide this as a single object, or an array of objects with the properties below. |
+| `openingHours.opens` | The opening hour of the place or service on the given day(s) of the week. |
+| `openingHours.closes` | The closing hour of the place or service on the given day(s) of the week. |
+| `openingHours.dayOfWeek` | The day of the week for which these opening hours are valid. Can be a string or array of strings. Refer to [DayOfWeek](https://schema.org/DayOfWeek) |
+| `openingHours.validFrom` | The date when the item becomes valid. |
+| `openingHours.validThrough` | The date after when the item is not valid. |
+| `isAccessibleForFree` | Whether or not the park is accessible for free. |
+
+**Other**
+| `useAppDir` | This should be set to true if using new app directory. Not required if outside of app directory. |
+
[Google Docs for Social Profile](https://developers.google.com/search/docs/data-types/social-profile)
### Video
@@ -3027,6 +3219,7 @@ export default () => (
aggregateRating={{ ratingValue: '4.6', reviewCount: '8864' }}
operatingSystem="ANDROID"
applicationCategory="GameApplication"
+ keywords="angrybirds, arcade, slingshot"
/>
>
);
@@ -3052,7 +3245,13 @@ export default () => (
| `operatingSystem` | The operating System supported by the game it self. |
| `applicationCategory` | Desktop Software or Video Game... |
-For reference and more info check [Google docs for Software App](https://developers.google.com/search/docs/data-types/software-app)
+**Data other properties**
+
+| Property | Info |
+| ---------- | ---------------------------------------------------------------------------------------------------------------------- |
+| `keywords` | Keywords or tags used to describe this content. Multiple entries in a keywords list are typically delimited by commas. |
+
+For reference and more info check [Google docs for Software App](https://developers.google.com/search/docs/data-types/software-app) and [Schema.org docs](https://schema.org/SoftwareApplication)
### Organization
diff --git a/cypress/e2e/campground.spec.js b/cypress/e2e/campground.spec.js
new file mode 100644
index 00000000..f28f354e
--- /dev/null
+++ b/cypress/e2e/campground.spec.js
@@ -0,0 +1,145 @@
+import { assertSchema } from '@cypress/schema-tools';
+import schemas from '../schemas';
+
+describe('Campground JSON-LD', () => {
+ it('matches schema', () => {
+ cy.visit('http://localhost:3000/jsonld/campground');
+ cy.get('head script[type="application/ld+json"]').then(tags => {
+ const jsonLD = JSON.parse(tags[0].innerHTML);
+ console.log('jsonLD', jsonLD);
+ assertSchema(schemas)('Campground', '1.0.0')(jsonLD);
+ });
+ });
+
+ it('renders with one amenity feature', () => {
+ cy.visit('http://localhost:3000/jsonld/campground');
+ cy.get('head script[type="application/ld+json"]').then(tags => {
+ const jsonLD = JSON.parse(tags[0].innerHTML);
+ expect(jsonLD).to.deep.equal({
+ '@context': 'https://schema.org',
+ '@type': 'Campground',
+ '@id': 'https://www.example.com/campground/rip-van-winkle-campground',
+ name: 'Rip Van Winkle Campgrounds',
+ description: 'Description about Rip Van Winkle Campgrounds',
+ url: 'https://www.example.com/campground',
+ telephone: '+18452468114',
+ image: ['https://example.com/photos/1x1/photo.jpg'],
+ address: {
+ '@type': 'PostalAddress',
+ streetAddress: '149 Blue Mountain Rd',
+ addressLocality: 'Saugerties',
+ addressRegion: 'NY',
+ postalCode: '12477',
+ addressCountry: 'US',
+ },
+ geo: {
+ '@type': 'GeoCoordinates',
+ latitude: '42.092599',
+ longitude: '-74.018580',
+ },
+ openingHoursSpecification: [
+ {
+ opens: '09:00',
+ closes: '17:00',
+ dayOfWeek: [
+ 'Monday',
+ 'Tuesday',
+ 'Wednesday',
+ 'Thursday',
+ 'Friday',
+ 'Saturday',
+ 'Sunday',
+ ],
+ validFrom: '2019-12-23',
+ validThrough: '2020-04-02',
+ '@type': 'OpeningHoursSpecification',
+ },
+ ],
+ petsAllowed: true,
+ aggregateRating: {
+ ratingValue: '5',
+ ratingCount: '18',
+ '@type': 'AggregateRating',
+ },
+ amenityFeature: {
+ '@type': 'LocationFeatureSpecification',
+ name: 'Showers',
+ value: true,
+ },
+ priceRange: '$$',
+ });
+ });
+ });
+
+ it('renders with multiple amenity features', () => {
+ cy.visit('http://localhost:3000/jsonld/campground/multipleAmenityFeatures');
+ cy.get('head script[type="application/ld+json"]').then(tags => {
+ const jsonLD = JSON.parse(tags[0].innerHTML);
+ expect(jsonLD).to.deep.equal({
+ '@context': 'https://schema.org',
+ '@type': 'Campground',
+ '@id': 'https://www.example.com/campground/rip-van-winkle-campground',
+ name: 'Rip Van Winkle Campgrounds',
+ description: 'Description about Rip Van Winkle Campgrounds',
+ url: 'https://www.example.com/campground',
+ telephone: '+18452468114',
+ image: ['https://example.com/photos/1x1/photo.jpg'],
+ address: {
+ '@type': 'PostalAddress',
+ streetAddress: '149 Blue Mountain Rd',
+ addressLocality: 'Saugerties',
+ addressRegion: 'NY',
+ postalCode: '12477',
+ addressCountry: 'US',
+ },
+ geo: {
+ '@type': 'GeoCoordinates',
+ latitude: '42.092599',
+ longitude: '-74.018580',
+ },
+ openingHoursSpecification: [
+ {
+ opens: '09:00',
+ closes: '17:00',
+ dayOfWeek: [
+ 'Monday',
+ 'Tuesday',
+ 'Wednesday',
+ 'Thursday',
+ 'Friday',
+ 'Saturday',
+ 'Sunday',
+ ],
+ validFrom: '2019-12-23',
+ validThrough: '2020-04-02',
+ '@type': 'OpeningHoursSpecification',
+ },
+ ],
+ petsAllowed: true,
+ aggregateRating: {
+ ratingValue: '5',
+ ratingCount: '18',
+ '@type': 'AggregateRating',
+ },
+ amenityFeature: [
+ {
+ '@type': 'LocationFeatureSpecification',
+ name: 'Showers',
+ value: true,
+ },
+ {
+ '@type': 'LocationFeatureSpecification',
+ name: 'RV Hookup',
+ value: false,
+ },
+ {
+ '@type': 'LocationFeatureSpecification',
+ name: 'Campfire',
+ value: true,
+ },
+ ],
+ priceRange: '$$',
+ });
+ });
+ });
+});
diff --git a/cypress/e2e/park.spec.js b/cypress/e2e/park.spec.js
new file mode 100644
index 00000000..64538adb
--- /dev/null
+++ b/cypress/e2e/park.spec.js
@@ -0,0 +1,61 @@
+import { assertSchema } from '@cypress/schema-tools';
+import schemas from '../schemas';
+
+describe('Park JSON-LD', () => {
+ it('matches schema', () => {
+ cy.visit('http://localhost:3000/jsonld/park');
+ cy.get('head script[type="application/ld+json"]').then(tags => {
+ const jsonLD = JSON.parse(tags[0].innerHTML);
+ console.log('jsonLD', jsonLD);
+ assertSchema(schemas)('Park', '1.0.0')(jsonLD);
+ });
+ });
+
+ it('renders with all props', () => {
+ cy.visit('http://localhost:3000/jsonld/park');
+ cy.get('head script[type="application/ld+json"]').then(tags => {
+ const jsonLD = JSON.parse(tags[0].innerHTML);
+ expect(jsonLD).to.deep.equal({
+ '@context': 'https://schema.org',
+ '@type': 'Park',
+ '@id': 'https://www.example.com/park/minnewaska-state-park',
+ name: 'Minnewaska State Park',
+ description: 'Description about Minnewaska State Park',
+ url: 'https://www.example.com/park',
+ telephone: '+18452550752',
+ image: ['https://example.com/photos/1x1/photo.jpg'],
+ address: {
+ '@type': 'PostalAddress',
+ streetAddress: '5281 Route 44-55',
+ addressLocality: 'Kerhonkson',
+ addressRegion: 'NY',
+ postalCode: '12446',
+ addressCountry: 'US',
+ },
+ geo: {
+ latitude: '41.735149',
+ longitude: '-74.239037',
+ '@type': 'GeoCoordinates',
+ },
+ openingHoursSpecification: [
+ {
+ opens: '09:00',
+ closes: '18:00',
+ dayOfWeek: [
+ 'Monday',
+ 'Tuesday',
+ 'Wednesday',
+ 'Thursday',
+ 'Friday',
+ 'Saturday',
+ 'Sunday',
+ ],
+ validFrom: '2019-12-23',
+ validThrough: '2020-04-02',
+ '@type': 'OpeningHoursSpecification',
+ },
+ ],
+ });
+ });
+ });
+});
diff --git a/cypress/e2e/softwareApp.spec.js b/cypress/e2e/softwareApp.spec.js
index d03e591a..f05e1209 100644
--- a/cypress/e2e/softwareApp.spec.js
+++ b/cypress/e2e/softwareApp.spec.js
@@ -30,6 +30,7 @@ describe('SoftwareApp JSON-LD', () => {
price: '1.00',
priceCurrency: 'USD',
},
+ keywords: 'angrybirds, arcade, slingshot',
});
});
});
diff --git a/cypress/schemas/campground-schema.js b/cypress/schemas/campground-schema.js
new file mode 100644
index 00000000..3068a722
--- /dev/null
+++ b/cypress/schemas/campground-schema.js
@@ -0,0 +1,236 @@
+import { versionSchemas } from '@cypress/schema-tools';
+
+import address100 from './address';
+
+const campground100 = {
+ version: {
+ major: 1,
+ minor: 0,
+ patch: 0,
+ },
+ schema: {
+ type: 'object',
+ title: 'Campground',
+ description: 'An example schema describing JSON-LD for type: Campground',
+ properties: {
+ '@context': {
+ type: 'string',
+ description: 'Schema.org context',
+ },
+ '@type': {
+ type: 'string',
+ description:
+ 'Any more specific type supported by Campground https://schema.org/Campground',
+ },
+ '@id': {
+ type: 'string',
+ description:
+ 'Globally unique ID of the specific campground in the form of a URL. The ID should be stable and unchanging over time. Google Search treats the URL as an opaque string and it does not have to be a working link.',
+ },
+ name: {
+ type: 'string',
+ description: 'The name of the campground.',
+ },
+ description: {
+ type: 'string',
+ description: 'Description for the campground.',
+ },
+ url: {
+ type: 'string',
+ description:
+ 'The fully-qualified URL of the specific campground location. Unlike the @id property, this URL property should be a working link.',
+ },
+ telephone: {
+ type: 'string',
+ description:
+ 'A campground phone number meant to be the primary contact method for customers. Be sure to include the country code and area code in the phone number.',
+ },
+ image: {
+ type: 'array',
+ items: {
+ type: 'string',
+ },
+ description: "Array of image URL's",
+ },
+ address: {
+ ...address100.schema,
+ see: address100,
+ },
+ geo: {
+ type: 'object',
+ description: 'An object with latitude and longitude',
+ properties: {
+ '@type': {
+ type: 'string',
+ description: 'JSON-LD type: GeoCoordinates',
+ },
+ latitude: {
+ type: 'string',
+ description: 'The latitude of the campground location.',
+ },
+ longitude: {
+ type: 'string',
+ description: 'The longitude of the campground location.',
+ },
+ },
+ },
+ openingHoursSpecification: {
+ type: 'array',
+ description: 'Opening hour specification for the campground',
+ item: {
+ type: 'object',
+ properties: {
+ '@type': {
+ type: 'string',
+ description: 'JSON-LD type: OpeningHoursSpecification',
+ },
+ opens: {
+ type: 'string',
+ description:
+ 'The opening hour of the place or service on the given day(s) of the week.',
+ },
+ closes: {
+ type: 'string',
+ description:
+ 'The closing hour of the place or service on the given day(s) of the week.',
+ },
+ dayOfWeek: {
+ type: 'array',
+ items: {
+ type: 'string',
+ },
+ description:
+ 'The day of the week for which these opening hours are valid.',
+ },
+ validFrom: {
+ type: 'string',
+ description: 'The date when the item becomes valid.',
+ },
+ validThrough: {
+ type: 'string',
+ description: 'The date after when the item is not valid.',
+ },
+ },
+ },
+ },
+ petsAllowed: {
+ type: 'boolean',
+ description:
+ 'Indicates whether pets are allowed to enter the campground.',
+ },
+ aggregateRating: {
+ type: 'object',
+ properties: {
+ '@type': {
+ type: 'string',
+ description: 'JSON-LD type: AggregateRating.',
+ },
+ ratingValue: {
+ type: 'string',
+ description: 'Ratings/Reviews aggregate value of the campground.',
+ },
+ ratingCount: {
+ type: 'string',
+ description: 'Ratings/Reviews number of the campground.',
+ },
+ },
+ description: 'Aggregate rating of the campground.',
+ },
+ amenityFeature: {
+ type: ['array', 'object'],
+ item: {
+ type: 'object',
+ properties: {
+ '@type': {
+ type: 'string',
+ description: 'JSON-LD type: LocationFeatureSpecification',
+ },
+ name: {
+ type: 'string',
+ description: 'The name of the amenity.',
+ },
+ value: {
+ type: ['string', 'integer', 'boolean'],
+ description: 'The value of the amenity.',
+ },
+ },
+ },
+ },
+ priceRange: {
+ type: 'string',
+ description:
+ 'The approximate price of the campground. You can specify as many currency symbols as there are digits in the price, or you can specify an actual range.',
+ },
+ },
+ required: true,
+ additionalProperties: false,
+ },
+ example: {
+ '@context': 'https://schema.org',
+ '@type': 'Campground',
+ '@id': 'https://www.example.com/campground/rip-van-winkle-campground',
+ name: 'Rip Van Winkle Campgrounds',
+ description: 'Description about Rip Van Winkle Campgrounds',
+ url: 'https://www.example.com/campground',
+ telephone: '+18452468114',
+ image: ['https://example.com/photos/1x1/photo.jpg'],
+ address: {
+ '@type': 'PostalAddress',
+ streetAddress: '149 Blue Mountain Rd',
+ addressLocality: 'Saugerties',
+ addressRegion: 'NY',
+ postalCode: '12477',
+ addressCountry: 'US',
+ },
+ geo: {
+ latitude: '42.092599',
+ longitude: '-74.018580',
+ '@type': 'GeoCoordinates',
+ },
+ openingHoursSpecification: [
+ {
+ opens: '09:00',
+ closes: '17:00',
+ dayOfWeek: [
+ 'Monday',
+ 'Tuesday',
+ 'Wednesday',
+ 'Thursday',
+ 'Friday',
+ 'Saturday',
+ 'Sunday',
+ ],
+ validFrom: '2019-12-23',
+ validThrough: '2020-04-02',
+ '@type': 'OpeningHoursSpecification',
+ },
+ ],
+ petsAllowed: true,
+ aggregateRating: {
+ '@type': 'AggregateRating',
+ ratingValue: '5',
+ ratingCount: '18',
+ },
+ amenityFeature: [
+ {
+ '@type': 'LocationFeatureSpecification',
+ name: 'Showers',
+ value: true,
+ },
+ {
+ '@type': 'LocationFeatureSpecification',
+ name: 'RV Hookup',
+ value: false,
+ },
+ {
+ '@type': 'LocationFeatureSpecification',
+ name: 'Campfire',
+ value: true,
+ },
+ ],
+ priceRange: '$$',
+ },
+};
+
+const campground = versionSchemas(campground100);
+export default campground;
diff --git a/cypress/schemas/index.js b/cypress/schemas/index.js
index ef2d4f55..c4892c35 100644
--- a/cypress/schemas/index.js
+++ b/cypress/schemas/index.js
@@ -27,6 +27,9 @@ import webPageVersions from './web-page-schema';
import videoVersions from './video-schema';
import howToVersions from './how-to-schema';
import imageVersions from './image-schema';
+import campgroundVersions from './campground-schema';
+import parkVersions from './park-schema';
+
const schemas = combineSchemas(
articleVersions,
@@ -56,5 +59,7 @@ const schemas = combineSchemas(
videoVersions,
howToVersions,
imageVersions,
+ campgroundVersions,
+ parkVersions,
);
export default schemas;
diff --git a/cypress/schemas/park-schema.js b/cypress/schemas/park-schema.js
new file mode 100644
index 00000000..233a474a
--- /dev/null
+++ b/cypress/schemas/park-schema.js
@@ -0,0 +1,164 @@
+import { versionSchemas } from '@cypress/schema-tools';
+
+import address100 from './address';
+
+const park100 = {
+ version: {
+ major: 1,
+ minor: 0,
+ patch: 0,
+ },
+ schema: {
+ type: 'object',
+ title: 'Park',
+ description: 'An example schema describing JSON-LD for type: Park',
+ properties: {
+ '@context': {
+ type: 'string',
+ description: 'Schema.org context',
+ },
+ '@type': {
+ type: 'string',
+ description:
+ 'Any more specific type supported by Park https://schema.org/Park',
+ },
+ '@id': {
+ type: 'string',
+ description:
+ 'Globally unique ID of the specific park in the form of a URL. The ID should be stable and unchanging over time. Google Search treats the URL as an opaque string and it does not have to be a working link.',
+ },
+ name: {
+ type: 'string',
+ description: 'The name of the park.',
+ },
+ description: {
+ type: 'string',
+ description: 'Description for the park.',
+ },
+ url: {
+ type: 'string',
+ description:
+ 'The fully-qualified URL of the specific park location. Unlike the @id property, this URL property should be a working link.',
+ },
+ telephone: {
+ type: 'string',
+ description:
+ 'A park phone number meant to be the primary contact method for customers. Be sure to include the country code and area code in the phone number.',
+ },
+ image: {
+ type: 'array',
+ items: {
+ type: 'string',
+ },
+ description: "Array of image URL's",
+ },
+ address: {
+ ...address100.schema,
+ see: address100,
+ },
+ geo: {
+ type: 'object',
+ description: "Array of social profile URL's",
+ properties: {
+ '@type': {
+ type: 'string',
+ description: 'JSON-LD type: GeoCoordinates',
+ },
+ latitude: {
+ type: 'string',
+ description: 'The latitude of the park location.',
+ },
+ longitude: {
+ type: 'string',
+ description: 'The longitude of the park location.',
+ },
+ },
+ },
+ openingHoursSpecification: {
+ type: 'array',
+ description: 'Opening hour specification for the park',
+ item: {
+ type: 'object',
+ properties: {
+ '@type': {
+ type: 'string',
+ description: 'JSON-LD type: OpeningHoursSpecification',
+ },
+ opens: {
+ type: 'string',
+ description:
+ 'The opening hour of the place or service on the given day(s) of the week.',
+ },
+ closes: {
+ type: 'string',
+ description:
+ 'The closing hour of the place or service on the given day(s) of the week.',
+ },
+ dayOfWeek: {
+ type: 'array',
+ items: {
+ type: 'string',
+ },
+ description:
+ 'The day of the week for which these opening hours are valid.',
+ },
+ validFrom: {
+ type: 'string',
+ description: 'The date when the item becomes valid.',
+ },
+ validThrough: {
+ type: 'string',
+ description: 'The date after when the item is not valid.',
+ },
+ },
+ },
+ },
+ },
+ required: true,
+ additionalProperties: false,
+ },
+ example: {
+ '@context': 'https://schema.org',
+ '@type': 'Park',
+ '@id': 'https://www.example.com/park/minnewaska-state-park',
+ name: 'Minnewaska State Park',
+ description: 'Description about Minnewaska State Park',
+ url: 'https://www.example.com/park',
+ telephone: '+18452550752',
+ image: ['https://example.com/photos/1x1/photo.jpg'],
+ address: {
+ '@type': 'PostalAddress',
+ streetAddress: '5281 Route 44-55',
+ addressLocality: 'Kerhonkson',
+ addressRegion: 'NY',
+ postalCode: '12446',
+ addressCountry: 'US',
+ },
+ geo: {
+ latitude: '41.735149',
+ longitude: '-74.239037',
+ '@type': 'GeoCoordinates',
+ },
+ openingHoursSpecification: [
+ {
+ opens: '09:00',
+ closes: '18:00',
+ dayOfWeek: [
+ 'Monday',
+ 'Tuesday',
+ 'Wednesday',
+ 'Thursday',
+ 'Friday',
+ 'Saturday',
+ 'Sunday',
+ ],
+ validFrom: '2019-12-23',
+ validThrough: '2020-04-02',
+ '@type': 'OpeningHoursSpecification',
+ },
+ ],
+ },
+};
+
+const park = versionSchemas(park100);
+export default park;
diff --git a/cypress/schemas/software-app-schema.js b/cypress/schemas/software-app-schema.js
index 66bbad18..d2cd71bc 100644
--- a/cypress/schemas/software-app-schema.js
+++ b/cypress/schemas/software-app-schema.js
@@ -52,6 +52,9 @@ const softwareApp100 = {
},
},
},
+ keywords: {
+ type: 'string',
+ },
},
},
example: {
@@ -70,6 +73,7 @@ const softwareApp100 = {
price: '1.00',
priceCurrency: 'USD',
},
+ keywords: 'angrybirds, arcade, slingshot',
},
};
diff --git a/e2e/pages/jsonld/campground/index.tsx b/e2e/pages/jsonld/campground/index.tsx
new file mode 100644
index 00000000..8401b7a9
--- /dev/null
+++ b/e2e/pages/jsonld/campground/index.tsx
@@ -0,0 +1,58 @@
+import React from 'react';
+import { CampgroundJsonLd } from '../../../..';
+
+function Campground() {
+ return (
+ <>
+ Campground
+
+ >
+ );
+}
+
+export default Campground;
diff --git a/e2e/pages/jsonld/campground/multipleAmenityFeatures.tsx b/e2e/pages/jsonld/campground/multipleAmenityFeatures.tsx
new file mode 100644
index 00000000..bd950da2
--- /dev/null
+++ b/e2e/pages/jsonld/campground/multipleAmenityFeatures.tsx
@@ -0,0 +1,68 @@
+import React from 'react';
+import { CampgroundJsonLd } from '../../../..';
+
+function Campground() {
+ return (
+ <>
+ Campground
+
+ >
+ );
+}
+
+export default Campground;
diff --git a/e2e/pages/jsonld/index.tsx b/e2e/pages/jsonld/index.tsx
index 191f490a..4665310d 100644
--- a/e2e/pages/jsonld/index.tsx
+++ b/e2e/pages/jsonld/index.tsx
@@ -6,6 +6,7 @@ const allJsonLDPages = [
'blog',
'brand',
'breadcrumb',
+ 'campground',
'collectionPage',
'corporateContact',
'course',
@@ -18,6 +19,7 @@ const allJsonLDPages = [
'logo',
'newsarticle',
'organization',
+ 'park',
'product',
'profilePage',
'qaPage',
diff --git a/e2e/pages/jsonld/park.tsx b/e2e/pages/jsonld/park.tsx
new file mode 100644
index 00000000..d6a99fed
--- /dev/null
+++ b/e2e/pages/jsonld/park.tsx
@@ -0,0 +1,48 @@
+import React from 'react';
+import { ParkJsonLd } from '../../..';
+
+function Park() {
+ return (
+ <>
+ Park
+
+ >
+ );
+}
+
+export default Park;
diff --git a/e2e/pages/jsonld/softwareApp.tsx b/e2e/pages/jsonld/softwareApp.tsx
index bb6e3bd3..1ad2a928 100644
--- a/e2e/pages/jsonld/softwareApp.tsx
+++ b/e2e/pages/jsonld/softwareApp.tsx
@@ -12,6 +12,7 @@ function SoftwareApp() {
aggregateRating={{ ratingValue: '4.6', ratingCount: '8864' }}
operatingSystem="ANDROID"
applicationCategory="GameApplication"
+ keywords="angrybirds, arcade, slingshot"
/>
>
);
diff --git a/package.json b/package.json
index 07ceb8fe..0b77c4da 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "next-seo",
- "version": "6.1.0",
+ "version": "6.2.0",
"description": "SEO plugin for Next.js projects",
"source": "src/index.tsx",
"main": "lib/next-seo.js",
@@ -73,7 +73,7 @@
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^14.0.0",
"@types/jest": "^29.5.0",
- "@types/node": "^18.11.7",
+ "@types/node": "^20.3.2",
"@types/react": "^18.0.31",
"@types/react-dom": "^18.0.11",
"babel-jest": "^29.5.0",
@@ -85,9 +85,11 @@
"jest-environment-jsdom": "^29.5.0",
"lint-staged": "11.1.1",
"microbundle": "^0.15.1",
+ "lint-staged": "13.2.3",
+ "microbundle": "^0.14.2",
"next": "^13.0.0",
"npm-run-all": "4.1.5",
- "prettier": "2.8.7",
+ "prettier": "2.8.8",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"rimraf": "4.4.1",
diff --git a/src/index.tsx b/src/index.tsx
index 5d8ed3ea..e5687e39 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -67,5 +67,9 @@ export {
} from './jsonld/socialProfile';
export { default as HowToJsonLd, HowToJsonLdProps } from './jsonld/howTo';
export { default as ImageJsonLd, ImageJsonLdProps } from './jsonld/image';
-
+export {
+ default as CampgroundJsonLd,
+ CampgroundJsonLdProps,
+} from './jsonld/campground';
+export { default as ParkJsonLd, ParkJsonLdProps } from './jsonld/park';
export { DefaultSeoProps, NextSeoProps } from './types';
diff --git a/src/jsonld/campground.tsx b/src/jsonld/campground.tsx
new file mode 100644
index 00000000..da57804e
--- /dev/null
+++ b/src/jsonld/campground.tsx
@@ -0,0 +1,65 @@
+import React from 'react';
+import { JsonLd, JsonLdProps } from './jsonld';
+import {
+ Address,
+ AggregateRating,
+ AmenityFeature,
+ Geo,
+ OpeningHoursSpecification,
+} from 'src/types';
+import { setGeo } from 'src/utils/schema/setGeo';
+import { setAddress } from 'src/utils/schema/setAddress';
+import { setOpeningHours } from 'src/utils/schema/setOpeningHours';
+import { setAmenityFeature } from 'src/utils/schema/setAmenityFeature';
+import { setAggregateRating } from 'src/utils/schema/setAggregateRating';
+
+export interface CampgroundJsonLdProps extends JsonLdProps {
+ address: Address | Address[];
+ amenityFeature?: AmenityFeature | AmenityFeature[];
+ description: string;
+ geo?: Geo;
+ images?: string[];
+ isAccessibleForFree?: boolean;
+ name: string;
+ openingHours?: OpeningHoursSpecification | OpeningHoursSpecification[];
+ petsAllowed?: boolean;
+ priceRange?: string;
+ rating?: AggregateRating;
+ telephone?: string;
+ type?: string;
+ url?: string;
+}
+
+function CampgroundJsonLd({
+ address,
+ geo,
+ images,
+ keyOverride,
+ openingHours,
+ type = 'Campground',
+ amenityFeature,
+ rating,
+ ...rest
+}: CampgroundJsonLdProps) {
+ const data = {
+ image: images,
+ openingHoursSpecification: Array.isArray(openingHours)
+ ? openingHours.map(setOpeningHours)
+ : setOpeningHours(openingHours),
+ address: setAddress(address),
+ geo: setGeo(geo),
+ amenityFeature: setAmenityFeature(amenityFeature),
+ aggregateRating: setAggregateRating(rating),
+ ...rest,
+ };
+ return (
+
+ );
+}
+
+export default CampgroundJsonLd;
diff --git a/src/jsonld/park.tsx b/src/jsonld/park.tsx
new file mode 100644
index 00000000..58e0fb7f
--- /dev/null
+++ b/src/jsonld/park.tsx
@@ -0,0 +1,44 @@
+import React from 'react';
+import { JsonLd, JsonLdProps } from './jsonld';
+import { Address, Geo, OpeningHoursSpecification } from 'src/types';
+import { setGeo } from 'src/utils/schema/setGeo';
+import { setAddress } from 'src/utils/schema/setAddress';
+import { setOpeningHours } from 'src/utils/schema/setOpeningHours';
+
+export interface ParkJsonLdProps extends JsonLdProps {
+ address: Address | Address[];
+ description: string;
+ geo?: Geo;
+ images?: string[];
+ isAccessibleForFree?: boolean;
+ name: string;
+ openingHours?: OpeningHoursSpecification | OpeningHoursSpecification[];
+ telephone?: string;
+ type?: string;
+ url?: string;
+}
+
+function ParkJsonLd({
+ address,
+ geo,
+ images,
+ keyOverride,
+ openingHours,
+ type = 'Park',
+ ...rest
+}: ParkJsonLdProps) {
+ const data = {
+ image: images,
+ openingHoursSpecification: Array.isArray(openingHours)
+ ? openingHours.map(setOpeningHours)
+ : setOpeningHours(openingHours),
+ address: setAddress(address),
+ geo: setGeo(geo),
+ ...rest,
+ };
+ return (
+
+ );
+}
+
+export default ParkJsonLd;
diff --git a/src/jsonld/softwareApp.tsx b/src/jsonld/softwareApp.tsx
index 5f9bc57e..4e564b89 100644
--- a/src/jsonld/softwareApp.tsx
+++ b/src/jsonld/softwareApp.tsx
@@ -13,6 +13,7 @@ export interface SoftwareAppJsonLdProps extends JsonLdProps {
operatingSystem?: string;
review?: Review;
aggregateRating?: AggregateRating;
+ keywords?: string;
}
function SoftwareAppJsonLd({
@@ -22,6 +23,7 @@ function SoftwareAppJsonLd({
price,
aggregateRating,
review,
+ keywords,
...rest
}: SoftwareAppJsonLdProps) {
const data = {
@@ -33,6 +35,7 @@ function SoftwareAppJsonLd({
},
aggregateRating: setAggregateRating(aggregateRating),
review: setReviews(review),
+ keywords,
};
return (
({
+ '@type': 'LocationFeatureSpecification',
+ ...amenity,
+ }));
+
+describe('setAmenityFeature', () => {
+ test('should return undefined if amenityFeature is undefined', () => {
+ const data = setAmenityFeature(undefined);
+ expect(data).toBeUndefined();
+ });
+
+ test('should accept an object, decorates it, and returns it', () => {
+ const data = setAmenityFeature(amenityFeatureEx1);
+ expect(data).toEqual(decoratedAmenityFeatureEx1);
+ });
+
+ test('should accept an array of objects, decorates all of them, and returns it', () => {
+ const data = setAmenityFeature(amenityFeatureEx2);
+ expect(data).toEqual(decoratedAmenityFeatureEx2);
+ });
+
+ test('single object array returns correctly', () => {
+ const data = setAmenityFeature([amenityFeatureEx1]);
+ expect(data).toEqual(decoratedAmenityFeatureEx1);
+ });
+});
diff --git a/src/utils/schema/setAmenityFeature.ts b/src/utils/schema/setAmenityFeature.ts
new file mode 100644
index 00000000..6f60cf84
--- /dev/null
+++ b/src/utils/schema/setAmenityFeature.ts
@@ -0,0 +1,26 @@
+import { AmenityFeature, DecoratedAmenityFeature } from 'src/types';
+
+export function setAmenityFeature(
+ amenityFeature?: AmenityFeature | AmenityFeature[],
+) {
+ if (!amenityFeature) return undefined;
+
+ if (!Array.isArray(amenityFeature)) {
+ return decorateAmenityFeature(amenityFeature);
+ }
+
+ if (amenityFeature.length === 1) {
+ return decorateAmenityFeature(amenityFeature[0]);
+ }
+
+ return amenityFeature.map(decorateAmenityFeature);
+}
+
+function decorateAmenityFeature(
+ amenity: AmenityFeature,
+): DecoratedAmenityFeature {
+ return {
+ '@type': 'LocationFeatureSpecification',
+ ...amenity,
+ };
+}
diff --git a/yarn.lock b/yarn.lock
index 12082ff3..165c0ceb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3,9 +3,9 @@
"@adobe/css-tools@^4.0.1":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.2.0.tgz#e1a84fca468f4b337816fcb7f0964beb620ba855"
- integrity sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.1.tgz#abfccb8ca78075a2b6187345c26243c1a0842f28"
+ integrity sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==
"@ampproject/remapping@^2.2.0":
version "2.2.0"
@@ -22,6 +22,14 @@
dependencies:
"@babel/highlight" "^7.18.6"
+"@babel/code-frame@^7.22.13":
+ version "7.22.13"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
+ integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
+ dependencies:
+ "@babel/highlight" "^7.22.13"
+ chalk "^2.4.2"
+
"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.21.4":
version "7.21.4"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f"
@@ -58,6 +66,16 @@
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
+"@babel/generator@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420"
+ integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==
+ dependencies:
+ "@babel/types" "^7.23.0"
+ "@jridgewell/gen-mapping" "^0.3.2"
+ "@jridgewell/trace-mapping" "^0.3.17"
+ jsesc "^2.5.1"
+
"@babel/helper-annotate-as-pure@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
@@ -123,6 +141,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
+"@babel/helper-environment-visitor@^7.22.20":
+ version "7.22.20"
+ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
+ integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
+
"@babel/helper-explode-assignable-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096"
@@ -138,6 +161,14 @@
"@babel/template" "^7.20.7"
"@babel/types" "^7.21.0"
+"@babel/helper-function-name@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
+ integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
+ dependencies:
+ "@babel/template" "^7.22.15"
+ "@babel/types" "^7.23.0"
+
"@babel/helper-hoist-variables@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
@@ -145,6 +176,13 @@
dependencies:
"@babel/types" "^7.18.6"
+"@babel/helper-hoist-variables@^7.22.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
+ integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
+ dependencies:
+ "@babel/types" "^7.22.5"
+
"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0":
version "7.21.0"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5"
@@ -228,16 +266,33 @@
dependencies:
"@babel/types" "^7.18.6"
+"@babel/helper-split-export-declaration@^7.22.6":
+ version "7.22.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
+ integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
+ dependencies:
+ "@babel/types" "^7.22.5"
+
"@babel/helper-string-parser@^7.19.4":
version "7.19.4"
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
+"@babel/helper-string-parser@^7.22.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
+ integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
+
"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
version "7.19.1"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
+"@babel/helper-validator-identifier@^7.22.20":
+ version "7.22.20"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
+ integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
+
"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0":
version "7.21.0"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180"
@@ -271,11 +326,25 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
+"@babel/highlight@^7.22.13":
+ version "7.22.20"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54"
+ integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.22.20"
+ chalk "^2.4.2"
+ js-tokens "^4.0.0"
+
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@^7.3.3":
version "7.21.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17"
integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==
+"@babel/parser@^7.22.15", "@babel/parser@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
+ integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
+
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
@@ -1016,19 +1085,28 @@
"@babel/parser" "^7.20.7"
"@babel/types" "^7.20.7"
-"@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4", "@babel/traverse@^7.7.2":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36"
- integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==
+"@babel/template@^7.22.15":
+ version "7.22.15"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
+ integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
dependencies:
- "@babel/code-frame" "^7.21.4"
- "@babel/generator" "^7.21.4"
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-function-name" "^7.21.0"
- "@babel/helper-hoist-variables" "^7.18.6"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.21.4"
- "@babel/types" "^7.21.4"
+ "@babel/code-frame" "^7.22.13"
+ "@babel/parser" "^7.22.15"
+ "@babel/types" "^7.22.15"
+
+"@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4", "@babel/traverse@^7.7.2":
+ version "7.23.2"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8"
+ integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==
+ dependencies:
+ "@babel/code-frame" "^7.22.13"
+ "@babel/generator" "^7.23.0"
+ "@babel/helper-environment-visitor" "^7.22.20"
+ "@babel/helper-function-name" "^7.23.0"
+ "@babel/helper-hoist-variables" "^7.22.5"
+ "@babel/helper-split-export-declaration" "^7.22.6"
+ "@babel/parser" "^7.23.0"
+ "@babel/types" "^7.23.0"
debug "^4.1.0"
globals "^11.1.0"
@@ -1041,6 +1119,15 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
+"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb"
+ integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==
+ dependencies:
+ "@babel/helper-string-parser" "^7.22.5"
+ "@babel/helper-validator-identifier" "^7.22.20"
+ to-fast-properties "^2.0.0"
+
"@bahmutov/all-paths@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@bahmutov/all-paths/-/all-paths-1.0.2.tgz#9ae0dcdf9022dd6e5e14d7fda3479e6a330d035b"
@@ -1689,9 +1776,9 @@
"@types/istanbul-lib-report" "*"
"@types/jest@*", "@types/jest@^29.5.0":
- version "29.5.0"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.0.tgz#337b90bbcfe42158f39c2fb5619ad044bbb518ac"
- integrity sha512-3Emr5VOl/aoBwnWcH/EFQvlSAmjV+XtV9GGu5mwdYew5vhQh0IUZx/60x0TzHDu09Bi7HMx10t/namdJw5QIcg==
+ version "29.5.2"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.2.tgz#86b4afc86e3a8f3005b297ed8a72494f89e6395b"
+ integrity sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==
dependencies:
expect "^29.0.0"
pretty-format "^29.0.0"
@@ -1712,10 +1799,10 @@
dependencies:
"@types/unist" "*"
-"@types/node@*", "@types/node@^18.11.7":
- version "18.15.11"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f"
- integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==
+"@types/node@*", "@types/node@^20.3.2":
+ version "20.3.2"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.2.tgz#fa6a90f2600e052a03c18b8cb3fd83dd4e599898"
+ integrity sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==
"@types/node@^14.14.31":
version "14.18.42"
@@ -1750,9 +1837,9 @@
"@types/react" "*"
"@types/react@*", "@types/react@^18.0.31":
- version "18.0.31"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.31.tgz#a69ef8dd7bfa849734d258c793a8fe343a338205"
- integrity sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww==
+ version "18.2.14"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.14.tgz#fa7a6fecf1ce35ca94e74874f70c56ce88f7a127"
+ integrity sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@@ -1888,6 +1975,11 @@ ansi-regex@^5.0.1:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+ansi-regex@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
+ integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
+
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@@ -1912,6 +2004,11 @@ ansi-styles@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
+ansi-styles@^6.0.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
+ integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
+
anymatch@^3.0.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
@@ -2275,6 +2372,11 @@ ccount@^1.0.0:
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043"
integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==
+chalk@5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3"
+ integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==
+
chalk@^1.0.0, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
@@ -2286,7 +2388,7 @@ chalk@^1.0.0, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.0, chalk@^2.4.1:
+chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -2303,7 +2405,7 @@ chalk@^3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1:
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -2380,6 +2482,14 @@ cli-truncate@^2.1.0:
slice-ansi "^3.0.0"
string-width "^4.2.0"
+cli-truncate@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389"
+ integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==
+ dependencies:
+ slice-ansi "^5.0.0"
+ string-width "^5.0.0"
+
client-only@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
@@ -2438,6 +2548,11 @@ colorette@^2.0.16:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798"
integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
+colorette@^2.0.19:
+ version "2.0.20"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
+ integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
+
combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -2445,15 +2560,20 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
+commander@^10.0.0:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
+ integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
+
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-commander@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
- integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+commander@^6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
+ integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
commander@^7.2.0:
version "7.2.0"
@@ -2663,9 +2783,9 @@ cypress-testing-library@^4.0.0:
integrity sha512-KDbVw7kgEylLOZZDO4yiDlKySLzJsPLjHn5FfKL0tqCYYR3xbdIamKRap1r96/CXL8y5V05lAunnoAFQkKpIFw==
cypress@^12.9.0:
- version "12.9.0"
- resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.9.0.tgz#e6ab43cf329fd7c821ef7645517649d72ccf0a12"
- integrity sha512-Ofe09LbHKgSqX89Iy1xen2WvpgbvNxDzsWx3mgU1mfILouELeXYGwIib3ItCwoRrRifoQwcBFmY54Vs0zw7QCg==
+ version "12.16.0"
+ resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.16.0.tgz#d0dcd0725a96497f4c60cf54742242259847924c"
+ integrity sha512-mwv1YNe48hm0LVaPgofEhGCtLwNIQEjmj2dJXnAkY1b4n/NE9OtgPph4TyS+tOtYp5CKtRmDvBzWseUXQTjbTg==
dependencies:
"@cypress/request" "^2.88.10"
"@cypress/xvfb" "^1.2.4"
@@ -2681,7 +2801,7 @@ cypress@^12.9.0:
check-more-types "^2.24.0"
cli-cursor "^3.1.0"
cli-table3 "~0.6.1"
- commander "^5.1.0"
+ commander "^6.2.1"
common-tags "^1.8.0"
dayjs "^1.10.4"
debug "^4.3.4"
@@ -2699,7 +2819,7 @@ cypress@^12.9.0:
listr2 "^3.8.3"
lodash "^4.17.21"
log-symbols "^4.0.0"
- minimist "^1.2.6"
+ minimist "^1.2.8"
ospath "^1.2.2"
pretty-bytes "^5.6.0"
proxy-from-env "1.0.0"
@@ -2731,7 +2851,7 @@ dayjs@^1.10.4:
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2"
integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==
-debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4:
+debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, 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==
@@ -2887,6 +3007,11 @@ duplexer@^0.1.1, duplexer@^0.1.2:
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+eastasianwidth@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
+ integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@@ -2917,6 +3042,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+emoji-regex@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
emoji-regex@~10.1.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.1.0.tgz#d50e383743c0f7a5945c47087295afc112e3cf66"
@@ -3133,6 +3263,21 @@ execa@^5.0.0:
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
+execa@^7.0.0:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43"
+ integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.1"
+ human-signals "^4.3.0"
+ is-stream "^3.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^5.1.0"
+ onetime "^6.0.0"
+ signal-exit "^3.0.7"
+ strip-final-newline "^3.0.0"
+
executable@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c"
@@ -3408,11 +3553,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@
has "^1.0.3"
has-symbols "^1.0.3"
-get-own-enumerable-property-symbols@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
- integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
-
get-package-type@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
@@ -3425,7 +3565,7 @@ get-stream@^5.0.0, get-stream@^5.1.0:
dependencies:
pump "^3.0.0"
-get-stream@^6.0.0:
+get-stream@^6.0.0, get-stream@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
@@ -3645,6 +3785,11 @@ human-signals@^2.1.0:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+human-signals@^4.3.0:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2"
+ integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==
+
husky@4.3.8:
version "4.3.8"
resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d"
@@ -3851,6 +3996,11 @@ is-fullwidth-code-point@^3.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+is-fullwidth-code-point@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88"
+ integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==
+
is-generator-fn@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
@@ -3901,11 +4051,6 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-is-obj@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
- integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
-
is-path-inside@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
@@ -3941,11 +4086,6 @@ is-regex@^1.1.4:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
-is-regexp@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
- integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==
-
is-set@^2.0.1, is-set@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec"
@@ -3963,6 +4103,11 @@ is-stream@^2.0.0:
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+is-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
+ integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
+
is-string@^1.0.5, is-string@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@@ -4632,7 +4777,7 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
-lilconfig@^2.0.3, lilconfig@^2.0.5:
+lilconfig@2.1.0, lilconfig@^2.0.3, lilconfig@^2.0.5:
version "2.1.0"
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
@@ -4642,28 +4787,26 @@ lines-and-columns@^1.1.6:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
-lint-staged@11.1.1:
- version "11.1.1"
- resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.1.1.tgz#9c2018b872654cf80b2b1ff5a10b6b74aef6e300"
- integrity sha512-eTNGe6i78PSUUH2BZi1gZmGmNfb8IeN4z2OzMYxSZ1qnP1WXKn1E7D+OHwLbRDm/wQINnzIj0bsKJ6lLVSuZiQ==
+lint-staged@13.2.3:
+ version "13.2.3"
+ resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.3.tgz#f899aad6c093473467e9c9e316e3c2d8a28f87a7"
+ integrity sha512-zVVEXLuQIhr1Y7R7YAWx4TZLdvuzk7DnmrsTNL0fax6Z3jrpFcas+vKbzxhhvp6TA55m1SQuWkpzI1qbfDZbAg==
dependencies:
- chalk "^4.1.1"
- cli-truncate "^2.1.0"
- commander "^7.2.0"
- cosmiconfig "^7.0.0"
- debug "^4.3.1"
- dedent "^0.7.0"
- enquirer "^2.3.6"
- execa "^5.0.0"
- listr2 "^3.8.2"
- log-symbols "^4.1.0"
- micromatch "^4.0.4"
+ chalk "5.2.0"
+ cli-truncate "^3.1.0"
+ commander "^10.0.0"
+ debug "^4.3.4"
+ execa "^7.0.0"
+ lilconfig "2.1.0"
+ listr2 "^5.0.7"
+ micromatch "^4.0.5"
normalize-path "^3.0.0"
- please-upgrade-node "^3.2.0"
- string-argv "0.3.1"
- stringify-object "^3.3.0"
+ object-inspect "^1.12.3"
+ pidtree "^0.6.0"
+ string-argv "^0.3.1"
+ yaml "^2.2.2"
-listr2@^3.8.2, listr2@^3.8.3:
+listr2@^3.8.3:
version "3.14.0"
resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e"
integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==
@@ -4677,6 +4820,20 @@ listr2@^3.8.2, listr2@^3.8.3:
through "^2.3.8"
wrap-ansi "^7.0.0"
+listr2@^5.0.7:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.8.tgz#a9379ffeb4bd83a68931a65fb223a11510d6ba23"
+ integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==
+ dependencies:
+ cli-truncate "^2.1.0"
+ colorette "^2.0.19"
+ log-update "^4.0.0"
+ p-map "^4.0.0"
+ rfdc "^1.3.0"
+ rxjs "^7.8.0"
+ through "^2.3.8"
+ wrap-ansi "^7.0.0"
+
load-json-file@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
@@ -4766,7 +4923,7 @@ lodash@^4.17.15, lodash@^4.17.21:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-log-symbols@^4.0.0, log-symbols@^4.1.0:
+log-symbols@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
@@ -5082,7 +5239,7 @@ micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3:
debug "^4.0.0"
parse-entities "^2.0.0"
-micromatch@^4.0.4:
+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==
@@ -5107,6 +5264,11 @@ mimic-fn@^2.1.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+mimic-fn@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
+ integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
+
min-indent@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
@@ -5133,7 +5295,7 @@ minimatch@^7.4.1:
dependencies:
brace-expansion "^2.0.1"
-minimist@^1.2.6:
+minimist@^1.2.6, minimist@^1.2.8:
version "1.2.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
@@ -5255,6 +5417,13 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
+npm-run-path@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00"
+ integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==
+ dependencies:
+ path-key "^4.0.0"
+
nth-check@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
@@ -5328,6 +5497,13 @@ open@^8.4.0:
is-docker "^2.1.1"
is-wsl "^2.2.0"
+onetime@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
+ integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
+ dependencies:
+ mimic-fn "^4.0.0"
+
opencollective-postinstall@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
@@ -5474,6 +5650,11 @@ path-key@^3.0.0, path-key@^3.1.0:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+path-key@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
+ integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
+
path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@@ -5524,6 +5705,11 @@ pidtree@^0.3.0:
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a"
integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
+pidtree@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c"
+ integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==
+
pify@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -5848,10 +6034,10 @@ prelude-ls@~1.1.2:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
-prettier@2.8.7:
- version "2.8.7"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450"
- integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==
+prettier@2.8.8:
+ version "2.8.8"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
+ integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
pretty-bytes@^3.0.0:
version "3.0.1"
@@ -6237,6 +6423,13 @@ rxjs@^7.5.1:
dependencies:
tslib "^2.1.0"
+rxjs@^7.8.0:
+ version "7.8.1"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543"
+ integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==
+ dependencies:
+ tslib "^2.1.0"
+
sade@^1.7.4:
version "1.8.1"
resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701"
@@ -6293,19 +6486,19 @@ semver-regex@^3.1.2:
integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==
"semver@2 || 3 || 4 || 5", semver@^5.5.0:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
- integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+ version "5.7.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
+ integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.3.2, semver@^7.3.5:
- version "7.3.8"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
- integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
@@ -6387,6 +6580,14 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"
+slice-ansi@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a"
+ integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==
+ dependencies:
+ ansi-styles "^6.0.0"
+ is-fullwidth-code-point "^4.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"
@@ -6488,10 +6689,10 @@ stop-iteration-iterator@^1.0.0:
dependencies:
internal-slot "^1.0.4"
-string-argv@0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
- integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
+string-argv@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6"
+ integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==
string-hash@^1.1.1:
version "1.1.3"
@@ -6515,6 +6716,15 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
+string-width@^5.0.0:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
+ integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
+ dependencies:
+ eastasianwidth "^0.2.0"
+ emoji-regex "^9.2.2"
+ strip-ansi "^7.0.1"
+
string.prototype.matchall@^4.0.6:
version "4.0.8"
resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3"
@@ -6565,15 +6775,6 @@ string.prototype.trimstart@^1.0.6:
define-properties "^1.1.4"
es-abstract "^1.20.4"
-stringify-object@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
- integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
- dependencies:
- get-own-enumerable-property-symbols "^3.0.0"
- is-obj "^1.0.1"
- is-regexp "^1.0.0"
-
strip-ansi@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
@@ -6588,6 +6789,13 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1:
dependencies:
ansi-regex "^5.0.1"
+strip-ansi@^7.0.1:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
+ integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
+ dependencies:
+ ansi-regex "^6.0.1"
+
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
@@ -6603,6 +6811,11 @@ strip-final-newline@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+strip-final-newline@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
+ integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
+
strip-indent@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
@@ -6829,9 +7042,9 @@ typescript@^4.1.3:
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
typescript@^5.0.3:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.3.tgz#fe976f0c826a88d0a382007681cbb2da44afdedf"
- integrity sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274"
+ integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==
unbox-primitive@^1.0.2:
version "1.0.2"
@@ -7085,9 +7298,9 @@ which@^2.0.1:
isexe "^2.0.0"
word-wrap@~1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
- integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
+ integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
wrap-ansi@^6.2.0:
version "6.2.0"
@@ -7160,6 +7373,11 @@ yaml@^1.10.0, yaml@^1.10.2:
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+yaml@^2.2.2:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b"
+ integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
+
yargs-parser@^21.1.1:
version "21.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"