Node.js の sharp は ICO を書き出せない — favicon.ico を約 30 行で手組みする(PNG-in-ICO)
Node.js 画像処理のデファクトである sharp は ICO を出力できず、BMP 格納の ICO は読み込みすらできません。しかし ICO は 6 バイトのヘッダと 16 バイト × N の目次に PNG を並べるだけの単純なコンテナで、追加依存ゼロ・約 30 行で手組みできます。マルチサイズ favicon.ico を生成する実装と細部の注意をまとめます。