Run browserify against all dependencies defined in package.json

Usage no npm install needed!

<script type="module">
  import userfrostingBrowserifyDependencies from 'https://cdn.skypack.dev/@userfrosting/browserify-dependencies';



Branch Status
master Continuous Integration codecov

Runs browserify against compatible dependencies in node_modules or whichever other folder you specify, outputting the results as UMD bundles in a specified location. Makes no attempt to patch node internals, Browserify options may however be provided for this purpose.


npm i -D @userfrosting/browserify-dependencies


This is an ES module package targeting NodeJS ^12.17.0 || >=13.2.0, refer to the NodeJS ESM docs regarding how to correctly import. ESM loaders like @babel/loader or esm likely won't work as expected.

import { browserifyDependencies } from "@userfrosting/browserify-dependencies";

const options = {
    dependencies: [
    inputDir: "./node_modules",
    outputDir: "./browser_modules"

    .then(() => console.log("Done! ✨"))
    .catch(() => console.log("Things have not gone according to plan... 🔥"));

Process modules are wrapped with UMD to allow consumption by most environments, exports in the browser are available via window.[normalised-package-name].


API documentation is regenerated for every release using API Extractor and API Documenter. The results reside in docs/api.

Release process

Generally speaking, all releases should first traverse through alpha, beta, and rc (release candidate) to catch missed bugs and gather feedback as appropriate. Aside from this however, there are a few steps that MUST always be done.

  1. Make sure CHANGELOG.md is up to date.
  2. Update version via npm like npm version 3.0.0 or npm version patch.
  3. npm publish.
  4. Create release on GitHub from tag made by npm version.