Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/rewire.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Ewald <mail@johannesewald.de>2013-02-12 18:25:31 +0400
committerJohannes Ewald <mail@johannesewald.de>2013-02-12 18:25:31 +0400
commit806e4bb3cc4f713bfaaaccce157bfc6677d5e278 (patch)
tree810578f5fa869c88545eec9e377fd83c363c6b89
parent7b21f0f1f0284aa6a935d0767709e294168c1268 (diff)
- Improved client-side rewire() with webpack
- Fixed webpack-version in "devDependencies"
-rw-r--r--CHANGELOG.md3
-rw-r--r--lib/bundlers/webpack/webpackRewire.js30
-rw-r--r--package.json4
3 files changed, 9 insertions, 28 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4a75fd4..f3b9ae1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
##Changelog
+###v1.0.4
+- Improved client-side rewire() with webpack
+
###v1.0.3
- Fixed error with client-side bundlers when a module was ending with a comment
diff --git a/lib/bundlers/webpack/webpackRewire.js b/lib/bundlers/webpack/webpackRewire.js
index 521cf26..db78302 100644
--- a/lib/bundlers/webpack/webpackRewire.js
+++ b/lib/bundlers/webpack/webpackRewire.js
@@ -7,35 +7,13 @@ var requireInDisguise;
eval("requireInDisguise = require");
-function getId(module) {
- var index = registry.modules.indexOf(module);
-
- return registry.id[index] || null;
-}
-
-function getIdFromCache(module) {
+function getModuleId(exports) {
var cache = require.cache,
id;
for (id in cache) {
if (cache.hasOwnProperty(id)) {
- if (cache[id] === module) {
- return Number(id);
- }
- }
- }
-
- return null;
-}
-
-function getIdByExportsObj(moduleExports) {
- var id,
- entry;
-
- for (id in registry) {
- if (registry.hasOwnProperty(id)) {
- entry = registry[id];
- if (entry.module.exports === moduleExports) {
+ if (cache[id].exports === exports) {
return Number(id);
}
}
@@ -45,7 +23,7 @@ function getIdByExportsObj(moduleExports) {
}
function webpackRewire(path, moduleExports) {
- var id = getIdByExportsObj(moduleExports),
+ var id = getModuleId(moduleExports),
previousRegistryEntry,
cachedModule,
rewiredModule,
@@ -75,7 +53,7 @@ function webpackRewire(path, moduleExports) {
}
webpackRewire.register = function (module, setter, getter) {
- var id = getIdFromCache(module);
+ var id = module.id;
registry[id] = {
module: module,
diff --git a/package.json b/package.json
index 540275c..d20733e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name" : "rewire",
- "version" : "1.0.3",
+ "version" : "1.0.4",
"description" : "Dependency injection for node.js applications",
"keywords" : [
"dependency",
@@ -33,7 +33,7 @@
"mocha": "1.x",
"expect.js": "0.x",
"browserify": "1.x",
- "webpack": "0.x"
+ "webpack": "0.8.x"
},
"scripts" : {
"test" : "node node_modules/mocha/bin/mocha -R spec"