0.0.3 • Published 9 years ago

bundle-less v0.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

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