mirror of
https://github.com/less/less.js.git
synced 2026-01-22 21:58:14 -05:00
optional dependencies should be loaded in a try-catch so they are actually optional
This commit is contained in:
11
bin/lessc
11
bin/lessc
@@ -2,9 +2,9 @@
|
||||
|
||||
var path = require('path'),
|
||||
fs = require('fs'),
|
||||
mkdirp = require('mkdirp'),
|
||||
sys = require('util'),
|
||||
os = require('os');
|
||||
os = require('os'),
|
||||
mkdirp;
|
||||
|
||||
var less = require('../lib/less');
|
||||
var args = process.argv.slice(1);
|
||||
@@ -129,9 +129,14 @@ if (! input) {
|
||||
|
||||
var ensureDirectory = function (filepath) {
|
||||
var dir = path.dirname(filepath),
|
||||
cmd = mkdirp && mkdirp.sync || fs.mkdirSync,
|
||||
cmd,
|
||||
existsSync = fs.existsSync || path.existsSync;
|
||||
if (!existsSync(dir)) {
|
||||
if (mkdirp === undefined) {
|
||||
try {mkdirp = require('mkdirp');}
|
||||
catch(e) { mkdirp = null; }
|
||||
}
|
||||
cmd = mkdirp && mkdirp.sync || fs.mkdirSync;
|
||||
cmd(dir);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user