Created
May 10, 2016 07:04
-
-
Save jbmoelker/017fb79db23072f9f3513d719f054273 to your computer and use it in GitHub Desktop.
PostCSS setup (imports, vars, autoprefix, minify) with and without Gulp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const gulp = require('gulp'); | |
const postcss = require('gulp-postcss'); | |
const rename = require('gulp-rename'); | |
const sourcemaps = require('gulp-sourcemaps'); | |
gulp.src('./src/index.css') | |
.pipe(sourcemaps.init()) | |
.pipe(postcss([ | |
require('postcss-import'), // combine imports into one file | |
require('postcss-css-variables'), // replace variables by their values | |
require('autoprefixer'), // vendor prefix for older browsers | |
require('cssnano') // minify css | |
])) | |
.pipe(rename('demo-viewer.css')) | |
.pipe(sourcemaps.write('.')) | |
.pipe(gulp.dest('dist/')); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const fs = require('fs'); | |
const postcss = require('postcss'); | |
const inputFilename = 'src/index.css'; | |
const outputDir = 'dist/'; | |
const outputFilename = 'dist/demo-viewer.css'; | |
postcss([ | |
require('postcss-import'), // combine imports into one file | |
require('postcss-css-variables'), // replace variables by their values | |
require('autoprefixer'), // vendor prefix for older browsers | |
require('cssnano') // minify css | |
]) | |
.process(fs.readFileSync(inputFilename), { | |
from: inputFilename, | |
to: outputFilename.substr(outputDir.length), // file path relative to output dir | |
map: { inline: false } | |
}) | |
.then(result => { | |
fs.writeFileSync(outputFilename, result.css); | |
if (result.map) { | |
fs.writeFileSync(`${outputFilename}.map`, result.map); | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment