LoginSignup
1
4

More than 5 years have passed since last update.

Node.jsでESLintとMochaとPower-Assertのセットアップ

Last updated at Posted at 2017-04-24

久しぶりにNode.jsに触ってプロジェクトを作ったので共有。

フォルダ構成


  • bin
    • hoge.js
  • src
  • test
    • mocha.opts
  • .eslintrc
  • index.js
  • package.json

mocha.opts


--ui bdd
--reporter spec
--timeout 5000
--require intelli-espower-loader
--preserve-symlinks power-assert

--preserve-symlinks power-assertが無いとESLintに怒られたので追加した。
node_modules直下に展開されていないと、requireエラーという意味らしい。でも、power-assertのデフォルトでは、symlinkで使えるようになっているので、それを辞める設定かな。

.eslintrc


---
  extends: airbnb-base
  rules:
    comma-dangle: 0

ESLintの設定は、airbnb-baseを使用して、その中のケツカンマ設定のみ除外した(自動でケツカンマをつけると関数呼び出しまで付けられて、動かなくなるコードがあったため)(コメントも書けるのでyaml形式で書いた)

package.json


{
  "name": "hoge",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "bin": {
    "hoge": "bin/hoge.js"
  },
  "scripts": {
    "test": "mocha test/*.js",
    "test-w": "mocha -w test/*.js",
    "lint": "eslint **/*.js",
    "format": "eslint --fix **/*.js"
  },
  "author": "hoge@example.com",
  "license": "MIT",
  "dependencies": {
  },
  "devDependencies": {
    "eslint": "^3.19.0",
    "eslint-config-airbnb": "^14.1.0",
    "eslint-plugin-import": "^2.2.0",
    "eslint-plugin-jsx-a11y": "^4.0.0",
    "eslint-plugin-react": "^6.10.3",
    "espower-loader": "*",
    "intelli-espower-loader": "*",
    "mocha": "*",
    "power-assert": "*"
  },
  "private": true
}
  • binの指定はタイトルとずれるけど、globalインストールしたらコマンドで打てるようになる。
  • scriptsタグ内では、node_modules/.bin/mochaとか、フルパスで書かなくて良いらしい。知らなかった。
  • scriptsのeslint --fixで、フォーマットまでかけてくれるらしい。昔は別途esformatterとか使ってました。
  • devDependenciesのESLintの指定は、コマンドが用意されていたためそちらで入れたらこうなった。

さいごに


おすすめは、ターミナルを2つ、エディタを1つ立ち上げて、

していくと、テスト駆動開発が捗ると思います!!

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4