From 806e4bb3cc4f713bfaaaccce157bfc6677d5e278 Mon Sep 17 00:00:00 2001 From: Johannes Ewald Date: Tue, 12 Feb 2013 15:25:31 +0100 Subject: - Improved client-side rewire() with webpack - Fixed webpack-version in "devDependencies" --- CHANGELOG.md | 3 +++ lib/bundlers/webpack/webpackRewire.js | 30 ++++-------------------------- package.json | 4 ++-- 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" -- cgit v1.2.3