Skip to content

Instantly share code, notes, and snippets.

@peutetre
Created October 14, 2014 19:56
Show Gist options
  • Save peutetre/ab74062c2bb14f49889f to your computer and use it in GitHub Desktop.
Save peutetre/ab74062c2bb14f49889f to your computer and use it in GitHub Desktop.
var browserify = require('browserify');
var path = require('path');
var fs = require('fs');
var tmp = require('tmp');
var b = browserify();
var output = path.join(__dirname, 'test.js');
var src = path.join(__dirname, 'main.js');
var ws = fs.createWriteStream(output);
tmp.file({ prefix: 'settings-', postfix: '.json' }, function (err, tmpFilePath) {
if (err) {
console.log(err);
return;
}
fs.writeFileSync(tmpFilePath, "{\"test\":1}");
console.log(tmpFilePath);
b.add(src)
.require(tmpFilePath, { expose : 'settings' })
.bundle()
.pipe(ws);
ws.on('finish', function() {
tmp.setGracefulCleanup();
});
});
var settings = require('settings');

Bug description:

on win32. We assume to exec node index.js in the test\test folder of the Z: drive. tmp creates a temp file in the C: drive

With browserify 6.1.0 we get the following output:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: Cannot find module 'settings' from 'Z:\test\test'
    at Z:\test\test\node_modules\browserify\node_modules\resolve\lib\async.js:51:17
    at process (Z:\test\test\node_modules\browserify\node_modules\resolve\lib\async.js:120:43)
    at Z:\test\test\node_modules\browserify\node_modules\resolve\lib\async.js:129:21
    at load (Z:\test\test\node_modules\browserify\node_modules\resolve\lib\async.js:61:43)
    at Z:\test\test\node_modules\browserify\node_modules\resolve\lib\async.js:67:22
    at Z:\test\test\node_modules\browserify\node_modules\resolve\lib\async.js:21:47
    at Object.oncomplete (fs.js:107:15)

This was working on win32 till version 5.13.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment