
Add an
@importstatement into a .less file at a specific point.
This is completely experimental and pretty hacky. I created this as a proof of concept for another project I'm working on, so it's also limited in scope. Currently, this will only add a single less file at a time, and the formatting and parsing logic are fairly rudimentary.
Install with npm:
npm i add-less-import --save-dev
Pass a string, the import statement to add, and a keyword in a code comment that indicates where you want the @import statement to be added.
Duplicates will only be uniqued when they are in the same "section".
Example
Assuming you have a .less file and it looks something like this:
//
// Styles
// --------------------------------------------
// Variables and mixins
@import "variables.less";
@import "mixins.less";
// Components
@import "alerts.less";
@import "buttons.less";
// Utilities
@import "utilities.less";
Here is how you would add import statements:
var addImport = require('add-less-import');
var str = fs.readFileSync('bootstrap.less', 'utf8');
// obviously you would probably want to do this dynamically,
// like with command line arguments. this is just an example
addImport(str, 'components', '@import "nav.less";');
The result would be:
//
// Styles
// --------------------------------------------
// Variables and mixins
@import "variables.less";
@import "mixins.less";
// Components
@import "alerts.less";
@import "buttons.less";
@import "nav.less";
// Utilities
@import "utilities.less";
str {String}:section {String}: The code-comment keyword to search for.statement {String}: The full import statement.options {Object}:return {String}Jon Schlinkert
Copyright (c) 2014 Jon Schlinkert, contributors.
Released under the MIT license
This file was generated by verb-cli on June 02, 2014.