Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including amd-define-factory-patcher-loader with all npm packages installed. Try it out:

var amdDefineFactoryPatcherLoader = require("amd-define-factory-patcher-loader")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

amd-define-factory-patcher-loader v1.0.0

AMD define factory patcher loader modeul for webpack

AMD define factory patcher webpack loader

Adds support for non-standard AMD define statements with optional factory to webpack.


According to the AMD specification, the factory argument is not optional. Unfortunately, some AMD loaders such as RequireJS differ from the specification. This has resulted in some libraries depending on the non-standard feature, creating problem code like this.


This webpack loader can be used to preprocess those problem files and add an empty factory function so that the code can be processed correctly. After being passed through this loader, the problem code will be transformed to look like this.

define(['./some-file'], function() {


npm install amd-define-factory-patcher-loader


Add a loader directive to match the file(s) you need to patch. The following is an example webpack.config.js configuration that will match a file path ending in path/to/problem/file.js.

module.exports = {
    entry: './entry',
    output: {
        filename: 'bundle.js'
    module: {
        loaders: [
            { test: /path\/to\/problem\/file\.js$/, loader: 'amd-define-factory-patcher-loader' }

To avoid causing issues in spec-compliant libraries, make sure you only target files that have this problem.


If you find a bug or have compatibility issues, please open a ticket under the issues section for this repository.



If this license does not work for you, feel free to contact me.


If you find my software useful, please consider making a modest donation on my website at

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free