less-loader
Advanced tools
Comparing version 0.7.2 to 0.7.3
61
index.js
@@ -8,2 +8,7 @@ /* | ||
var fs = require("fs"); | ||
var loaderUtils = require("loader-utils"); | ||
var backslash = /\\/g; | ||
var trailingSlash = /[\\\/]$/; | ||
function formatLessError(e, filename) { | ||
@@ -13,2 +18,3 @@ return new Error(e.message + "\n @ " + filename + | ||
} | ||
module.exports = function(input) { | ||
@@ -19,13 +25,14 @@ this.cacheable && this.cacheable(); | ||
var errored = false; | ||
var rootContext = this.context; | ||
less.Parser.fileLoader = function (file, currentFileInfo, callback, env) { | ||
var context = currentFileInfo.currentDirectory.replace(/[\\\/]$/, ""); | ||
less.Parser.fileLoader = function (url, currentFileInfo, callback) { | ||
var context = currentFileInfo.currentDirectory.replace(trailingSlash, ""); | ||
var newFileInfo = { | ||
relativeUrls: env.relativeUrls || true, | ||
relativeUrls: true, | ||
entryPath: currentFileInfo.entryPath, | ||
rootpath: currentFileInfo.rootpath, | ||
rootFilename: currentFileInfo.rootFilename | ||
}; | ||
var moduleName = urlToRequire(file); | ||
var moduleRequest = loaderUtils.urlToRequest(url, currentFileInfo.rootpath); | ||
if(cb) { | ||
loaderContext.resolve(context, moduleName, function(err, filename) { | ||
loaderContext.resolve(context, moduleRequest, function(err, filename) { | ||
if(err) { | ||
@@ -37,4 +44,6 @@ if(!errored) | ||
} | ||
updateFileInfo(newFileInfo, rootContext, filename); | ||
// The default (asynchron) | ||
loaderContext.dependency && loaderContext.dependency(filename); | ||
filename = normalizePath(filename); | ||
updateFileInfo(newFileInfo, filename); | ||
// The default (asynchronous) | ||
loaderContext.loadModule("-!" + __dirname + "/stringify.loader.js!" + filename, function(err, data) { | ||
@@ -52,7 +61,8 @@ if(err) { | ||
} else { | ||
var filename = loaderContext.resolveSync(context, moduleName); | ||
loaderContext.dependency && loaderContext.dependency(filename); | ||
updateFileInfo(newFileInfo, rootContext, filename); | ||
// Make it synchron | ||
// Make it synchronous | ||
try { | ||
var filename = loaderContext.resolveSync(context, moduleRequest); | ||
loaderContext.dependency && loaderContext.dependency(filename); | ||
filename = normalizePath(filename); | ||
updateFileInfo(newFileInfo, filename); | ||
var data = fs.readFileSync(filename, 'utf-8'); | ||
@@ -68,8 +78,10 @@ callback(null, data, filename, newFileInfo); | ||
} | ||
} | ||
}; | ||
var resultcb = cb || this.callback; | ||
less.render(input, { | ||
filename: this.resource, | ||
filename: normalizePath(this.resource), | ||
paths: [], | ||
relativeUrls: true, | ||
rootpath: normalizePath(this.context) + "/", | ||
compress: !!this.minimize | ||
@@ -81,16 +93,15 @@ }, function(e, result) { | ||
} | ||
function urlToRequire(url) { | ||
if(/^~/.test(url)) | ||
return url.substring(1); | ||
else | ||
return "./"+url; | ||
} | ||
function updateFileInfo(fileInfo, rootContext, filename) { | ||
function updateFileInfo(fileInfo, filename) { | ||
fileInfo.filename = filename; | ||
fileInfo.currentDirectory = path.dirname(filename); | ||
fileInfo.rootpath = "./"; | ||
var relativePath = path.relative(rootContext, fileInfo.currentDirectory); | ||
if(relativePath) { | ||
fileInfo.rootpath += relativePath + "/"; | ||
fileInfo.rootpath = path.relative(fileInfo.rootpath, fileInfo.currentDirectory).replace(/\\/g, "/") + "/"; | ||
} | ||
function normalizePath(path) { | ||
if (path.sep === "\\") { | ||
path = path.replace(backslash, "/"); | ||
} | ||
return path; | ||
} |
{ | ||
"name": "less-loader", | ||
"version": "0.7.2", | ||
"author": "Tobias Koppers @sokra", | ||
"description": "less loader module for webpack", | ||
"peerDependencies": { | ||
"less": "^1.5" | ||
}, | ||
"licenses": [ | ||
{ | ||
"type": "MIT", | ||
"url": "http://www.opensource.org/licenses/mit-license.php" | ||
} | ||
] | ||
"name": "less-loader", | ||
"version": "0.7.3", | ||
"author": "Tobias Koppers @sokra", | ||
"description": "less loader module for webpack", | ||
"scripts": { | ||
"test": "node node_modules/mocha/bin/mocha -R spec" | ||
}, | ||
"peerDependencies": { | ||
"less": "^1.5" | ||
}, | ||
"devDependencies": { | ||
"should": "^3.3.1", | ||
"mocha": "^1.18.2", | ||
"less": "^1.5", | ||
"webpack": "^1.1.8", | ||
"raw-loader": "^0.5.1", | ||
"enhanced-require": "^0.5.0-beta6" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git://github.com/webpack/less-loader.git" | ||
}, | ||
"licenses": [ | ||
{ | ||
"type": "MIT", | ||
"url": "http://www.opensource.org/licenses/mit-license.php" | ||
} | ||
], | ||
"dependencies": { | ||
"loader-utils": "^0.2.2" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
7847
19
185
2
6
+ Addedloader-utils@^0.2.2
+ Addedbig.js@3.2.0(transitive)
+ Addedemojis-list@2.1.0(transitive)
+ Addedjson5@0.5.1(transitive)
+ Addedloader-utils@0.2.17(transitive)
+ Addedobject-assign@4.1.1(transitive)