An open API service indexing awesome lists of open source software.

https://github.com/thlorenz/browserify-swap

A transform that swaps out modules according to a config in your package.json selected via an environment variable.
https://github.com/thlorenz/browserify-swap

Last synced: 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# browserify-swap [![build status](https://secure.travis-ci.org/thlorenz/browserify-swap.png)](http://travis-ci.org/thlorenz/browserify-swap)

**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

```json
{
"browserify": {
"transform": [ "browserify-swap" ]
},
"browserify-swap": {
"@packages": [ "hyperwatch" ],
"dev": {
".*node_modules\/hyperwatch\/\\S+\\.js$": "./swap/some-hyperwatch-swap.js",
"util.js$": "myutil"
},
"test": {
"util.js$": "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

```sh
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](https://github.com/thlorenz/docme)*

## License

MIT