# esbrowserify-pmb

> Easily browserify ES modules. Think esmod-pmb/nodemjs but for browserify.

Latest version **0.2.5** (published 2026-08-01) · ISC license · 0 weekly downloads

## Install

```sh
npm install esbrowserify-pmb
pnpm add esbrowserify-pmb
yarn add esbrowserify-pmb
bun add esbrowserify-pmb
```

## Health

**Score 55/100 (C)** — status: active.

Positive: no vulnerabilities; recently updated; high maintenance score.

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

## Facts

| | |
|---|---|
| Version | 0.2.5 |
| Published | 2026-08-01 |
| First published | 2020-11-03 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=16.0.0 |
| Dependencies | 18 |
| Unpacked size | 11.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | M.K. |
| Maintainers | mk-pmb |
| Keywords | browserify, esm |

## Links

- npm: https://www.npmjs.com/package/esbrowserify-pmb
- Repository: https://github.com/mk-pmb/esbrowserify-pmb-js
- Homepage: https://github.com/mk-pmb/esbrowserify-pmb-js/#readme
- Issues: https://github.com/mk-pmb/esbrowserify-pmb-js/issues
- npm.io page: https://npm.io/package/esbrowserify-pmb

## Dependencies (18)

- [brfs](https://npm.io/package/brfs.md) ^2.0.2
- [nofs](https://npm.io/package/nofs.md) ^0.12.3
- [pify](https://npm.io/package/pify.md) ^5.0.0
- [absdir](https://npm.io/package/absdir.md) ^1.0.6
- [envify](https://npm.io/package/envify.md) ^4.1.0
- [esmify](https://npm.io/package/esmify.md) ^2.1.1
- [aliasify](https://npm.io/package/aliasify.md) ^2.1.0
- [babelify](https://npm.io/package/babelify.md) ^10.0.0
- [is-string](https://npm.io/package/is-string.md) ^1.0.7
- [uglifyify](https://npm.io/package/uglifyify.md) ^5.0.2
- [browserify](https://npm.io/package/browserify.md) ^17.0.1
- [@babel/core](https://npm.io/package/@babel/core.md) ^7.26.0
- [merge-options](https://npm.io/package/merge-options.md) ^3.0.4
- [browserify-css](https://npm.io/package/browserify-css.md) ^0.15.0
- [browser-resolve](https://npm.io/package/browser-resolve.md) ^2.0.0
- [lodash.mapvalues](https://npm.io/package/lodash.mapvalues.md) ^4.6.0
- [@babel/preset-env](https://npm.io/package/@babel/preset-env.md) ^7.28.0
- [split-string-or-buffer-once-pmb](https://npm.io/package/split-string-or-buffer-once-pmb.md) ^1.0.2

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 0.2.5 (latest) — 2026-08-01
- 0.2.4 — 2026-07-07
- 0.2.1 — 2025-11-09
- 0.2.0 — 2025-08-14
- 0.1.2 — 2023-04-15
- 0.1.1 — 2021-01-03
- 0.1.0 — 2020-11-03

## README

<!--#echo json="package.json" key="name" underline="=" -->
esbrowserify-pmb
================
<!--/#echo -->

<!--#echo json="package.json" key="description" -->
Easily browserify ES modules. Think esmod-pmb/nodemjs but for browserify.
<!--/#echo -->



API
---

This module exports one function:

### esbrowserify(opt)

Where `opt` is an options object which supports these mostly optional keys:

* `srcAbs` (string, required): Absolute path to your entrypoint.
  * If the final path segment is called `package.json`, rather than bundling
    that JSON file, bundle all the `dependencies` listed there.
* `saveAs` (string): If truthy, path where to save the bundle code.
  May be relative to `srcAbs`.
* `verbosity` (number): Log level. 0 = silent (default),
  1 = report a few lifecycle events.
* `minify`: Whether to minify the bundle.
  `undefined` or `true` (default): Use default minifier.
  `false`: Don't minify.
  any other truthy value: Append the value to the browserify `plugins` option.
* `envify` (object): Custom variables for [`envify`](https://npm.im/envify).
* `targetPlatform`: What platform to target.
  * `'browser'` or any false-y value (default): The bundle shall run in browsers.
  * `'nodejs'`: The bundle shall run in node.js.
* `refineBrOpt` (function): If set, it is invoked with one argument,
  the generated browserify options, so they can be checked and refined.
  Your function may modify them in-place and return a false-y value,
  or return a new and improved options object.


Returns a Promise for the bundle code as a string.





Usage
-----

see [the tests](test/).


<!--#toc stop="scan" -->



Known issues
------------

* `ReferenceError: regeneratorRuntime is not defined`:
  [solved](https://github.com/mk-pmb/esbrowserify-pmb-js/issues/1)
* Needs more/better tests and docs.







&nbsp;


License
-------
<!--#echo json="package.json" key=".license" -->
ISC
<!--/#echo -->

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