esformatter-align
v0.2.3
Published
esformatter alignment plugin
Downloads
50
Maintainers
Readme
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.