created: 2019-05-18T03:31:40.000Z

Cannot write file ... because it would overwrite input file.

typescriptのプロジェクトで開発中VSCodeでエラーメッセージが出た

Error "Cannot write file ... because it would overwrite input file."

ファイルがすでに存在しているので書き出せないとのこと

確かにコンパイルし直そうとすると同じエラーが出る

$ $(npm bin)/tsc
error TS5055: Cannot write file '..../handler.js' because it would overwrite input file.
...

原因

allowJs オプションがたっていると出てしまうもののようだ おそらくこのオプションがたっているtscには、typescriptの成果物としてのjsファイルと、ソースコードのjsファイルの区別がつかなくなってしまうため掲題のようなエラーを吐くのだろう

解決

警告になっているファイルたちを消したら警告はなくなった

$ rm -rf ./build

おそらく出力先のディレクトリと、ソースコードのディレクトリをきちんと別なものを指定するのが正しいが、VSCodeの警告を止めるだけならこれでよかった

参考

systemdの思想と機能 Linuxを支えるシステム管理のためのソフトウェアスイート (Software Design plusシリーズ)
[ad] systemdの思想と機能 Linuxを支えるシステム管理のためのソフトウェアスイート (Software Design plusシリーズ)
森若 和雄 (単行本(ソフトカバー))