ページ内ナビ
概要
vanilla-extractは、TypeScript/JavaScriptでstyleを定義し、build時に静的CSSを生成するstyling libraryです。.css.ts内のstyle codeはbuild時に評価され、locally scoped class、CSS Variables、theme、keyframesなどをtype-safeに定義できます。frontend frameworkには依存しません。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
TypeScriptからlocally scopedなCSS classを生成する
.css.tsでstyle()を呼び出すと、build時に静的CSSとlocally scoped class名が生成されます。style definition自体をapplicationのruntime bundleへ含めない構成を取れます。
CSS Variablesとthemeを型付きobjectとして管理する
createThemeなどを使い、色・font・spacing等のdesign tokenをCSS Variablesへ割り当て、TypeScript側から参照できます。複数themeやscoped variableを標準CSSの仕組み上に構成できます。
出典:[2]
向いている用途
導入前の確認
bundler integrationが必須になる
core packageだけでは.css.tsを通常のbuildへ組み込めず、Vite・webpack・esbuild等のintegration設定が必要です。採用前に利用bundler向けpluginを確認します。
出典:[4]
参考にした公式資料
- [1]vanilla-extract repository(2026-09-30)
- [2]vanilla-extract README(2026-09-30)
- [3]@vanilla-extract/css package metadata(2026-09-30)
- [4]vanilla-extract getting started(2026-09-30)
- [5]vanilla-extract Vite integration(2026-09-30)
- [6]vanilla-extract MIT license(2026-09-30)
編集部からの補足
styleとdesign tokenをTypeScriptの型で管理しつつruntime CSS-in-JSを避けたいprojectで特に有効です。ただしbuild tool integrationが設計の一部になるため、applicationとlibraryで同じpluginを使い回せるとは限りません。
3ステップで試す
- 1
coreとVite pluginを追加
core packageとVite integrationを追加します。別bundlerを使う場合は対応pluginへ置き換えます。
npm install @vanilla-extract/css npm install --save-dev @vanilla-extract/vite-plugin - 2
Viteへpluginを設定
vite.config.jsまたはvite.config.tsへpluginを追加し、.css.tsをbuild時に処理できるようにします。
import { vanillaExtractPlugin } from '@vanilla-extract/vite-plugin'; export default { plugins: [vanillaExtractPlugin()] }; - 3
.css.tsでstyleを作成
生成されたclass名をcomponent側からimportして適用し、build後に静的CSSが出力されることを確認します。
import { style } from '@vanilla-extract/css'; export const container = style({ padding: 10 });
成長
成長の推移 · 直近30日
10,435 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
- Stars
- 10,435
- Forks
- 359
- Watchers
- 34
- Open Issues
- 74
- 所有者種別
- Organization
- 主要言語
- TypeScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/09/27
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Biome25,880 Stars
共通タグ 3件 · 共通カテゴリ 1件
コード整形、静的検査、修正、エディタ診断を一つの高速な道具へまとめる
Rust - Redux61,488 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
共有状態の更新経路をStore・Action・Reducerで明示し、現代的な実装はToolkitへ寄せる
TypeScript - Signature Pad12,047 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
HTML5 canvas上で滑らかな署名入力を描画し、PNG・JPEG・SVGへ出力する
TypeScript - React Native126,760 Stars
共通タグ 2件 · 共通カテゴリ 2件
React componentをnative UIへ描画するmobile framework。0.87.1とframework-first導線を整理
C++ - Angular101,027 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
component・signal/DI・routing・forms・SSR/hydration・CLIを一つのTypeScript web application platformへ統合する
TypeScript - Playwright96,900 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Chromium・Firefox・WebKitを一つのAPI/Test runnerで操作し、E2E test・script・agent browser automationを実行する
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。