add-less-import

0.1.2 • Public • Published

add-less-import NPM version

Add an @import statement 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

Install with npm:

npm i add-less-import --save-dev

Usage

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}

Author

Jon Schlinkert

License

Copyright (c) 2014 Jon Schlinkert, contributors.
Released under the MIT license


This file was generated by verb-cli on June 02, 2014.

Package Sidebar

Install

npm i add-less-import

Weekly Downloads

1

Version

0.1.2

License

none

Last publish

Collaborators

  • jonschlinkert