try {
var jsonPath = path.resolve(requestPath, 'package.json');
var json = fs.readFileSync(jsonPath, 'utf8');
- var pkg = packageCache[requestPath] = JSON.parse(json);
- return pkg;
- } catch (e) {}
+ } catch (e) {
+ return false;
+ }
- return false;
+ try {
+ var pkg = packageCache[requestPath] = JSON.parse(json);
+ } catch (e) {
+ e.path = jsonPath;
+ e.message = 'Error parsing ' + jsonPath + ': ' + e.message;
+ throw e;
+ }
+ return pkg;
}
function tryPackage(requestPath, exts) {
// In order to minimize unnecessary lstat() calls,
// this cache is a list of known-real paths.
// Set to an empty object to reset.
-Module._realpathCache = {}
+Module._realpathCache = {};
// check if the file exists and is not a directory
function tryFile(requestPath) {
var paths = [];
var parts = from.split(splitRe);
- for (var tip = parts.length - 1; tip >= 0; tip --) {
+ for (var tip = parts.length - 1; tip >= 0; tip--) {
// don't search in .../node_modules/node_modules
if (parts[tip] === 'node_modules') continue;
var dir = parts.slice(0, tip + 1).concat('node_modules').join(joiner);
}
return paths;
-}
+};
Module._resolveLookupPaths = function(request, parent) {
Object.defineProperty(require, 'paths', { get: function() {
throw new Error('require.paths is removed. Use ' +
- 'node_modules folders, or the NODE_PATH '+
+ 'node_modules folders, or the NODE_PATH ' +
'environment variable instead.');
}});
// Native extension for .json
-Module._extensions['.json'] = function (module, filename) {
+Module._extensions['.json'] = function(module, filename) {
var content = NativeModule.require('fs').readFileSync(filename, 'utf8');
module.exports = JSON.parse(stripBOM(content));
};