Open2

typescript を 5.2.2 から 5.5.4 にあげる

thasmtthasmt

tsc を実行すると tiptap のコードで以下の型エラーが出るようになった。

Cannot read properties of undefined (reading 'localsInner') at "prosemirror-view"

プロジェクトに追加している prosemirror のパッケージのバージョンと tiptap 内部で利用している prosemirror のバージョンが一致しないことが原因みたい。
prosemirror-* の利用をやめ、@tiptap/pm から prosemirror の機能を呼び出すように変更することで解消した。
参考: https://github.com/ueberdosis/tiptap/issues/3869

thasmtthasmt

Array.prototype.filter() のコードをリファクタする。
関数の実装から型述語の推論を行ってくるようなるので isas で記述していた部分を省略する。

補足: 以下のような書き方はできなかった。!!value が true の場合は string であることを絞り込めるが、 false の場合は string の空文字と undefined どちらもありえるため。

const values: (string | undefined) = [...];
values.filter(value => !!value)