@unhead/schema-org 0.2.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -635,7 +635,8 @@ const placeResolver = defineSchemaOrgResolver({
635
635
  "@type": "Place"
636
636
  },
637
637
  resolve(node, ctx) {
638
- node.address = resolveRelation(node.address, ctx, addressResolver);
638
+ if (typeof node.address !== "string")
639
+ node.address = resolveRelation(node.address, ctx, addressResolver);
639
640
  return node;
640
641
  }
641
642
  });
@@ -783,6 +784,35 @@ const itemListResolver = defineSchemaOrgResolver({
783
784
  }
784
785
  });
785
786
 
787
+ const quantitativeValueResolver = defineSchemaOrgResolver({
788
+ defaults: {
789
+ "@type": "QuantitativeValue"
790
+ }
791
+ });
792
+ const monetaryAmountResolver = defineSchemaOrgResolver({
793
+ defaults: {
794
+ "@type": "MonetaryAmount"
795
+ },
796
+ resolve(node, ctx) {
797
+ node.value = resolveRelation(node.value, ctx, quantitativeValueResolver);
798
+ return node;
799
+ }
800
+ });
801
+
802
+ const jobPostingResolver = defineSchemaOrgResolver({
803
+ defaults: {
804
+ "@type": "JobPosting"
805
+ },
806
+ resolve(node, ctx) {
807
+ node.datePosted = resolvableDateToIso(node.datePosted);
808
+ node.hiringOrganization = resolveRelation(node.hiringOrganization, ctx, organizationResolver);
809
+ node.jobLocation = resolveRelation(node.jobLocation, ctx, placeResolver);
810
+ node.baseSalary = resolveRelation(node.baseSalary, ctx, monetaryAmountResolver);
811
+ node.validThrough = resolvableDateToIso(node.validThrough);
812
+ return node;
813
+ }
814
+ });
815
+
786
816
  const openingHoursResolver = defineSchemaOrgResolver({
787
817
  defaults: {
788
818
  "@type": "OpeningHoursSpecification",
@@ -1549,6 +1579,8 @@ function loadResolver(resolver) {
1549
1579
  return courseResolver;
1550
1580
  case "itemList":
1551
1581
  return itemListResolver;
1582
+ case "jobPosting":
1583
+ return jobPostingResolver;
1552
1584
  case "listItem":
1553
1585
  return listItemResolver;
1554
1586
  case "movie":
@@ -1585,6 +1617,12 @@ const resolveMeta = (meta) => {
1585
1617
  meta.host = document.location.host;
1586
1618
  if (!meta.url && meta.canonicalUrl)
1587
1619
  meta.url = meta.canonicalUrl;
1620
+ if (meta.path !== "/") {
1621
+ if (meta.trailingSlash && !hasTrailingSlash(meta.path))
1622
+ meta.path = withTrailingSlash(meta.path);
1623
+ else if (!meta.trailingSlash && hasTrailingSlash(meta.path))
1624
+ meta.path = withoutTrailingSlash(meta.path);
1625
+ }
1588
1626
  meta.url = joinURL(meta.host, meta.path);
1589
1627
  return {
1590
1628
  ...meta,
@@ -1824,6 +1862,7 @@ const definePlace = (input) => provideResolver(input, "place");
1824
1862
  const defineHowTo = (input) => provideResolver(input, "howTo");
1825
1863
  const defineHowToStep = (input) => provideResolver(input, "howToStep");
1826
1864
  const defineImage = (input) => provideResolver(input, "image");
1865
+ const defineJobPosting = (input) => provideResolver(input, "jobPosting");
1827
1866
  const defineLocalBusiness = (input) => provideResolver(input, "localBusiness");
1828
1867
  const defineOffer = (input) => provideResolver(input, "offer");
1829
1868
  const defineOpeningHours = (input) => provideResolver(input, "openingHours");
@@ -1892,6 +1931,7 @@ exports.defineHowTo = defineHowTo;
1892
1931
  exports.defineHowToStep = defineHowToStep;
1893
1932
  exports.defineImage = defineImage;
1894
1933
  exports.defineItemList = defineItemList;
1934
+ exports.defineJobPosting = defineJobPosting;
1895
1935
  exports.defineListItem = defineListItem;
1896
1936
  exports.defineLocalBusiness = defineLocalBusiness;
1897
1937
  exports.defineMovie = defineMovie;
@@ -1918,6 +1958,7 @@ exports.howToStepDirectionResolver = howToStepDirectionResolver;
1918
1958
  exports.howToStepResolver = howToStepResolver;
1919
1959
  exports.imageResolver = imageResolver;
1920
1960
  exports.itemListResolver = itemListResolver;
1961
+ exports.jobPostingResolver = jobPostingResolver;
1921
1962
  exports.listItemResolver = listItemResolver;
1922
1963
  exports.localBusinessResolver = localBusinessResolver;
1923
1964
  exports.movieResolver = movieResolver;
package/dist/index.d.ts CHANGED
@@ -739,7 +739,9 @@ declare const courseResolver: SchemaOrgNodeDefinition<Course>;
739
739
  interface PlaceSimple extends Thing {
740
740
  '@type'?: 'Place';
741
741
  name: string;
742
- address: NodeRelation<PostalAddress>;
742
+ address: NodeRelation<PostalAddress | string>;
743
+ latitude?: number | string;
744
+ longitude?: number | string;
743
745
  }
744
746
  interface Place extends PlaceSimple {
745
747
  }
@@ -931,6 +933,82 @@ declare const HowToId = "#howto";
931
933
  */
932
934
  declare const howToResolver: SchemaOrgNodeDefinition<HowTo>;
933
935
 
936
+ interface MonetaryAmountSimple extends Thing {
937
+ /**
938
+ * The currency in which the monetary amount is expressed.
939
+ */
940
+ currency: string;
941
+ /**
942
+ * The value of the quantitative value or property value node.
943
+ */
944
+ value: QuantitativeValue;
945
+ }
946
+ interface MonetaryAmount extends MonetaryAmountSimple {
947
+ }
948
+ interface QuantitativeSimple extends Thing {
949
+ value?: number;
950
+ minValue?: number;
951
+ maxValue?: number;
952
+ unitText: 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR';
953
+ }
954
+ interface QuantitativeValue extends QuantitativeSimple {
955
+ }
956
+
957
+ interface JobPostingSimple extends Thing {
958
+ /**
959
+ * The original date that employer posted the job in ISO 8601 format.
960
+ * For example, "2017-01-24" or "2017-01-24T19:33:17+00:00".
961
+ */
962
+ datePosted: ResolvableDate;
963
+ /**
964
+ * The full description of the job in HTML format.
965
+ *
966
+ * The description must be a complete representation of the job, including job responsibilities, qualifications,
967
+ * skills, working hours, education requirements, and experience requirements. The description can't be the same as
968
+ * the title
969
+ */
970
+ description: string;
971
+ /**
972
+ * The organization offering the job position. This must be the name of the company (for example, "Starbucks, Inc"),
973
+ * and not the specific location that is hiring (for example, "Starbucks on Main Street").
974
+ */
975
+ hiringOrganization: NodeRelation<Organization>;
976
+ /**
977
+ * The physical location(s) of the business where the employee will report to work (such as an office or worksite),
978
+ * not the location where the job was posted. Include as many properties as possible. The more properties you provide,
979
+ * the higher quality the job posting is to our users. Note that you must include the addressCountry property.
980
+ */
981
+ jobLocation: NodeRelation<Place>;
982
+ /**
983
+ * The title of the job (not the title of the posting). For example, "Software Engineer" or "Barista"
984
+ */
985
+ title: string;
986
+ /**
987
+ * The actual base salary for the job, as provided by the employer (not an estimate).
988
+ */
989
+ baseSalary?: MonetaryAmount;
990
+ /**
991
+ * Type of employment
992
+ */
993
+ employmentType?: 'FULL_TIME' | 'PART_TIME' | 'CONTRACTOR' | 'TEMPORARY' | 'INTERN' | 'VOLUNTEER' | 'PER_DIEM' | 'OTHER';
994
+ /**
995
+ * The date when the job posting will expire in ISO 8601 format. For example, "2017-02-24"
996
+ * or "2017-02-24T19:33:17+00:00".
997
+ */
998
+ validThrough?: ResolvableDate;
999
+ /**
1000
+ * A description of the job location (e.g. TELECOMMUTE for telecommute jobs).
1001
+ */
1002
+ jobLocationType?: 'TELECOMMUTE';
1003
+ /**
1004
+ * Indicates whether the URL that's associated with this job posting enables direct application for the job.
1005
+ */
1006
+ directApply?: boolean;
1007
+ }
1008
+ interface JobPosting extends JobPostingSimple {
1009
+ }
1010
+ declare const jobPostingResolver: SchemaOrgNodeDefinition<JobPosting>;
1011
+
934
1012
  type DayOfWeek = 'Friday' | 'Monday' | 'PublicHolidays' | 'Saturday' | 'Sunday' | 'Thursday' | 'Tuesday' | 'Wednesday';
935
1013
  type Time = `${number}${number}:${number}${number}`;
936
1014
  interface OpeningHoursSimple extends Thing {
@@ -1340,12 +1418,14 @@ interface ResolvedMeta {
1340
1418
  description?: string;
1341
1419
  datePublished?: string;
1342
1420
  dateModified?: string;
1421
+ trailingSlash?: boolean;
1343
1422
  }
1344
1423
  interface MetaInput {
1345
1424
  /**
1346
1425
  * Whether to inject the scripts at the end of the body or in the head.
1347
1426
  */
1348
1427
  tagPosition?: 'body' | 'head';
1428
+ trailingSlash?: boolean;
1349
1429
  host: string;
1350
1430
  url?: string;
1351
1431
  path?: string;
@@ -1482,6 +1562,7 @@ declare const definePlace: <T extends Record<string, any>>(input?: (Place & T) |
1482
1562
  declare const defineHowTo: <T extends Record<string, any>>(input?: (HowTo & T) | undefined) => HowTo & T;
1483
1563
  declare const defineHowToStep: <T extends Record<string, any>>(input?: (HowToStep & T) | undefined) => HowToStep & T;
1484
1564
  declare const defineImage: <T extends Record<string, any>>(input?: (ImageObject & T) | undefined) => ImageObject & T;
1565
+ declare const defineJobPosting: <T extends Record<string, any>>(input?: (JobPosting & T) | undefined) => JobPosting & T;
1485
1566
  declare const defineLocalBusiness: <T extends Record<string, any>>(input?: (LocalBusiness & T) | undefined) => LocalBusiness & T;
1486
1567
  declare const defineOffer: <T extends Record<string, any>>(input?: (Offer & T) | undefined) => Offer & T;
1487
1568
  declare const defineOpeningHours: <T extends Record<string, any>>(input?: (OpeningHoursSpecification & T) | undefined) => OpeningHoursSpecification & T;
@@ -1505,4 +1586,4 @@ declare const defineSoftwareApp: <T extends Record<string, any>>(input?: (Softwa
1505
1586
  declare const defineBookEdition: <T extends Record<string, any>>(input?: (BookEdition & T) | undefined) => BookEdition & T;
1506
1587
  declare function useSchemaOrg(input?: any): any;
1507
1588
 
1508
- export { AggregateOffer, AggregateOfferSimple, AggregateRating, AggregateRatingSimple, Arrayable, Article, ArticleSimple, Book, BookEdition, BookEditionSimple, BookSimple, BreadcrumbList, BreadcrumbSimple, Comment$1 as Comment, CommentSimple, Course, CourseSimple, Event, EventSimple, HowTo, HowToDirection, HowToId, HowToSimple, HowToStep, HowToStepSimple, Id, IdReference, Identity, ImageObject, ImageSimple, ItemList, ItemListSimple, ListItem, ListItemSimple, LocalBusiness, LocalBusinessSimple, MetaInput, Movie, MovieSimple, NodeRelation, NodeRelations, NutritionInformation, Offer, OfferSimple, OpeningHoursSimple, OpeningHoursSpecification, OptionalSchemaOrgPrefix, Organization, OrganizationSimple, Person, PersonSimple, Place, PlaceSimple, PostalAddress, PostalAddressSimple, PrimaryArticleId, PrimaryBookId, PrimaryBreadcrumbId, PrimaryEventId, PrimaryWebPageId, PrimaryWebSiteId, Product, ProductId, ProductSimple, Question, QuestionSimple, Rating, RatingSimple, ReadAction, ReadActionInput, Recipe, RecipeId, RecipeSimple, ResolvableDate, ResolvedMeta, Review, ReviewSimple, SchemaOrgGraph, SchemaOrgNode, SchemaOrgNodeDefinition, SchemaOrgUnheadPlugin, SearchAction, SearchActionInput, SoftwareApp, SoftwareAppSimple, Thing, UserConfig, VideoObject, VideoSimple, VirtualLocation, VirtualLocationSimple, WebPage, WebPageSimple, WebSite, WebSiteSimple, WithResolver, addressResolver, aggregateOfferResolver, aggregateRatingResolver, articleResolver, bookEditionResolver, bookResolver, breadcrumbResolver, commentResolver, courseResolver, createSchemaOrgGraph, dedupeNodes, defineAddress, defineAggregateOffer, defineAggregateRating, defineArticle, defineBook, defineBookEdition, defineBreadcrumb, defineComment, defineCourse, defineEvent, defineHowTo, defineHowToStep, defineImage, defineItemList, defineListItem, defineLocalBusiness, defineMovie, defineOffer, defineOpeningHours, defineOrganization, definePerson, definePlace, defineProduct, defineQuestion, defineReadAction, defineRecipe, defineReview, defineSchemaOrgResolver, defineSearchAction, defineSoftwareApp, defineVideo, defineVirtualLocation, defineWebPage, defineWebSite, eventResolver, howToResolver, howToStepDirectionResolver, howToStepResolver, imageResolver, itemListResolver, listItemResolver, localBusinessResolver, movieResolver, offerResolver, openingHoursResolver, organizationResolver, personResolver, placeResolver, productResolver, questionResolver, ratingResolver, readActionResolver, recipeResolver, resolveMeta, resolveNode, resolveNodeId, resolveRelation, reviewResolver, searchActionResolver, softwareAppResolver, useSchemaOrg, videoResolver, virtualLocationResolver, webPageResolver, webSiteResolver };
1589
+ export { AggregateOffer, AggregateOfferSimple, AggregateRating, AggregateRatingSimple, Arrayable, Article, ArticleSimple, Book, BookEdition, BookEditionSimple, BookSimple, BreadcrumbList, BreadcrumbSimple, Comment$1 as Comment, CommentSimple, Course, CourseSimple, Event, EventSimple, HowTo, HowToDirection, HowToId, HowToSimple, HowToStep, HowToStepSimple, Id, IdReference, Identity, ImageObject, ImageSimple, ItemList, ItemListSimple, JobPosting, JobPostingSimple, ListItem, ListItemSimple, LocalBusiness, LocalBusinessSimple, MetaInput, Movie, MovieSimple, NodeRelation, NodeRelations, NutritionInformation, Offer, OfferSimple, OpeningHoursSimple, OpeningHoursSpecification, OptionalSchemaOrgPrefix, Organization, OrganizationSimple, Person, PersonSimple, Place, PlaceSimple, PostalAddress, PostalAddressSimple, PrimaryArticleId, PrimaryBookId, PrimaryBreadcrumbId, PrimaryEventId, PrimaryWebPageId, PrimaryWebSiteId, Product, ProductId, ProductSimple, Question, QuestionSimple, Rating, RatingSimple, ReadAction, ReadActionInput, Recipe, RecipeId, RecipeSimple, ResolvableDate, ResolvedMeta, Review, ReviewSimple, SchemaOrgGraph, SchemaOrgNode, SchemaOrgNodeDefinition, SchemaOrgUnheadPlugin, SearchAction, SearchActionInput, SoftwareApp, SoftwareAppSimple, Thing, UserConfig, VideoObject, VideoSimple, VirtualLocation, VirtualLocationSimple, WebPage, WebPageSimple, WebSite, WebSiteSimple, WithResolver, addressResolver, aggregateOfferResolver, aggregateRatingResolver, articleResolver, bookEditionResolver, bookResolver, breadcrumbResolver, commentResolver, courseResolver, createSchemaOrgGraph, dedupeNodes, defineAddress, defineAggregateOffer, defineAggregateRating, defineArticle, defineBook, defineBookEdition, defineBreadcrumb, defineComment, defineCourse, defineEvent, defineHowTo, defineHowToStep, defineImage, defineItemList, defineJobPosting, defineListItem, defineLocalBusiness, defineMovie, defineOffer, defineOpeningHours, defineOrganization, definePerson, definePlace, defineProduct, defineQuestion, defineReadAction, defineRecipe, defineReview, defineSchemaOrgResolver, defineSearchAction, defineSoftwareApp, defineVideo, defineVirtualLocation, defineWebPage, defineWebSite, eventResolver, howToResolver, howToStepDirectionResolver, howToStepResolver, imageResolver, itemListResolver, jobPostingResolver, listItemResolver, localBusinessResolver, movieResolver, offerResolver, openingHoursResolver, organizationResolver, personResolver, placeResolver, productResolver, questionResolver, ratingResolver, readActionResolver, recipeResolver, resolveMeta, resolveNode, resolveNodeId, resolveRelation, reviewResolver, searchActionResolver, softwareAppResolver, useSchemaOrg, videoResolver, virtualLocationResolver, webPageResolver, webSiteResolver };
package/dist/index.mjs CHANGED
@@ -633,7 +633,8 @@ const placeResolver = defineSchemaOrgResolver({
633
633
  "@type": "Place"
634
634
  },
635
635
  resolve(node, ctx) {
636
- node.address = resolveRelation(node.address, ctx, addressResolver);
636
+ if (typeof node.address !== "string")
637
+ node.address = resolveRelation(node.address, ctx, addressResolver);
637
638
  return node;
638
639
  }
639
640
  });
@@ -781,6 +782,35 @@ const itemListResolver = defineSchemaOrgResolver({
781
782
  }
782
783
  });
783
784
 
785
+ const quantitativeValueResolver = defineSchemaOrgResolver({
786
+ defaults: {
787
+ "@type": "QuantitativeValue"
788
+ }
789
+ });
790
+ const monetaryAmountResolver = defineSchemaOrgResolver({
791
+ defaults: {
792
+ "@type": "MonetaryAmount"
793
+ },
794
+ resolve(node, ctx) {
795
+ node.value = resolveRelation(node.value, ctx, quantitativeValueResolver);
796
+ return node;
797
+ }
798
+ });
799
+
800
+ const jobPostingResolver = defineSchemaOrgResolver({
801
+ defaults: {
802
+ "@type": "JobPosting"
803
+ },
804
+ resolve(node, ctx) {
805
+ node.datePosted = resolvableDateToIso(node.datePosted);
806
+ node.hiringOrganization = resolveRelation(node.hiringOrganization, ctx, organizationResolver);
807
+ node.jobLocation = resolveRelation(node.jobLocation, ctx, placeResolver);
808
+ node.baseSalary = resolveRelation(node.baseSalary, ctx, monetaryAmountResolver);
809
+ node.validThrough = resolvableDateToIso(node.validThrough);
810
+ return node;
811
+ }
812
+ });
813
+
784
814
  const openingHoursResolver = defineSchemaOrgResolver({
785
815
  defaults: {
786
816
  "@type": "OpeningHoursSpecification",
@@ -1547,6 +1577,8 @@ function loadResolver(resolver) {
1547
1577
  return courseResolver;
1548
1578
  case "itemList":
1549
1579
  return itemListResolver;
1580
+ case "jobPosting":
1581
+ return jobPostingResolver;
1550
1582
  case "listItem":
1551
1583
  return listItemResolver;
1552
1584
  case "movie":
@@ -1583,6 +1615,12 @@ const resolveMeta = (meta) => {
1583
1615
  meta.host = document.location.host;
1584
1616
  if (!meta.url && meta.canonicalUrl)
1585
1617
  meta.url = meta.canonicalUrl;
1618
+ if (meta.path !== "/") {
1619
+ if (meta.trailingSlash && !hasTrailingSlash(meta.path))
1620
+ meta.path = withTrailingSlash(meta.path);
1621
+ else if (!meta.trailingSlash && hasTrailingSlash(meta.path))
1622
+ meta.path = withoutTrailingSlash(meta.path);
1623
+ }
1586
1624
  meta.url = joinURL(meta.host, meta.path);
1587
1625
  return {
1588
1626
  ...meta,
@@ -1822,6 +1860,7 @@ const definePlace = (input) => provideResolver(input, "place");
1822
1860
  const defineHowTo = (input) => provideResolver(input, "howTo");
1823
1861
  const defineHowToStep = (input) => provideResolver(input, "howToStep");
1824
1862
  const defineImage = (input) => provideResolver(input, "image");
1863
+ const defineJobPosting = (input) => provideResolver(input, "jobPosting");
1825
1864
  const defineLocalBusiness = (input) => provideResolver(input, "localBusiness");
1826
1865
  const defineOffer = (input) => provideResolver(input, "offer");
1827
1866
  const defineOpeningHours = (input) => provideResolver(input, "openingHours");
@@ -1855,4 +1894,4 @@ function useSchemaOrg(input) {
1855
1894
  }, { mode: process.env.NODE_ENV === "development" ? "all" : "server" });
1856
1895
  }
1857
1896
 
1858
- export { HowToId, PrimaryArticleId, PrimaryBookId, PrimaryBreadcrumbId, PrimaryEventId, PrimaryWebPageId, PrimaryWebSiteId, ProductId, RecipeId, SchemaOrgUnheadPlugin, addressResolver, aggregateOfferResolver, aggregateRatingResolver, articleResolver, bookEditionResolver, bookResolver, breadcrumbResolver, commentResolver, courseResolver, createSchemaOrgGraph, dedupeNodes, defineAddress, defineAggregateOffer, defineAggregateRating, defineArticle, defineBook, defineBookEdition, defineBreadcrumb, defineComment, defineCourse, defineEvent, defineHowTo, defineHowToStep, defineImage, defineItemList, defineListItem, defineLocalBusiness, defineMovie, defineOffer, defineOpeningHours, defineOrganization, definePerson, definePlace, defineProduct, defineQuestion, defineReadAction, defineRecipe, defineReview, defineSchemaOrgResolver, defineSearchAction, defineSoftwareApp, defineVideo, defineVirtualLocation, defineWebPage, defineWebSite, eventResolver, howToResolver, howToStepDirectionResolver, howToStepResolver, imageResolver, itemListResolver, listItemResolver, localBusinessResolver, movieResolver, offerResolver, openingHoursResolver, organizationResolver, personResolver, placeResolver, productResolver, questionResolver, ratingResolver, readActionResolver, recipeResolver, resolveMeta, resolveNode, resolveNodeId, resolveRelation, reviewResolver, searchActionResolver, softwareAppResolver, useSchemaOrg, videoResolver, virtualLocationResolver, webPageResolver, webSiteResolver };
1897
+ export { HowToId, PrimaryArticleId, PrimaryBookId, PrimaryBreadcrumbId, PrimaryEventId, PrimaryWebPageId, PrimaryWebSiteId, ProductId, RecipeId, SchemaOrgUnheadPlugin, addressResolver, aggregateOfferResolver, aggregateRatingResolver, articleResolver, bookEditionResolver, bookResolver, breadcrumbResolver, commentResolver, courseResolver, createSchemaOrgGraph, dedupeNodes, defineAddress, defineAggregateOffer, defineAggregateRating, defineArticle, defineBook, defineBookEdition, defineBreadcrumb, defineComment, defineCourse, defineEvent, defineHowTo, defineHowToStep, defineImage, defineItemList, defineJobPosting, defineListItem, defineLocalBusiness, defineMovie, defineOffer, defineOpeningHours, defineOrganization, definePerson, definePlace, defineProduct, defineQuestion, defineReadAction, defineRecipe, defineReview, defineSchemaOrgResolver, defineSearchAction, defineSoftwareApp, defineVideo, defineVirtualLocation, defineWebPage, defineWebSite, eventResolver, howToResolver, howToStepDirectionResolver, howToStepResolver, imageResolver, itemListResolver, jobPostingResolver, listItemResolver, localBusinessResolver, movieResolver, offerResolver, openingHoursResolver, organizationResolver, personResolver, placeResolver, productResolver, questionResolver, ratingResolver, readActionResolver, recipeResolver, resolveMeta, resolveNode, resolveNodeId, resolveRelation, reviewResolver, searchActionResolver, softwareAppResolver, useSchemaOrg, videoResolver, virtualLocationResolver, webPageResolver, webSiteResolver };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unhead/schema-org",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "packageManager": "pnpm@7.8.0",
5
5
  "description": "Node Schema.org for Simple and Automated Google Rich Results",
6
6
  "author": "Harlan Wilton <harlan@harlanzw.com>",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "devDependencies": {
40
40
  "ufo": "^1.0.1",
41
- "unhead": "^1.0.10"
41
+ "unhead": "^1.0.14"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "unbuild .",