bundle-less
v0.0.3
Published
Compiles LESS, autoprefixes and minifies the resulting CSS, creates a source map.
Downloads
3
Maintainers
Readme
bundle-less
Compiles LESS, autoprefixes and minifies the resulting CSS, creates a source map.
How it works
This module compiles LESS code provided as a string into CSS. It can optionally add vendor prefixes using autoprefixer and minify the resulting CSS using csswring. It also creates a fully functional source map. The produced source map will contain all source content, so there is no need to host the source files.
Usage
Use npm to install it:
npm install bundle-less --save-dev
Then use it like this:
var bundleLess = require('bundle-less');
// call `bundleLess` providing your LESS source code and an options object:
var promise = bundleLess('body { margin: 0; }', {
from: 'styles.less',
to: 'styles.css',
csswring: { removeAllComments: true },
autoprefixer: { browsers: ['last 3 versions'] }
});
// the returned promise resolves to an object containing CSS and source map:
promise.then(function (result) {
fs.writeFileSync('styles.css', result.css);
fs.writeFileSync('styles.css.map', result.map);
});
Options
from
Absolute or relative path to the LESS file (does not have to exist, it is just used for import resolution and source map generation).
to
Absolute or relative path to the output CSS file (will not be written, it is just used for source map generation).
base
Absolute or relative path to the "server" roor folder (used for source map generation).
sourceRoot
Will be prepended to each source file within the source map. This option is optional, the default value is the empty string.
less
Options object that will get passed to the LESS compiler. The file name and source map options will be overridden by this module. This option is optional, if omitted, the default options will be used.
csswring
Options object that will get passed to csswring. Available options can be found here. This option is optional, if omitted, the CSS will not be minified.
autoprefixer
Options object that will get passed to autoprefixer. Available options can be found here. This option is optional, if omitted, no vendor prefixes will be added.
embedErrors
Optional. If truthy, in case of an error, instead of rejecting the returned promise, the output CSS will contain an error notification (source map will be empty). This is provided for development workflows to give early feedback inside the browser about style errors.
Changelog
0.0.3 Fix package keywords
0.0.2 Add optional error notification output
0.0.1 Initial version
Licensed under the MIT license