Skip to content

chore(deps): update dependency schema-dts to v2#456

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/schema-dts-2.x
Open

chore(deps): update dependency schema-dts to v2#456
renovate[bot] wants to merge 1 commit intomainfrom
renovate/schema-dts-2.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Mar 24, 2026

This PR contains the following updates:

Package Change Age Confidence
schema-dts (source) ^1.1.5^2.0.0 age confidence

Release Notes

google/schema-dts (schema-dts)

v2.0.0: schema-dts & schema-dts-gen v2.0.0

Compare Source

Changes in schema-dts

  • Supports the latest Schema.org release from Schema.org v30 -- See https://schema.org/docs/releases.html#v30.0

  • Input and Output constraints are now supported, for example:

    import type {SearchAction, WebSite, WithActionConstraints} from 'schema-dts';
    
    const potentialAction: WithActionConstraints<SearchAction> = {
      '@&#8203;type': 'SearchAction',
      'query-input': 'required name=search_term_string',
      // ...
    };
    
    const website: WebSite = {
      '@&#8203;type': 'WebSite',
      potentialAction: {
        '@&#8203;type': 'SearchAction',
        'query-input': 'required name=search_term_string',
      } as WithActionConstraints<SearchAction>,
    };
  • Breaking change: Update typings for Roles so that they are not recursive, see #​205 for more details

  • Breaking change: Quantity is now a core DataType, this is a change done in schema.org v30.0 and will technically make certain formerly-legal (but likely invalid) assignments no longer work

  • "Leaf" types are now exported. While objects like Thing or Organization require a type union that includes the object itself, it can also include any of its children. Now, if you want type something as a Thing exactly, you can import ThingLeaf which can only be a Thing and does not allow sub-types.

  • Support MergeLeafTypes, which fixes a long-running user request (#​179 #​189 #​203), allowing a multi-typed schema object to be declared. Shout out to @​mjy9088 and @​cochinescu for the work to get this working. This allows declarations like this to be made:

    import type { MergeLeafTypes,ProductLeaf, SoftwareApplicationLeaf,  WithContext } from 'schema-dts';
    
    const app: WithContext<MergeLeafTypes<[ProductLeaf, SoftwareApplicationLeaf]>> =
      {
        '@&#8203;context': 'https://schema.org',
        '@&#8203;type': ['Product', 'SoftwareApplication'],
        name: 'My App',
        offers: {
          '@&#8203;type': 'Offer',
          price: 89,
          priceCurrency: 'USD',
        },
        operatingSystem: 'Any',
      };

    while #​189 and #​179 are not completely addressed since a random Thing cannot be a merged type, this allows some multi-type objects to exist, though they need to be explicitly declared as such by the developer.

  • Technically a breaking change: Some non-schema.org types exported in schema-dts are now renamed. These are included mostly for equivalence because the Schema.org ontology defines them, but most users should not depend on them. The names for these classes are now escaped fully-qualified IRIs instead of just the "in-context" name. This is needed because new types with the same "in-context" name have been added as external references, e.g. www.omg.org/spec/Commons/DatesAndTimes/Date which conflicts with schema.org/Date. Now, this is exported as www_omg_org_spec_Commons_DatesAndTimes_Date.

Changes in schema-dts-gen

  • Compatibility with Schema.org v30
  • Breaking change: schema.org/Quantity is now emitted as a DataType
  • Breaking change: out-of-context classes are now exported with an escaped fully-qualified IRI instead of just the hypothetical 'in-context' name. For example: www.omg.org/spec/Commons/DatesAndTimes/Date renders as Date if "@&#8203;context": "www.omg.org/spec/Commons/DatesAndTimes/" only. Otherwise, it renders as namespace_Date if "@&#8203;context" { "namespace": "www.omg.org/spec/Commons/DatesAndTimes/" }, and www_omg_org_spec_Commons_DatesAndTimes_Date if no context entry exists
  • Breaking change: the emitted output now depends on https://www.npmjs.com/package/schema-dts-lib -- the first two lines from the emitted output will include import type {...} from 'schema-dts-lib'; followed by export type { ... };.

What's Changed

New Contributors

Full Changelog: google/schema-dts@v1.1.5...v2.0.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the renovate label Mar 24, 2026
@renovate renovate bot requested a review from walnuts1018 March 24, 2026 01:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant