Socket
Socket
Sign inDemoInstall

node-sass

Package Overview
Dependencies
Maintainers
5
Versions
148
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-sass - npm Package Compare versions

Comparing version 1.1.4 to 1.2.0

lib/index.js

2

lib/render.js
var fs = require('fs'),
chalk = require('chalk'),
sass = require('../sass');
sass = require('./');

@@ -5,0 +5,0 @@ /**

{
"author": "Andrew Nesbitt <andrewnez@gmail.com> (http://andrew.github.com)",
"name": "node-sass",
"description": "wrapper around libsass",
"version": "1.1.4",
"version": "1.2.0",
"description": "Wrapper around libsass",
"license": "MIT",
"homepage": "https://github.com/sass/node-sass",
"keywords": [
"sass",
"css",
"libsass",
"scss",
"style",
"preprocessor"
],
"bugs": {
"url": "https://github.com/sass/node-sass/issues"
"repository": "sass/node-sass",
"author": {
"name": "Andrew Nesbitt",
"email": "andrewnez@gmail.com",
"url": "http://andrew.github.com"
},
"licenses": [
{
"type": "MIT",
"url": "https://github.com/sass/node-sass/blob/master/LICENSE"
}
],
"main": "./sass.js",
"repository": {
"type": "git",
"url": "git://github.com/sass/node-sass.git"
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"install": "node build.js",
"test": "node scripts/test",
"coverage": "node scripts/coverage",
"pretest": "node scripts/lint",
"prepublish": "node scripts/prepublish"
},
"main": "lib/index.js",
"bin": {

@@ -40,25 +21,44 @@ "node-sass": "bin/node-sass"

"gypfile": true,
"engines": {
"node": ">=0.10.0"
"scripts": {
"coverage": "node scripts/coverage.js",
"install": "node scripts/install.js",
"postinstall": "node scripts/build.js",
"pretest": "node_modules/.bin/jshint bin lib test",
"test": "node_modules/.bin/mocha test"
},
"files": [
"bin",
"binding.gyp",
"lib",
"scripts",
"src",
"test"
],
"keywords": [
"css",
"libsass",
"preprocessor",
"sass",
"scss",
"style"
],
"dependencies": {
"chalk": "~0.5.1",
"get-stdin": "~3.0.0",
"chalk": "^0.5.1",
"cross-spawn": "^0.2.3",
"download": "^3.1.2",
"download-status": "^2.1.0",
"gaze": "^0.6.4",
"get-stdin": "^3.0.0",
"meow": "^2.0.0",
"mkdirp": "~0.5.0",
"mocha": "~1.21.5",
"nan": "~1.3.0",
"node-watch": "~0.3.4",
"object-assign": "~1.0.0",
"shelljs": "~0.3.0",
"sinon": "~1.10.3"
"mkdirp": "^0.5.0",
"mocha": "^2.0.1",
"nan": "^1.3.0",
"object-assign": "^1.0.0"
},
"devDependencies": {
"coveralls": "^2.11.1",
"cross-spawn": "^0.2.3",
"jscoverage": "^0.5.6",
"jshint": "^2.5.5",
"mocha-lcov-reporter": "^0.0.1",
"object-assign": "^1.0.0"
"mocha-lcov-reporter": "^0.0.1"
}
}

@@ -5,3 +5,3 @@ var assert = require('assert'),

read = fs.readFileSync,
sass = require('../sass'),
sass = process.env.NODESASS_COV ? require('../lib-cov') : require('../lib'),
fixture = path.join.bind(null, __dirname, 'fixtures'),

@@ -18,3 +18,3 @@ resolveFixture = path.resolve.bind(null, __dirname, 'fixtures');

assert(!err);
assert.equal(css.trim(), expected);
assert.equal(css.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -24,2 +24,15 @@ });

it('should compile sass to css using indented syntax', function(done) {
var src = read(fixture('indent/index.sass'), 'utf8');
var expected = read(fixture('indent/expected.css'), 'utf8').trim();
sass.render(src, function(err, css) {
assert(!err);
assert.equal(css.trim(), expected.replace(/\r\n/g, '\n'));
done();
}, {
indentedSyntax: true
});
});
it('should throw error for bad input', function(done) {

@@ -37,7 +50,17 @@ sass.render('#navbar width 80%;', function(err) {

var expected = read(fixture('simple/expected.css'), 'utf8').trim();
var css = sass.renderSync(src).trim();
assert.equal(sass.renderSync(src).trim(), expected);
assert.equal(css, expected.replace(/\r\n/g, '\n'));
done();
});
it('should compile sass to css using indented syntax', function(done) {
var src = read(fixture('indent/index.sass'), 'utf8');
var expected = read(fixture('indent/expected.css'), 'utf8').trim();
var css = sass.renderSync(src, {indentedSyntax: true}).trim();
assert.equal(css, expected.replace(/\r\n/g, '\n'));
done();
});
it('should throw error for bad input', function(done) {

@@ -62,3 +85,3 @@ assert.throws(function() {

success: function(css) {
assert.equal(css.trim(), expected);
assert.equal(css.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -69,2 +92,16 @@ }

it('should compile sass to css using indented syntax', function(done) {
var src = read(fixture('indent/index.sass'), 'utf8');
var expected = read(fixture('indent/expected.css'), 'utf8').trim();
sass.render({
data: src,
indentedSyntax: true,
success: function(css) {
assert.equal(css.trim(), expected.replace(/\r\n/g, '\n'));
done();
}
});
});
it('should throw error status 1 for bad input', function(done) {

@@ -92,3 +129,3 @@ sass.render({

success: function(css) {
assert.equal(css.trim(), expected);
assert.equal(css.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -107,3 +144,3 @@ }

success: function(css) {
assert.equal(css.trim(), expected);
assert.equal(css.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -135,3 +172,3 @@ }

success: function(css) {
assert.equal(css.trim(), expected);
assert.equal(css.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -159,13 +196,26 @@ }

describe('.renderSync(options)', function() {
it('should compile with renderSync', function(done) {
it('should compile sass to css', function(done) {
var src = read(fixture('simple/index.scss'), 'utf8');
var expected = read(fixture('simple/expected.css'), 'utf8').trim();
var css = sass.renderSync({data: src}).trim();
assert.equal(sass.renderSync({ data: src }).trim(), expected);
assert.equal(css, expected.replace(/\r\n/g, '\n'));
done();
});
it('should compile sass to css using indented syntax', function(done) {
var src = read(fixture('indent/index.sass'), 'utf8');
var expected = read(fixture('indent/expected.css'), 'utf8').trim();
var css = sass.renderSync({
data: src,
indentedSyntax: true
}).trim();
assert.equal(css, expected.replace(/\r\n/g, '\n'));
done();
});
it('should throw error for bad input', function(done) {
assert.throws(function() {
sass.renderSync({ data: '#navbar width 80%;' });
sass.renderSync({data: '#navbar width 80%;'});
});

@@ -178,3 +228,3 @@

describe('.renderFile(options)', function() {
it('should compile with renderFile', function(done) {
it('should compile sass to css', function(done) {
var src = read(fixture('simple/index.scss'), 'utf8');

@@ -188,3 +238,3 @@ var dest = fixture('simple/build.css');

success: function() {
assert.equal(read(dest, 'utf8').trim(), expected);
assert.equal(read(dest, 'utf8').trim(), expected.replace(/\r\n/g, '\n'));
fs.unlinkSync(dest);

@@ -196,2 +246,19 @@ done();

it('should compile sass to css using indented syntax', function(done) {
var src = read(fixture('indent/index.sass'), 'utf8');
var dest = fixture('indent/build.css');
var expected = read(fixture('indent/expected.css'), 'utf8').trim();
sass.renderFile({
data: src,
outFile: dest,
indentedSyntax: true,
success: function() {
assert.equal(read(dest, 'utf8').trim(), expected.replace(/\r\n/g, '\n'));
fs.unlinkSync(dest);
done();
}
});
});
it('should save source map to default name', function(done) {

@@ -257,14 +324,14 @@ var src = fixture('source-map/index.scss');

describe('.render({ stats: {} })', function() {
describe('.render({stats: {}})', function() {
var start = Date.now();
var stats = {};
before(function (done) {
before(function(done) {
sass.render({
file: fixture('include-files/index.scss'),
stats: stats,
success: function () {
success: function() {
done();
},
error: function (err) {
error: function(err) {
assert(!err);

@@ -300,5 +367,11 @@ done();

it('should contain an array of all included files', function(done) {
assert.equal(stats.includedFiles[0], resolveFixture('include-files/bar.scss'));
assert.equal(stats.includedFiles[1], resolveFixture('include-files/foo.scss'));
assert.equal(stats.includedFiles[2], resolveFixture('include-files/index.scss'));
var expected = [
fixture('include-files/bar.scss').replace(/\\/g, '/'),
fixture('include-files/foo.scss').replace(/\\/g, '/'),
fixture('include-files/index.scss').replace(/\\/g, '/')
];
assert.equal(stats.includedFiles[0], expected[0]);
assert.equal(stats.includedFiles[1], expected[1]);
assert.equal(stats.includedFiles[2], expected[2]);
done();

@@ -308,7 +381,9 @@ });

it('should contain array with the entry if there are no import statements', function(done) {
var expected = fixture('simple/index.scss').replace(/\\/g, '/');
sass.render({
file: fixture('simple/index.scss'),
stats: stats,
success: function () {
assert.deepEqual(stats.includedFiles, [resolveFixture('simple/index.scss')]);
success: function() {
assert.deepEqual(stats.includedFiles, [expected]);
done();

@@ -323,3 +398,3 @@ }

stats: stats,
success: function () {
success: function() {
assert.equal(stats.entry, 'data');

@@ -335,3 +410,3 @@ done();

stats: stats,
success: function () {
success: function() {
assert.deepEqual(stats.includedFiles, []);

@@ -342,9 +417,23 @@ done();

});
it('should report correct source map in stats', function(done) {
sass.render({
file: fixture('simple/index.scss'),
outFile: fixture('simple/build.css'),
stats: stats,
sourceMap: true,
success: function() {
var map = JSON.parse(stats.sourceMap);
assert.equal(map.sources[0], 'index.scss');
done();
}
});
});
});
describe('.renderSync({ stats: {} })', function() {
describe('.renderSync({stats: {}})', function() {
var start = Date.now();
var stats = {};
before(function () {
before(function() {
sass.renderSync({

@@ -380,5 +469,11 @@ file: fixture('include-files/index.scss'),

it('should contain an array of all included files', function(done) {
assert.equal(stats.includedFiles[0], resolveFixture('include-files/bar.scss'));
assert.equal(stats.includedFiles[1], resolveFixture('include-files/foo.scss'));
assert.equal(stats.includedFiles[2], resolveFixture('include-files/index.scss'));
var expected = [
fixture('include-files/bar.scss').replace(/\\/g, '/'),
fixture('include-files/foo.scss').replace(/\\/g, '/'),
fixture('include-files/index.scss').replace(/\\/g, '/')
];
assert.equal(stats.includedFiles[0], expected[0]);
assert.equal(stats.includedFiles[1], expected[1]);
assert.equal(stats.includedFiles[2], expected[2]);
done();

@@ -388,2 +483,4 @@ });

it('should contain array with the entry if there are no import statements', function(done) {
var expected = fixture('simple/index.scss').replace(/\\/g, '/');
sass.renderSync({

@@ -394,3 +491,3 @@ file: fixture('simple/index.scss'),

assert.deepEqual(stats.includedFiles, [fixture('simple/index.scss')]);
assert.deepEqual(stats.includedFiles, [expected]);
done();

@@ -418,3 +515,23 @@ });

});
it('should report correct source map in stats', function(done) {
sass.renderSync({
file: fixture('simple/index.scss'),
outFile: fixture('simple/build.css'),
stats: stats,
sourceMap: true
});
var map = JSON.parse(stats.sourceMap);
assert.equal(map.sources[0], 'index.scss');
done();
});
});
describe('.middleware()', function() {
it('should throw error on require', function(done) {
assert.throws(sass.middleware());
done();
});
});
});

@@ -13,3 +13,3 @@ var assert = require('assert'),

var src = fs.createReadStream(fixture('simple/index.scss'));
var expected = fixture('simple/expected.css');
var expected = read(fixture('simple/expected.css'), 'utf8').trim();
var bin = spawn(cli, ['--stdout']);

@@ -19,3 +19,3 @@

bin.stdout.once('data', function(data) {
assert.equal(data.trim(), read(expected, 'utf8').trim());
assert.equal(data.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -43,3 +43,3 @@ });

var src = fs.createReadStream(fixture('indent/index.sass'));
var expected = fixture('indent/expected.css');
var expected = read(fixture('indent/expected.css'), 'utf8').trim();
var bin = spawn(cli, ['--stdout', '--indented-syntax']);

@@ -49,3 +49,3 @@

bin.stdout.once('data', function(data) {
assert.equal(data.trim(), read(expected, 'utf8').trim());
assert.equal(data.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -59,3 +59,3 @@ });

var src = fs.createReadStream(fixture('compressed/index.scss'));
var expected = fixture('compressed/expected.css');
var expected = read(fixture('compressed/expected.css'), 'utf8').trim();
var bin = spawn(cli, ['--stdout', '--output-style', 'compressed']);

@@ -65,3 +65,3 @@

bin.stdout.once('data', function(data) {
assert.equal(data.trim(), read(expected, 'utf8').trim());
assert.equal(data.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -75,3 +75,3 @@ });

var src = fs.createReadStream(fixture('source-comments/index.scss'));
var expected = fixture('source-comments/expected.css');
var expected = read(fixture('source-comments/expected.css'), 'utf8').trim();
var bin = spawn(cli, ['--stdout', '--source-comments']);

@@ -81,3 +81,3 @@

bin.stdout.once('data', function(data) {
assert.equal(data.trim(), read(expected, 'utf8').trim());
assert.equal(data.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -91,3 +91,3 @@ });

var src = fs.createReadStream(fixture('image-path/index.scss'));
var expected = fixture('image-path/expected.css');
var expected = read(fixture('image-path/expected.css'), 'utf8').trim();
var bin = spawn(cli, ['--stdout', '--image-path', '/path/to/images']);

@@ -97,3 +97,3 @@

bin.stdout.once('data', function(data) {
assert.equal(data.trim(), read(expected, 'utf8').trim());
assert.equal(data.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -129,3 +129,3 @@ });

var src = fixture('include-path/index.scss');
var expected = fixture('include-path/expected.css');
var expected = read(fixture('include-path/expected.css'), 'utf8').trim();
var bin = spawn(cli, [src, '--stdout'].concat(includePaths));

@@ -135,3 +135,3 @@

bin.stdout.once('data', function(data) {
assert.equal(data.trim(), read(expected, 'utf8').trim());
assert.equal(data.trim(), expected.replace(/\r\n/g, '\n'));
done();

@@ -177,3 +177,3 @@ });

var dest = fixture('source-map/build.css');
var expected = fixture('source-map/expected.css');
var expected = read(fixture('source-map/expected.css'), 'utf8').trim().replace(/\r\n/g, '\n');
var map = fixture('source-map/index.map');

@@ -183,3 +183,3 @@ var bin = spawn(cli, [src, '--output', dest, '--source-map', map]);

bin.on('close', function () {
assert.equal(read(dest, 'utf8').trim(), read(expected, 'utf8').trim());
assert.equal(read(dest, 'utf8').trim(), expected);
assert(fs.existsSync(map));

@@ -186,0 +186,0 @@ fs.unlinkSync(map);

@@ -6,3 +6,3 @@ var assert = require('assert'),

read = fs.readFileSync,
sass = require('../sass'),
sass = require('../lib'),
util = require('./util');

@@ -15,7 +15,7 @@

it('should be a cloned into place', function(done) {
fs.exists(path.join(__dirname, 'sass-spec'), function (exists) {
fs.exists(path.join(__dirname, 'fixtures', 'spec'), function (exists) {
if (!exists) {
throw new Error([
'test/sass-spec directory missing. Please clone it into place by',
'executing `git submodule update --init --recursive test/sass-spec`',
'test/fixtures/spec directory missing. Please clone it into place by',
'executing `git submodule update --init --recursive test/fixtures/spec`',
'from the project\'s root directory.'

@@ -22,0 +22,0 @@ ].join(' '));

var fs = require('fs'),
join = require('path').join,
spec = join(__dirname, '..', 'sass-spec', 'spec');
spec = join(__dirname, '..', 'fixtures', 'spec', 'spec');

@@ -5,0 +5,0 @@ /**

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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