optional dependencies should be loaded in a try-catch so they are actually optional

This commit is contained in:
Luke Page
2013-01-11 22:29:46 +00:00
parent 6308dc06bd
commit 3f9d01ac2f
2 changed files with 13 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
var path = require('path'),
sys = require('util'),
url = require('url'),
request = require('request'),
request,
fs = require('fs');
var less = {
@@ -137,7 +137,10 @@ less.Parser.importer = function (file, paths, callback, env) {
var isUrl = isUrlRe.test( file );
if (isUrl || isUrlRe.test(paths[0])) {
if (request === undefined) {
try { request = require('request'); }
catch(e) { request = null; }
}
if (!request) {
callback({ type: 'File', message: "optional dependency 'request' required to import over http(s)\n" });
return;