browserify / browserify/module-deps
module-deps seems incompatible with node-resolve
- Dominant language
- JavaScript
- Stars
- 208
- Forks
- 102
- PR merge metrics
- No merged PRs in 30d
Description
See https://stackoverflow.com/q/51347558/1198896 for the detailed background, but basically, given the following minimal testcase:
`test.js`:
```js
require('./test2.js');
```
`test2.js`: (empty)
`test3.js`:
```js
var resolve = require('resolve'),
mdeps = require('module-deps'),
through2 = require('through2');
var md = mdeps({
resolve: resolve
});
md.end(require.resolve('./test.js'));
```
Running `test3.js` creates this output:
```
events.js:183
throw er; // Unhandled 'error' event
^
Error: Cannot find module './test2.js' from '/Users/alex/Development/audittool/test.js'
at /Users/alex/Development/audittool/node_modules/resolve/lib/async.js:65:35
at load (/Users/alex/Development/audittool/node_modules/resolve/lib/async.js:84:43)
at onex (/Users/alex/Development/audittool/node_modules/resolve/lib/async.js:109:17)
at /Users/alex/Development/audittool/node_modules/resolve/lib/async.js:12:69
at FSReqWrap.oncomplete (fs.js:152:21)
```
The problem seems to be that `node-resolve` is not getting the correct `basedir` in its options object. Modifying `node_modules/module-deps/index.js` to insert `if (parent.package) parent.basedir = parent.package.__dirname;` on line 170 (right before the `self.resolver()` call) appears to fix this issue. I would PR but I don't know the source well enough to judge whether that's actually the correct place.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.