Socket
Socket
Sign inDemoInstall

module-deps

Package Overview
Dependencies
8
Maintainers
1
Versions
139
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.0 to 1.2.1

test/files/tr_module/index.js

72

index.js

@@ -10,2 +10,3 @@ var fs = require('fs');

var concat = require('concat-stream');
var parents = require('parents');

@@ -52,7 +53,5 @@ module.exports = function (mains, opts) {

var pkgfile = path.join(path.dirname(main), 'package.json');
fs.readFile(pkgfile, function (err, src) {
if (err) return done();
try { var pkg = JSON.parse(src) }
catch (err) { return done() }
lookupPkg(main, function (err, pkg) {
if (!pkg) pkg = {};
if (!pkg.__dirname) pkg.__dirname = path.dirname(id);
pkgCache[id] = pkg;

@@ -112,7 +111,12 @@ done();

if (opts.packageFilter) parent.packageFilter = opts.packageFilter;
var pkgdir;
parent.packageFilter = function (p, x) {
pkgdir = x;
if (opts.packageFilter) return opts.packageFilter(p, x);
else return p;
};
if (opts.extensions) parent.extensions = opts.extensions;
if (opts.modules) parent.modules = opts.modules;
resolver(id, parent, function (err, file, pkg) {
resolver(id, parent, function f (err, file, pkg) {
if (err) return output.emit('error', err);

@@ -124,2 +128,13 @@ if (!file) return output.emit('error', new Error([

if (pkg && pkgdir) pkg.__dirname = pkgdir;
if (!pkg || !pkg.__dirname) {
lookupPkg(file, function (err, p) {
if (!p) p = {};
if (!p.__dirname) p.__dirname = path.dirname(file);
pkgCache[file] = p;
f(err, file, p);
});
return;
}
if (cb) cb(file);

@@ -159,6 +174,10 @@ if (visited[file]) {

var n = pkg;
opts.transformKey.forEach(function (key) {
if (n && typeof n === 'object') n = n[key];
});
trx = [].concat(n).filter(Boolean);
var keys = opts.transformKey;
for (var i = 0; i < keys.length; i++) {
if (n && typeof n === 'object') n = n[keys[i]];
else break;
}
if (i === keys.length) {
trx = [].concat(n).filter(Boolean);
}
}

@@ -178,3 +197,10 @@ return trx.concat(opts.globalTransform || []);

if (trs.length === 0) return done();
makeTransform(file, trs[0], function (err, s) {
makeTransform(file, trs[0], function f (err, s) {
if (err && pkg && pkg.__dirname) {
var t = path.resolve(pkg.__dirname, trs[0]);
return makeTransform(file, t, function (e, s_) {
if (e) output.emit('error', e);
else f(null, s_);
});
}
if (err) return output.emit('error', err);

@@ -268,5 +294,25 @@

cb(null, require(res)(file));
var r = require(res);
if (typeof r !== 'function') {
cb(new Error('transform not a function'));
}
else cb(null, r(file));
});
}
};
function lookupPkg (file, cb) {
var dirs = parents(path.dirname(file));
(function next () {
if (dirs.length === 0) return cb(null, undefined);
var dir = dirs.shift();
var pkgfile = path.join(dir, 'package.json');
fs.readFile(pkgfile, function (err, src) {
if (err) return next();
try { var pkg = JSON.parse(src) }
catch (err) { return cb(err) }
pkg.__dirname = dir;
cb(null, pkg);
});
})();
}

7

package.json
{
"name": "module-deps",
"version": "1.2.0",
"version": "1.2.1",
"description": "walk the dependency graph to generate json output that can be fed into browser-pack",

@@ -12,7 +12,8 @@ "main": "index.js",

"JSONStream": "~0.7.1",
"browser-resolve": "~1.2.1",
"browser-resolve": "~1.2.2",
"resolve": "~0.6.0",
"detective": "~2.1.2",
"concat-stream": "~1.3.1",
"minimist": "~0.0.5"
"minimist": "~0.0.5",
"parents": "0.0.2"
},

@@ -19,0 +20,0 @@ "devDependencies": {

@@ -8,1 +8,2 @@ var f = require('./f.js');

t.equal(typeof GGG, 'undefined', 'GGG leak');
t.equal(XXX, 123, 'XXX');

@@ -7,3 +7,3 @@ var mdeps = require('../');

test('transform', function (t) {
t.plan(3);
t.plan(4);
var p = mdeps(__dirname + '/files/tr_module/main.js', {

@@ -10,0 +10,0 @@ transform: [ 'insert-aaa', 'insert-bbb' ],

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc