# umd

> Universal Module Definition for use in automated build systems

Latest version **3.0.3** (published 2018-03-15) · MIT license · 0 weekly downloads

## Install

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

Provides the command `umd`.

## Health

**Score 23/100 (F)** — status: abandoned.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.3 |
| Published | 2018-03-15 |
| First published | 2013-03-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/umd) |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 9.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 146 |
| Author | ForbesLindesay |
| Maintainers | forbeslindesay, jazz, ralphtheninja, zertosh |

## Links

- npm: https://www.npmjs.com/package/umd
- Repository: https://github.com/ForbesLindesay/umd
- Homepage: https://github.com/ForbesLindesay/umd#readme
- Issues: https://github.com/ForbesLindesay/umd/issues
- npm.io page: https://npm.io/package/umd

## Recent versions

- 3.0.3 (latest) — 2018-03-15
- 3.0.2 — 2018-03-12
- 3.0.1 — 2015-04-25
- 3.0.0 — 2015-02-04
- 2.1.0 — 2014-04-02
- 2.0.0 — 2013-12-29
- 1.3.1 — 2013-08-25
- 1.3.0 — 2013-08-01
- 1.2.1 — 2013-06-07
- 1.2.0 — 2013-06-07
- 1.1.1 — 2013-04-15
- 1.1.0 — 2013-03-31
- 1.0.0 — 2013-03-26

## README

# umd
<img src="http://i.imgur.com/ypw29XY.png" align="right"/>

Universal Module Definition for use in automated build systems

 - simple synchronous wrapping of a string
 - `return` style module support
 - CommonJS support
 - prevents internal UMDs from conflicting

[![Build Status](https://img.shields.io/travis/ForbesLindesay/umd/master.svg)](https://travis-ci.org/ForbesLindesay/umd)
[![Dependency Status](https://img.shields.io/david/ForbesLindesay/umd.svg)](https://david-dm.org/ForbesLindesay/umd)
[![NPM version](https://img.shields.io/npm/v/umd.svg)](https://www.npmjs.com/package/umd)

## Source Format

In order for the UMD wrapper to work the source code for your module should `return` the export, e.g.

```javascript
function method() {
  //code
}
method.helper = function () {
  //code
}
return method;
```

For examples, see the examples directory.  The CommonJS module format is also supported by passing true as the second argument to methods.

## API

options:

 - `commonJS` (default: `false`) - If commonJS is `true` then it will accept CommonJS source instead of source code which `return`s the module.

### umd(name, source, [options])

  The `name` should the the name of the module.  Use a string like name, all lower case with hyphens instead of spaces.

  If `source` should be a string, that is wrapped in umd and returned as a string.

### umd.prelude(module, [options])

  return the text which will be inserted before a module.

### umd.postlude(module, [options])

  return the text which will be inserted after a module.

## Command Line

```
Usage: umd <name> <source> <destination> [options]

Pipe Usage: umd <name> [options] < source > destination

Options:

 -h --help     Display usage information
 -c --commonJS Use CommonJS module format
 ```

 You can easilly pipe unix commands together like:

 ```js
 cat my-module.js | umd my-module | uglify-js > my-module.umd.min.js
 ```

## Name Casing and Characters

The `name` passed to `umd` will be converted to camel case (`my-library` becomes `myLibrary`) and may only contain:

* alphanumeric characters
* $
* _

The name may not begin with a number. Invalid characters will be stripped. 

## License

  MIT

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