Minify CSS files using PostCSS-based CSSWring.
Instead there is:
- task shipped with CSSWring itself
- grunt-postcss to apply multiple transformation to css in one pass.
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 with this command:
npm install grunt-csswring --save-dev
In your project's Gruntfile, add a section named
csswring to the data object passed into
gruntinitConfigcsswring:options:// Task-specific options go here.your_target:// Target-specific file lists and/or options go here.
Allows to add comment to the beginning of minified files.
If the map option isn't defined, PostCSS will look for source map from a previous compilation step (either inline map or separate one) and update it automatically. Let's say you have
path/file.css.map from SASS, PostCSS will find that map, update it and save to a specified destination.
true is specified, PostCSS will try to find an input source map file as described above and generate a new map based on the found one (or just generate a new map, unlike the situation when the map option is undefined).
If you keep your map from a pre-processor in another directory (e.g.
another-path/file.css.map), you can specify the path
another-path/ in the map option to point out where grunt-csswring should look for an input map to update it.
Also you can specify
false. In that case PostCSS will not generate or update source map even if there is one from a previous compilation step near an input file or inlined to it (PostCSS will delete a map annotation comment from an input file).
You cannot specify a path where to save a map file, it will be saved at the same directory as the output CSS file or inlined to it (check out the option below).
If the option isn't specified, PostCSS will inline its map if a map from a previous compilation step was inlined to an input file or save its map as a separate file respectively.
You can specify
false to force that behaviour as you like.
Allows to preserve properties hacks like
By default, CSSWring keeps a comment that start with
/*!. If you want to remove all comments, set option to
Either report only minification result or report minification and gzip results. Using
gzip will make the task take 5-10x longer to complete.
gruntinitConfigcsswring:options:// Task-specific options go here.// minify the specified filesingle_file:options:// Target-specific options go here.src: 'src/css/file.css'dest: 'dest/css/file.css'// minify all filesmultiple_files:expand: trueflatten: truesrc: 'src/css/*.css' // -> src/css/file1.css, src/css/file2.cssdest: 'dest/css/' // -> dest/css/file1.css, dest/css/file2.css// if you have specified only the `src` param, the destination will be set automatically,// so source files will be overwrittenno_dest:src: 'dest/css/file.css' // globbing is also possible heresourcemap:options:map: truesrc: 'src/css/file.css'dest: 'dest/css/file.css' // -> dest/css/file.css, dest/css/file.css.map;
This task is mostly based on grunt-autoprefixer by Dmitry Nikitenko.
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.