{"library":"rewire-webpack","title":"rewire-webpack","description":"A webpack plugin that enables rewire.js dependency injection for client-side bundles generated by webpack. Currently at version 1.0.1, stable. It allows you to mock and inspect modules within webpack bundles for unit testing. Differentiator: integrates rewire's `__set__`, `__get__`, and `__with__` methods into the browser context, which is not natively possible. Works with webpack 1.x; no recent updates since 2015.","language":"javascript","status":"maintenance","last_verified":"Sat Apr 25","install":{"commands":["npm install rewire-webpack"],"cli":null},"imports":["const RewirePlugin = require('rewire-webpack');","const rewire = require('rewire');","const myModule = rewire('./myModule'); myModule.__set__('variable', value);","const myModule = rewire('./myModule'); const myVar = myModule.__get__('myVar');","myModule.__with__({ variable: mockValue })(() => { ... });"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"// webpack.config.js\nvar RewirePlugin = require('rewire-webpack');\nmodule.exports = {\n  entry: './index.js',\n  output: { path: __dirname + '/dist', filename: 'bundle.js' },\n  plugins: [\n    new RewirePlugin()\n  ]\n};\n\n// src/module.js\nvar privateVar = 'secret';\nfunction getPrivate() { return privateVar; }\nmodule.exports = { getPrivate: getPrivate };\n\n// test.js (browser bundle)\nvar rewire = require('rewire');\nvar myModule = rewire('./module.js');\nconsole.log(myModule.__get__('privateVar')); // 'secret'\nmyModule.__set__('privateVar', 'mocked');\nconsole.log(myModule.getPrivate()); // 'mocked'","lang":"javascript","description":"Shows how to configure webpack with RewirePlugin and use rewire to get/set private variables.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}