ローカル開発環境と本番環境の差分を確認してみる
プロダクションでコケるのはdevコマンドじゃなくて、build(export)して、distフォルダを https://t.co/hl8mpmENUG とかで確認するといいかもです
— miyaoka (@miyaoka) September 13, 2021
↑ これ見えてるか分からないんだけど、miyaoka さんにリプライをもらい、本番環境ではyarn dev
じゃなくてyarn build
した成果物を配信しているので、ローカルでyarn build
して確認してみたら?というやつ。
昨日に書いたとおり、ローカル環境では再現しないで本番環境だけで起こっているので、やってみようと思う(まだやってない)
ちなみに、もしかしてyarn add -D prism.js
した?と思って package.json を確認してみたけどそんなことはなかった(し、たしか devDependencies でも大丈夫っちゃ大丈夫みたいな記事をどっかで見た気がする)
flatMap の記事
[TypeScript] .filter((x): x is T => ...) を使わずに配列から特定の型を除外する
flatMap の存在は知っていたしそもそもこのプロダクトでも使っているんだけど、むしろx is T
という書き方を知らなかった。
filter とx is T
で特定の型を配列内から除外するには、flatMap を使わないとこんな感じだったんだ……。
x is T
形式の宣言は戻り値の型検査が行われないと書いてあるけど、それは今回の例ではっていうことなのだろうか?
array.filter((x): x is string => x !== null)
というコードだけど、これであれば戻り値は string で確定していそうな感じもするが……?
TypeScript でみかける"is"というキーワードについて - ひと夏の技術
これを見る感じできてそうな気もする。もしかして僕が全然分かっていない……?