Node.js bindings to sass-convert.
sass-convert is a library that provides binding for Node.js to sass-convert, the converter shipped with Sass. Integrates the converter in a stream pipeline.
type: String
The format to convert from. Can be css
, scss
, sass
.
type: String
The format to convert to. Can be scss
or sass
.
type: Boolean
default: false
Continue the stream chain even if the converter is unable to work properly
(e.g.: no sass-convert
binary found). Unconverted chunks/files won't be pushed
to the next pipe anyway.
type: Boolean
default: false
Whether to change converted files extensions to to
option (target format).
If you want more control over renaming, you should pipe gulp-rename
after the converter.
type: Boolean
Convert underscores to dashes.
type: Number|String
How many spaces to use for each level of indentation. Defaults to 2.
't'
means use hard tabs.
type: Boolean
Output the old-style :prop val
property syntax.
Only meaningful when generating Sass.
type: String
Specify the default encoding for input files.
type: Boolean
Use Unix-style newlines in written files.
Always true on Unix.
npm i sass-convert --save
You need to have Sass (Ruby Sass >=3.4.5) installed. Either globally or locally with Bundler.
var vfs = require('vinyl-fs');
var converter = require('sass-convert');
vfs.src('./input/**/*.+(sass|scss|css)')
.pipe(converter({
from: 'sass',
to: 'scss',
}))
.pipe(vfs.dest('./output'));
// sassdoc >= 2.0
var gulp = require('gulp');
var sassdoc = require('sassdoc');
var converter = require('sass-convert');
gulp.task('sassdoc', function () {
return gulp.src('./input/**/*.+(sass|scss)')
.pipe(converter({
from: 'sass',
to: 'scss',
}))
.pipe(sassdoc());
});
var fs = require('fs');
var vfs = require('vinyl-fs');
var source = require('vinyl-source-stream');
var rename = require('gulp-rename');
var converter = require('sass-convert');
fs.createReadStream('./file.sass')
.pipe(source('file.sass'))
.pipe(converter({
from: 'sass',
to: 'scss',
}))
.pipe(rename('file.scss'))
.pipe(vfs.dest('./'));
sass-convert is unlicensed.