Skip to content

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

Merged
rl404 merged 1 commit intomasterfrom
renovate/schema-dts-2.x
Mar 24, 2026
Merged

chore(deps): update dependency schema-dts to v2#250
rl404 merged 1 commit intomasterfrom
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 - Between 01:00 AM and 01:59 AM ( * 1 * * * ) (UTC), 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.

@rl404 rl404 merged commit 0b8edde into master Mar 24, 2026
2 checks passed
@renovate renovate bot deleted the renovate/schema-dts-2.x branch March 24, 2026 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant