# exposify [![build status](https://secure.travis-ci.org/thlorenz/exposify.png)](http://travis-ci.org/thlorenz/exposify) browserify transform that exposes globals added via a script tag as modules so they can be required. ```html [..] ``` ```js // main.js var $ = require('jquery') , THREE = require('three') console.log('THREE revision: ', THREE.REVISION); console.log('jquery version: ', $().jquery); ``` #### Building via JavaScript ```js var browserify = require('browserify'); // configure what we want to expose var exposeConfig = { expose: { jquery: '$', three: 'THREE' } }; browserify() .require(require.resolve('./main'), { entry: true }) .transform('exposify', exposeConfig) .bundle({ debug: true }) .pipe(fs.createWriteStream(path.join(__dirname, 'bundle.js'), 'utf8')) ``` #### Building via Commandline Using the `EXPOSIFY_CONFIG` environment variable: ```sh EXPOSIFY_CONFIG='{ "jquery": "$", "three": "THREE" }' browserify --debug -t exposify main.js > bundle.js ``` Or using a Browserify transform option: ```sh browserify --debug -t [ exposify --expose [ --jquery $ --three THREE ] ] main.js > bundle.js ``` Or use [browserify-shim](https://github.com/thlorenz/browserify-shim) which can [configure exposify in `package.json`](https://github.com/thlorenz/browserify-shim#a-expose-global-variables-via-global) among other features. ## Installation npm install exposify ## API

exposify::config

The config which is used by exposify to determine which require statemtents to replace and how. You need to set this or provide it via the EXPOSIFY_CONFIG environment variable.

 var b = browserify();
// setting via transform argument
b.transform('exposify', { expose: { jquery: '$', three: 'THREE' } });
 // setting from javascript
exposify.config = { jquery: '$', three: 'THREE' };
 # setting from command line
EXPOSIFY_CONFIG='{ "jquery": "$", "three": "THREE" }' browserify -t exposify ...
Source:

exposify::expose

Exposes the expose function that operates on a string

Source:

exposify::filePattern

Regex pattern of files whose content is exposified

Source:

exposify(file, opts) → {TransformStream}

browserify transform which exposes globals as modules that can be required.

Parameters:
Name Type Argument Description
file string

file whose content is to be transformed

opts Object <optional>

(exposify config), defaults to exposify.config or $EXPOSIFY_CONFIG

Source:
Returns:

transform that replaces require statements found in the code with global assigments

Type
TransformStream
*generated with [docme](https://github.com/thlorenz/docme)*
## License MIT