## 問題:Bootstrap 5に由来する大量の非推奨警告 Bootstrapは、 [Sassの仕様変更に対して長期的に取り組みを進めている](https://getbootstrap.com/docs/5.3/customize/sass/) 最中であるため、Dart Sassでコンパイルすると以下のような非推奨(Deprecation)警告が大量に出力されます。 ``` Deprecation Warning [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0. More info and automated migrator: https://sass-lang.com/d/import ╷ 1 │ @import "bootstrap/mixins/banner"; │ ^^^^^^^^^^^^^^^^^^^^^^^^^ ╵ _bootstrap.scss 1:9 @use app/assets/stylesheets/application.scss 1:1 root stylesheet ``` この大量の警告にまぎれてしまい、自分で書いたコードに対する警告を見つけにくくなるという問題があります。 その結果、自分のコードに警告が出ていないことを確認するだけでも、手間と時間がかかってしまいます。 なお、[2024年にリリースされたDart Sass 1.80.0以降、`@import`などの非推奨警告がより積極的に出力されるようになり](https://sass-lang.com/documentation/breaking-changes/import/)、この問題がさらに目立つようになりました。 ## 解決策:`--quiet-deps`で依存ライブラリへの非推奨警告を抑制する この問題の解決策は、`sass`コマンドを実行する際に`--quiet-deps`オプションを付与することです。 これにより、Bootstrapを含む依存ライブラリ(厳密には、ロードパス経由でインポートされたコード)に対する非推奨警告が出力されなくなります。 なお、ロードパス経由でない自分のコードに対する警告は引き続き出力されます。 ### Railsアプリ(dartsass-rails)で`--quiet-deps`を付与する方法 dartsass-rails gemを利用するRailsアプリでは、 `config/initializers/dartsass.rb`を開いて(なければ新規作成して)、 以下のコードを記述します。 ```ruby Rails.application.config.dartsass.build_options << "--quiet-deps" ``` ## 参考情報 - https://sass-lang.com/documentation/cli/dart-sass/#quiet-deps - https://github.com/rails/dartsass-rails?tab=readme-ov-file#configuring-build-options