Socket
Socket
Sign inDemoInstall

sass-loader

Package Overview
Dependencies
Maintainers
3
Versions
107
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sass-loader - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

7

CHANGELOG.md
Changelog
---------
### 1.0.1
- Fix SASS partials not being resolved anymore [#68](https://github.com/jtangelder/sass-loader/issues/68)
- Update peer-dependency `node-sass` to `3.0.0-beta.4`
### 1.0.0

@@ -8,2 +13,2 @@

- Using webpack's module resolver as custom importer [#39](https://github.com/jtangelder/sass-loader/issues/31)
- Add synchronous compilation support for usage with [enhanced-require](https://github.com/webpack/enhanced-require) [#39](https://github.com/jtangelder/sass-loader/pull/39)
- Add synchronous compilation support for usage with [enhanced-require](https://github.com/webpack/enhanced-require) [#39](https://github.com/jtangelder/sass-loader/pull/39)

121

index.js

@@ -17,2 +17,3 @@ 'use strict';

};
var resolveError = /Cannot resolve/;

@@ -22,3 +23,3 @@ /**

*
* @param {String} content
* @param {string} content
* @returns {*}

@@ -65,3 +66,3 @@ */

*
* @returns {Function}
* @returns {function}
*/

@@ -71,3 +72,2 @@ function getWebpackImporter() {

return function syncWebpackImporter(url, context) {
var filename;

@@ -77,13 +77,3 @@ url = urlToRequest(url);

try {
filename = self.resolveSync(context, url);
self.dependency && self.dependency(filename);
} catch (err) {
// Unfortunately we can't return an error inside a custom importer yet
// @see https://github.com/sass/node-sass/issues/651#issuecomment-73317319
filename = url;
}
return {
file: filename
};
return syncResolve(self, url, context);
};

@@ -96,18 +86,3 @@ }

self.resolve(context, url, function onWebpackResolve(err, filename) {
if (err) {
// Unfortunately we can't return an error inside a custom importer yet
// @see https://github.com/sass/node-sass/issues/651#issuecomment-73317319
filename = url;
} else {
self.dependency && self.dependency(filename);
}
// Use self.loadModule() before calling done() to make imported files available to
// other webpack tools like postLoaders etc.?
done({
file: filename
});
});
asyncResolve(self, url, context, done);
};

@@ -219,1 +194,87 @@ }

}
/**
* Tries to resolve the given url synchronously. If a resolve error occurs, a second try for the same
* module prefixed with an underscore is started.
*
* @param {object} loaderContext
* @param {string} url
* @param {string} context
* @returns {object}
*/
function syncResolve(loaderContext, url, context) {
var filename;
var basename;
try {
filename = loaderContext.resolveSync(context, url);
loaderContext.dependency && loaderContext.dependency(filename);
} catch (err) {
basename = path.basename(url);
if (requiresLookupForUnderscoreModule(err, basename)) {
url = addUnderscoreToBasename(url, basename);
return syncResolve(loaderContext, url, context);
}
// Unfortunately we can't return an error inside a custom importer yet
// @see https://github.com/sass/node-sass/issues/651#issuecomment-73317319
filename = url;
}
return {
file: filename
};
}
/**
* Tries to resolve the given url asynchronously. If a resolve error occurs, a second try for the same
* module prefixed with an underscore is started.
*
* @param {object} loaderContext
* @param {string} url
* @param {string} context
* @param {function} done
*/
function asyncResolve(loaderContext, url, context, done) {
loaderContext.resolve(context, url, function onWebpackResolve(err, filename) {
var basename;
if (err) {
basename = path.basename(url);
if (requiresLookupForUnderscoreModule(err, basename)) {
url = addUnderscoreToBasename(url, basename);
return asyncResolve(loaderContext, url, context, done);
}
// Unfortunately we can't return an error inside a custom importer yet
// @see https://github.com/sass/node-sass/issues/651#issuecomment-73317319
filename = url;
} else {
loaderContext.dependency && loaderContext.dependency(filename);
}
// Use self.loadModule() before calling done() to make imported files available to
// other webpack tools like postLoaders etc.?
done({
file: filename
});
});
}
/**
* Check whether its a resolve error and the basename does *not* start with an underscore.
*
* @param {Error} err
* @param {string} basename
* @returns {boolean}
*/
function requiresLookupForUnderscoreModule(err, basename) {
return resolveError.test(err.message) && basename.charAt(0) !== '_';
}
/**
* @param {string} url
* @param {string} basename
* @returns {string}
*/
function addUnderscoreToBasename(url, basename) {
return url.slice(0, -basename.length) + '_' + basename;
}
{
"name": "sass-loader",
"version": "1.0.0",
"version": "1.0.1",
"description": "Sass loader for webpack",

@@ -26,3 +26,3 @@ "main": "index.js",

"peerDependencies": {
"node-sass": "^3.0.0-alpha.0"
"node-sass": "^3.0.0-beta.4"
},

@@ -29,0 +29,0 @@ "dependencies": {

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