コンテンツへスキップ

@stylistic/

linebreak-style

多くの人が異なるエディタ、VCSアプリケーション、オペレーティングシステムを使用して開発を行う場合、上記のいずれかによって異なる改行コードが記述されることがあります(特にSourceTreeのWindows版とMac版を併用する場合に発生する可能性があります)。

Windowsオペレーティングシステムで使用される改行コードは、通常、キャリッジリターン(CR)に続いてラインフィード(LF)が続くキャリッジリターンラインフィード(CRLF)であるのに対し、LinuxとUnixは単純なラインフィード(LF)を使用します。対応する制御シーケンスは、LFの場合は"\n"、CRLFの場合は"\r\n"です。

多くのバージョン管理システム(gitやSubversionなど)は、正しい改行コードを自動的に保証できます。しかし、あらゆる事態に対応するために、このルールを有効にすることができます。

ルール詳細

このルールは、使用しているオペレーティングシステム、VCS、またはエディタに関係なく、コードベース全体で一貫した改行コードを強制します。

オプション

このルールには、文字列オプションがあります。

  • "unix"(デフォルト)は、Unixの改行コード(LF)\nの使用を強制します。
  • "windows"は、Windowsの改行コード(CRLF)\r\nの使用を強制します。

unix

デフォルトの"unix"オプションを使用した場合の、このルールに違反するコードの例

js
/*eslint @stylistic/linebreak-style: ["error", "unix"]*/

var a = 'a'; // \r\n
不正

デフォルトの"unix"オプションを使用した場合の、このルールに準拠するコードの例

js
/*eslint @stylistic/linebreak-style: ["error", "unix"]*/

var a = 'a', // \n
    b = 'b'; // \n
// \n
function foo(params) { // \n
    // do stuff \n
}// \n
正確

windows

"windows"オプションを使用した場合の、このルールに違反するコードの例

js
/*eslint @stylistic/linebreak-style: ["error", "windows"]*/
var a = 'a'; // \n
不正

"windows"オプションを使用した場合の、このルールに準拠するコードの例

js
/*eslint @stylistic/linebreak-style: ["error", "windows"]*/
var a = 'a', // \r\n
b = 'b'; // \r\n
// \r\n
function foo(params) { // \r\n
// do stuff \r\n
} // \r\n
正確

バージョン管理システムでのこのルールの使用

バージョン管理システムは、改行コードに対して特別な動作をする場合があります。異なるプラットフォームから開発者がコードベースに簡単に貢献できるように、VCSを適切に改行コードを処理するように設定することをお勧めします。

たとえば、Windowsシステムのgitのデフォルトの動作は、ファイルをチェックアウトするときにLF改行コードをCRLFに変換することですが、変更をコミットするときはLF改行コードとして保存することです。これにより、ESLintがCRLF改行コードを持つファイルを参照するため、"unix"設定で構成されている場合、linebreak-styleルールはエラーを報告します。gitを使用する場合は、.gitattributesファイルに1行を追加して、gitが.jsファイルの改行コードを変換しないようにすることができます。

txt
*.js text eol=lf

使用しない場合

コード内に異なる改行コードがあることを気にしていない場合は、このルールを安全にオフにすることができます。

互換性

MITライセンスの下でリリースされています。