A rewrite of inject-loader which is using
babel parser under the hood. It has the following advantages:
- more reliable parsing (inject-loader#32)
- sourcemap support
API and behaviour are fully compatible with original inject-loader. Here is the copy of it's readme, all thanks go to @plasticine.
💉👾 A Webpack loader for injecting code into modules via their dependencies
This is particularly useful for writing tests where mocking things inside your module-under-test is sometimes necessary before execution.
npm install injectify-loader --save-dev
yarn add injectify-loader --dev
Use the inject loader by adding
injectify-loader! when you use
require, this will return a function that can be passed things to inject.
By default all
require statements in an injected module will be altered to be replaced with an injector, though if a replacement it not specified the default will be used.
Given some code in a module like this:
// MyStore.jsvar Dispatcher = ;var EventEmitter = EventEmitter;var handleAction = ;Dispatcher;
You can manipulate it’s dependencies when you come to write tests as follows:
// All require statements are wrapped in an injectorvar MyModuleInjector =var MyModule =