ESLint v4.16.0

前 [v4.15.0] | 次 [v4.17.0]

<blockquote class="twitter-tweet" data-lang="ja"><p lang="en" dir="ltr">ESLint v4.16.0 has been released: <a href="https://t.co/BAftdTs4AO">https://t.co/BAftdTs4AO</a></p>&mdash; ESLint (@geteslint) <a href="https://twitter.com/geteslint/status/954568726707343365?ref_src=twsrc%5Etfw">2018年1月20日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

ESLint 4.16.0 がリリースされました。
小さな機能追加とバグ修正が含まれています。

質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。

> 🏢 [日本語 Issue 管理リポジトリ](https://github.com/eslint/eslint-jp)
> 👫 [日本語サポート チャット](https://gitter.im/eslint/eslint-jp)
> 🏢 [本家リポジトリ](https://github.com/eslint/eslint)
> 👫 [本家サポート チャット](https://gitter.im/eslint/eslint)

# 🚀 本体への機能追加

特になし。

# 💡 新しいルール

特になし。

# 🔧 オプションが追加されたルール

## [#9570]: [object-property-newline] allowAllPropertiesOnSameLine

既存の `allowMultiplePropertiesPerLine` オプションは `allowAllPropertiesOnSameLine` に名前変更されました。古い `allowMultiplePropertiesPerLine` は引き続き利用可能ですが、将来的に削除される予定です。

名前変更の理由は、古い名前が実際の動作を表しておらず混乱の元になっていたからです。

## [#9591]: [comma-style] exceptions.NewExpression

`new` 演算子による関数呼び出しでもカンマの位置をチェックするためのオプションが追加されました。

> ```js
> /*eslint comma-style: [error, last, { exceptions: { NewExpression: false }}] */
> 
> //✘ BAD
> new Foo(a
>        ,b
>        ,c)
> ```
> [Open online demo](https://eslint.org/demo/#eyJ0ZXh0IjoiLyplc2xpbnQgY29tbWEtc3R5bGU6IFtlcnJvciwgbGFzdCwgeyBleGNlcHRpb25zOiB7IE5ld0V4cHJlc3Npb246IGZhbHNlIH19XSAqL1xyXG5cclxubmV3IEZvbyhhXHJcbiAgICAgICAsYlxyXG4gICAgICAgLGMpXHJcbiIsIm9wdGlvbnMiOnsicGFyc2VyT3B0aW9ucyI6eyJlY21hVmVyc2lvbiI6OCwic291cmNlVHlwZSI6Im1vZHVsZSIsImVjbWFGZWF0dXJlcyI6e319LCJydWxlcyI6e30sImVudiI6e319fQ==)

:thinking: :thought_balloon: 次のメジャーリリースでデフォルト `false` になると思われます。

# ✒️ `eslint --fix` をサポートしたルール

## [#9831]: [valid-jsdoc]

`prefer` と `preferType` オプションについて、自動修正をサポートしました。

> ```js
> /*eslint valid-jsdoc: [error, {
>     prefer: {
>         return: returns
>     },
>     preferType: {
>         Number: number
>     }
> }] */
> 
> /**
>  * @param {number} a An augend value.
>  * @param {Number} b An addend value.
>  * @return {number} the sum of `a` and `b`.
>  */
> function add(a, b) {
>     return a + b
> }
> 
> // ↓↓↓↓ 自動修正 ↓↓↓↓ //
> 
> /**
>  * @param {number} a An augend value.
>  * @param {number} b An addend value.
>  * @returns {number} the sum of `a` and `b`.
>  */
> function add(a, b) {
>     return a + b
> }
> ```
> [Open online demo](https://eslint.org/demo/#eyJ0ZXh0IjoiLyplc2xpbnQgdmFsaWQtanNkb2M6IFtlcnJvciwge1xyXG4gICAgcHJlZmVyOiB7XHJcbiAgICAgICAgcmV0dXJuOiByZXR1cm5zXHJcbiAgICB9LFxyXG4gICAgcHJlZmVyVHlwZToge1xyXG4gICAgICAgIE51bWJlcjogbnVtYmVyXHJcbiAgICB9XHJcbn1dICovXHJcblxyXG4vKipcclxuICogQHBhcmFtIHtudW1iZXJ9IGEgQW4gYXVnZW5kIHZhbHVlLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gYiBBbiBhZGRlbmQgdmFsdWUuXHJcbiAqIEByZXR1cm4ge251bWJlcn0gdGhlIHN1bSBvZiBgYWAgYW5kIGBiYC5cclxuICovXHJcbmZ1bmN0aW9uIGFkZChhLCBiKSB7XHJcbiAgICByZXR1cm4gYSArIGJcclxufVxyXG4iLCJvcHRpb25zIjp7InBhcnNlck9wdGlvbnMiOnsiZWNtYVZlcnNpb24iOjgsInNvdXJjZVR5cGUiOiJtb2R1bGUiLCJlY21hRmVhdHVyZXMiOnt9fSwicnVsZXMiOnt9LCJlbnYiOnt9fX0=)

[v4.15.0]: http://qiita.com/mysticatea/items/c6c10d4749e7d69d321e
[v4.17.0]: http://qiita.com/mysticatea/items/1ec9ca9a00c308487fce
[#9591]: https://github.com/eslint/eslint/issues/9591
[#9570]: https://github.com/eslint/eslint/issues/9570
[#9831]: https://github.com/eslint/eslint/issues/9831
[#9999]: https://github.com/eslint/eslint/issues/9999
[comma-style]: http://eslint.org/docs/rules/comma-style
[object-property-newline]: http://eslint.org/docs/rules/object-property-newline
[valid-jsdoc]: http://eslint.org/docs/rules/valid-jsdoc
[xxxx]: http://eslint.org/docs/rules/xxxx

<!-- 
![JSCS Icon](http://jscs.info/favicon.ico) JSCS 互換ルールです。
-->