New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

gulp-sass

Package Overview
Dependencies
Maintainers
1
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gulp-sass - npm Package Compare versions

Comparing version 0.4.0 to 0.4.1

.travis.yml

10

index.js

@@ -18,3 +18,3 @@ var es = require('event-stream')

if (file.isNull()) {
return cb();
return cb(null, file);
}

@@ -29,11 +29,11 @@

cb(null, file);
}
};
opts.error = function (err) {
if (opts.errLogToConsole) {
gutil.log('[gulp-sass] ' + err)
gutil.log('[gulp-sass] ' + err);
return cb();
}
return cb(new gutil.PluginError('gulp-sass', err));
}
};

@@ -44,2 +44,2 @@ sass.render(opts);

return es.map(nodeSass);
}
};
{
"name": "gulp-sass",
"version": "0.4.0",
"version": "0.4.1",
"description": "Gulp plugin for sass",
"main": "index.js",
"scripts": {
"test": "node test/test.js"
},
"repository": {

@@ -11,3 +14,5 @@ "type": "git",

"keywords": [
"gulpplugin"
"gulpplugin",
"sass",
"gulp"
],

@@ -26,6 +31,8 @@ "author": "David Manning",

"devDependencies": {
"gulp": "~3.2.3",
"tape": "~2.3.2",
"concat-stream": "~1.4.1"
},
"jshintConfig": {
"laxcomma": true
}
}

@@ -0,32 +1,98 @@

var assert = require('assert');
var gsass = require('../');
var gutil = require('gulp-util');
var fs = require('fs');
var path = require('path');
var fs = require('fs');
var assert = require('assert');
var test = require('tape');
var gulp = require('gulp')
, util = require('gulp-util')
, gulpSass = require('../')
, nodeSass = require('node-sass');
;
function createVinyl(sassFileName, contents) {
var base = path.join(__dirname, 'scss');
var filePath = path.join(base, sassFileName);
var includePaths = ['scss/', 'scss/includes']
return new gutil.File({
cwd: __dirname,
base: base,
path: filePath,
contents: contents || fs.readFileSync(filePath)
});
}
gulp.src('./scss/*.scss')
.pipe(gulpSass({includePaths: includePaths}))
.pipe(util.buffer(tapeTester));
test('pass file when isNull()', function (t) {
var stream = gsass();
var emptyFile = {
isNull: function () { return true; }
};
stream.on('data', function (data) {
t.equal(data, emptyFile);
t.end();
});
stream.write(emptyFile);
});
function tapeTester(err, files) {
assert(!err, 'There was an error.');
files.forEach(function (item) {
var fileBaseName = path.basename(item.path, '.css');
test('Testing: ' + fileBaseName, function (t) {
var ref = nodeSass.renderSync({
data: fs.readFileSync('./scss/' + fileBaseName + '.scss').toString(),
includePaths: includePaths
});
t.equal(item.contents.toString(), ref);
t.end();
})
// test('emit error when file isStream()', function (t) {
// var stream = gsass();
// var streamFile = {
// isNull: function () { return false; },
// isStream: function () { return true; }
// };
// stream.on()
// });
test('compile a single sass file', function (t) {
var sassFile = createVinyl('mixins.scss');
var stream = gsass();
stream.on('data', function (cssFile) {
t.ok(cssFile, 'cssFile should exist');
t.ok(cssFile.path, 'cssFile.path should exist');
t.ok(cssFile.relative, 'cssFile.relative should exist');
t.ok(cssFile.contents, 'cssFile.contents should exist');
t.equal(cssFile.path, path.join(__dirname, 'scss', 'mixins.css'));
t.equal(
fs.readFileSync(path.join(__dirname, 'ref/mixins.css'), 'utf8'),
cssFile.contents.toString(),
'file compiles correctly to css'
);
t.end();
})
stream.write(sassFile);
});
test('compile multiple sass files', function (t) {
var files = [
createVinyl('inheritance.scss'),
createVinyl('mixins.scss'),
createVinyl('nesting.scss'),
createVinyl('variables.scss')
];
t.plan(files.length * 4);
var stream = gsass({
includePaths: [path.join(__dirname, 'scss'),
path.join(__dirname, 'scss/includes')]
});
}
stream.on('data', function (cssFile) {
t.ok(cssFile, 'cssFile exists');
t.ok(cssFile.path, 'cssFile.path exists');
t.ok(cssFile.relative, 'cssFile.relative exists');
t.ok(cssFile.contents, 'cssFile.contents exists');
});
files.forEach(function (file) {
stream.write(file);
});
});
test('emit error on sass errors', function (t) {
var stream = gsass();
var errorFile = createVinyl('somefile.sass',
new Buffer('body { font \'Comic Sans\'; }'));
stream.on('error', function (err) {
t.equal(err.message,
'source string:1: error: property "font" must be followed by a \':\'\n'
);
t.end();
});
stream.write(errorFile);
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc