Parse a less variable list and its dependencies and return a map of all resolved variables
Install using
npm install @hon2a/less-vars-to-js
Use to load file and all its imports, resolve all variables, and collect them. E.g. the following setup:
<CWD>/node_modules/some-lib/dist/vars.less
@primary-color: green;
@error-color: brickred;
src/style/theme.less
@import '~some-lib/dist/vars';
@primary-color: blue;
src/style/variables.less
@import './theme';
@secondary-color: darken(@primary-color, 10);
@match-rate-low-color: @error-color;
yields the following extraction:
import { loadAndResolveLessVars } from '@hon2a/less-vars-to-js'
const theme = await loadAndResolveLessVars('./src/style/variables.less')
/* {
* 'primary-color': 'blue',
* 'error-color': 'brickred',
* 'secondary-color': '#0000cc',
* 'match-rate-color': 'brickred'
* }
*/
Note: If you're using external imports (e.g. import '~someLib/path/to/styles.less';
), this
needs to run in the root folder of your package, so that it finds the libs at ./node_modules
.
Pass Less parser options as a second argument to loadAndResolveLessVars
if you need to customize them.
Install dependencies using:
npm install
After you modify sources, run the following (or set up your IDE to do it for you):
- format the code using
npm run format
- lint it using
npm run lint
- test it using
npm test
and fix the errors, if there are any.
Publishing is done in two steps:
- Create a new version tag and push it to the repository:
npm version <patch|minor|major> git push --follow-tags
- Build and publish the new version as a npm package:
npm publish --access public