破壊的変更: -- で始まる関数とMixin

Dart Sass 1.76.0 以前は、関数名とMixin名は有効なCSS識別子であれば何でも使用できましたが、`--` で始まる識別子は非推奨になりました。

一般的に、Sassでは有効なCSS識別子をSass定義に使用できます。これには、`--` で始まる識別子も含まれます。ユーザーは、CSSカスタムプロパティのコンテキストで最もよく知っているかもしれません。しかしながら、CSSワーキンググループは、CSS自体に組み込みの関数とMixinのサポートを追加することを真剣に検討しており、Sassと同じように `@mixin` と `@function` という名前のアットルールを使用する可能性が高いです。

これは、SassがCSSの互換性というコア設計原則を維持しながら、Sassのビルド時関数とMixinをサポートするためには、同じアットルール名を使用するCSSとSassの宣言を区別できる必要があることを意味します。幸いなことに、CSSが関数とMixinに使用する構文の詳細はまだ未定ですが、1つの点は議論の余地がないようです。それは、CSSのMixin名と関数名に `--` で始まるカスタムプロパティのような識別子を使用することです。

これにより、Sassは `--` で始まるプレーンCSS関数とMixinを区別できます。しかし、これが機能するためには、まずSassの関数とMixinがそのプレフィックスを使用することを禁止する必要があります。

移行期間移行期間 パーマリンク

互換性
Dart Sass
1.76.0以降
LibSass
Ruby Sass

Dart Sass 1.76.0 から Dart Sass 2.0.0 の間、Dart Sass は名前が `--` で始まる関数とMixinを引き続き許可します。ただし、`css-function-mixin` という非推奨警告が表示されます。

Dart Sass 2.0.0 から Dart Sass のプレーンCSS関数とMixinのサポートがリリースされるまでの間、関数とMixinの名前は `--` で始めることはできません。

警告を抑制できますか?警告を抑制できますか? パーマリンク

Sassは、どの非推奨警告をいつ表示するかを管理するための強力なオプションスイートを提供します。

簡潔モードと詳細モード簡潔モードと詳細モード パーマリンク

デフォルトでは、Sassは簡潔モードで実行されます。このモードでは、各タイプの非推奨警告は5回だけ表示され、それ以降の警告は抑制されます。これにより、ユーザーはコンソールに大量のノイズを発生させることなく、今後の破壊的変更に注意する必要があることを知ることができます。

代わりにSassを詳細モードで実行すると、発生したすべての非推奨警告が表示されます。これは、非推奨の修正時に残っている作業を追跡するのに役立ちます。コマンドラインで`--verbose` フラグを使用するか、JavaScript APIで`verbose` オプションを使用して、詳細モードを有効にできます。

⚠️ 注意!

JS API から実行する場合、Sassはコンパイル間で情報を共有しないため、デフォルトではコンパイルされるスタイルシートごとに5つの警告が表示されます。ただし、非推奨ごとに5つのエラーのみを出力し、複数のコンパイルで共有できるカスタム `Logger` を記述することで、これを修正できます(または、お気に入りのフレームワークのSassプラグインの作成者に記述を依頼できます)。

依存関係における非推奨の抑制依存関係における非推奨の抑制 パーマリンク

依存関係に、対処できない非推奨警告が含まれている場合があります。コマンドラインで`--quiet-deps` フラグを使用するか、JavaScript APIで`quietDeps` オプションを使用して、アプリの警告を表示しながら、依存関係からの非推奨警告を抑制できます。

このフラグの目的において、「依存関係」とは、エントリポイントスタイルシートからの相対ロードの連続ではないスタイルシートです。これは、ロードパスからのもの、およびカスタムインポーターを介してロードされたほとんどのスタイルシートを意味します。

特定の非推奨の抑制特定の非推奨の抑制 パーマリンク

特定の非推奨が問題にならないことがわかっている場合は、コマンドラインで`--silence-deprecation` フラグを使用するか、JavaScript APIで`silenceDeprecations` オプションを使用して、その特定の非推奨の警告を抑制できます。