Package Exports
- browserify-varify
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (browserify-varify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
varify 
browserify transform that converts all const assignments to var assignments.
npm install varify
Why?
So you can get the benefits of immutable variables with help of lint tools while staying compatible with older browsers
that have no const
.
Warning
The real const
is block scoped, however when replaced with var
this feature is lost. So only use varify if you can
do without block scope and are only looking for some immutability support that gets compiled out for compatibility.
If you are after block scope, have a look at def.js which provides limited support for that.
Example
Given this JavaScript:
const a = 1;
var keep = { const: 1 };
keep.const = 2;
const foo = function () {
console.log('some const s should be left unchanged');
};
Running browserify with varify transform:
require('browserify')()
.transform(require('varify'))
.add(__dirname + '/sample.js')
.bundle()
.pipe(process.stdout);
Outputs:
var a = 1;
var keep = { const: 1 };
keep.const = 2;
var foo = function () {
console.log('some const s should be left unchanged');
};
Usage from Commandline
browserify -t varify sample.js > bundle.js
Credits
thlorenz / https://github.com/thlorenz/varify