extern-constantify
Browserify transform that allows does in-place replacement of global constants, without having to declare them or import them at every occurence.
Installation
Usage
browserify -t extern-constantify entry.js > bundle.js
Example
For example, suppose you have different classes/objects in your project communicating by events/messages:
var {this;//do some stuff, reporting progressthis;//finalize and report successthis;};var {sender;sender;sender;};
Now suppose you later decide to change the names of these events to start
, progress
and end
. You would have to look for the various occurences of the original literal strings in your code and replace them accordingly. This introduces a lot of room for error. Instead you could write this:
var {this;//do some stuff, reporting progressthis;//finalize and report successthis;};var {sender;sender;sender;};
and provide the following configuration in your package.json
file
"extern-constantify":"BEGIN_EVENT": "begin""BUSY_EVENT": "busy""END_EVENT": "done"
The aforementioned change would then only require one edit in your configuration instead of the multiple edits that were previously required.
The matching happens case-sensitively, so you can avoid naming conflicts by uppercasing all characters of a constant name. This is the recommended coding style, however it is not mandatory.