Browserify transform to remove code from a Browserify build using conditional comments.
npm install conditionalifyconditionalify
==============
Browserify transform to remove code using conditional comments. Comments are evaluated using angular-expressions.
Installation
------------
``sh`
$ npm install --save-dev conditionalify
Usage
-----
javascript
var data = require('data.json');/ #if someValue === 'foo' /
var result = require('foo-parser')(data);
/ #endif /
/ #if someValue !== 'foo' /
var result = require('other-parser')(data);
/ #endif /
console.log(result);
`$3
#### CLI
`sh
$ browserify script.js -o bundle.js \
-t [ conditionalify --context [ --someValue foo ] ]
`#### Node
`javascript
var fs = require('fs');
var browserify = require('browserify');
browserify('./script.js')
.transform('conditionalify', {
context: {
someValue: 'foo'
}
})
.bundle()
.pipe(fs.createWriteStream('bundle.js'));
`$3
`javascript
var data = require('data.json');/ #if someValue === 'foo' /
var result = require('foo-parser')(data);
/ #endif /
/ #if someValue !== 'foo' /
/ #endif /
console.log(result);
`$3
The following configuration options are available (and are all optional):
* context (
Object): An Object whose keys will be available as variables in the comment expressions
* marker (String): The character to look for at the start of a comment (before if or endif)—defaults to #
* ecmaVersion (Number): Version of ECMAScript to pass to acorn when parsing each module
* exts (Array of Strings): A whitelist of file extensions (without the leading ".")—if a file does not have one of the extensions in the list, it will be ignored by conditionalify—defaults to ['js']Options may be passed in via standard browserify ways:
`sh
$ browserify -t [ conditionalify --marker @ ]
``js
browserify().transform('conditionalify', { marker: '@' });
``js
var conditionalify = require('conditionalify');
browserify().transform(conditionalify, { marker: '@' });
``