esformatter-align

0.2.3 • Public • Published

esformatter-align

esformatter plugin for alignment.

Usage

install it:

npm install esformatter-align

and add to your esformatter config file:

{
  "plugins": [
    "esformatter-align"
  ]
}

Alignments

VariableDeclarations

input:

var longer = require('hello');
var small = require('hello');
var muchlonger = require('hello');

output:

var longer     = require('hello');
var small      = require('hello');
var muchlonger = require('hello');

ObjectExpressions

input:

var x = {
  a: 5,
  bla: ''
};

output:

var x = {
  a:   5,
  bla: ''
};

AssignmentExpressions

input:

foo = 'bar';
fooooooo = 'baz';

output:

foo      = 'bar';
fooooooo = 'baz';

TernaryExpression

input:

foo ? x : 'bar';
fooooooo ? y : 'baz';

output:

foo      ? x : 'bar';
fooooooo ? y : 'baz';

OrExpression

input:

foo || x || 'bar';
fooooooo || yy || 'baz';

output:

foo      || x  || 'bar';
fooooooo || yy || 'baz';

SpreadAlignment, ShorthandAlignment

The object spread operator and shorthand can either be aligned with the keys (default) or with the values.

input:

var y = { blu: 1 };
var z = true;
var x = {
z,
    ...y,
 bla: 5
};

output (default: keys):

var y = {
  blu: 1
};
var x = {
  z,
  ...y,
  bla: 5
};

output (option: value):

var y = {
  blu: 1
};
var x = {
       z,
       ...y,
  bla: 5
};

Config

Optionally disable alignment of specific expressions and set some other options

{
  "esformatter": {
    // ...
  },
  "indent": {
    // ...
  },
  "align": {
    "ObjectExpression":     1,
    "VariableDeclaration":  1,
    "AssignmentExpression": 1,
    "TernaryExpression":    0,
    "OrExpression":         0,
    "SpreadAlignment":      "key", // optional: "value"
    "ShorthandAlignment":   "key"  // optional: "value"
  },
  // ...
}

License

Released under the MIT License.

Package Sidebar

Install

npm i esformatter-align

Weekly Downloads

14

Version

0.2.3

License

MIT

Last publish

Collaborators

  • manuelstofer