Nobody Pays (for) Magazines
Have opinions about JavaScript? We want to hear them. Take the 2018 JavaScript Ecosystem Survey »

grunt-css-purge

1.1.0 • Public • Published
Grunt CSS Purge

Grunt CSS-PURGE

Purges duplicate CSS rules and more. Based on css-purge.

You have an issue?

This is a simple grunt plugin, which means it’s a thin wrapper around css-purge. If you are having CSS issues, please contact css-purge. Please only create a new issue if it looks like you’re having a problem with the grunt plugin.

Install

npm install grunt-css-purge --save-dev

Options

Visit the CSS-PURGE website

Getting Started

This plugin requires Grunt.

If you haven’t used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you’re familiar with that process, you may install this plugin. Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-css-purge');

Example use cases

The most basic Gruntfile.js setup:

'use strict';
 
module.exports = function( grunt ) {
    grunt.loadNpmTasks('grunt-css-purge');
 
    grunt.initConfig({
        css_purge: {
            site: {
                options: {},
                src: 'site.css',
                dest: 'site.min.css',
            },
        },
    });
 
    grunt.registerTask('default', ['css_purge']);
};

For more infos about the options please look at the CSS-Purge website.

See below a couple different ways you can use the grunt task with various different files.

A single file:

default_options: {
    options: {},
    src: 'site.css',
    dest: 'site.min.css',
},

Multiple files:

multiple_files: {
    options: {},
    src: [
        'site1.css',
        'site2.css',
    ],
    dest: 'site.min.css',
},

Multiple files:

multiple_files2: {
    options: {},
    files: {
        'site.min.css': ['site1.css', 'site2.css'],
    },
},

Multiple files with a wildcard:

multiple_files3: {
    options: {},
    files: [{
        src: ['css/**/*.css'],
        dest: 'site.min.css',
    }],
},

Purge a folder as is into multiple files:

multiple_files4: {
    options: {},
    files: [{
        expand: true,
        cwd: "css/", // all *.css files inside the css/ folder will be purged
        src: "*.css",
        dest: "output/", //and placed into the output folder
        ext: ".min.css",
    }],
},

Purge a folder as is into multiple files while keeping sub-folder intact:

multiple_files5: {
    options: {},
    files: [{
        expand: true,
        cwd: "css/",
        src: "**/*.css", // all *.css files in the css/ and it's sub-folders will be purged
        dest: "output/", //and placed into the output folder
        ext: ".min.css",
    }],
},

Custom options:

custom_options: {
    options: {
        trim_comments: false,
        generate_report: true,
    },
    src: 'site.css',
    dest: 'site.min.css',
},

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style.

Release History

  • 1.1.0 - Mad task async
  • 1.0.2 - Fixed to major css-purge version
  • 1.0.1 - Reduced dependencies
  • 1.0.0 - Updated to CSS-Purge 3.0.0
  • 0.0.4 - Updated peerDependencies for grunt 1.0
  • 0.0.3 - updated license
  • 0.0.2 - refinements
  • 0.0.1 - alpha test

License

Copyright (c) 2018 Dominik Wilkowski. Licensed under the GPLv2 license.

install

npm i grunt-css-purge

Downloadsweekly downloads

45

version

1.1.0

license

GNU-GPL

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability