互換性のない変更: -moz-document

Firefox は以前、特別な解析を必要とする @-moz-document ルールを持っていました。Firefox でのサポートが削除されたため、Sass は解析のサポートを削除する段階にあります。

Sass はこれまで、@-moz-document ルールの特別な解析をサポートしていました。 Firefox がそのサポートを削除したため、Sass も特別な解析のサポートを削除し、それを不明な at-rule として扱います。

ただし、例外が1つあります。 空の url prefix 関数は、Firefox をターゲットとするハックで使用されているため、引き続き許可されます。

Playground

SCSS構文

@-moz-document url-prefix() {
  .error {
    color: red;
  }
}
Playground

Sass構文

@-moz-document url-prefix()
  .error
    color: red


CSS出力

@-moz-document url-prefix() {
  .error {
    color: red;
  }
}

移行期間移行期間 permalink

互換性
Dart Sass
1.7.2以降
LibSass
Ruby Sass

まず、空の url-prefix ハックを除くすべての @-moz-document の使用について、非推奨警告を出力します。

Dart Sass 2.0 では、@-moz-document は不明な at-rule として扱われます。

警告を抑制できますか?警告を抑制できますか?permalink

Sass は、表示する非推奨警告とそのタイミングを管理するための強力なオプションスイートを提供します。

簡潔モードと詳細モード簡潔モードと詳細モードpermalink

デフォルトでは、Sass は簡潔モードで実行されます。このモードでは、各種類の非推奨警告は、追加の警告を抑制する前に5回だけ出力されます。これにより、ユーザーは、コンソールに過剰なノイズが発生することなく、今後の互換性のない変更を認識する必要がある場合に確実に把握できます。

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

⚠️ ご注意ください!

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

依存関係での非推奨の抑制依存関係での非推奨の抑制permalink

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

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

特定の非推奨の抑制特定の非推奨の抑制permalink

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