Skip to content

fix(adapter): 非推奨の Sass color 関数を color.channel に置換#94

Closed
Colorful12 wants to merge 3 commits into
pepabo:mainfrom
Colorful12:fix/sass-deprecation-color-functions
Closed

fix(adapter): 非推奨の Sass color 関数を color.channel に置換#94
Colorful12 wants to merge 3 commits into
pepabo:mainfrom
Colorful12:fix/sass-deprecation-color-functions

Conversation

@Colorful12
Copy link
Copy Markdown

@Colorful12 Colorful12 commented Apr 1, 2026

背景

Sass 1.79+ で color.red() / color.green() / color.blue() が非推奨になりました。
packages/adapter/functions/_helpers.scss-compose-luminance 関数内でこれらを使用しており、ビルド時に大量の警告が出ています。

-compose-luminance は adapter を @use しているコンポーネントのコンパイルごとに呼び出されるため、ログが大量に膨らみます。
Claude Code などの AI ツールを使いながら開発している場合、この大量出力がコンテキストウィンドウのトークンを消費するという問題もあります。

また、Sass 2.0 ではこれらの関数が削除されるため、現状は警告ですが将来的にビルドエラーになります。(ref

変更内容

-compose-luminance 関数内の3行を置換:

// Before
$red: -compose-linear-channel-value(color.red($color));
$green: -compose-linear-channel-value(color.green($color));
$blue: -compose-linear-channel-value(color.blue($color));

// After
$red: -compose-linear-channel-value(color.channel($color, "red", $space: rgb));
$green: -compose-linear-channel-value(color.channel($color, "green", $space: rgb));
$blue: -compose-linear-channel-value(color.channel($color, "blue", $space: rgb));

color.channel() は Sass の移行ガイドで推奨されている代替手段です。$space: rgb を明示することで、旧 API(color.red() 等)と同じく sRGB の各チャンネル値(0〜255)を返します。(ref

別途確認したいこと

get-foreground-brightness 関数に TODO コメントを追加しました。
自己再帰による無限ループと Sass 1.85+ で非推奨の if() を含んでいます。
削除したいのですが、残っている理由がありそうなので、削除前に確認した方が良さそうと思いました。
残っている理由は何ですか?

@Colorful12
Copy link
Copy Markdown
Author

Sass のバージョンアップが必要であることが判明したため、こちらの PR はクローズします。対応は #95 で進めています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant