ESLint v1.0.3

@tms/eslint-plugin-align-assignments

連続する変数宣言の代入演算子を整列する、ESLint Flat Config用プラグインです。

このツールについて

変数宣言が連続している箇所で、代入演算子の=を縦に揃えます。通常の変数宣言に加え、トップレベルのexport constにも対応しています。

宣言の間にコメント行だけがある場合は同じグループとして扱います。空行、コメント以外の文、異なるブロックはグループの境界になります。

動作例

ESLintの自動修正を実行すると、次のように整列します。

修正前:

const hoge = 'hoge';
// コメント行を挟んでも同じグループ
const hogeHoge = 'hogehoge';

修正後:

const hoge     = 'hoge';
// コメント行を挟んでも同じグループ
const hogeHoge = 'hogehoge';

対応環境

  • Node.js 18.18以降
  • ESLint 9または10
  • ESLint Flat Config

インストール

npmレジストリには公開していません。 GitHub Releaseで公開しているバージョン固定のパッケージを指定します。

npm install --save-dev "https://github.com/TMSystems-Rights/tms-eslint-plugin-align-assignments/releases/download/v<バージョン>/tms-eslint-plugin-align-assignments-<バージョン>.tgz"

例:v1.0.3の場合

npm install --save-dev "https://github.com/TMSystems-Rights/tms-eslint-plugin-align-assignments/releases/download/v1.0.3/tms-eslint-plugin-align-assignments-1.0.3.tgz"

Flat Configの設定

eslint.config.mjsへプラグインとルールを追加します。

import alignAssignments from '@tms/eslint-plugin-align-assignments';

export default [
	{
		plugins: {
			'align-assignments': alignAssignments
		},
		rules: {
			'align-assignments/align-assignments': 'error'
		}
	}
];

組み込みの推奨設定を使う場合は、次のように記述できます。

import alignAssignments from '@tms/eslint-plugin-align-assignments';

export default [
	alignAssignments.configs['flat/recommended']
];

オプション

requiresOnly: trueを指定すると、変数宣言のうち、宣言文内にrequire()を含むものだけを整列対象にします。CommonJS形式の依存モジュール宣言だけを整列し、通常の変数宣言には手を加えたくない場合に利用できます。

rules: {
	'align-assignments/align-assignments': ['error', { requiresOnly: true }]
}

修正前:

const fs = require('node:fs');
const path = require('node:path');

const port = 3000;
const developmentMode = true;

require()を含む宣言だけが整列され、通常の変数宣言は変更されません。

修正後:

const fs   = require('node:fs');
const path = require('node:path');

const port = 3000;
const developmentMode = true;

更新のしかた

  1. GitHub Releasesで新しいバージョンを確認します。
  2. package.jsonのURLに含まれるバージョン番号とファイル名を、新しいバージョンへ変更します。
  3. npm installを実行し、package-lock.jsonも更新します。
  4. ESLintを実行して、対象プロジェクトに意図しない変更がないことを確認します。

詳細・不具合報告

仕様、ソースコード、ライセンスの詳細はGitHubリポジトリを参照してください。

不具合はGitHub Issuesで受け付けています。

導入する

GitHub Releaseからバージョン固定のパッケージを導入してください。