Have ideas to improve npm?Join in the discussion! »

    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.

    Install

    npm i esformatter-align

    DownloadsWeekly Downloads

    28

    Version

    0.2.3

    License

    MIT

    Last publish

    Collaborators

    • avatar