# libumd

> Wraps given JavaScript code with UMD

Latest version **0.9.2** (published 2026-06-15) · MIT license · 0 weekly downloads

## Install

```sh
npm install libumd
pnpm add libumd
yarn add libumd
bun add libumd
```

## Health

**Score 45/100 (D)** — status: active.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.9.2 |
| Published | 2026-06-15 |
| First published | 2014-10-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 24.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 11 |
| Author | Juho Vepsalainen |
| Maintainers | bebraw, boneskull |
| Keywords | umd |

## Links

- npm: https://www.npmjs.com/package/libumd
- Repository: https://github.com/bebraw/libumd
- Issues: https://github.com/bebraw/libumd/issues
- npm.io page: https://npm.io/package/libumd

## Dependencies (5)

- [annois](https://npm.io/package/annois.md) ^0.3.2
- [annozip](https://npm.io/package/annozip.md) ^0.2.6
- [alphabet](https://npm.io/package/alphabet.md) ^1.0.0
- [handlebars](https://npm.io/package/handlebars.md) ^4.0.2
- [object-merge](https://npm.io/package/object-merge.md) ^2.5.1

## Alternatives

- [@mdxeditor/editor](https://npm.io/package/@mdxeditor/editor.md) — 962.4K weekly downloads
- [mmdb-lib](https://npm.io/package/mmdb-lib.md) — 680.9K weekly downloads
- [playcanvas](https://npm.io/package/playcanvas.md) — 36.2K weekly downloads
- [@glw907/cairn-cms](https://npm.io/package/@glw907/cairn-cms.md) — 967 weekly downloads
- [markdown-to-confluence](https://npm.io/package/markdown-to-confluence.md) — 103 weekly downloads

## Recent versions

- 0.9.2 (latest) — 2026-06-15
- 0.9.1 — 2026-05-31
- 0.9.0 — 2017-12-04
- 0.8.0 — 2017-09-02
- 0.7.0 — 2016-11-16
- 0.6.4 — 2016-10-10
- 0.6.3 — 2015-10-05
- 0.6.2 — 2015-10-02
- 0.6.1 — 2015-02-24
- 0.6.0 — 2015-02-11
- 0.5.0 — 2015-02-07
- 0.4.0 — 2014-12-30
- 0.3.2 — 2014-11-23
- 0.3.1 — 2014-11-23
- 0.3.0 — 2014-11-23
- … 2 more at https://npm.io/package/libumd/versions

## README

[![build status](https://secure.travis-ci.org/bebraw/libumd.png)](http://travis-ci.org/bebraw/libumd)

# libumd - Wraps given JavaScript code with UMD

## Usage

```js
var umdify = require('libumd');

...

var result = umdify(js, options);
```

> `libumd` doesn't guarantee pretty formatting. It is better to use something like [js-beautify](https://www.npmjs.com/package/js-beautify) to deal with that.

## Options

```js
{
    template: 'path to template or template name', // defaults to 'umd'
    amdModuleId: 'test', // optional AMD module id. defaults to anonymous (not set)
    globalAlias: 'alias', // name of the global variable
    deps: { // dependencies
        // use default only if the module name and the variable the module will be injected with is the same
        'default': ['Foo', 'Bar'],
        // additionally define these if the module name differs from the variable with which it will be used
        // note how we can map dependencies to specific parameters
        amd: ['foo', {'lodash': '_'}],
        cjs: ['foo', 'bar']
    }
}
```

> Check out the [`demo.js`](https://github.com/bebraw/libumd/blob/master/demo.js)

## Default Templates

The library comes with a couple of UMD variants at `/templates`. In addition you may use one of your own as long as it is formatted using Handlebars syntax and follows the same naming conventions as the ones provided with the project.

## Testing

Make sure [PhantomJS](http://phantomjs.org/) is installed and it's within your PATH. Hit `npm test` after that. If the UMD wrapper fails to run against the headless browser, you'll know.

## Contributors

* [Stéphane Bachelier](https://github.com/stephanebachelier) - Use existing `objectToExport` instead of hardcoded value `returnExportsGlobal` for AMD.
* [Simon Harte](https://github.com/SimonHarte) - Made the documentation clearer about the correct usage.
* [Valerii Zinchenko](https://github.com/valerii-zinchenko) - Allowed dependency name to contain a dash. #17
* [@timeiscoffee](https://github.com/timeiscoffee) - Updated UMD templates to the current scheme. #18

## License

`libumd` is available under MIT. See LICENSE for more details.

---
_Source: https://npm.io/package/libumd · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
