resolve
Advanced tools
Comparing version 1.22.0 to 1.22.1
@@ -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); |
145879
99
3313
17
Updatedis-core-module@^2.9.0