Docusaurus v2.2 へ更新した
半年近く放置してしまったが、どうにかして本ブログの諸々を更新した
特に、docusaurus を v2.2 まで上げられたのは快挙であろう
感想
思えば、 swizzling がうまく機能しなかったり( theme 側の実装構造に破壊的変更があったのでしかたがない)、ESLint の flat-config を採用すると決めたり、なかなか骨が折れる仕事であった。。。
theme-classic にはコンポネント構造が大幅に見直されており、カスタマイズするのがだいぶ楽になりそうだという印象を受けた
実際、これまでは諦めていた「ページネーションの向き」をあっさりと変更できるようになっていたので感激した (これは蛇足だが、感覚的な議論として「時の流れは左 → 右」だよね?改装前では逆のまま変更不能だった)
さらに、pre-commit をきちんとやろうというふうに向き合うこともできた
husky やら lint-staged が意味不明で手を付けられなかったが、なんてことはない nodejs で pre-commit やるならこういう構造だよね〜というのは再定義しただけだった
huskyは python のpre-commitよろしく、 hook を登録するためのツールlint-stagedは、コミットされたファイルだけを対象に何らかのコマンドを実行するツール(?)- 組み合わせることで真価を発揮する
Python + TypeScript みたいなプロジェクトであれば python でインストールできる 本家 pre-commit を利用したほうがいいだろうが、それはそれ、これはこれという使い分けをきちんと認識できたのは幸いである
課題
対照的に、Codespace の devcontainer.json よくわからん……(し、手を付けたくない)という病も発症してしまった
またも port forwarding に苦しめられてしまい、何もしていないときの「すべてを先回りしてなにかやってくれている感じ」が快適すぎて抜けられない
さらに、これは自身の問題ではないが、MDX が v1.x 系のまま残っている
本来であれば v2 系に乗り換えて高速化を図るところだが、開発チームが苦戦しているようだ
どういう手助けができるかわからないが、remark/rehype を自分で触れてプラグインに親しんでおくことは、心強い糧となるだろう
プラグインで思い出したが、injectHeadTag.ts に含まれる async 関数が await しないなら不要じゃないかという指摘が ESLint から上がっていた
確認する労力を惜しんで ignore してしまったが、こちらはなにか影響があるだろうか……?
最後に、今回も jest のような テストツールに触れることはできなかった
Python 側では pytest を使うようになったし、これでテスト駆動開発のなんたるかが少しはわかったきがしたのだが、いざテストを書くまでの下準備がどうしても果てしなく遠く感じられてしまい億劫だ。。。
React も v18 が本格的に到来したり、Next.js は相変わらず爆速ルートを邁進しているようなので、どうにかしてキャッチアップすべく、なんらかのフロントエンドアプリでもつくる機運が高まるなぁ(まだ手を出せる時期にないが)