Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including varify with all npm packages installed. Try it out:

var varify = require("varify")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

varify v0.2.0

browserify transform that converts all const assignments to var assignments.

varify build status

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
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free