Пример #1
0
function postPlugins() {
  const plugins = [];

  plugins.push(discardComments());
  plugins.push(minifyGradients());
  plugins.push(reduceTransforms());
  // see https://github.com/ai/browserslist#queries
  plugins.push(autoprefixer({browsers: ['last 3 versions'], cascade: false}));
  plugins.push(convertValues({length: false}));
  plugins.push(calc());
  plugins.push(colormin());
  plugins.push(orderedValues());
  plugins.push(minifySelectors());
  plugins.push(minifyParams());
  plugins.push(normalizeCharset({add: false}));
  // minify-font-values should be run before discard-unused
  plugins.push(minifyFontValues());
  plugins.push(discardUnused());
  plugins.push(normalizeUrl);
  plugins.push(cssnanoCore());
  // Optimisations after this are sensitive to previous optimisations in
  // the pipe, such as whitespace normalising/selector re-ordering
  plugins.push(mergeIdents());
  plugins.push(mergeLonghand());
  plugins.push(discardDuplicates());
  plugins.push(mergeRules());
  plugins.push(discardEmpty());
  plugins.push(uniqueSelectors());

  return plugins;
}
Пример #2
0
var postcss = require('gulp-postcss');

var atImport = require('postcss-import');
var cssnext = require('postcss-cssnext');
var minifyFontValues = require('postcss-minify-font-values');
var inlineSVG = require('postcss-inline-svg');
var brandColors = require('postcss-brand-colors');

var modules = [
    atImport(config.atImport),
    brandColors(),
    cssnext({
        browsers: ['last 4 version', '> 5%']
    }),
    minifyFontValues(),
    inlineSVG({
        path: './' + config.desc + '/'
    }),
];

gulp.task('css', function () {
    return gulp.src([
            config.css.src + config.css.start_point
        ])
        .pipe(postcss(modules))
        .on('error', handlers.error)
        .pipe(base64(config.assets))
        .pipe(csso())
        .pipe(rename(config.css.compiled))
        .pipe(gulp.dest(config.css.desc));