esformatter-var-each

Esformatter plugin that converts comma `var` statements into separate `var` statements

Usage no npm install needed!

<script type="module">
  import esformatterVarEach from 'https://cdn.skypack.dev/esformatter-var-each';
</script>

README

esformatter-var-each Build status

Esformatter plugin that converts comma var statements into separate var statements

This was created to make obfuscated scripts more palatable. However, it should be a nice addition to your web development tasks.

Features:

  • Preserves last character of var's (e.g. var a, b; -> var a; var b;)
  • Maintain indentation level of var's

Getting Started

Install the module with: npm install esformatter-var-each

Then, register it as a plugin and format your JS:

// Load and register our plugin
var esformatter = require('esformatter');
var esformatterVarEach = require('esformatter-var-each');
esformatter.register(esformatterVarEach);

// Format our code
esformatter.format([
  'var a = \'hello\',',
  '    b = \'world\';'
].join('\n'));
// var a = 'hello';
// var b = 'world';

Alternatively, load it via format directly:

var esformatter = require('esformatter');
esformatter.format([
  'var a = \'hello\',',
  '    b = \'world\';'
].join('\n'), {
  plugins: [
    'esformatter-var-each'
  ]
});

Documentation

esformatter-var-each exposes exports.transform for consumption by esformatter.

esformatterVarEach.transform(ast)

Walk AST and splice in var statements.

Warning: This mutates nodes in place

  • ast AbstractSyntaxTree - Abstract syntax tree provided by esformatter

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint via grunt and test via npm test.

Donating

Support this project and others by twolfson via gratipay.

Support via Gratipay

Unlicense

As of Nov 03 2014, Todd Wolfson has released this repository and its contents to the public domain.

It has been released under the UNLICENSE.