Merge sibling variables transform

Merge sibling variables into one

Example

In

// merge into a single VariableDeclaration
var foo = "bar";
var bar = "foo";
foobar();

// merge into the next for loop
var i = 0;
for (var x = 0; x < 10; x++) {}

Out

var foo = "bar",
    bar = "foo";
foobar();

for (var i = 0, x = 0; x < 10; x++) {}

Installation

npm install babel-plugin-transform-merge-sibling-variables --save-dev

Usage

.babelrc

{
  "plugins": ["transform-merge-sibling-variables"]
}

Via CLI

babel --plugins transform-merge-sibling-variables script.js

Via Node API

require("@babel/core").transform("code", {
  plugins: ["transform-merge-sibling-variables"]
});