A tool to batch your server-side LESS compilations.
lessc on many LESS files at once, increasing the throughput and decreasing the amount of time it takes to do a full compile of all your LESS files.
less-tree assumes your public folder looks like this:
public/ |-- css/ |-- less/ |-- sub-dir/ |-- style-sub.less |-- _include.less |-- style-1.less |-- style-2.less
And all you have to do is run:
This will compile every *.less file in the the
less subdirectory of
public, and put the resulting stylesheets in the
css subdirectory, keeping the directory structures intact. Your
public directory will now look like this:
public/ |-- css/ |-- sub-dir/ |-- style-sub.css |-- style-1.css |-- style-2.css |-- less/ |-- sub-dir/ |-- style-sub.less |-- _include.less |-- style-1.less |-- style-2.less
- Includes: less-tree treats any file or directory prefixed with a
_as a non-output LESS file, meaning it assumes it’s only used as an include and won’t run
lesscon those files independently.
- Minification: less-tree can optionally minify your CSS as well, using
cssmin. The minified versions will be stored parallel to the non-minified versions. Simply pass
- Intelligent caching: by default, less-tree will only compile LESS files with changes or LESS files with imports that have changed (you can force a recompile of everything using
-f). less-tree keeps track of what’s changed in a JSON file in
<public_dir>/css/.less-tree-cache. There is probably not much inherently risky in keeping it accessible, but if you want to block access to it, an
<public_dir>/csswith the following should do the trick:
<Files ".less-tree-cache"> Order Allow,Deny Deny from all </Files>
less-tree doesn’t compile anything on its own (yet), so you’ll need to be able to install a couple of npm nodules
lesscinstalled as a command-line program via npm. You can get more details here, or you can just run
npm install -g less.
cssmin(optional) is required if you want to minify your outputted CSS, you can install it via
npm install -g cssmin.
less-tree -help to see a full command reference.
less-tree is released under the MIT license.