WindowsでAtom＋ESLintを使ってみる

#はじめに
社内でJavaScriptでの開発をするにあたって、コードの静的チェックをしたかったのでLintツールである [ESLint](http://eslint.org/) を導入してみました。
社内プロキシ環境下で試行錯誤しながらセットアップしたので備忘録として残します。

#本記事での前提条件
* Node.jsは [Stable版](https://nodejs.org/en/download/stable/) を利用します。（LTS版でも同じようにできるはず）
* ESLintはグローバルインストールして使用します。
* プロキシサーバーは以下の通りと仮定します。（自身の環境に応じて適宜変更してください）

```bat:http-proxy
// 認証なし
http://proxy.example.com:8080
// 認証あり
http://username:password@proxy.example.com:8080
```
```bat:https-proxy
// 認証なし
http://proxy.example.com:8080
// 認証あり
http://username:password@proxy.example.com:8080
```

#Node.jsのインストール

* Node.jsの公式サイトからインストーラーをダウンロードし、実行します。
（使用しているOSの環境に応じ、32bit版/64bit版を選択）
![atom-eslint001.png](https://qiita-image-store.s3.amazonaws.com/0/49240/7020296b-0a77-6351-eadb-553dbee0d5e3.png)

* セキュリティ警告が表示される場合は［実行］を選択します。

* ［Next］を選択します。
![atom-eslint002.png](https://qiita-image-store.s3.amazonaws.com/0/49240/9d4f717d-41f6-11ce-4152-6cb13f2038e4.png)

* 使用許諾を確認し［I accept the term ・・・］にチェックを付け、［Next］を選択します。
![atom-eslint003.png](https://qiita-image-store.s3.amazonaws.com/0/49240/fdcfb11a-fbee-471c-9dc5-76902c4647df.png)

* インストール先を［C:\Program Files\nodejs\］から［C:\nodejs］へ変更し、［Next］を選択します。
（インストールパスにスペースが入るとトラブルの元になることがあるので変更しておきます）
![atom-eslint004.png](https://qiita-image-store.s3.amazonaws.com/0/49240/54fb1e71-bdff-baa6-6cc7-4f77e4042b8c.png)

* デフォルト選択のまま、［Next］を選択します。
![atom-eslint005.png](https://qiita-image-store.s3.amazonaws.com/0/49240/838ab70c-7722-d1c8-c49a-bd95f0596ffe.png)

* ［Install］を選択します。
![atom-eslint006.png](https://qiita-image-store.s3.amazonaws.com/0/49240/6a019162-6a75-39f8-020b-808644b55e10.png)

* インストール処理を実行します。途中で権限確認ダイアログが表示されるので［はい］を選択します。
![atom-eslint007.png](https://qiita-image-store.s3.amazonaws.com/0/49240/d93f483b-b40f-3774-861e-66894a3c0cab.png)

* ［Finish］を選択し、インストールを完了します。
![atom-eslint008.png](https://qiita-image-store.s3.amazonaws.com/0/49240/2d19332e-5690-ed4e-f781-76e01da96309.png)

* コマンドプロンプトを管理者権限で起動し、［node -v］を実行してインストールできているか確認します。

```bat:
C:\>node -v
v5.1.0
```

##プロキシ利用時の場合
* コマンドプロンプトから［npm config set］で proxy と https-proxy をセットします。

```bat:
// proxy
C:\>npm config set proxy http://proxy.example.com:8080
// https-proxy
C:\>npm config set https-proxy http://proxy.example.com:8080
```

* ［npm config get］にて設定を確認します。

```bat:
C:\>npm config get
; cli configs
user-agent = "npm/3.3.12 node/v5.1.1 win32 x64"

; userconfig C:\Users\ko2a\.npmrc
https-proxy = "http://proxy.example.com:8080"
proxy = "http://proxy.example.com:8080"

; builtin config undefined
prefix = "C:\\Users\\ko2a\\AppData\\Roaming\\npm"

; node bin location = C:\nodejs\node.exe
; cwd = C:\windows\system32
; HOME = C:\Users\ko2a
; "npm config ls -l" to show all defaults.
```

#ESLintのインストール・動作確認

@mysticateaさんの記事「[ESLint 最初の一歩](http://qiita.com/mysticatea/items/f523dab04a25f617c87d)」の「使い方」を読んでください。
インストール・動作確認ができます。

個人的にWindowsでつまづいたところを補足します。

##ファイル名がないファイルを作成する(.eslintrc)
エクスプローラーから .config や .eslintrc などのファイル名がないファイルを作ろうとすると、エラーとなって作成することができません。
こういうときはコマンドプロンプトからtypeコマンドやrenコマンドを使うとファイル名がないファイルを作ることができます。

###typeコマンドで作成

```bat:
C:\>type nul > .eslintrc
```

###renコマンドで作成

* 空のテキストファイルを作成します。
例）dummy.txt

* コマンドプロンプトからrenコマンドを使用し、空のテキストファイルの名前を［.eslintrc］へ変更します。

```bat:
>ren dummy.txt ".eslintrc"
```

#Atomのインストール・セットアップ

* [Atom公式サイト](https://atom.io/)からインストーラーをダウンロードし、インストールします。

* インストールが完了すると、Atomが起動します。
![atom-eslint011.png](https://qiita-image-store.s3.amazonaws.com/0/49240/153b5f38-87ca-5888-2cf0-6263cc58b037.png)

* メニュー［File］→［Settings］を選択します。

* 左側の［Install］を選択して［linter-eslint］と入力してEnterキーを押し、［linter-eslint］の［Install］を選択します。
![atom-eslint013.png](https://qiita-image-store.s3.amazonaws.com/0/49240/06a57ef3-e649-1b38-bc87-98eee9864dd9.png)

* インストールが完了すると右上にメッセージが表示されます。
![atom-eslint014.png](https://qiita-image-store.s3.amazonaws.com/0/49240/e21cf47d-3603-7453-4707-60ef35d99c02.png)

* ［Packages］を選択し、［linter-eslint］を選択します。
![atom-eslint015.png](https://qiita-image-store.s3.amazonaws.com/0/49240/60e71520-b9e9-cb2c-0fea-78b9ec08d8dd.png)

* コマンドプロンプトを起動し、［npm get prefix］の実行結果を控えます。

```bat:
C:\>npm get prefix
C:\Users\ko2a\AppData\Roaming\npm
```

* ［Global Node Installation Path］に控えたパスをセットし、［Use global ESLint installation］にチェックを付けます。
![atom-eslint016.png](https://qiita-image-store.s3.amazonaws.com/0/49240/445c67ac-adba-427d-db20-8b5a8ed70b1b.png)


* ［.eslintrc］を配置したフォルダーのJavaScriptファイルを開くと、Lint結果がAtom上で確認できます。
![atom-eslint017.png](https://qiita-image-store.s3.amazonaws.com/0/49240/0f144708-ea8d-8a17-a135-c859a55ae8f8.png)

##プロキシ利用時の場合
* Atomインストール後、コマンドプロンプトを管理者権限で起動し［apm config set https-proxy］を実行します。

```bat:
C:\>apm config set https-proxy http://proxy.example.com:8080
```

* ［apm config get］にて設定を確認します。

```bat:
C:\>apm config get https-proxy
http://proxy.example.com:8080
```

#おわりに
JavaScriptを触り始めたばかりで、Node.jsについてもまだまだ知識不足のため、今回はグローバールインストールで動かしてみるところまでまとめてみました。

てか、社内プロキシあるとめんどっちぃですね・・・
社内で仕事してるとプロキシ対策に時間かかりすぎる・・・

本当はVisual Studio Codeでも試したかったのですが、プロキシまわりの不具合で社内からうまくいかなかったため、対応されたらVisual Studio Codeでも試してみようかと思います。
（この情報も@mysticateaさんに教えていただきました。ありがとうございました。）

Proxy support for extension gallery
https://github.com/Microsoft/vscode/issues/69