Skip to content

taiyme/eslint-config

Repository files navigation

@taiyme/eslint-config

License Version

taiyのためのESLint共有設定です。

インストール

※ pnpmではない場合は各自で読み替えてください。

次のパッケージをインストールします。

  • eslint
  • jiti
  • globals
  • @typescript-eslint/parser
  • eslint-config-flat-gitignore
  • @taiyme/eslint-config
pnpm add -D eslint jiti globals @typescript-eslint/parser eslint-config-flat-gitignore @taiyme/eslint-config

使い方

eslint.config.ts の設定

eslint.config.ts を作成し、以下のように構成します。

@taiyme/eslint-configfiles を指定していないため、mapメソッドなどを利用して自分で指定してください。

import taiymeConfig from '@taiyme/eslint-config';
import tsEslintParser from '@typescript-eslint/parser';
import type { Linter } from 'eslint';
import gitignore from 'eslint-config-flat-gitignore';
import globals from 'globals';

const files = ['**/*.{js,jsx,ts,tsx}'];

export default [
  gitignore(),
  {
    languageOptions: {
      globals: {
        ...globals.node,
      },
      parser: tsEslintParser,
      parserOptions: {
        project: './tsconfig.json',
        tsconfigRootDir: import.meta.dirname,
      },
    },
    files,
  },
  ...[
    ...taiymeConfig.configs.typescript,
    ...taiymeConfig.configs.react,
  ].map((config) => ({
    ...config,
    files,
  })),
  // ...
] as const satisfies Linter.Config[];

package.jsonscripts を更新

package.json に、ESLintを実行するスクリプトを追加します。

{
  "scripts": {
    "lint": "eslint .",
    "lint:fix": "eslint --fix ."
  }
}

VS Codeで自動修正を有効にする

ESLintの拡張機能 をインストールし、 .vscode/settings.json を作成して以下のように構成します。

{
  "prettier.enable": false,
  "editor.formatOnSave": false,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit",
    "source.organizeImports": "never",
    "source.removeUnusedImports": "never",
    "source.sortImports": "never",
  },
  "eslint.useFlatConfig": true,
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact",
  ],
  "typescript.tsdk": "./node_modules/typescript/lib",
}

仕様

ESLint Config Inspectorを参照してください: https://eslint-config.taiy.me/

思想

@taiyme/eslint-config は、次の思想を強く支持しているため、抗おうとしないでください。

  • Prettierを使わない
  • インデントは半角スペース2個
  • セミコロンは必須
  • 末尾カンマは必須

ライセンス

MIT License