最近 toggl の代わりに traggo で personal time tracking をして進捗効率を監視している。

使い勝手は結構いいし人工費の計算も (db から自分でデータを引っ張ってきてなんやかんやすることで) できるのでかなり便利に使っている。

ところで /#/timesheet/list で記録の一覧を閲覧できるのだが、 このページで下にある程度の量をスクロールすると

Error: Minified React error #185; visit https://reactjs.org/docs/error-decoder.html?invariant=185 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

と怒られページがまっさらになってしまう。データの読み取りは db から直接取り出してどうこうするのでそんなに 困ってはいないが、せっかくなので直して PR を送ってみようと思った。 おおよそフロントエンドに関する問題でかつこれは React で実装されているようなので、 何はともあれまずは指示通り development build をしようと思ったのだがこれがしんどい。 React のビルドコマンドにコマンドライン引数を渡す設計ではなく、node_modules/ 以下のパッケージを編集する必要があるらしい。 例えば、

https://scrapbox.io/murasemasaki-43680195/react-scripts_%E3%81%A7_development%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B

にあるように react 配下のなにか (e.g. wepack?) に引数を渡す必要があるようだ。一見環境変数でなんとかなりそうだが、ならない。 traggo で配っている Dockerfile をせっかくだから使おうと思うと、この中では依存関係解決とビルドを一度にやってしまうため パッケージの編集が間に合わない。一度ビルドが始まってからパッケージを編集してもうまく適用されないようで、同じ minimized react error が発現する。 結局ベースイメージから Dockerfile の手順をひとつひとつやっていくしかない。

最終的に面倒になって諦めた。データベースの内容をレンダリングするだけなのに異様に苦労する。フロントエンドエンジニアはすごい。