browserify-swap

A transform that swaps out modules according to a config in your package.json selected via an environment variable.

Usage no npm install needed!

<script type="module">
  import browserifySwap from 'https://cdn.skypack.dev/browserify-swap';
</script>

README

browserify-swap build status

swap/swäp/ - an act of exchanging one thing for another

A transform that swaps out modules according to a config in your package.json selected via an environment variable.

package.json

{
  "browserify": {
    "transform": [ "browserify-swap" ]
  },
  "browserify-swap": {
    "@packages": [ "hyperwatch" ],
    "dev": {
      ".*node_modules\/hyperwatch\/\\S+\\.jsquot;: "./swap/some-hyperwatch-swap.js",
      "util.jsquot;: "myutil"
    },
    "test": {
      "util.jsquot;: "test-util"
    }
  }
}
  • each file matcher (i.e. 'util.js ) is a regular expression
  • in order to swap files of dependencies the browserify-swap transform needs to be injected into its package, therefore indicate those packages via the @packages array
BROWSERIFYSWAP_ENV='dev' browserify . -o bundle.js

Installation

npm install browserify-swap

API

browserifySwap(file) → {TransformStream}

Looks up browserify_swap configuratios specified for the given file in the environment specified via BROWSERIFYSWAP_ENV.

If found the file content is replaced with a require statement to the file to swap in for the original. Otherwise the file's content is just piped through.

Parameters:
Name Type Description
file String

full path to file being transformed

Source:
Returns:

transform stream into which browserify will pipe the original content of the file

Type
TransformStream

generated with docme

License

MIT