Socket
Socket
Sign inDemoInstall

resolve

Package Overview
Dependencies
Maintainers
2
Versions
95
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

resolve - npm Package Compare versions

Comparing version 1.14.2 to 1.15.0

1

index.js

@@ -6,3 +6,2 @@ var async = require('./lib/async');

exports = async;
module.exports = async;

22

lib/async.js

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

var getPackageCandidates = function getPackageCandidates(x, start, opts) {
var dirs = nodeModulesPaths(start, opts, x);
for (var i = 0; i < dirs.length; i++) {
dirs[i] = path.join(dirs[i], x);
}
return dirs;
};
module.exports = function resolve(x, options, callback) {

@@ -59,2 +67,3 @@ var cb = callback;

var readFile = opts.readFile || fs.readFile;
var packageIterator = opts.packageIterator;

@@ -256,3 +265,3 @@ var extensions = opts.extensions || ['.js'];

isDirectory(dir, isdir);
isDirectory(path.dirname(dir), isdir);

@@ -262,4 +271,3 @@ function isdir(err, isdir) {

if (!isdir) return processDirs(cb, dirs.slice(1));
var file = path.join(dir, x);
loadAsFile(file, opts.package, onfile);
loadAsFile(dir, opts.package, onfile);
}

@@ -270,3 +278,3 @@

if (m) return cb(null, m, pkg);
loadAsDirectory(path.join(dir, x), opts.package, ondir);
loadAsDirectory(dir, opts.package, ondir);
}

@@ -281,4 +289,8 @@

function loadNodeModules(x, start, cb) {
processDirs(cb, nodeModulesPaths(start, opts, x));
var thunk = function () { return getPackageCandidates(x, start, opts); };
processDirs(
cb,
packageIterator ? packageIterator(x, start, thunk, opts) : thunk()
);
}
};

@@ -41,3 +41,11 @@ var isCore = require('./is-core');

module.exports = function (x, options) {
var getPackageCandidates = function getPackageCandidates(x, start, opts) {
var dirs = nodeModulesPaths(start, opts, x);
for (var i = 0; i < dirs.length; i++) {
dirs[i] = path.join(dirs[i], x);
}
return dirs;
};
module.exports = function resolveSync(x, options) {
if (typeof x !== 'string') {

@@ -51,2 +59,3 @@ throw new TypeError('Path must be a string.');

var isDirectory = opts.isDirectory || defaultIsDir;
var packageIterator = opts.packageIterator;

@@ -163,9 +172,11 @@ var extensions = opts.extensions || ['.js'];

function loadNodeModulesSync(x, start) {
var dirs = nodeModulesPaths(start, opts, x);
var thunk = function () { return getPackageCandidates(x, start, opts); };
var dirs = packageIterator ? packageIterator(x, start, thunk, opts) : thunk();
for (var i = 0; i < dirs.length; i++) {
var dir = dirs[i];
if (isDirectory(dir)) {
var m = loadAsFileSync(path.join(dir, '/', x));
if (isDirectory(path.dirname(dir))) {
var m = loadAsFileSync(dir);
if (m) return m;
var n = loadAsDirectorySync(path.join(dir, '/', x));
var n = loadAsDirectorySync(dir);
if (n) return n;

@@ -172,0 +183,0 @@ }

{
"name": "resolve",
"description": "resolve like require.resolve() on behalf of files asynchronously and synchronously",
"version": "1.14.2",
"version": "1.15.0",
"repository": {

@@ -27,9 +27,9 @@ "type": "git",

"devDependencies": {
"@ljharb/eslint-config": "^15.0.2",
"@ljharb/eslint-config": "^15.1.0",
"array.prototype.map": "^1.0.2",
"eslint": "^6.7.2",
"eslint": "^6.8.0",
"object-keys": "^1.1.1",
"safe-publish-latest": "^1.1.4",
"tap": "0.4.13",
"tape": "^4.12.0"
"tape": "^5.0.0-next.4"
},

@@ -36,0 +36,0 @@ "license": "MIT",

@@ -175,2 +175,17 @@ var path = require('path');

test('path iterator', function (t) {
var resolverDir = path.join(__dirname, 'resolver');
var exactIterator = function (x, start, getPackageCandidates, opts) {
return [path.join(resolverDir, x)];
};
t.equal(
resolve.sync('baz', { packageIterator: exactIterator }),
path.join(resolverDir, 'baz/quux.js')
);
t.end();
});
test('incorrect main', function (t) {

@@ -177,0 +192,0 @@ var resolverDir = path.join(__dirname, 'resolver');

@@ -259,2 +259,18 @@ var path = require('path');

test('path iterator', function (t) {
t.plan(2);
var resolverDir = path.join(__dirname, 'resolver');
var exactIterator = function (x, start, getPackageCandidates, opts) {
return [path.join(resolverDir, x)];
};
resolve('baz', { packageIterator: exactIterator }, function (err, res, pkg) {
if (err) t.fail(err);
t.equal(res, path.join(resolverDir, 'baz/quux.js'));
t.equal(pkg && pkg.name, 'baz');
});
});
test('incorrect main', function (t) {

@@ -261,0 +277,0 @@ t.plan(1);

{
"name": "baz",
"main": "quux.js"
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc