Skip to content

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

Merged
thinceller merged 1 commit into
mainfrom
renovate/schema-dts-2.x
Apr 4, 2026
Merged

chore(deps): update dependency schema-dts to v2#1262
thinceller merged 1 commit into
mainfrom
renovate/schema-dts-2.x

Conversation

@renovate

@renovate renovate Bot commented Apr 4, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
schema-dts (source) 1.1.52.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 - "every weekend" (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.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Apr 4, 2026
@vercel

vercel Bot commented Apr 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
thinceller.net Ready Ready Preview, Comment Apr 4, 2026 1:23am

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📦 依存パッケージ更新レビュー

更新パッケージ

パッケージ 変更 種別
schema-dts 1.1.52.0.0 major

影響度: 🟡 MEDIUM

調査結果

  • 破壊的変更: あり(以下3点)
    1. Role の型定義が再帰的でなくなるよう変更(#205
    2. Quantity が core DataType に昇格(schema.org v30 対応)
    3. スキーマ外(out-of-context)クラスのエクスポート名が完全修飾IRIへ変更(例: www_omg_org_spec_Commons_DatesAndTimes_Date
  • セキュリティ修正: なし
  • 主な変更点:
    • schema.org v30 対応
    • 新ヘルパー型 WithActionConstraintsMergeLeafTypes*Leaf 型の追加
    • 内部ライブラリ schema-dts-lib を分離(TypeScript >=4.9.5 がピア依存関係として追加)
  • 本プロジェクトへの影響:
    • 使用箇所は src/components/JsonLd.tsx および各ページファイル(blog/[slug]/page.tsxblog/page.tsxabout/page.tsx 等)
    • インポートしている型は ThingWithContextWebSiteCollectionPageProfilePageBlogPosting のみ
    • これらは全て標準的な schema.org 型であり、上記破壊的変更(RoleQuantity・out-of-context クラスのリネーム)の対象外
    • 新たに追加された typescript ピア依存関係は、本プロジェクトで既に TypeScript 5.9.3 が使用されているため問題なし

判定: ⚠️ 手動レビュー必要

メジャーバージョンアップのため、破壊的変更が本プロジェクトの使用箇所に直接影響する可能性は低いが、pnpm build および pnpm typecheck で型エラーが発生しないことを確認してからマージすることを推奨。

@thinceller thinceller merged commit 2a66967 into main Apr 4, 2026
12 checks passed
@thinceller thinceller deleted the renovate/schema-dts-2.x branch April 4, 2026 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant