TL;DR

{
  "devDependencies": {
    "eslint": "github:eslint/eslint",
    "husky": "github:typicode/husky",
    "tslint": "github:palantir/tslint",
    "lint-staged": "github:okonet/lint-staged",
    "npm-run-all": "github:mysticatea/npm-run-all",
    "prettier": "github:prettier/prettier"
  }
}

Formatter is 正義

JavaScript 業界がここ数年でSyntaxが豊かになるだけでなく、何より開発環境が劇的に進化したと感じています。

代表的なものとしては TypeScript や FlowType のような型情報を付与する概念ですが、
合わせてストレスフリーとなるものとして Formatter の採用を強く推奨します。

  1. husky / lint-staged
    1. prettier と合わせて紹介されるようになり有名になった印象
    2. エディタのセーブ時formatは設定に依存するのに対し、こちらは precommit などをhookし 変更差分のみに特定アクションを実行 することが出来る。
    3. Linter, formatter との相性が良い。エディタに余分な整形プラグインを入れなくても良い。
  2. prettier
    1. babel, typescript, postcss等対応
    2. 設定も少なく導入障壁が非常に低い
  3. eslint / tslint
    1. これらはもはやlinterではなく優秀なformatterであると考える
    2. 積極的に --fix オプションを使う
    3. babel, FlowType, TypeScript それぞれの環境に合わせて良いものを採用

npm-script is simple

  1. npm-run-all
    1. サクッとタスクの依存関係や並列実行を記述
    2. ちょっとでも膨らんだらすぐ入れる

まとめ

  • gofmt が羨ましいなんて言わせない
  • 差分が読みやすい == ストレスフリー
  • 積極的に楽をしたい

Happy Hacking!