json-sass
Streamy module that transforms a JSON stream into scss syntax Sass.
json-sass converts JSON objects into Sass maps, which are supported in Ruby Sass 3.3 and libsass 2.0.
npm install json-sass
Why?
So you can share values between your scripts and stylesheets without having to use something like SassyJSON, which doesn't work with libsass.
Examples
Example source file theme.json
:
{
"string": "I am a string",
"boolean": true,
"number": 1.23,
"array": [1, 2, 3],
"object": {
"foo": "bar"
},
"null": null
}
From the command-line:
$ json-sass -i theme.json -o theme.scss -p "\$theme: "
Output theme.scss
:
;
Or you can use the Node API:
var fs = ;var jsonSass = ;fs;
Or with gulp using vinyl-source-stream:
var gulp = ;var jsonSass = ;var source = ;var rename = ; gulp;
You can also transform normal JavaScript values using the exposed utility function:
jsonSass; // (1, 2, 3)
API
jsonSass([opts])
Returns a through stream. Available options:
prefix
: Add some text to the beginningsuffix
: Add some text to the end. Defaults to';'
.
jsonSass.convertJs(jsValue)
Convert a normal JavaScript value to its string representation in Sass. Ignores undefined
and functions. Calls .toString()
on non-plain object instances.
License
MIT