wiw

0.1.0 • Public • Published

Wiw

Wiw (What I Want) is a style guide based on StandardJS, but modified to my liking.

Installation and usage

To install Wiw, simply run:

npm install wiw --save-dev

Then you can check your syntax with:

wiw

For a list of options, run:

wiw --help

This tool should be 100% compatible with the one that comes with StandardJS, and therefore, you can just drop it in as a replacement and it should work fine.

Rules

  • Use double quotes.
    • This also applies when single quotes could be used to escape a double quote inside a string.
    • Template literals are allowed when you need to insert variables into a string.
    // Bad
    'Hello, world!'
    
    // Bad, you're not inserting any variables. Use double quotes instead.
    `Hello, world!`
    
    // Good
    "Hello, world!"
    
    // Good
    `Hello, ${world}!`
  • Use semicolons.
    // Bad
    hello("world")
    
    // Bad, and not where the semicolon is supposed to be used.
    if (happy) {;
        hello("world");
    };
    
    // Good
    hello("world");
  • Use tabs.
    // One tab is shown as "----", and one space is shown as "*".
    
    // Bad
    if (happy) {
    **hello("world");
    }
    
    // Bad
    if (happy) {
    ****hello("world");
    }
    
    // Good
    if (happy) {
    ----hello("world");
    }
  • When passing a function, use an arrow function whenever possible.
    • When your function is not bound, use an arrow function.
      function someFunc(func) {
        func();
      }
      
      // Bad
      someFunc(function() {
        console.log("Hello, world!");
      });
      
      // Good
      someFunc(() => {
        console.log("Hello, world!");
      });
    • When your function is bound, use a regular function.
      function someFunc(func) {
          func.bind({ a: "Hello, world!" })();
      }
      
      // Good
      someFunc(function() {
          console.log(this.a);
      });
  • Always enclose arrow function parameters in parentheses.
    // Bad
    let foo = a => {
        return a * 2;
    };
    
    // Good
    let foo = (a) => {
        return a * 2;
    };
  • Always enclose arrow function bodies in braces.
    // Bad
    let foo = (a, b) => a * b;
    
    // Good
    let foo = (a, b) => {
        return a * b;
    };
  • Anything else described in the StandardJS rules.

Package Sidebar

Install

npm i wiw

Weekly Downloads

1

Version

0.1.0

License

GPL-3.0-or-later

Unpacked Size

40.3 kB

Total Files

8

Last publish

Collaborators

  • tobias-sn