Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Web API type definition issue] lib.dom `options` parameter for `MutationObserver#observe` should not be optional

オープン 初心者向け
#2,566 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
62/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
api

調査の方向性

Issue は、MutationObserver#observe に options 引数を必須とすることを求めており、observe(el) を引数なしで呼び出すと型エラーになるようにしています。これは MDN の引用で説明されている実行時 TypeError と一致します。まず、そのシグネチャがどこで生成されるかを見つけてください。生成された lib.dom.d.ts の MutationObserver.observe 宣言を見て、それを定義しているこのジェネレーター内の入力ファイルまで遡り、次に生成された出力ではなくそのソースを更新します。完了とは、ジェネレーターが再実行され、observe(el) はエラーを報告する一方で observe(el, { childList: true }) は引き続きコンパイルされることを意味します。

索引モデルが issue の本文から書いたものです。

説明

lib.d.ts bug
Summary

Not passing options, or passing options without minimum requirements, is an error (type error at runtime)

Expected vs. Actual Behavior

Expected:

Calling new MutationObserver(fn).observe(el) without a second options argument should show a type error because options are required.

Actual:

There is no type error. We discover the error at runtime.

Playground Link

https://www.typescriptlang.org/play/?#code/MYewdgzgLgBAtiGBeGYCmB3GBZArlAQygEtwB5AIwjQCcA3WgCkYEpkA+GAbwF8WAofgHohMAAJQIAWjQAPAA5pgUGTRogaMKAAs0MaqDA0AJjAI0A5rjhowsYhBg00AR1zFnpgsFAniYCy1ECEVgADoYADkQWHkCCAh-QOJYHXUMRwIYABUAT0UAUTUNfgQwkCpaBkZjEGBrWygwihBjXJYgA

Browser Support
  • This API is supported in at least two major browser engines (not two Chromium-based browsers).
Have Tried The Latest Releases
  • This issue applies to the latest release of TypeScript.
  • This issue applies to the latest release of @types/web.
Additional Context

From MDN docs:

An object providing options that describe which DOM mutations should be reported to mutationObserver's callback. At a minimum, one of childList, attributes, and/or characterData must be true when you call observe(). Otherwise, a TypeError exception will be thrown.

主要言語
TypeScript
スター
741
フォーク
475
平均マージ
6日 10時間
マージ済み PR(30日)
6

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoft/TypeScript-DOM-lib-generator のほかの issue

microsoft/TypeScript-DOM-lib-generator の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。