less-variable-resolver

0.1.2 • Public • Published

less-variable-resolver

Resolve variables defined by other variables' values - to allow for conversion into languages not supporting lazy evaluation.

This was developed to be able to use variables declared in a less file inside of SCSS after conversion (e.g. through sast). Take a look at the test cases to better understand the implications and side effects.

Usage example

const gonzales = require( 'gonzales-pe' ),
    lessVariableResolver = require( 'less-variable-resolver' ),
    sast = require( 'sast' );
 
// build AST from less
const lessTree = gonzales.parse(
    fs.readFileSync( '_my_variables.less', 'utf8' ),
    { syntax: 'less' },
);
 
// resolve variables
lessVariableResolver.resolveVariablesInTree( lessTree );
 
// convert less to scss
const scssTree = sast.parse( lessTree.toString(), { syntax: 'less' } );
 
console.log( sast.stringify( scssTree ) ); // SCSS variables

Development

The following examples use docker and docker-compose to ease creating a level playing field for development but are not essential to this project.

Building Docker image

# ensure the node user uses your user id, so you own created files 
docker-compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g) node

Installation

docker-compose run --rm node npm install

Running code quality tools

docker-compose run --rm node npm test

Readme

Keywords

Package Sidebar

Install

npm i less-variable-resolver

Weekly Downloads

3,395

Version

0.1.2

License

GPL-2.0+

Unpacked Size

27.1 kB

Total Files

27

Last publish

Collaborators

  • tarrow
  • manicki
  • thiemowmde
  • lucaswerkmeister
  • mariushoch
  • celenduin
  • wmdebot
  • jakob_wmde
  • darthmon
  • itamar.wmde
  • noa_wmde