Open2
typescript を 5.2.2 から 5.5.4 にあげる

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

Array.prototype.filter() のコードをリファクタする。
関数の実装から型述語の推論を行ってくるようなるので is
や as
で記述していた部分を省略する。
補足: 以下のような書き方はできなかった。!!value
が true の場合は string であることを絞り込めるが、 false の場合は string の空文字と undefined どちらもありえるため。
const values: (string | undefined) = [...];
values.filter(value => !!value)