Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


    undef – builder for AMD JavaScript projects

    undef is a builder for AMD based JavaScript projects. It strips define calls from the source files and combines all modules into a single file.

    undef is alpha software and not yet ready for use in production systems.


    undef can be installed with npm.

    npm install -g undef

    Current Capabilities and Limitations

    undef can currently build a project of AMD modules, where each module is in an own file, and each file contains only the module definition (define(…);). Source comments are ok. Only anonymous modules are supported at the moment.

    There is no support for the special dependencies “require”, “module” and “exports” yet.


    Basic invocation

    Uses “entry/module” as entry point and resolves all dependencies. The resulting source code is written to stdout.

    undef entry/module


    • -d/--basedir DIR – the base path to use for module resolution. Defaults to the current working directory.

    • -p/--paths PATHS – paths for individual modules. Accepts a comma-separated list of mappings, e.g. -paths=foo=else/where,bar/baz=somewhere/else. Paths are resolved relative to the current working directory, not to --basedir. This is different from require.js.

    • -o/--output FILE write output to this file instead of stdout.

    Plans and TODOs

    • Expose a usable API for common functionality.
    • Support multiple modules per file (and in consequence, named modules).
    • Support special “require”, “module” and “exports” dependencies.
    • Simplified CommonJS wrapping.
    • Pre-load files containing module definitions.
    • Post-process r.js builds – useful for buildable plugins like “text”.
    • Pass the amd test suite as far as possible (using a special browser build).

    Not In Scope

    The following things are not in the scope of this project:

    • Minification – just pipe through the minifier of your choice.
    • AMD plugin support – this will be covered by processing r.js builds.




    npm i undef

    Downloadslast 7 days







    last publish


    • avatar