数時間持ってかれたので備忘録代わりに。
TL;DR
vscodeでnodejsプロジェクトを扱うときはちゃんとワークスペースのtypescriptのバージョンを使うこと。
経緯
vscode拡張機能を作成中、以下に遭遇。
前提として、package.jsonを弄ってパッケージの整理をしていた。
1.vsce packageで以下のエラーが出る。
tsconfig.json:13:3 - error TS5023: Unknown compiler option 'ignoreDeprecations'.
13 "ignoreDeprecations": "5.0",
~~~~~~~~~~~~~~~~~~~~
そんなオプションないよって言われてる。
2.tsconfig.jsonでは以下の画像のようなエラー。ignoreDeprecations:5.0を追加しろと言われる。

何があったのか?
どうやら、vsce packageに使っているtypescriptのバージョンとvscodeで使っているtypescriptのバージョンが異なっていた。
vscodeのtsバージョンは画像の手順で確認可能。


おそらくnode_moduleの削除などをやっているうちにvscodeで使うtsのバージョンがワークスペースのものからvscodeのバージョンへと変わってしまった。
ts5.0以降ではsuppressImplicitAnyIndexErrorsでエラーがでるが、4.9.4だと警告が出ない(そのためignoreDeprecationsも存在しない)ため、エラーが出たっぽい。
vscodeでnodejsプロジェクトを扱うときはちゃんとワークスペースのtypescriptのバージョンを使うこと。