DiffDaily Deep & Concise - OSS変更の定点観測
トップに戻る

tailwindlabs/tailwindcss

https://github.com/tailwindlabs/tailwindcss

`@plugin` がブラウザCSS エントリを誤って解決するリグレッションを修正

`@tailwindcss/vite` で `@plugin "daisyui"` が JavaScript エントリではなく `browser` フィールドのCSS ファイルに解決される不具合を修正しました。`customJsResolver` を「エイリアス優先(aliasOnly: true)→ フルパイプライン(aliasOnly: false)+ CSS拒否」の2段階構成に変更することで、tsconfig パス解決との両立を維持しながらリグレッションを解消しています。

2026年04月23日 Claude Sonnet 4.6

v4.2.4リリース:ViteエイリアスとCSSインポート解決のバグ修正

Tailwind CSS v4.2.4がリリースされました。`@tailwindcss/vite`においてViteエイリアスを使用した場合に`@import`および`@plugin`のパス解決が失敗する不具合(#19947)が修正されています。全パッケージのバージョンが`4.2.3`から`4.2.4`へ更新されています。

2026年04月21日 Claude Sonnet 4.6

Viteエイリアスが`@plugin`のパッケージ解決を壊す問題を修正

`@tailwindcss/vite` 4.2.3で追加されたViteエイリアスサポートが、`@`エイリアスと`@tailwindcss/typography`等のパッケージ名が衝突してビルドエラーになる問題を修正。ViteリゾルバーがAbsolute Pathを返さない場合は`@tailwindcss/node`のフォールバック解決に委ねるガード処理を`customCssResolver`と`customJsResolver`の両方に追加しました。

2026年04月21日 Claude Sonnet 4.6

Tailwind CSS 4.2.3 リリース:Canonicalization強化とアップグレードツール改善

Tailwind CSS 4.2.3では、ショートハンド集約・符号移動・非推奨クラス移行など多数のCanonicalizationルールが追加され、クラス名の正規化カバレッジが大幅に拡充されました。また、アップグレードツールの中断時ファイル破損やgit管理外ファイルの誤変換といった安全性の問題も修正されています。

2026年04月21日 Claude Sonnet 4.6

スタンドアロンビルドで `NODE_PATH` をサポート

Tailwind CSS のスタンドアロン CLI が `NODE_PATH` 環境変数を認識するようになりました。ビルド時に `NODE_PATH` を空文字列として固定していた `define` エントリを削除し、`path.delimiter` を使った複数パス分割処理を追加することで、Node.js 版との機能差が解消されています。Phoenix LiveView のように標準の `node_modules` 以外の場所からモジュールを解決するユースケースで、Node.js をインストールせずにスタンドアロン CLI をそのまま利用できます。

2026年04月18日 Claude Sonnet 4.6

JSONL / NDJSON ファイルのスキャンに JSON プリプロセッサを適用

`.jsonl` および `.ndjson` ファイルのスキャン時に JSON プリプロセッサを適用する1行の変更により、大容量ファイルのスキャン時間が数秒〜数十秒から数十ミリ秒単位に短縮されました。スキャナが `[` や `{` に遭遇するたびに生成するサブマシンの爆発的増加を、ブラケット・ブレースの事前スペース置換で抑制する既存の JSON プリプロセッサを再利用した実装です。

2026年03月27日 Claude Sonnet 4.6

負の任意値の正規化とcalc式の定数畳み込み強化

Tailwind CSSの正規化処理に、負の任意値における `-` 符号の移動とネストした `calc()` 式の定数畳み込みが追加されました。`-mt-[492px]` → `-mt-123` や `mt-[calc(-1*calc(-1*var(--foo)))]` → `mt-(--foo)` のような多段階の最適化が可能になります。また、calc式の正規化比較により `calc(-1*var(--foo))` と `calc(var(--foo)*-1)` が同一シグネチャとして認識されるようになりました。

2026年03月26日 Claude Sonnet 4.6

非推奨ユーティリティのキャノニカライズルールを拡張

Tailwind CSS v4のアップグレードツールに、`overflow-ellipsis`・`start-*`・`end-*`系の非推奨ユーティリティを自動変換するキャノニカライズルールを追加。従来の固定文字列マッピングに加え、正規表現ベースの動的変換パターンを導入することで、任意の値やネガティブバリアントにも対応できるようになった。

2026年03月25日 Claude Sonnet 4.6

v3→v4アップグレードツールの安全性強化:アトミック書き込みとgitignore対応

Tailwind CSS v3→v4アップグレードツールで発生していた「Ctrl+C中断時にファイルが消える」バグと「不要ファイルへの誤変更」を修正。一時ファイル経由のアトミック書き込み(writeFileSafely)、config.contentを起点とした処理対象の限定、gitignoreファイルのスキップ、.envのデフォルト除外という4層の対策を実施。

2026年03月25日 Claude Sonnet 4.6

`placeholder-*` ユーティリティが参照するCSS変数を `--placeholder-color` に修正

Tailwind CSS v4の `placeholder-*` ユーティリティが、誤って `--background-color` を参照していたバグが修正されました。v3の `placeholderColor` に相当する `--placeholder-color` を参照するよう1行の変更で修正され、テキスト関連スタイルとして意味的に正確な実装に戻っています。`--background-color` でプレースホルダー色を制御していた場合は `--placeholder-color` への移行が必要です。

2026年03月23日 Claude Sonnet 4.6

border・scroll-margin・overflow系ユーティリティの短縮形への自動折り畳みに対応

Tailwind CSS v4のキャノニカライズ機能が拡張され、`border-t-*/border-b-*`のペアが`border-y-*`に、`scroll-mt-*/scroll-mb-*`が`scroll-my-*`に、`overflow-x-*/overflow-y-*`が`overflow-*`にといった折り畳みが新たに対応。`expand-declaration.ts`の展開マップに`border-width`・`scroll-margin`・`overflow`系エントリを追加することで、物理プロパティへの中間展開を経た正確なシグネチャ照合が可能になった。

2026年03月23日 Claude Sonnet 4.6

`canonicalize` のコラプス処理が任意値(arbitrary value)に対応

`px-[1.2rem] py-[1.2rem]` のような任意値ペアが `p-[1.2rem]` にコラプスされない問題が修正されました。`collapseCandidates` 関数のガード条件を `value?.kind !== 'named'` から `value === null` へ緩和することで、任意値のコラプスが正しく動作するようになり、`--stream` モードで発生していた非決定的な出力も解消されます。

2026年03月23日 Claude Sonnet 4.6

webpackローダーのキャッシュキーにリソースクエリを含めてキャッシュ汚染を修正

`@tailwindcss/webpack` のローダーで、同一CSSファイルを異なるクエリパラメータ付きでインポートした場合にキャッシュが共有され、ユーティリティクラスが別エントリのCSS出力に漏れ出すバグを修正しました。キャッシュキーの構築に `this.resourcePath`(パスのみ)ではなく `this.resource`(パス+クエリ)を使うよう変更することで、各リソース識別子が独立したキャッシュエントリを持つようになります。

2026年03月21日 Claude Sonnet 4.6

ViteプラグインでtsconfigパスエイリアスがCSS/JSの解決に効かなかった問題を修正

`@tailwindcss/vite`のCSSリゾルバとJSリゾルバが`aliasOnly: true`でViteのリゾルバを呼び出していたため、tsconfigパスの解決を担うoxcリゾルバがスキップされ`resolve.tsconfigPaths`が効かなかった問題を修正。`aliasOnly`を`false`に変更してフル解決パイプラインを通るようにし、CSSリゾルバには非CSSファイルが返されないようガード処理を追加しています。

2026年03月21日 Claude Sonnet 4.6

不正なコードポイントによるコンパイラクラッシュを修正

CSSエスケープシーケンスの展開時に不正なコードポイントが渡されると `String.fromCodePoint` が例外を投げてコンパイラがクラッシュする問題を修正。WindowsのパスとUUIDを含む文字列がCSSカスタム変数候補として誤認識される実際の事例を受けて、CSS仕様に準拠したバリデーションを追加し、不正なコードポイントを `\uFFFD` に置換することで安全な処理継続を実現しました。

2026年03月20日 Claude Sonnet 4.6

`tracking-*` ユーティリティの正規化候補選択ロジックを改善

`tracking-[0.05em]` のような任意値クラスを名前付きユーティリティへ正規化する際、負値ユーティリティとの競合で提案がスキップされていた問題が修正されました。複数の正規化候補が存在する場合に「正の値を持つ候補を負の値より優先する」ルールを追加することで、`tracking-*` 全クラスに対して正規化提案が機能するようになります。

2026年03月20日 Claude Sonnet 4.6

Lightning CSS 1.32.0 へのバージョンアップと`detect-libc@2`対応パッチの更新

Lightning CSS を 1.31.1 から 1.32.0 へバージョンアップし、detect-libc@2 への移行に伴うネイティブバイナリ解決ロジックのパッチを更新しました。`var()` フォールバック値の空白正規化や `:autofill` セレクタの分離など生成 CSS にも変更が生じており、Bun の静的解析要件と PLATFORM_LIBC 対応のためパッチの維持が引き続き必要です。

2026年03月18日 Claude Sonnet 4.6

canonicalize処理でリストが空になるバグを修正

`w-5 h-5 size-5` のようにcanonicalize後の置換先クラスが元のリストに既に存在する場合、すべてのクラスが削除されて空リストになるバグが修正されました。`collapseCandidates` 関数内で `drop` への追加時に「combo内の要素が置換先と同じかどうか」を確認するガード条件を追加することで、置換先クラスが誤って削除対象にマークされる問題が解消されています。

2026年03月17日 Claude Sonnet 4.6

デフォルトスペーシングスケールを超えるベア値のcanonicalization改善

`w-1234 h-1234` のようにデフォルトのスペーシングスケール上限(`*-96`)を超えるベア値を持つユーティリティが、`size-1234` へと正しくcanonicalize(最適化)されるようになりました。従来はインテリセンス用サジェストAPIの範囲外の値はlookupテーブルに含まれず最適化が行われませんでしたが、`dynamicUtilities` の動的フォールバック処理により解消されています。

2026年03月17日 Claude Sonnet 4.6

`canonicalize`サブコマンドに`--stream`フラグを追加

`tailwindcss canonicalize`コマンドに`--stream`フラグが追加され、デザインシステムをメモリに保持したまま標準入力からTailwindクラス群を継続的に受け取って正規化できるようになりました。フォーマッターやエディタプラグインなどの非JSツールが、毎回の起動コストを払わずにロングランニングのサイドカープロセスとして利用できます。空行のパススルーにより、リクエストとレスポンスのペアのアライメントも保たれます。

2026年03月17日 Claude Sonnet 4.6
前へ 1 2 3 4 5 次へ

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ