0.4.2 • Published 8 years ago

koa-postcss v0.4.2

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

PostCSS Koa Middleware

This middleware runs source CSS through a PostCSS plugin pipeline, and caches the results, re-running only when you've udpated the source files.

Installation

koa-postcss is available on npm:

npm install koa-postcss postcss

Note: PostCSS is a peer dependency, so you control what version to install into your project. However, koa-postcss only supports PostCSS >5.0.

Usage

Load koa-postcss as with any other koa middleware. Pass a source directory from which to resolve your source files, the plugins you want to use to process your CSS, and a destination directory. If you're using @import in your source CSS files (i.e. via postcss-import or cssnext), modifying imports will trigger a recompile.

The middleware will only apply to requests directly to a CSS file. It resolves by looking for an input CSS file in your src directory that matches the filename of the CSS file on the request. E.g. requesting /public/css/main.css in your app will cause the middleware to attempt to process /my/source/dir/main.css.

You'll also want to use a static file middleware to serve the processed CSS.

var koa = require('koa');
var postcss = require('koa-postcss');
var cssImport = require('postcss-import');
var autoprefixer = require('autoprefixer');
var serve = require('koa-static');

var app = koa();

// koa-postcss middleware. src, dest, and plugins are all required
app.use(postcss({
    src: './src/css',
    dest: './public/css',
    plugins: [
        cssImport(),
        autoprefixer({browsers: ['last 2 versions']})
    ]
}));
app.use(serve('./public'));

// GET requests will now recompile /src/css/main.css to /public/css/main.css
// whenever the source file changes, or any of its imports change.
0.4.2

8 years ago

0.4.1

8 years ago

0.4.0

8 years ago

0.3.2

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.0

9 years ago

0.1.0

9 years ago