コンテンツへスキップ

@stylistic/js/

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/js/linebreak-style: ["error", "unix"]*/

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

デフォルトの"unix"オプションを使用したこのルールの正しいコードの例

js
/*eslint @stylistic/js/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/js/linebreak-style: ["error", "windows"]*/
var a = 'a'; // \n
不正

"windows"オプションを使用したこのルールの正しいコードの例

js
/*eslint @stylistic/js/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ライセンスの下でリリースされています。