@ecopages/postcss-processor

中文文档
0.7.1发布于 2026/11/13MITTypeScriptES Module构建来源已验证近 30 天下载 3338

Postcss processor, transform string or postcss file to css

原始使用文档
文档目录7 节
  1. Features
  2. Installation
  3. Usage
  4. Tailwind v4 Preset (Recommended)
  5. Tailwind v3 Preset
  6. Custom Configuration
  7. Standalone Processing

@ecopages/postcss-processor

PostCSS processing pipeline for Ecopages. It provides a processor plugin that seamlessly integrates PostCSS into the Ecopages build system, and includes built-in presets for Tailwind CSS (v3 and v4).

Features

The Processor contributes no build plugins: core compiles every stylesheet an app imports through its transformStylesheet. The PostCSS plugin list loads on the first stylesheet transform.

  • Ecopages Processor Plugin: Hook right into the build pipeline. Core writes the processed CSS at its source-relative path in development for CSS HMR, and in production the stylesheet pipeline emits each linked stylesheet under a hash of its bytes; the plugin itself writes nothing.
  • Tailwind Presets: Pre-configured pipelines for Tailwind CSS v3 and v4.
  • Automatic Configuration: Detects existing postcss.config.{js,ts,etc}.
  • CSS imports: import styles from './card.css' gets the CSS PostCSS produced in server builds, browser bundles and ecopages dev alike, since core runs the Processor for each of them.

Installation

bun add @ecopages/postcss-processor

Usage

Integrate the processor into your eco.config.ts using a preset.

Requires @tailwindcss/postcss and tailwindcss to be installed.

// eco.config.ts
import path from 'node:path';
import { defineConfig } from '@ecopages/core/config';
import { postcssProcessorPlugin } from '@ecopages/postcss-processor';
import { tailwindV4Preset } from '@ecopages/postcss-processor/presets/tailwind-v4';

export default defineConfig({
    processors: [
        postcssProcessorPlugin(
            tailwindV4Preset({
                referencePath: path.resolve(process.cwd(), 'src/styles/app.css'),
            }),
        ),
    ],
});

Tailwind v3 Preset

Requires tailwindcss@3, autoprefixer, postcss-import, and cssnano to be installed.

// eco.config.ts
import { defineConfig } from '@ecopages/core/config';
import { postcssProcessorPlugin } from '@ecopages/postcss-processor';
import { tailwindV3Preset } from '@ecopages/postcss-processor/presets/tailwind-v3';

export default defineConfig({ processors: [postcssProcessorPlugin(tailwindV3Preset())] });

Custom Configuration

To use your own postcss.config.js, simply call postcssProcessorPlugin() without arguments.

You can also pass raw plugins or transformation hooks manually:

import { defineConfig } from '@ecopages/core/config';
import { postcssProcessorPlugin } from '@ecopages/postcss-processor';
import myPlugin from 'postcss-my-plugin';

export default defineConfig({
    processors: [
        postcssProcessorPlugin({
            filter: /\.css$/,
            plugins: {
                'my-plugin': myPlugin(),
            },
            transformInput: async (css) => `/* Header */\n${css}`,
            transformOutput: async (css) => css.replace('blue', 'red'),
        }),
    ],
});

Standalone Processing

You can bypass Ecopages entirely and use the processor utilities directly:

import postcssImport from 'postcss-import';
import { PostCssProcessor, transformWithPostcss } from '@ecopages/postcss-processor';

// Process a string
const result = await PostCssProcessor.processStringOrBuffer('.class { @apply bg-red-500; }', { filePath: 'style.css' });

// Process a string and list the files its plugins read
const { css, dependencies } = await transformWithPostcss("@import './base.css';", {
    filePath: 'src/main.css',
    plugins: [postcssImport()],
});

版本与发布记录

@ecopages/postcss-processor 共发布 124 个版本,首次发布于 2026/03/09;过去 12 个月发布了 124 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.7.1latest2026/11/13今天
0.7.02026/11/094 天前
0.6.12026/10/3014 天前
0.6.02026/10/2915 天前
0.5.02026/10/2420 天前
0.4.02026/10/2222 天前

其他发布通道:alpha → 0.2.0-alpha.55,beta → 0.2.0-beta.43,rc → 0.2.0-rc.14。

关于 @ecopages/postcss-processor 的常见问题

@ecopages/postcss-processor 是什么?

Postcss processor, transform string or postcss file to css

如何安装 @ecopages/postcss-processor?

在项目目录运行 npm install @ecopages/postcss-processor,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@ecopages/core(0.7.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ecopages/postcss-processor 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ecopages/postcss-processor 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@ecopages/postcss-processor 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^24.22.0 || >=26.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@ecopages/postcss-processor 可以商用吗?

@ecopages/postcss-processor 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@ecopages/postcss-processor 的下载量有多少?

根据 npm 官方下载统计,@ecopages/postcss-processor 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,338 次,日均约 111 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ecopages/postcss-processor 还在维护吗?

最新版本 0.7.1 发布于 2026/11/13(今天);至今共发布 124 个版本,其中过去 12 个月发布了 124 个;首次发布于 2026/03/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。