{"id":25023,"library":"broccoli-postcss-single","title":"broccoli-postcss-single","description":"A Broccoli plugin that compiles CSS using PostCSS, operating on individual files. The current stable version is 5.0.2, which uses PostCSS V8, while version 4 uses PostCSS V7. It requires Node >= 10 and integrates into Broccoli build pipelines. Unlike broader PostCSS plugins for Broccoli, this one focuses on single-file processing, supports both object and function plugin definitions, and includes caching with configurable include/exclude patterns. Maintenance appears minimal.","status":"maintenance","version":"5.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/jeffjewiss/broccoli-postcss-single","tags":["javascript","broccoli-plugin","css","postcss","postcss-runner"],"install":[{"cmd":"npm install broccoli-postcss-single","lang":"bash","label":"npm"},{"cmd":"yarn add broccoli-postcss-single","lang":"bash","label":"yarn"},{"cmd":"pnpm add broccoli-postcss-single","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core peer dependency for CSS transformations","package":"postcss","optional":false},{"reason":"Base class for creating Broccoli plugins","package":"broccoli-plugin","optional":false}],"imports":[{"note":"CommonJS require works in Node but ESM import is preferred for modern code.","wrong":"const compileCSS = require('broccoli-postcss-single');","symbol":"compileCSS","correct":"import compileCSS from 'broccoli-postcss-single'"},{"note":"Default export only, not named.","wrong":"const { compileCSS } = require('broccoli-postcss-single');","symbol":"compileCSS","correct":"const compileCSS = require('broccoli-postcss-single');"}],"quickstart":{"code":"// Brocfile.js or Brocfile.ts\nimport compileCSS from 'broccoli-postcss-single';\nimport autoprefixer from 'autoprefixer';\n\nconst inputTrees = ['styles']; // path to source directory\nconst inputFile = 'app.css';\nconst outputFile = 'app.css';\n\nconst options = {\n  plugins: [\n    {\n      module: autoprefixer,\n      options: {\n        overrideBrowserslist: ['> 1%', 'last 2 versions']\n      }\n    }\n  ],\n  map: { inline: true },\n  browsers: ['last 2 versions']\n};\n\nconst outputTree = compileCSS(inputTrees, inputFile, outputFile, options);\nexport default outputTree;","lang":"typescript","description":"Shows how to use broccoli-postcss-single with Brocfile, including plugin configuration and source maps."},"warnings":[{"fix":"Update to v5 and ensure all PostCSS plugins are compatible with V8.","message":"Upgrading from v4 to v5 requires PostCSS V8; some PostCSS plugins may need updates.","severity":"breaking","affected_versions":">=4.0.0 <5.0.0"},{"fix":"Add cacheInclude: [/.*\\.(vue|other)/] to options.","message":"The cache only includes .css, .scss, .sass, .less by default. Custom file types (e.g., .vue) require cacheInclude configuration.","severity":"gotcha","affected_versions":">=5.0.0"},{"fix":"Set cacheInclude: [/.*\\.(css|js|config)/] or similar.","message":"If using Tailwind or a PostCSS plugin with a config file, changes to the config won't trigger rebuilds unless cacheInclude includes JS files.","severity":"gotcha","affected_versions":">=5.0.0"},{"fix":"Use browserslist configuration instead of passing 'browsers' array.","message":"The 'browsers' option is typically deprecated in favor of browserslist config in package.json or .browserslistrc.","severity":"deprecated","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Provide at least one plugin in the plugins array.","cause":"Empty plugins array or missing plugins option.","error":"Error: The 'plugins' option requires at least one plugin"},{"fix":"Run 'npm install --save-dev postcss'.","cause":"PostCSS is not installed as a peer dependency.","error":"Cannot find module 'postcss'"},{"fix":"Use 'import compileCSS from \"broccoli-postcss-single\"' or 'const compileCSS = require(\"broccoli-postcss-single\")'.","cause":"Incorrect import (e.g., named import instead of default).","error":"TypeError: compileCSS is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}