Open
Description
Hi, Ive noticed an issue that arises when using this package alongside npm link
or yarn link
- when resolving from a linked dependency's directory as basedir
, this package will resolve to a module in the linked packages node_modules
. This is in contrast to Node's require.resolve
, which will resolve to the root level node_modules
(same as if the package wasn't linked).
For example, if resolve-example
depends on a package test-pkg
, test-pkg
itself depends on lodash
, and I link resolve-example
to test-pkg
using yarn link
, here's what I see after running the following
const resolve = require('resolve/sync')
let opts = { basedir: '/Users/jacksonchristoffersen/resolve-example/node_modules/test-pkg', preserveSymlinks: true }
console.log(require.resolve('lodash', opts))
// /Users/jacksonchristoffersen/resolve-example/node_modules/lodash/lodash.js
console.log(resolve('lodash', opts))
// /Users/jacksonchristoffersen/resolve-example/node_modules/test-pkg/node_modules/lodash/lodash.js
opts = { basedir: '/Users/jacksonchristoffersen/resolve-example/node_modules/test-pkg', preserveSymlinks: false }
console.log(require.resolve('lodash', opts))
// /Users/jacksonchristoffersen/resolve-example/node_modules/lodash/lodash.js
console.log(resolve('lodash', opts))
// /Users/jacksonchristoffersen/test-pkg/node_modules/lodash/lodash.js
I'd expect these results to match for each value of opts
Metadata
Assignees
Labels
No labels
Activity