From c5d8fab07f0edc568e45e0747f863afd5876abc2 Mon Sep 17 00:00:00 2001 From: Johannes Date: Sat, 18 Aug 2012 16:34:13 +0200 Subject: - Introduced webpack bundler for rewire (work in progress, some tests are not running) --- lib/index.js | 57 ++++++++++++++++++++++++--------------------------------- 1 file changed, 24 insertions(+), 33 deletions(-) (limited to 'lib/index.js') diff --git a/lib/index.js b/lib/index.js index 491599a..4105917 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,33 +1,24 @@ -var rewireModule; - -/** - * Adds a special setter and getter to the module located at filename. After the module has been rewired, you can - * call myModule.__set__(name, value) and myModule.__get__(name) to manipulate private variables. - * - * @param {!String} filename Path to the module that shall be rewired. Use it exactly like require(). - * @param {Boolean} cache Indicates whether the rewired module should be cached by node so subsequent calls of require() will return the rewired module. Subsequent calls of rewire() will always overwrite the cache. - * @return {*} the rewired module - */ -function rewire(filename, cache) { - if (cache === undefined) { - cache = true; - } - - return rewireModule(module.parent, filename, cache); -} - -// Conditional require for different environments -if (process.title === "browser") { - module.exports = require("./browserify/browserifyRewire.js"); -} else { - delete require.cache[__filename]; // deleting self from module cache so the parent module is always up to date - - // Putting (require) within brackets is a hack to disable browserify's require sniffing - // @see https://github.com/substack/node-browserify/issues/132#issuecomment-5281470 - rewireModule = (require)("./internalRewire.js"); - - rewire.reset = rewireModule.reset; - rewire.browserify = (require)("./browserify/browserifyMiddleware.js"); - - module.exports = rewire; -} +var rewireModule = require("./internalRewire.js"); + +/** + * Adds a special setter and getter to the module located at filename. After the module has been rewired, you can + * call myModule.__set__(name, value) and myModule.__get__(name) to manipulate private variables. + * + * @param {!String} filename Path to the module that shall be rewired. Use it exactly like require(). + * @param {Boolean} cache Indicates whether the rewired module should be cached by node so subsequent calls of require() will return the rewired module. Subsequent calls of rewire() will always overwrite the cache. + * @return {*} the rewired module + */ +function rewire(filename, cache) { + if (cache === undefined) { + cache = true; + } + + return rewireModule(module.parent, filename, cache); +} + +rewire.reset = rewireModule.reset; +rewire.browserify = require("./bundlers/browserify/browserifyMiddleware.js"); + +module.exports = rewire; + +delete require.cache[__filename]; // deleting self from module cache so the parent module is always up to date \ No newline at end of file -- cgit v1.2.3