diff options
author | Johannes <mail@johannesewald.de> | 2012-06-06 04:27:48 +0400 |
---|---|---|
committer | Johannes <mail@johannesewald.de> | 2012-06-06 04:27:48 +0400 |
commit | a7be4a9f1fffffe8e2b2aa45add8b8a6b3cc5ad7 (patch) | |
tree | b143e8c21b73ed9df482ac6b29de3ec122d7b56b | |
parent | 9d368a2f0d328092781b5282001196d59f8fc160 (diff) |
added support for older node versionsv0.1.3
-rw-r--r-- | README.md | 9 | ||||
-rw-r--r-- | lib/rewire.js | 7 | ||||
-rw-r--r-- | package.json | 4 |
3 files changed, 14 insertions, 6 deletions
@@ -13,10 +13,6 @@ rewire does **not** load the file and eval the contents to emulate node's requir **Debugging is fully supported.**
-##Important note:
-
-rewire works currently only with node >=0.6.15. In doubt run `npm test`.
-
-----------------------------------------------------------------
<br />
@@ -25,6 +21,11 @@ Installation `npm install rewire`
+### For older node versions
+
+rewire is tested with node 0.6.x. I recommend to run the unit tests via `mocha` in the rewire-folder before
+using rewire with older node versions.
+
-----------------------------------------------------------------
<br />
diff --git a/lib/rewire.js b/lib/rewire.js index 3de8418..33f5d22 100644 --- a/lib/rewire.js +++ b/lib/rewire.js @@ -36,6 +36,13 @@ function rewire(parentModule, filename, mocks, injections, leaks, cache) { // Init vars
filename = Module._resolveFilename(filename, parentModule); // resolve full filename relative to the parent module
+
+ // Special support for older node versions that returned an array on Module._resolveFilename
+ // @see https://github.com/joyent/node/blob/865b077819a9271a29f982faaef99dc635b57fbc/lib/module.js#L319
+ if (Array.isArray(filename)) {
+ filename = filename[1];
+ }
+
testModule = new Module(filename, parentModule);
nodeRequire = testModule.require; // caching original node require
diff --git a/package.json b/package.json index 774ba95..6048f87 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ {
"name" : "rewire",
- "version" : "0.1.2",
+ "version" : "0.1.3",
"description" : "Dependency injection for node.js applications",
"keywords" : [
"dependency",
@@ -25,7 +25,7 @@ "url": "git://github.com/jhnns/rewire.git"
},
"engines" : {
- "node" : ">=0.6.15"
+ "node" : "0.6.x"
},
"dependencies": {
"toSrc": "0.1.x"
|