Package Exports
- csswring
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (csswring) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
CSSWring
Minify CSS file with source maps. That's only.
Written with PostCSS.
INSTALLATION
$ npm install csswring
QUICK USAGE
#!/usr/bin/env node
'use strict';
var fs = require('fs');
var csswring = require('csswring');
var css = fs.readFileSync('test.css', 'utf8');
fs.writeFileSync('test.min.css', csswring.wring(css).css);
MINIFICATIONS
CSSWring doesn't remove only white spaces or comments, but also remove an unnecessary parts of CSS. See minification details in our GitHub Wiki.
OPTIONS
preserveHacks
By default, CSSWring removes all unknown portion of CSS declaration that
includes some CSS hacks (e.g., underscore hacks and star hacks). If you want to
preserve these hacks, pass preserveHacks: true
to this module.
csswring({
preserveHacks: true
}).wring(css);
removeAllComments
By default, CSSWring keeps a comment that start with /*!
. If you want to
remove all comments, pass removeAllComments: true
to this module.
csswring({
removeAllComments: true
}).wring(css);
API
wring(css, [options])
Wring css
with specified options
.
The second argument is optional. The options
is same as the second argument of
PostCSS's process()
method. This is useful for generating source map.
var fs = require('fs');
var csswring = require('csswring');
var css = fs.readFileSync('from.css', 'utf8');
var result = csswring.wring(css, {
map: {
inline: false
},
from: 'from.css',
to: 'to.css'
});
fs.writeFileSync('to.css', result.css);
fs.writeFileSync('to.css.map', result.map);
See also Source Map section in PostCSS document for more about this
options
.
You can also merge CSSWring options mentioned above to the second argument:
var result = csswring.wring(css, {
map: true,
preserveHacks: true
});
postcss
Returns a PostCSS processor.
You can use this property for combining with other PostCSS processors/plugins such as Autoprefixer or postcss-url.
var fs = require('fs');
var postcss = require('postcss');
var autoprefixer = require('autoprefixer');
var csswring = require('csswring');
var css = fs.readFileSync('test.css', 'utf8');
postcss().use(
autoprefixer.postcss
).use(
csswring.postcss
).process(css);
CLI USAGE
This package also installs a command line interface.
$ node ./node_modules/.bin/csswring --help
Usage: csswring [options] INPUT [OUTPUT]
Description:
Minify CSS file with source maps. That's only.
Options:
--sourcemap Create source map file.
--preserve-hacks Preserve some CSS hacks.
--remove-all-comments Remove all comments.
-h, --help Show this message.
-v, --version Print version information.
Use a single dash for INPUT to read CSS from standard input.
GRUNT PLUGIN USAGE
This package also installs a Grunt plugin. You can enable this plugin in
Gruntfile.js
of your project like that:
grunt.loadNpmTasks('csswring');
This was not tested. I suggest using grunt-postcss
.
Example Config
To minify src/css/**/*.css
to build/css/**/*.min.css
with source map:
grunt.initConfig({
csswring: {
options: {
map: true
},
main: {
cwd: 'src/css/',
dest: 'build/css/',
expand: true,
ext: 'min.css',
src: [
'**/*.css'
]
}
}
});
The options
is completely same as this package options.