Skip to content

refactor(style): 非推奨の Sass @import を @use へ置き換える - #59

Merged
ryuuji merged 1 commit into
mainfrom
chore/sass-import-to-use
Aug 5, 2026
Merged

refactor(style): 非推奨の Sass @import を @use へ置き換える#59
ryuuji merged 1 commit into
mainfrom
chore/sass-import-to-use

Conversation

@ryuuji

@ryuuji ryuuji commented Aug 5, 2026

Copy link
Copy Markdown
Member

なぜ

Dart Sass は @import を非推奨にしており、Dart Sass 3.0 で削除される。
#58 の本文で「付随して気づいたこと」として挙げていた件で、org 横断の棚卸しの一部。

どう直したか

@use は「他の規則より前」に置く必要がある。末尾の @import をそのまま @use
すると、モジュールの CSS が先頭に出て読み込み順(カスケード)が入れ替わる
そこで index.sass@use の一覧にし、中身を src/_base.sass へ移した。

paper-css の読み込み(plain CSS の @import)も _base.sass の先頭へ移している。
plain CSS の @import は非推奨ではないが、これも「規則」なので @use より後ろに
置けない。位置は元と同じく最初なので出力順は変わらない。

_base.sasssrc/sass/ ではなく src/ に置いたのは、@font-face
url('./fonts/...')index.sass と同じ相対位置のままになるようにするため。

確認したこと

  • npm run build の成果物が移行前と一致(index-oVwo4yYR.css / index-DLcc7pV1.js
    内容ハッシュ入りのファイル名も SHA256 も同じ)
  • OCRB のフォント4種(eot / woff / ttf / svg)が同じサイズで出力されている
  • DEPRECATION WARNING は 0件

🤖 Generated with Claude Code

Dart Sass 3.0 で @import は削除される。@use は他の規則より前に置く必要が
あるため、index.sass にあった全体向けの定義を src/_base.sass へ移し、
index.sass を @use の一覧にした。

こうしないと @use したモジュールの CSS が index.sass 自身の規則より前に
出るため、読み込み順(カスケード)が入れ替わる。_base.sass を最初に @use
することで元の順序をそのまま保っている。

paper-css の読み込み(plain CSS の @import)も _base.sass の先頭へ移した。
plain CSS の @import は非推奨ではないが、これも「規則」なので @use より
後ろに置けない。位置は元と同じく最初なので出力順は変わらない。

_base.sass を src/sass ではなく src/ に置いたのは、@font-face の
url('./fonts/...') が index.sass と同じ相対位置のままになるようにするため。

npm run build の成果物は移行前と一致(index-oVwo4yYR.css / index-DLcc7pV1.js、
SHA256 も一致)。OCRB のフォント4種も同じサイズで出力されている。
DEPRECATION WARNING も0件になった。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ryuuji
ryuuji merged commit c6de2b8 into main Aug 5, 2026
2 checks passed
@ryuuji
ryuuji deleted the chore/sass-import-to-use branch August 5, 2026 03:44
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