Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a7be4a9

Browse files
committed
added support for older node versions
1 parent 9d368a2 commit a7be4a9

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ rewire does **not** load the file and eval the contents to emulate node's requir
1313

1414
**Debugging is fully supported.**
1515

16-
##Important note:
17-
18-
rewire works currently only with node >=0.6.15. In doubt run `npm test`.
19-
2016
-----------------------------------------------------------------
2117
<br />
2218

@@ -25,6 +21,11 @@ Installation
2521

2622
`npm install rewire`
2723

24+
### For older node versions
25+
26+
rewire is tested with node 0.6.x. I recommend to run the unit tests via `mocha` in the rewire-folder before
27+
using rewire with older node versions.
28+
2829
-----------------------------------------------------------------
2930
<br />
3031

lib/rewire.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,13 @@ function rewire(parentModule, filename, mocks, injections, leaks, cache) {
3636

3737
// Init vars
3838
filename = Module._resolveFilename(filename, parentModule); // resolve full filename relative to the parent module
39+
40+
// Special support for older node versions that returned an array on Module._resolveFilename
41+
// @see https://github.com/joyent/node/blob/865b077819a9271a29f982faaef99dc635b57fbc/lib/module.js#L319
42+
if (Array.isArray(filename)) {
43+
filename = filename[1];
44+
}
45+
3946
testModule = new Module(filename, parentModule);
4047
nodeRequire = testModule.require; // caching original node require
4148

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name" : "rewire",
3-
"version" : "0.1.2",
3+
"version" : "0.1.3",
44
"description" : "Dependency injection for node.js applications",
55
"keywords" : [
66
"dependency",
@@ -25,7 +25,7 @@
2525
"url": "git://github.com/jhnns/rewire.git"
2626
},
2727
"engines" : {
28-
"node" : ">=0.6.15"
28+
"node" : "0.6.x"
2929
},
3030
"dependencies": {
3131
"toSrc": "0.1.x"

0 commit comments

Comments
 (0)