Inline consecutive adds transform

This plugin inlines consecutive property assignments, array pushes, etc

Example

In

const foo = {};
foo.a = 42;
foo.b = ["hi"];
foo.c = bar();
foo.d = "str";

...
const bar = [];
bar.push(1);
bar.push(2);

Out

const foo = {
  a: 42,
  b: ["hi"],
  c: bar(),
  d: "str"
};

...
const bar = [1, 2];

Installation

npm install babel-plugin-transform-inline-consecutive-adds --save-dev

Usage

.babelrc

{
  "plugins": ["transform-inline-consecutive-adds"]
}

Via CLI

babel --plugins transform-inline-consecutive-adds script.js

Via Node API

require("@babel/core").transform("code", {
  plugins: ["transform-inline-consecutive-adds"]
});