ページ内ナビ
概要
PostCSSはCSSをAbstract Syntax Treeへparseし、JavaScript pluginからrule・declaration・at-rule等を解析・変更できる処理基盤です。vendor prefix、future syntax、lint、minifyなどをpluginとして組み合わせられます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
CSSをASTへparseしてpluginからruleやdeclarationを変換する
PostCSSはstylesheetをASTへ変換し、plugin APIからselector、declaration、at-rule等を走査・変更してCSSとして再出力できます。
出典:[1]
200以上のplugin ecosystemからbuild処理を組み合わせる
Autoprefixer、Stylelint、cssnano、postcss-preset-env、postcss-nested等を用途ごとに組み合わせ、prefix付与・lint・minify・syntax変換を一つのpipelineへ載せられます。
出典:[1]
CSS以外のsyntaxへparser/stringifierを差し替えられる
SCSS、Less、SugarSS、CSS-in-JS等を扱うsyntax adapterがあり、default CSS parser以外へ拡張できます。
出典:[1]
向いている用途
frontend build pipelineでCSS処理をplugin単位に選びたい場合に向く
特定frameworkへ固定せず、必要な変換だけを追加したいVite・Webpack・CLI等のasset pipelineで基盤として使えます。
出典:[1]
導入前の確認
参考にした公式資料
- [1]PostCSS 8.5.29 README(2026-10-05)
- [2]PostCSS 8.5.29 package metadata(2026-10-05)
- [3]PostCSS 8.5.29 changelog(2026-10-05)
- [4]PostCSS 8.5.29 release(2026-10-05)
- [5]PostCSS MIT license(2026-10-05)
編集部からの補足
PostCSS自体は完成済みCSS frameworkではなく、CSSをASTへ変換してpluginへ渡す処理基盤です。Autoprefixer・Stylelint・cssnanoなど、導入目的に必要なpluginを明示してbuild pipelineを構成します。
3ステップで試す
- 1
PostCSS 8.5.29を一時projectへ導入する
review対象releaseを固定し、既存projectから分離した一時directoryでplugin APIを確認します。
demo=$(mktemp -d "${TMPDIR:-/tmp}/postcss.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact postcss@8.5.29 - 2
最小custom pluginと入力CSSを作る
Declaration visitorでAST上のcolor値を変更する最小pluginを作り、
from/toも明示します。printf "%s\n" '.card { color: rebeccapurple; }' > input.css && printf "%s\n" "import fs from 'node:fs';" "import postcss from 'postcss';" "const plugin = { postcssPlugin: 'demo-color', Declaration(decl) { if (decl.prop === 'color' && decl.value === 'rebeccapurple') decl.value = '#663399'; } };" "const css = fs.readFileSync('input.css', 'utf8');" "const result = await postcss([plugin]).process(css, { from: 'input.css', to: 'output.css' });" "fs.writeFileSync('output.css', result.css);" > demo.mjs - 3
pluginを実行して変換結果を確認する
PostCSSがCSSをparseし、custom pluginによるAST変更をCSSへserializeできることを確認します。
node demo.mjs && grep -q "#663399" output.css
成長
成長の推移 · 直近30日
28,974 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- ast
- css
- framework
- parser
- postcss
- Stars
- 28,974
- Forks
- 1,648
- Watchers
- 498
- Open Issues
- 26
- 所有者種別
- Organization
- 主要言語
- TypeScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/10/05
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Faker15,509 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
テストや開発向けに人物・住所・商品など現実らしいダミーデータを大量生成する
TypeScript - vanilla-extract10,435 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
TypeScriptで型安全なstyleを記述し、build時に静的CSSへ変換する
TypeScript - Valibot9,027 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
小さな関数を組み合わせ、TypeScript型推論と実行時のスキーマ検証を両立する
TypeScript - openapi-typescript8,391 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
OpenAPI 3.0/3.1の定義から実行時コードを増やさずTypeScript型を生成する
TypeScript - modern-normalize7,417 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
modern browserだけを対象に、base style normalizationを小さく保つ
TypeScript - ts-toolbelt7,150 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
Object・Union・Functionなど200超の型utilityで高度な型計算を再利用する
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。