Task 134: uPlot インライン JS の正規表現エスケープ修正
完了 ← タスク一覧
Task 134: uPlot インライン JS の正規表現エスケープ修正
Status: DONE
Problem
テンプレートリテラル内のインライン JavaScript で、uPlot のエラーバンド色アルファ値置換に使う
正規表現 /[\d.]+\)/ のバックスラッシュがテンプレートリテラルの文字列エスケープとして
処理されてしまい、ブラウザ上では /[d.]+)/ という不正な正規表現になっていた。
これにより全エピソードページ・全サマリーページでブラウザ JS エラーが発生し、
E2E テスト 13 件が失敗していた。
Root Cause
templates.ts line 736 のテンプレートリテラル内で \d → d, \) → ) と解釈される。
正規表現リテラルとして /[\d.]+\)/ を HTML に出力するには \\d と \\) が必要。
Fix
templates.ts:/[\d.]+\)/→/[\\d.]+\\)/(テンプレートリテラル内のエスケープ二重化)templates.test.ts: 回帰テスト追加 — インライン JS 内の正規表現が\\dを含むことを検証
Result
- E2E テスト: 70/70 pass (修正前は 57/70)
- ユニットテスト: 回帰テスト pass
- ビルド: 正常