より緩いTypeScriptのDOM定義や設定はありますか?
私は Document インターフェースに対して、より 正確でない型を欲しいと思っています。基本的に、いつも私が欲しいのは HTMLElement なのに、全てが Element 型になっています。(document.activeElement.previousElementSibling as HTMLElement).click(); のように as アサーションやキャストを散りばめることは、コードをきれいにするどころか、js から ts に移行する際に 非常に多くの摩擦を生んでしまいます。Document インターフェースのすべてが HTMLElement、または Element & Partial<HTMLElement> のような型で扱われると素晴らしいと思います。
私は、宣言のマージが、interface Document { getElementsByClassName (classNames: string): HTMLCollectionOf<HTMLElement>;} のようなバリエーションを動作させるかどうか試してみましたが、これが正しい方法のようには思えませんでした。
どうやら TypeScript 4.5 では特定の lib-dom バージョンを指定できるようです。ユーザーが修正した lib-dom を作成してそれをターゲットにすることは合理的ですか、それとも可能ですか?(発表)(ドキュメント)
現在使用中ですが、tsc 4.6.4 に関する要件はありません
"compilerOptions": {
"target": "ES2021",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"jsx": "react-jsx",}