bootstrap

Front-end framework

Create a Topic

Topics

Bootstrap 5に由来するDart Sassの非推奨警告を抑制する:Railsアプリ(dartsass-rails)を例に

68 views Post
wakairo @wakairo

問題:Bootstrap 5に由来する大量の非推奨警告

Bootstrapは、 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などの非推奨警告がより積極的に出力されるようになり、この問題がさらに目立つようになりました。

解決策:--quiet-depsで依存ライブラリへの非推奨警告を抑制する

この問題の解決策は、sassコマンドを実行する際に--quiet-depsオプションを付与することです。 これにより、Bootstrapを含む依存ライブラリ(厳密には、ロードパス経由でインポートされたコード)に対する非推奨警告が出力されなくなります。 なお、ロードパス経由でない自分のコードに対する警告は引き続き出力されます。

Railsアプリ(dartsass-rails)で--quiet-depsを付与する方法

dartsass-rails gemを利用するRailsアプリでは、 config/initializers/dartsass.rbを開いて(なければ新規作成して)、 以下のコードを記述します。

Rails.application.config.dartsass.build_options << "--quiet-deps"

参考情報

0
Raw
https://www.techtips.page/en/comments/1116