DiscourseのSassコンパイラパイプラインで大きなアップグレードを行いました。非推奨のlibsassから、メンテナンスされているDart Sassに移行しました。
これはシームレスな移行であり、アップグレード後もウェブサイトに変更はありません。稀に問題が発生する場合がありますので、その場合は以下をお読みください。
開発者・デザイナーの皆様への注意
移行にあたり、すべてのオープンソースプラグインおよびテーマを確認し、新しいパイプラインで正常に動作することを確認しました。また、コンパイル時の警告に対応するための変更やPRを行いました。
バージョン詳細
これにより、以下のように変更されます。
From:
- sassc 2.0.1 (2019年2月)
- libsass 3.5.2 (2018年5月)
To:
- dart-sass 1.58 (2023年1月)
このアップデートでは、以下の非推奨事項が適用されます。
これらの破壊的変更はまもなく適用されるか、最近リリースされました:
関数は許可される単位についてより厳格になります Dart Sass 1.32.0以降。
無効な結合子を含むセレクターは無効になります Dart Sass 1.54.0以降。
/ は除算演算子からリストの区切り文字へ変更されます Dart Sass 1.33.0以降。
@-moz-document の特殊構文の解析は無効になります Dart Sass 1.7.2以降。
複合セレクターは拡張できませんでした Dart Sass 1.0.0 および Ruby Sass 4.0.0。
Q&A
今回のアップグレードには重大な破壊的変更はないため、99%のテーマは正常に動作します。
カスタムテーマなしでDiscourseを実行している場合、変更はありません。次回アップグレード時(またはホスティング会社によるアップグレード時)に、これはバックグラウンドで実行されます。
CDCKホスティングを利用しており、当社が開発したテーマを使用している場合、すでにDart Sassとの互換性を持たせています。
公式のカスタマイズテーマや複数のテーマコンポーネントを使用している場合、それらも新しいSassバージョンとの互換性を持たせています。
カスタムテーマが壊れている場合は、共有していただければ修正をお手伝いします。