Socket
Socket
Sign inDemoInstall

resolve

Package Overview
Dependencies
9
Maintainers
2
Versions
95
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.22.0 to 1.22.1

test/resolver/false_main/index.js

2

lib/async.js

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

var realpathFS = fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;
var realpathFS = process.platform !== 'win32' && fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;

@@ -12,0 +12,0 @@ var homedir = getHomedir();

@@ -115,2 +115,3 @@ {

"node:sys": [">= 14.18 && < 15", ">= 16"],
"node:test": ">= 18",
"timers": true,

@@ -117,0 +118,0 @@ "node:timers": [">= 14.18 && < 15", ">= 16"],

@@ -9,3 +9,3 @@ var isCore = require('is-core-module');

var realpathFS = fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;
var realpathFS = process.platform !== 'win32' && fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;

@@ -12,0 +12,0 @@ var homedir = getHomedir();

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

@@ -20,2 +20,3 @@ "type": "git",

"scripts": {
"prepack": "npmignore --auto --commentLines=autogenerated",
"prepublishOnly": "safe-publish-latest && cp node_modules/is-core-module/core.json ./lib/ ||:",

@@ -33,3 +34,3 @@ "prepublish": "not-in-publish || npm run prepublishOnly",

"devDependencies": {
"@ljharb/eslint-config": "^20.2.0",
"@ljharb/eslint-config": "^21.0.0",
"array.prototype.map": "^1.0.4",

@@ -39,11 +40,13 @@ "aud": "^2.0.0",

"eclint": "^2.8.1",
"eslint": "^8.7.0",
"eslint": "=8.8.0",
"in-publish": "^2.0.1",
"mkdirp": "^0.5.5",
"mv": "^2.1.1",
"npmignore": "^0.3.0",
"object-keys": "^1.1.1",
"rimraf": "^2.7.1",
"safe-publish-latest": "^2.0.0",
"semver": "^6.3.0",
"tap": "0.4.13",
"tape": "^5.4.1",
"tape": "^5.5.3",
"tmp": "^0.0.31"

@@ -61,6 +64,12 @@ },

"dependencies": {
"is-core-module": "^2.8.1",
"is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
"publishConfig": {
"ignore": [
".github/workflows",
"appveyor.yml"
]
}
}
var test = require('tape');
var keys = require('object-keys');
var semver = require('semver');
var resolve = require('../');
var brokenNode = semver.satisfies(process.version, '11.11 - 11.13');
test('core modules', function (t) {

@@ -25,6 +29,9 @@ t.test('isCore()', function (st) {

var mod = cores[i];
// note: this must be require, not require.resolve, due to https://github.com/nodejs/node/issues/43274
var requireFunc = function () { require(mod); }; // eslint-disable-line no-loop-func
console.log(mod, resolve.core, resolve.core[mod]);
t.comment(mod + ': ' + resolve.core[mod]);
if (resolve.core[mod]) {
st.doesNotThrow(requireFunc, mod + ' supported; requiring does not throw');
} else if (brokenNode) {
st.ok(true, 'this version of node is broken: attempting to require things that fail to resolve breaks "home_paths" tests');
} else {

@@ -31,0 +38,0 @@ st.throws(requireFunc, mod + ' not supported; requiring throws');

@@ -9,3 +9,3 @@ var path = require('path');

var requireResolveSupportsPaths = require.resolve.length > 1
&& (/^12\.[012]\./).test(process.version); // broken in v12.0-12.2, see https://github.com/nodejs/node/issues/27794
&& !(/^v12\.[012]\./).test(process.version); // broken in v12.0-12.2, see https://github.com/nodejs/node/issues/27794

@@ -313,2 +313,83 @@ test('`./sync` entry point', function (t) {

test('missing index', function (t) {
t.plan(requireResolveSupportsPaths ? 2 : 1);
var resolverDir = path.join(__dirname, 'resolver');
try {
resolve.sync('./missing_index', { basedir: resolverDir });
t.fail('did not fail');
} catch (err) {
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
}
if (requireResolveSupportsPaths) {
try {
require.resolve('./missing_index', { basedir: resolverDir });
t.fail('require.resolve did not fail');
} catch (err) {
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
}
}
});
test('missing main', function (t) {
var resolverDir = path.join(__dirname, 'resolver');
try {
resolve.sync('./missing_main', { basedir: resolverDir });
t.fail('require.resolve did not fail');
} catch (err) {
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
}
if (requireResolveSupportsPaths) {
try {
resolve.sync('./missing_main', { basedir: resolverDir });
t.fail('require.resolve did not fail');
} catch (err) {
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
}
}
t.end();
});
test('null main', function (t) {
var resolverDir = path.join(__dirname, 'resolver');
try {
resolve.sync('./null_main', { basedir: resolverDir });
t.fail('require.resolve did not fail');
} catch (err) {
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
}
if (requireResolveSupportsPaths) {
try {
resolve.sync('./null_main', { basedir: resolverDir });
t.fail('require.resolve did not fail');
} catch (err) {
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
}
}
t.end();
});
test('main: false', function (t) {
var basedir = path.join(__dirname, 'resolver');
var dir = path.join(basedir, 'false_main');
t.equal(
resolve.sync('./false_main', { basedir: basedir }),
path.join(dir, 'index.js'),
'`"main": false`: resolves to `index.js`'
);
if (requireResolveSupportsPaths) {
t.equal(
resolve.sync('./false_main', { basedir: basedir }),
require.resolve('./false_main', { paths: [basedir] }),
'`"main": false`: resolve.sync === require.resolve'
);
}
t.end();
});
var stubStatSync = function stubStatSync(fn) {

@@ -315,0 +396,0 @@ var statSync = fs.statSync;

@@ -293,2 +293,51 @@ var path = require('path');

test('missing index', function (t) {
t.plan(2);
var resolverDir = path.join(__dirname, 'resolver');
resolve('./missing_index', { basedir: resolverDir }, function (err, res, pkg) {
t.ok(err instanceof Error);
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
});
});
test('missing main', function (t) {
t.plan(1);
var resolverDir = path.join(__dirname, 'resolver');
resolve('./missing_main', { basedir: resolverDir }, function (err, res, pkg) {
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
});
});
test('null main', function (t) {
t.plan(1);
var resolverDir = path.join(__dirname, 'resolver');
resolve('./null_main', { basedir: resolverDir }, function (err, res, pkg) {
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
});
});
test('main: false', function (t) {
t.plan(2);
var basedir = path.join(__dirname, 'resolver');
var dir = path.join(basedir, 'false_main');
resolve('./false_main', { basedir: basedir }, function (err, res, pkg) {
if (err) t.fail(err);
t.equal(
res,
path.join(dir, 'index.js'),
'`"main": false`: resolves to `index.js`'
);
t.deepEqual(pkg, {
name: 'false_main',
main: false
});
});
});
test('without basedir', function (t) {

@@ -295,0 +344,0 @@ t.plan(1);

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc