In io.js@2.2.0 were changes with require — nodejs/node#1801
For real file system require works well, but with mock-fs fail with error.
How to reproduce:
var path = require('path'),
fs = require('fs'),
mock = require('mock-fs');
mock({
'file.js': 'module.exports = 10;'
});
var filename = path.resolve('file.js'),
contents = fs.readFileSync(filename, 'utf-8');
// File exists
console.log(contents); // module.exports = 10;
var val = require(filename); // throw error
console.log(val);
Expected:
Actual:
module.js:334
throw err;
^
Error: Cannot find module '/Users/blond/projects/mock-test/file.js'
at Function.Module._resolveFilename (module.js:332:15)
at Function.Module._load (module.js:282:25)
at Module.require (module.js:361:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/blond/projects/mock-test/index.js:14:11)
at Module._compile (module.js:426:26)
at Object.Module._extensions..js (module.js:444:10)
at Module.load (module.js:351:32)
at Function.Module._load (module.js:306:12)
at Function.Module.runMain (module.js:467:10)
In
io.js@2.2.0were changes withrequire— nodejs/node#1801For real file system
requireworks well, but withmock-fsfail with error.How to reproduce:
Expected:
Actual: