Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/thlorenz/viralify

Injects browserify transforms into specified dependencies of a package recursively.
https://github.com/thlorenz/viralify

Last synced: 2 months ago
JSON representation

Injects browserify transforms into specified dependencies of a package recursively.

Awesome Lists containing this project

README

        

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

Injects browserify transforms into specified dependencies of a package recursively.

```sh
viralify . -t browserify-swap -p ansicolors
```

```js
var viralify = require('viralify');

viralify(root, [ 'foo', 'bar' ], 'browserify-swap', function (err) {
if (err) return console.error(err);
// package.json's of packages 'foo' and 'bar', found in root and below,
// now have 'browserify-swap' added to the end of their 'browserify.transform' field
})
```

## Installation

npm install viralify

## Usage

```
viralify

Inject browserify transform(s) into the package.json files of specified packages at and below the given path.

OPTIONS:

-t, --transform transform(s) to inject (required)
-p, --packages packages into which to inject the transforms (required)
-f, --front if set, the transform(s) are injected in the front of the transform field so they run first

EXAMPLES:

Inject 'browserify-swap' transform for all foo dependencies of the package in the current directory

viralify . -t browserify-swap -p foo

Inject 'envify' and 'es6ify' transforms in front for all foo and bar dependencies of the package
in the current directory

viralify ./node_modules --transform envify --transform es6ify --front --package foo -p bar
```
## API









viralify(root, packages, transform, front, cb)





Injects the given transform(s) into the browserify.transform field of all package.jsons
of the packages below the given root that where specified.


If the transform(s) were contained in the package.json already, no changes are made and no writes performed.
This means that all viralify runs succeeding the first one will be much faster.



Parameters:

Name
Type
Argument
Description

root

String

of the package

packages

Array.<String>

one or more packages to which the transforms should be added

transform

Array.<String>

one or more transforms to be added to the transform field

front

Boolean

<optional>

if set transforms are added to the front of the transform field so they run first

cb

function

called when the transform injection is complete


Source:




*generated with [docme](https://github.com/thlorenz/docme)*

#### viralify.sync(root, packages, transform, front)

Same as `viralify` but performed synchronously.

## License

MIT